; LLVM IR from jingweizhanghuai/Morn :: src/image (morn_image_convert)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.MImage = type { i32, i32, i32, [4 x ptr], ptr }

@v_to_r = external dso_local global [256 x i32], align 16
@u_to_g = external dso_local global [256 x i32], align 16
@v_to_g = external dso_local global [256 x i32], align 16
@u_to_b = external dso_local global [256 x i32], align 16
@.str = external hidden unnamed_addr constant [86 x i8], align 1
@__FUNCTION__.m_ImageYUVToRGB = external hidden unnamed_addr constant [16 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [11 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @m_ImageYUVToRGB(ptr noundef %0, ptr noundef %1) #0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  br label %21

21:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #3
  %22 = load ptr, ptr %3, align 8, !tbaa !5
  %23 = icmp eq ptr %22, null
  br i1 %23, label %28, label %24

24:                                               ; preds = %21
  %25 = load ptr, ptr %3, align 8, !tbaa !5
  %26 = ptrtoint ptr %25 to i64
  %27 = icmp eq i64 %26, -1
  br i1 %27, label %28, label %29

28:                                               ; preds = %24, %21
  br label %58

29:                                               ; preds = %24
  %30 = load ptr, ptr %3, align 8, !tbaa !5
  %31 = getelementptr inbounds %struct.MImage, ptr %30, i32 0, i32 3
  %32 = getelementptr inbounds [4 x ptr], ptr %31, i64 0, i64 0
  %33 = icmp eq ptr %32, null
  br i1 %33, label %55, label %34

34:                                               ; preds = %29
  %35 = load ptr, ptr %3, align 8, !tbaa !5
  %36 = getelementptr inbounds %struct.MImage, ptr %35, i32 0, i32 3
  %37 = getelementptr inbounds [4 x ptr], ptr %36, i64 0, i64 0
  %38 = ptrtoint ptr %37 to i64
  %39 = icmp eq i64 %38, -1
  br i1 %39, label %55, label %40

40:                                               ; preds = %34
  %41 = load ptr, ptr %3, align 8, !tbaa !5
  %42 = getelementptr inbounds %struct.MImage, ptr %41, i32 0, i32 0
  %43 = load i32, ptr %42, align 8, !tbaa !9
  %44 = icmp sle i32 %43, 0
  br i1 %44, label %55, label %45

45:                                               ; preds = %40
  %46 = load ptr, ptr %3, align 8, !tbaa !5
  %47 = getelementptr inbounds %struct.MImage, ptr %46, i32 0, i32 1
  %48 = load i32, ptr %47, align 4, !tbaa !12
  %49 = icmp sle i32 %48, 0
  br i1 %49, label %55, label %50

50:                                               ; preds = %45
  %51 = load ptr, ptr %3, align 8, !tbaa !5
  %52 = getelementptr inbounds %struct.MImage, ptr %51, i32 0, i32 2
  %53 = load i32, ptr %52, align 8, !tbaa !13
  %54 = icmp sle i32 %53, 0
  br label %55

55:                                               ; preds = %50, %45, %40, %34, %29
  %56 = phi i1 [ true, %45 ], [ true, %40 ], [ true, %34 ], [ true, %29 ], [ %54, %50 ]
  %57 = zext i1 %56 to i32
  br label %58

58:                                               ; preds = %55, %28
  %59 = phi i32 [ 1, %28 ], [ %57, %55 ]
  store i32 %59, ptr %5, align 4, !tbaa !14
  %60 = load i32, ptr %5, align 4, !tbaa !14
  %61 = icmp ne i32 %60, 0
  br i1 %61, label %62, label %64

62:                                               ; preds = %58
  %63 = load i32, ptr %5, align 4, !tbaa !14
  call void (i32, i32, ptr, i32, ptr, ptr, ...) @m_Exception(i32 noundef %63, i32 noundef -1, ptr noundef @.str, i32 noundef 24, ptr noundef @__FUNCTION__.m_ImageYUVToRGB, ptr noundef @.str.1)
  br label %64

64:                                               ; preds = %62, %58
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #3
  br label %65

65:                                               ; preds = %64
  br label %66

66:                                               ; preds = %65
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #3
  %67 = load ptr, ptr %3, align 8, !tbaa !5
  %68 = getelementptr inbounds %struct.MImage, ptr %67, i32 0, i32 0
  %69 = load i32, ptr %68, align 8, !tbaa !9
  %70 = icmp ne i32 %69, 3
  %71 = zext i1 %70 to i32
  store i32 %71, ptr %6, align 4, !tbaa !14
  %72 = load i32, ptr %6, align 4, !tbaa !14
  %73 = icmp ne i32 %72, 0
  br i1 %73, label %74, label %76

74:                                               ; preds = %66
  %75 = load i32, ptr %6, align 4, !tbaa !14
  call void (i32, i32, ptr, i32, ptr, ptr, ...) @m_Exception(i32 noundef %75, i32 noundef -1, ptr noundef @.str, i32 noundef 25, ptr noundef @__FUNCTION__.m_ImageYUVToRGB, ptr noundef @.str.1)
  br label %76

76:                                               ; preds = %74, %66
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #3
  br label %77

77:                                               ; preds = %76
  %78 = load ptr, ptr %4, align 8, !tbaa !5
  %79 = icmp eq ptr %78, null
  br i1 %79, label %80, label %82

80:                                               ; preds = %77
  %81 = load ptr, ptr %3, align 8, !tbaa !5
  store ptr %81, ptr %4, align 8, !tbaa !5
  br label %82

82:                                               ; preds = %80, %77
  %83 = load ptr, ptr %4, align 8, !tbaa !5
  %84 = load ptr, ptr %3, align 8, !tbaa !5
  %85 = icmp ne ptr %83, %84
  br i1 %85, label %86, label %175

86:                                               ; preds = %82
  br label %87

87:                                               ; preds = %86
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #3
  store i32 4, ptr %7, align 4, !tbaa !14
  %88 = load i32, ptr %7, align 4, !tbaa !14
  %89 = icmp eq i32 %88, 2
  br i1 %89, label %90, label %110

90:                                               ; preds = %87
  %91 = load ptr, ptr %4, align 8, !tbaa !5
  %92 = load ptr, ptr %4, align 8, !tbaa !5
  %93 = getelementptr inbounds %struct.MImage, ptr %92, i32 0, i32 0
  %94 = load i32, ptr %93, align 8, !tbaa !9
  %95 = icmp sgt i32 3, %94
  br i1 %95, label %96, label %97

96:                                               ; preds = %90
  br label %101

97:                                               ; preds = %90
  %98 = load ptr, ptr %4, align 8, !tbaa !5
  %99 = getelementptr inbounds %struct.MImage, ptr %98, i32 0, i32 0
  %100 = load i32, ptr %99, align 8, !tbaa !9
  br label %101

101:                                              ; preds = %97, %96
  %102 = phi i32 [ 3, %96 ], [ %100, %97 ]
  %103 = add nsw i32 %102, 0
  %104 = load ptr, ptr %3, align 8, !tbaa !5
  %105 = getelementptr inbounds %struct.MImage, ptr %104, i32 0, i32 1
  %106 = load i32, ptr %105, align 4, !tbaa !12
  %107 = load ptr, ptr %4, align 8, !tbaa !5
  %108 = getelementptr inbounds %struct.MImage, ptr %107, i32 0, i32 3
  %109 = getelementptr inbounds [4 x ptr], ptr %108, i64 0, i64 0
  call void @ImageRedefine(ptr noundef %91, i32 noundef -1, i32 noundef %103, i32 noundef %106, ptr noundef %109)
  br label %173

110:                                              ; preds = %87
  %111 = load i32, ptr %7, align 4, !tbaa !14
  %112 = icmp eq i32 %111, 3
  br i1 %112, label %113, label %136

113:                                              ; preds = %110
  %114 = load ptr, ptr %4, align 8, !tbaa !5
  %115 = load ptr, ptr %4, align 8, !tbaa !5
  %116 = getelementptr inbounds %struct.MImage, ptr %115, i32 0, i32 0
  %117 = load i32, ptr %116, align 8, !tbaa !9
  %118 = icmp sgt i32 3, %117
  br i1 %118, label %119, label %120

119:                                              ; preds = %113
  br label %124

120:                                              ; preds = %113
  %121 = load ptr, ptr %4, align 8, !tbaa !5
  %122 = getelementptr inbounds %struct.MImage, ptr %121, i32 0, i32 0
  %123 = load i32, ptr %122, align 8, !tbaa !9
  br label %124

124:                                              ; preds = %120, %119
  %125 = phi i32 [ 3, %119 ], [ %123, %120 ]
  %126 = add nsw i32 %125, 0
  %127 = load ptr, ptr %3, align 8, !tbaa !5
  %128 = getelementptr inbounds %struct.MImage, ptr %127, i32 0, i32 1
  %129 = load i32, ptr %128, align 4, !tbaa !12
  %130 = load ptr, ptr %3, align 8, !tbaa !5
  %131 = getelementptr inbounds %struct.MImage, ptr %130, i32 0, i32 2
  %132 = load i32, ptr %131, align 8, !tbaa !13
  %133 = load ptr, ptr %4, align 8, !tbaa !5
  %134 = getelementptr inbounds %struct.MImage, ptr %133, i32 0, i32 3
  %135 = getelementptr inbounds [4 x ptr], ptr %134, i64 0, i64 0
  call void @ImageRedefine(ptr noundef %114, i32 noundef %126, i32 noundef %129, i32 noundef %132, ptr noundef %135)
  br label %172

136:                                              ; preds = %110
  %137 = load i32, ptr %7, align 4, !tbaa !14
  %138 = icmp eq i32 %137, 4
  br i1 %138, label %139, label %162

139:                                              ; preds = %136
  %140 = load ptr, ptr %4, align 8, !tbaa !5
  %141 = load ptr, ptr %4, align 8, !tbaa !5
  %142 = getelementptr inbounds %struct.MImage, ptr %141, i32 0, i32 0
  %143 = load i32, ptr %142, align 8, !tbaa !9
  %144 = icmp sgt i32 3, %143
  br i1 %144, label %145, label %146

145:                                              ; preds = %139
  br label %150

146:                                              ; preds = %139
  %147 = load ptr, ptr %4, align 8, !tbaa !5
  %148 = getelementptr inbounds %struct.MImage, ptr %147, i32 0, i32 0
  %149 = load i32, ptr %148, align 8, !tbaa !9
  br label %150

150:                                              ; preds = %146, %145
  %151 = phi i32 [ 3, %145 ], [ %149, %146 ]
  %152 = add nsw i32 %151, 0
  %153 = load ptr, ptr %3, align 8, !tbaa !5
  %154 = getelementptr inbounds %struct.MImage, ptr %153, i32 0, i32 1
  %155 = load i32, ptr %154, align 4, !tbaa !12
  %156 = load ptr, ptr %3, align 8, !tbaa !5
  %157 = getelementptr inbounds %struct.MImage, ptr %156, i32 0, i32 2
  %158 = load i32, ptr %157, align 8, !tbaa !13
  %159 = load ptr, ptr %4, align 8, !tbaa !5
  %160 = getelementptr inbounds %struct.MImage, ptr %159, i32 0, i32 3
  %161 = getelementptr inbounds [4 x ptr], ptr %160, i64 0, i64 0
  call void @ImageRedefine(ptr noundef %140, i32 noundef %152, i32 noundef %155, i32 noundef %158, ptr noundef %161)
  br label %171

162:                                              ; preds = %136
  br label %163

163:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #3
  store i32 1, ptr %8, align 4, !tbaa !14
  %164 = load i32, ptr %8, align 4, !tbaa !14
  %165 = icmp ne i32 %164, 0
  br i1 %165, label %166, label %168

166:                                              ; preds = %163
  %167 = load i32, ptr %8, align 4, !tbaa !14
  call void (i32, i32, ptr, i32, ptr, ptr, ...) @m_Exception(i32 noundef %167, i32 noundef -1, ptr noundef @.str, i32 noundef 28, ptr noundef @__FUNCTION__.m_ImageYUVToRGB, ptr noundef @.str.2)
  br label %168

168:                                              ; preds = %166, %163
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #3
  br label %169

169:                                              ; preds = %168
  br label %170

170:                                              ; preds = %169
  br label %171

171:                                              ; preds = %170, %150
  br label %172

172:                                              ; preds = %171, %124
  br label %173

173:                                              ; preds = %172, %101
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #3
  br label %174

174:                                              ; preds = %173
  br label %175

175:                                              ; preds = %174, %82
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #3
  store i32 0, ptr %9, align 4, !tbaa !14
  br label %176

176:                                              ; preds = %16437, %175
  %177 = load i32, ptr %9, align 4, !tbaa !14
  %178 = load ptr, ptr %4, align 8, !tbaa !5
  %179 = getelementptr inbounds %struct.MImage, ptr %178, i32 0, i32 1
  %180 = load i32, ptr %179, align 4, !tbaa !12
  %181 = icmp slt i32 %177, %180
  br i1 %181, label %182, label %16440

182:                                              ; preds = %176
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #3
  %183 = load ptr, ptr %4, align 8, !tbaa !5
  %184 = getelementptr inbounds %struct.MImage, ptr %183, i32 0, i32 3
  %185 = getelementptr inbounds [4 x ptr], ptr %184, i64 0, i64 0
  %186 = load ptr, ptr %185, align 8, !tbaa !5
  %187 = load i32, ptr %9, align 4, !tbaa !14
  %188 = sext i32 %187 to i64
  %189 = getelementptr inbounds ptr, ptr %186, i64 %188
  %190 = load ptr, ptr %189, align 8, !tbaa !5
  store ptr %190, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #3
  %191 = load ptr, ptr %4, align 8, !tbaa !5
  %192 = getelementptr inbounds %struct.MImage, ptr %191, i32 0, i32 3
  %193 = getelementptr inbounds [4 x ptr], ptr %192, i64 0, i64 1
  %194 = load ptr, ptr %193, align 8, !tbaa !5
  %195 = load i32, ptr %9, align 4, !tbaa !14
  %196 = sext i32 %195 to i64
  %197 = getelementptr inbounds ptr, ptr %194, i64 %196
  %198 = load ptr, ptr %197, align 8, !tbaa !5
  store ptr %198, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #3
  %199 = load ptr, ptr %4, align 8, !tbaa !5
  %200 = getelementptr inbounds %struct.MImage, ptr %199, i32 0, i32 3
  %201 = getelementptr inbounds [4 x ptr], ptr %200, i64 0, i64 2
  %202 = load ptr, ptr %201, align 8, !tbaa !5
  %203 = load i32, ptr %9, align 4, !tbaa !14
  %204 = sext i32 %203 to i64
  %205 = getelementptr inbounds ptr, ptr %202, i64 %204
  %206 = load ptr, ptr %205, align 8, !tbaa !5
  store ptr %206, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #3
  %207 = load ptr, ptr %3, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.MImage, ptr %207, i32 0, i32 3
  %209 = getelementptr inbounds [4 x ptr], ptr %208, i64 0, i64 0
  %210 = load ptr, ptr %209, align 8, !tbaa !5
  %211 = load i32, ptr %9, align 4, !tbaa !14
  %212 = sext i32 %211 to i64
  %213 = getelementptr inbounds ptr, ptr %210, i64 %212
  %214 = load ptr, ptr %213, align 8, !tbaa !5
  store ptr %214, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #3
  %215 = load ptr, ptr %3, align 8, !tbaa !5
  %216 = getelementptr inbounds %struct.MImage, ptr %215, i32 0, i32 3
  %217 = getelementptr inbounds [4 x ptr], ptr %216, i64 0, i64 1
  %218 = load ptr, ptr %217, align 8, !tbaa !5
  %219 = load i32, ptr %9, align 4, !tbaa !14
  %220 = sext i32 %219 to i64
  %221 = getelementptr inbounds ptr, ptr %218, i64 %220
  %222 = load ptr, ptr %221, align 8, !tbaa !5
  store ptr %222, ptr %14, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #3
  %223 = load ptr, ptr %3, align 8, !tbaa !5
  %224 = getelementptr inbounds %struct.MImage, ptr %223, i32 0, i32 3
  %225 = getelementptr inbounds [4 x ptr], ptr %224, i64 0, i64 2
  %226 = load ptr, ptr %225, align 8, !tbaa !5
  %227 = load i32, ptr %9, align 4, !tbaa !14
  %228 = sext i32 %227 to i64
  %229 = getelementptr inbounds ptr, ptr %226, i64 %228
  %230 = load ptr, ptr %229, align 8, !tbaa !5
  store ptr %230, ptr %15, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #3
  br label %231

231:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #3
  store i32 0, ptr %19, align 4, !tbaa !14
  store i32 0, ptr %19, align 4, !tbaa !14
  br label %232

232:                                              ; preds = %2128, %231
  %233 = load i32, ptr %19, align 4, !tbaa !14
  %234 = load ptr, ptr %4, align 8, !tbaa !5
  %235 = getelementptr inbounds %struct.MImage, ptr %234, i32 0, i32 2
  %236 = load i32, ptr %235, align 8, !tbaa !13
  %237 = sub nsw i32 %236, 15
  %238 = icmp slt i32 %233, %237
  br i1 %238, label %239, label %2131

239:                                              ; preds = %232
  %240 = load ptr, ptr %13, align 8, !tbaa !5
  %241 = load i32, ptr %19, align 4, !tbaa !14
  %242 = add nsw i32 %241, 0
  %243 = sext i32 %242 to i64
  %244 = getelementptr inbounds i8, ptr %240, i64 %243
  %245 = load i8, ptr %244, align 1, !tbaa !15
  %246 = zext i8 %245 to i32
  %247 = load ptr, ptr %15, align 8, !tbaa !5
  %248 = load i32, ptr %19, align 4, !tbaa !14
  %249 = add nsw i32 %248, 0
  %250 = sext i32 %249 to i64
  %251 = getelementptr inbounds i8, ptr %247, i64 %250
  %252 = load i8, ptr %251, align 1, !tbaa !15
  %253 = zext i8 %252 to i64
  %254 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %253
  %255 = load i32, ptr %254, align 4, !tbaa !14
  %256 = add nsw i32 %246, %255
  store i32 %256, ptr %16, align 4, !tbaa !14
  %257 = load i32, ptr %16, align 4, !tbaa !14
  %258 = icmp slt i32 %257, 0
  br i1 %258, label %259, label %260

259:                                              ; preds = %239
  br label %268

260:                                              ; preds = %239
  %261 = load i32, ptr %16, align 4, !tbaa !14
  %262 = icmp sgt i32 %261, 255
  br i1 %262, label %263, label %264

263:                                              ; preds = %260
  br label %266

264:                                              ; preds = %260
  %265 = load i32, ptr %16, align 4, !tbaa !14
  br label %266

266:                                              ; preds = %264, %263
  %267 = phi i32 [ 255, %263 ], [ %265, %264 ]
  br label %268

268:                                              ; preds = %266, %259
  %269 = phi i32 [ 0, %259 ], [ %267, %266 ]
  %270 = trunc i32 %269 to i8
  %271 = load ptr, ptr %12, align 8, !tbaa !5
  %272 = load i32, ptr %19, align 4, !tbaa !14
  %273 = add nsw i32 %272, 0
  %274 = sext i32 %273 to i64
  %275 = getelementptr inbounds i8, ptr %271, i64 %274
  store i8 %270, ptr %275, align 1, !tbaa !15
  %276 = load ptr, ptr %13, align 8, !tbaa !5
  %277 = load i32, ptr %19, align 4, !tbaa !14
  %278 = add nsw i32 %277, 0
  %279 = sext i32 %278 to i64
  %280 = getelementptr inbounds i8, ptr %276, i64 %279
  %281 = load i8, ptr %280, align 1, !tbaa !15
  %282 = zext i8 %281 to i32
  %283 = load ptr, ptr %14, align 8, !tbaa !5
  %284 = load i32, ptr %19, align 4, !tbaa !14
  %285 = add nsw i32 %284, 0
  %286 = sext i32 %285 to i64
  %287 = getelementptr inbounds i8, ptr %283, i64 %286
  %288 = load i8, ptr %287, align 1, !tbaa !15
  %289 = zext i8 %288 to i64
  %290 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %289
  %291 = load i32, ptr %290, align 4, !tbaa !14
  %292 = sub nsw i32 %282, %291
  %293 = load ptr, ptr %15, align 8, !tbaa !5
  %294 = load i32, ptr %19, align 4, !tbaa !14
  %295 = add nsw i32 %294, 0
  %296 = sext i32 %295 to i64
  %297 = getelementptr inbounds i8, ptr %293, i64 %296
  %298 = load i8, ptr %297, align 1, !tbaa !15
  %299 = zext i8 %298 to i64
  %300 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %299
  %301 = load i32, ptr %300, align 4, !tbaa !14
  %302 = sub nsw i32 %292, %301
  store i32 %302, ptr %17, align 4, !tbaa !14
  %303 = load i32, ptr %17, align 4, !tbaa !14
  %304 = icmp slt i32 %303, 0
  br i1 %304, label %305, label %306

305:                                              ; preds = %268
  br label %314

306:                                              ; preds = %268
  %307 = load i32, ptr %17, align 4, !tbaa !14
  %308 = icmp sgt i32 %307, 255
  br i1 %308, label %309, label %310

309:                                              ; preds = %306
  br label %312

310:                                              ; preds = %306
  %311 = load i32, ptr %17, align 4, !tbaa !14
  br label %312

312:                                              ; preds = %310, %309
  %313 = phi i32 [ 255, %309 ], [ %311, %310 ]
  br label %314

314:                                              ; preds = %312, %305
  %315 = phi i32 [ 0, %305 ], [ %313, %312 ]
  %316 = trunc i32 %315 to i8
  %317 = load ptr, ptr %11, align 8, !tbaa !5
  %318 = load i32, ptr %19, align 4, !tbaa !14
  %319 = add nsw i32 %318, 0
  %320 = sext i32 %319 to i64
  %321 = getelementptr inbounds i8, ptr %317, i64 %320
  store i8 %316, ptr %321, align 1, !tbaa !15
  %322 = load ptr, ptr %13, align 8, !tbaa !5
  %323 = load i32, ptr %19, align 4, !tbaa !14
  %324 = add nsw i32 %323, 0
  %325 = sext i32 %324 to i64
  %326 = getelementptr inbounds i8, ptr %322, i64 %325
  %327 = load i8, ptr %326, align 1, !tbaa !15
  %328 = zext i8 %327 to i32
  %329 = load ptr, ptr %14, align 8, !tbaa !5
  %330 = load i32, ptr %19, align 4, !tbaa !14
  %331 = add nsw i32 %330, 0
  %332 = sext i32 %331 to i64
  %333 = getelementptr inbounds i8, ptr %329, i64 %332
  %334 = load i8, ptr %333, align 1, !tbaa !15
  %335 = zext i8 %334 to i64
  %336 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %335
  %337 = load i32, ptr %336, align 4, !tbaa !14
  %338 = add nsw i32 %328, %337
  store i32 %338, ptr %18, align 4, !tbaa !14
  %339 = load i32, ptr %18, align 4, !tbaa !14
  %340 = icmp slt i32 %339, 0
  br i1 %340, label %341, label %342

341:                                              ; preds = %314
  br label %350

342:                                              ; preds = %314
  %343 = load i32, ptr %18, align 4, !tbaa !14
  %344 = icmp sgt i32 %343, 255
  br i1 %344, label %345, label %346

345:                                              ; preds = %342
  br label %348

346:                                              ; preds = %342
  %347 = load i32, ptr %18, align 4, !tbaa !14
  br label %348

348:                                              ; preds = %346, %345
  %349 = phi i32 [ 255, %345 ], [ %347, %346 ]
  br label %350

350:                                              ; preds = %348, %341
  %351 = phi i32 [ 0, %341 ], [ %349, %348 ]
  %352 = trunc i32 %351 to i8
  %353 = load ptr, ptr %10, align 8, !tbaa !5
  %354 = load i32, ptr %19, align 4, !tbaa !14
  %355 = add nsw i32 %354, 0
  %356 = sext i32 %355 to i64
  %357 = getelementptr inbounds i8, ptr %353, i64 %356
  store i8 %352, ptr %357, align 1, !tbaa !15
  %358 = load ptr, ptr %13, align 8, !tbaa !5
  %359 = load i32, ptr %19, align 4, !tbaa !14
  %360 = add nsw i32 %359, 1
  %361 = sext i32 %360 to i64
  %362 = getelementptr inbounds i8, ptr %358, i64 %361
  %363 = load i8, ptr %362, align 1, !tbaa !15
  %364 = zext i8 %363 to i32
  %365 = load ptr, ptr %15, align 8, !tbaa !5
  %366 = load i32, ptr %19, align 4, !tbaa !14
  %367 = add nsw i32 %366, 1
  %368 = sext i32 %367 to i64
  %369 = getelementptr inbounds i8, ptr %365, i64 %368
  %370 = load i8, ptr %369, align 1, !tbaa !15
  %371 = zext i8 %370 to i64
  %372 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %371
  %373 = load i32, ptr %372, align 4, !tbaa !14
  %374 = add nsw i32 %364, %373
  store i32 %374, ptr %16, align 4, !tbaa !14
  %375 = load i32, ptr %16, align 4, !tbaa !14
  %376 = icmp slt i32 %375, 0
  br i1 %376, label %377, label %378

377:                                              ; preds = %350
  br label %386

378:                                              ; preds = %350
  %379 = load i32, ptr %16, align 4, !tbaa !14
  %380 = icmp sgt i32 %379, 255
  br i1 %380, label %381, label %382

381:                                              ; preds = %378
  br label %384

382:                                              ; preds = %378
  %383 = load i32, ptr %16, align 4, !tbaa !14
  br label %384

384:                                              ; preds = %382, %381
  %385 = phi i32 [ 255, %381 ], [ %383, %382 ]
  br label %386

386:                                              ; preds = %384, %377
  %387 = phi i32 [ 0, %377 ], [ %385, %384 ]
  %388 = trunc i32 %387 to i8
  %389 = load ptr, ptr %12, align 8, !tbaa !5
  %390 = load i32, ptr %19, align 4, !tbaa !14
  %391 = add nsw i32 %390, 1
  %392 = sext i32 %391 to i64
  %393 = getelementptr inbounds i8, ptr %389, i64 %392
  store i8 %388, ptr %393, align 1, !tbaa !15
  %394 = load ptr, ptr %13, align 8, !tbaa !5
  %395 = load i32, ptr %19, align 4, !tbaa !14
  %396 = add nsw i32 %395, 1
  %397 = sext i32 %396 to i64
  %398 = getelementptr inbounds i8, ptr %394, i64 %397
  %399 = load i8, ptr %398, align 1, !tbaa !15
  %400 = zext i8 %399 to i32
  %401 = load ptr, ptr %14, align 8, !tbaa !5
  %402 = load i32, ptr %19, align 4, !tbaa !14
  %403 = add nsw i32 %402, 1
  %404 = sext i32 %403 to i64
  %405 = getelementptr inbounds i8, ptr %401, i64 %404
  %406 = load i8, ptr %405, align 1, !tbaa !15
  %407 = zext i8 %406 to i64
  %408 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %407
  %409 = load i32, ptr %408, align 4, !tbaa !14
  %410 = sub nsw i32 %400, %409
  %411 = load ptr, ptr %15, align 8, !tbaa !5
  %412 = load i32, ptr %19, align 4, !tbaa !14
  %413 = add nsw i32 %412, 1
  %414 = sext i32 %413 to i64
  %415 = getelementptr inbounds i8, ptr %411, i64 %414
  %416 = load i8, ptr %415, align 1, !tbaa !15
  %417 = zext i8 %416 to i64
  %418 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %417
  %419 = load i32, ptr %418, align 4, !tbaa !14
  %420 = sub nsw i32 %410, %419
  store i32 %420, ptr %17, align 4, !tbaa !14
  %421 = load i32, ptr %17, align 4, !tbaa !14
  %422 = icmp slt i32 %421, 0
  br i1 %422, label %423, label %424

423:                                              ; preds = %386
  br label %432

424:                                              ; preds = %386
  %425 = load i32, ptr %17, align 4, !tbaa !14
  %426 = icmp sgt i32 %425, 255
  br i1 %426, label %427, label %428

427:                                              ; preds = %424
  br label %430

428:                                              ; preds = %424
  %429 = load i32, ptr %17, align 4, !tbaa !14
  br label %430

430:                                              ; preds = %428, %427
  %431 = phi i32 [ 255, %427 ], [ %429, %428 ]
  br label %432

432:                                              ; preds = %430, %423
  %433 = phi i32 [ 0, %423 ], [ %431, %430 ]
  %434 = trunc i32 %433 to i8
  %435 = load ptr, ptr %11, align 8, !tbaa !5
  %436 = load i32, ptr %19, align 4, !tbaa !14
  %437 = add nsw i32 %436, 1
  %438 = sext i32 %437 to i64
  %439 = getelementptr inbounds i8, ptr %435, i64 %438
  store i8 %434, ptr %439, align 1, !tbaa !15
  %440 = load ptr, ptr %13, align 8, !tbaa !5
  %441 = load i32, ptr %19, align 4, !tbaa !14
  %442 = add nsw i32 %441, 1
  %443 = sext i32 %442 to i64
  %444 = getelementptr inbounds i8, ptr %440, i64 %443
  %445 = load i8, ptr %444, align 1, !tbaa !15
  %446 = zext i8 %445 to i32
  %447 = load ptr, ptr %14, align 8, !tbaa !5
  %448 = load i32, ptr %19, align 4, !tbaa !14
  %449 = add nsw i32 %448, 1
  %450 = sext i32 %449 to i64
  %451 = getelementptr inbounds i8, ptr %447, i64 %450
  %452 = load i8, ptr %451, align 1, !tbaa !15
  %453 = zext i8 %452 to i64
  %454 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %453
  %455 = load i32, ptr %454, align 4, !tbaa !14
  %456 = add nsw i32 %446, %455
  store i32 %456, ptr %18, align 4, !tbaa !14
  %457 = load i32, ptr %18, align 4, !tbaa !14
  %458 = icmp slt i32 %457, 0
  br i1 %458, label %459, label %460

459:                                              ; preds = %432
  br label %468

460:                                              ; preds = %432
  %461 = load i32, ptr %18, align 4, !tbaa !14
  %462 = icmp sgt i32 %461, 255
  br i1 %462, label %463, label %464

463:                                              ; preds = %460
  br label %466

464:                                              ; preds = %460
  %465 = load i32, ptr %18, align 4, !tbaa !14
  br label %466

466:                                              ; preds = %464, %463
  %467 = phi i32 [ 255, %463 ], [ %465, %464 ]
  br label %468

468:                                              ; preds = %466, %459
  %469 = phi i32 [ 0, %459 ], [ %467, %466 ]
  %470 = trunc i32 %469 to i8
  %471 = load ptr, ptr %10, align 8, !tbaa !5
  %472 = load i32, ptr %19, align 4, !tbaa !14
  %473 = add nsw i32 %472, 1
  %474 = sext i32 %473 to i64
  %475 = getelementptr inbounds i8, ptr %471, i64 %474
  store i8 %470, ptr %475, align 1, !tbaa !15
  %476 = load ptr, ptr %13, align 8, !tbaa !5
  %477 = load i32, ptr %19, align 4, !tbaa !14
  %478 = add nsw i32 %477, 2
  %479 = sext i32 %478 to i64
  %480 = getelementptr inbounds i8, ptr %476, i64 %479
  %481 = load i8, ptr %480, align 1, !tbaa !15
  %482 = zext i8 %481 to i32
  %483 = load ptr, ptr %15, align 8, !tbaa !5
  %484 = load i32, ptr %19, align 4, !tbaa !14
  %485 = add nsw i32 %484, 2
  %486 = sext i32 %485 to i64
  %487 = getelementptr inbounds i8, ptr %483, i64 %486
  %488 = load i8, ptr %487, align 1, !tbaa !15
  %489 = zext i8 %488 to i64
  %490 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %489
  %491 = load i32, ptr %490, align 4, !tbaa !14
  %492 = add nsw i32 %482, %491
  store i32 %492, ptr %16, align 4, !tbaa !14
  %493 = load i32, ptr %16, align 4, !tbaa !14
  %494 = icmp slt i32 %493, 0
  br i1 %494, label %495, label %496

495:                                              ; preds = %468
  br label %504

496:                                              ; preds = %468
  %497 = load i32, ptr %16, align 4, !tbaa !14
  %498 = icmp sgt i32 %497, 255
  br i1 %498, label %499, label %500

499:                                              ; preds = %496
  br label %502

500:                                              ; preds = %496
  %501 = load i32, ptr %16, align 4, !tbaa !14
  br label %502

502:                                              ; preds = %500, %499
  %503 = phi i32 [ 255, %499 ], [ %501, %500 ]
  br label %504

504:                                              ; preds = %502, %495
  %505 = phi i32 [ 0, %495 ], [ %503, %502 ]
  %506 = trunc i32 %505 to i8
  %507 = load ptr, ptr %12, align 8, !tbaa !5
  %508 = load i32, ptr %19, align 4, !tbaa !14
  %509 = add nsw i32 %508, 2
  %510 = sext i32 %509 to i64
  %511 = getelementptr inbounds i8, ptr %507, i64 %510
  store i8 %506, ptr %511, align 1, !tbaa !15
  %512 = load ptr, ptr %13, align 8, !tbaa !5
  %513 = load i32, ptr %19, align 4, !tbaa !14
  %514 = add nsw i32 %513, 2
  %515 = sext i32 %514 to i64
  %516 = getelementptr inbounds i8, ptr %512, i64 %515
  %517 = load i8, ptr %516, align 1, !tbaa !15
  %518 = zext i8 %517 to i32
  %519 = load ptr, ptr %14, align 8, !tbaa !5
  %520 = load i32, ptr %19, align 4, !tbaa !14
  %521 = add nsw i32 %520, 2
  %522 = sext i32 %521 to i64
  %523 = getelementptr inbounds i8, ptr %519, i64 %522
  %524 = load i8, ptr %523, align 1, !tbaa !15
  %525 = zext i8 %524 to i64
  %526 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %525
  %527 = load i32, ptr %526, align 4, !tbaa !14
  %528 = sub nsw i32 %518, %527
  %529 = load ptr, ptr %15, align 8, !tbaa !5
  %530 = load i32, ptr %19, align 4, !tbaa !14
  %531 = add nsw i32 %530, 2
  %532 = sext i32 %531 to i64
  %533 = getelementptr inbounds i8, ptr %529, i64 %532
  %534 = load i8, ptr %533, align 1, !tbaa !15
  %535 = zext i8 %534 to i64
  %536 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %535
  %537 = load i32, ptr %536, align 4, !tbaa !14
  %538 = sub nsw i32 %528, %537
  store i32 %538, ptr %17, align 4, !tbaa !14
  %539 = load i32, ptr %17, align 4, !tbaa !14
  %540 = icmp slt i32 %539, 0
  br i1 %540, label %541, label %542

541:                                              ; preds = %504
  br label %550

542:                                              ; preds = %504
  %543 = load i32, ptr %17, align 4, !tbaa !14
  %544 = icmp sgt i32 %543, 255
  br i1 %544, label %545, label %546

545:                                              ; preds = %542
  br label %548

546:                                              ; preds = %542
  %547 = load i32, ptr %17, align 4, !tbaa !14
  br label %548

548:                                              ; preds = %546, %545
  %549 = phi i32 [ 255, %545 ], [ %547, %546 ]
  br label %550

550:                                              ; preds = %548, %541
  %551 = phi i32 [ 0, %541 ], [ %549, %548 ]
  %552 = trunc i32 %551 to i8
  %553 = load ptr, ptr %11, align 8, !tbaa !5
  %554 = load i32, ptr %19, align 4, !tbaa !14
  %555 = add nsw i32 %554, 2
  %556 = sext i32 %555 to i64
  %557 = getelementptr inbounds i8, ptr %553, i64 %556
  store i8 %552, ptr %557, align 1, !tbaa !15
  %558 = load ptr, ptr %13, align 8, !tbaa !5
  %559 = load i32, ptr %19, align 4, !tbaa !14
  %560 = add nsw i32 %559, 2
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds i8, ptr %558, i64 %561
  %563 = load i8, ptr %562, align 1, !tbaa !15
  %564 = zext i8 %563 to i32
  %565 = load ptr, ptr %14, align 8, !tbaa !5
  %566 = load i32, ptr %19, align 4, !tbaa !14
  %567 = add nsw i32 %566, 2
  %568 = sext i32 %567 to i64
  %569 = getelementptr inbounds i8, ptr %565, i64 %568
  %570 = load i8, ptr %569, align 1, !tbaa !15
  %571 = zext i8 %570 to i64
  %572 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %571
  %573 = load i32, ptr %572, align 4, !tbaa !14
  %574 = add nsw i32 %564, %573
  store i32 %574, ptr %18, align 4, !tbaa !14
  %575 = load i32, ptr %18, align 4, !tbaa !14
  %576 = icmp slt i32 %575, 0
  br i1 %576, label %577, label %578

577:                                              ; preds = %550
  br label %586

578:                                              ; preds = %550
  %579 = load i32, ptr %18, align 4, !tbaa !14
  %580 = icmp sgt i32 %579, 255
  br i1 %580, label %581, label %582

581:                                              ; preds = %578
  br label %584

582:                                              ; preds = %578
  %583 = load i32, ptr %18, align 4, !tbaa !14
  br label %584

584:                                              ; preds = %582, %581
  %585 = phi i32 [ 255, %581 ], [ %583, %582 ]
  br label %586

586:                                              ; preds = %584, %577
  %587 = phi i32 [ 0, %577 ], [ %585, %584 ]
  %588 = trunc i32 %587 to i8
  %589 = load ptr, ptr %10, align 8, !tbaa !5
  %590 = load i32, ptr %19, align 4, !tbaa !14
  %591 = add nsw i32 %590, 2
  %592 = sext i32 %591 to i64
  %593 = getelementptr inbounds i8, ptr %589, i64 %592
  store i8 %588, ptr %593, align 1, !tbaa !15
  %594 = load ptr, ptr %13, align 8, !tbaa !5
  %595 = load i32, ptr %19, align 4, !tbaa !14
  %596 = add nsw i32 %595, 3
  %597 = sext i32 %596 to i64
  %598 = getelementptr inbounds i8, ptr %594, i64 %597
  %599 = load i8, ptr %598, align 1, !tbaa !15
  %600 = zext i8 %599 to i32
  %601 = load ptr, ptr %15, align 8, !tbaa !5
  %602 = load i32, ptr %19, align 4, !tbaa !14
  %603 = add nsw i32 %602, 3
  %604 = sext i32 %603 to i64
  %605 = getelementptr inbounds i8, ptr %601, i64 %604
  %606 = load i8, ptr %605, align 1, !tbaa !15
  %607 = zext i8 %606 to i64
  %608 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %607
  %609 = load i32, ptr %608, align 4, !tbaa !14
  %610 = add nsw i32 %600, %609
  store i32 %610, ptr %16, align 4, !tbaa !14
  %611 = load i32, ptr %16, align 4, !tbaa !14
  %612 = icmp slt i32 %611, 0
  br i1 %612, label %613, label %614

613:                                              ; preds = %586
  br label %622

614:                                              ; preds = %586
  %615 = load i32, ptr %16, align 4, !tbaa !14
  %616 = icmp sgt i32 %615, 255
  br i1 %616, label %617, label %618

617:                                              ; preds = %614
  br label %620

618:                                              ; preds = %614
  %619 = load i32, ptr %16, align 4, !tbaa !14
  br label %620

620:                                              ; preds = %618, %617
  %621 = phi i32 [ 255, %617 ], [ %619, %618 ]
  br label %622

622:                                              ; preds = %620, %613
  %623 = phi i32 [ 0, %613 ], [ %621, %620 ]
  %624 = trunc i32 %623 to i8
  %625 = load ptr, ptr %12, align 8, !tbaa !5
  %626 = load i32, ptr %19, align 4, !tbaa !14
  %627 = add nsw i32 %626, 3
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds i8, ptr %625, i64 %628
  store i8 %624, ptr %629, align 1, !tbaa !15
  %630 = load ptr, ptr %13, align 8, !tbaa !5
  %631 = load i32, ptr %19, align 4, !tbaa !14
  %632 = add nsw i32 %631, 3
  %633 = sext i32 %632 to i64
  %634 = getelementptr inbounds i8, ptr %630, i64 %633
  %635 = load i8, ptr %634, align 1, !tbaa !15
  %636 = zext i8 %635 to i32
  %637 = load ptr, ptr %14, align 8, !tbaa !5
  %638 = load i32, ptr %19, align 4, !tbaa !14
  %639 = add nsw i32 %638, 3
  %640 = sext i32 %639 to i64
  %641 = getelementptr inbounds i8, ptr %637, i64 %640
  %642 = load i8, ptr %641, align 1, !tbaa !15
  %643 = zext i8 %642 to i64
  %644 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %643
  %645 = load i32, ptr %644, align 4, !tbaa !14
  %646 = sub nsw i32 %636, %645
  %647 = load ptr, ptr %15, align 8, !tbaa !5
  %648 = load i32, ptr %19, align 4, !tbaa !14
  %649 = add nsw i32 %648, 3
  %650 = sext i32 %649 to i64
  %651 = getelementptr inbounds i8, ptr %647, i64 %650
  %652 = load i8, ptr %651, align 1, !tbaa !15
  %653 = zext i8 %652 to i64
  %654 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %653
  %655 = load i32, ptr %654, align 4, !tbaa !14
  %656 = sub nsw i32 %646, %655
  store i32 %656, ptr %17, align 4, !tbaa !14
  %657 = load i32, ptr %17, align 4, !tbaa !14
  %658 = icmp slt i32 %657, 0
  br i1 %658, label %659, label %660

659:                                              ; preds = %622
  br label %668

660:                                              ; preds = %622
  %661 = load i32, ptr %17, align 4, !tbaa !14
  %662 = icmp sgt i32 %661, 255
  br i1 %662, label %663, label %664

663:                                              ; preds = %660
  br label %666

664:                                              ; preds = %660
  %665 = load i32, ptr %17, align 4, !tbaa !14
  br label %666

666:                                              ; preds = %664, %663
  %667 = phi i32 [ 255, %663 ], [ %665, %664 ]
  br label %668

668:                                              ; preds = %666, %659
  %669 = phi i32 [ 0, %659 ], [ %667, %666 ]
  %670 = trunc i32 %669 to i8
  %671 = load ptr, ptr %11, align 8, !tbaa !5
  %672 = load i32, ptr %19, align 4, !tbaa !14
  %673 = add nsw i32 %672, 3
  %674 = sext i32 %673 to i64
  %675 = getelementptr inbounds i8, ptr %671, i64 %674
  store i8 %670, ptr %675, align 1, !tbaa !15
  %676 = load ptr, ptr %13, align 8, !tbaa !5
  %677 = load i32, ptr %19, align 4, !tbaa !14
  %678 = add nsw i32 %677, 3
  %679 = sext i32 %678 to i64
  %680 = getelementptr inbounds i8, ptr %676, i64 %679
  %681 = load i8, ptr %680, align 1, !tbaa !15
  %682 = zext i8 %681 to i32
  %683 = load ptr, ptr %14, align 8, !tbaa !5
  %684 = load i32, ptr %19, align 4, !tbaa !14
  %685 = add nsw i32 %684, 3
  %686 = sext i32 %685 to i64
  %687 = getelementptr inbounds i8, ptr %683, i64 %686
  %688 = load i8, ptr %687, align 1, !tbaa !15
  %689 = zext i8 %688 to i64
  %690 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %689
  %691 = load i32, ptr %690, align 4, !tbaa !14
  %692 = add nsw i32 %682, %691
  store i32 %692, ptr %18, align 4, !tbaa !14
  %693 = load i32, ptr %18, align 4, !tbaa !14
  %694 = icmp slt i32 %693, 0
  br i1 %694, label %695, label %696

695:                                              ; preds = %668
  br label %704

696:                                              ; preds = %668
  %697 = load i32, ptr %18, align 4, !tbaa !14
  %698 = icmp sgt i32 %697, 255
  br i1 %698, label %699, label %700

699:                                              ; preds = %696
  br label %702

700:                                              ; preds = %696
  %701 = load i32, ptr %18, align 4, !tbaa !14
  br label %702

702:                                              ; preds = %700, %699
  %703 = phi i32 [ 255, %699 ], [ %701, %700 ]
  br label %704

704:                                              ; preds = %702, %695
  %705 = phi i32 [ 0, %695 ], [ %703, %702 ]
  %706 = trunc i32 %705 to i8
  %707 = load ptr, ptr %10, align 8, !tbaa !5
  %708 = load i32, ptr %19, align 4, !tbaa !14
  %709 = add nsw i32 %708, 3
  %710 = sext i32 %709 to i64
  %711 = getelementptr inbounds i8, ptr %707, i64 %710
  store i8 %706, ptr %711, align 1, !tbaa !15
  %712 = load ptr, ptr %13, align 8, !tbaa !5
  %713 = load i32, ptr %19, align 4, !tbaa !14
  %714 = add nsw i32 %713, 4
  %715 = sext i32 %714 to i64
  %716 = getelementptr inbounds i8, ptr %712, i64 %715
  %717 = load i8, ptr %716, align 1, !tbaa !15
  %718 = zext i8 %717 to i32
  %719 = load ptr, ptr %15, align 8, !tbaa !5
  %720 = load i32, ptr %19, align 4, !tbaa !14
  %721 = add nsw i32 %720, 4
  %722 = sext i32 %721 to i64
  %723 = getelementptr inbounds i8, ptr %719, i64 %722
  %724 = load i8, ptr %723, align 1, !tbaa !15
  %725 = zext i8 %724 to i64
  %726 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %725
  %727 = load i32, ptr %726, align 4, !tbaa !14
  %728 = add nsw i32 %718, %727
  store i32 %728, ptr %16, align 4, !tbaa !14
  %729 = load i32, ptr %16, align 4, !tbaa !14
  %730 = icmp slt i32 %729, 0
  br i1 %730, label %731, label %732

731:                                              ; preds = %704
  br label %740

732:                                              ; preds = %704
  %733 = load i32, ptr %16, align 4, !tbaa !14
  %734 = icmp sgt i32 %733, 255
  br i1 %734, label %735, label %736

735:                                              ; preds = %732
  br label %738

736:                                              ; preds = %732
  %737 = load i32, ptr %16, align 4, !tbaa !14
  br label %738

738:                                              ; preds = %736, %735
  %739 = phi i32 [ 255, %735 ], [ %737, %736 ]
  br label %740

740:                                              ; preds = %738, %731
  %741 = phi i32 [ 0, %731 ], [ %739, %738 ]
  %742 = trunc i32 %741 to i8
  %743 = load ptr, ptr %12, align 8, !tbaa !5
  %744 = load i32, ptr %19, align 4, !tbaa !14
  %745 = add nsw i32 %744, 4
  %746 = sext i32 %745 to i64
  %747 = getelementptr inbounds i8, ptr %743, i64 %746
  store i8 %742, ptr %747, align 1, !tbaa !15
  %748 = load ptr, ptr %13, align 8, !tbaa !5
  %749 = load i32, ptr %19, align 4, !tbaa !14
  %750 = add nsw i32 %749, 4
  %751 = sext i32 %750 to i64
  %752 = getelementptr inbounds i8, ptr %748, i64 %751
  %753 = load i8, ptr %752, align 1, !tbaa !15
  %754 = zext i8 %753 to i32
  %755 = load ptr, ptr %14, align 8, !tbaa !5
  %756 = load i32, ptr %19, align 4, !tbaa !14
  %757 = add nsw i32 %756, 4
  %758 = sext i32 %757 to i64
  %759 = getelementptr inbounds i8, ptr %755, i64 %758
  %760 = load i8, ptr %759, align 1, !tbaa !15
  %761 = zext i8 %760 to i64
  %762 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %761
  %763 = load i32, ptr %762, align 4, !tbaa !14
  %764 = sub nsw i32 %754, %763
  %765 = load ptr, ptr %15, align 8, !tbaa !5
  %766 = load i32, ptr %19, align 4, !tbaa !14
  %767 = add nsw i32 %766, 4
  %768 = sext i32 %767 to i64
  %769 = getelementptr inbounds i8, ptr %765, i64 %768
  %770 = load i8, ptr %769, align 1, !tbaa !15
  %771 = zext i8 %770 to i64
  %772 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %771
  %773 = load i32, ptr %772, align 4, !tbaa !14
  %774 = sub nsw i32 %764, %773
  store i32 %774, ptr %17, align 4, !tbaa !14
  %775 = load i32, ptr %17, align 4, !tbaa !14
  %776 = icmp slt i32 %775, 0
  br i1 %776, label %777, label %778

777:                                              ; preds = %740
  br label %786

778:                                              ; preds = %740
  %779 = load i32, ptr %17, align 4, !tbaa !14
  %780 = icmp sgt i32 %779, 255
  br i1 %780, label %781, label %782

781:                                              ; preds = %778
  br label %784

782:                                              ; preds = %778
  %783 = load i32, ptr %17, align 4, !tbaa !14
  br label %784

784:                                              ; preds = %782, %781
  %785 = phi i32 [ 255, %781 ], [ %783, %782 ]
  br label %786

786:                                              ; preds = %784, %777
  %787 = phi i32 [ 0, %777 ], [ %785, %784 ]
  %788 = trunc i32 %787 to i8
  %789 = load ptr, ptr %11, align 8, !tbaa !5
  %790 = load i32, ptr %19, align 4, !tbaa !14
  %791 = add nsw i32 %790, 4
  %792 = sext i32 %791 to i64
  %793 = getelementptr inbounds i8, ptr %789, i64 %792
  store i8 %788, ptr %793, align 1, !tbaa !15
  %794 = load ptr, ptr %13, align 8, !tbaa !5
  %795 = load i32, ptr %19, align 4, !tbaa !14
  %796 = add nsw i32 %795, 4
  %797 = sext i32 %796 to i64
  %798 = getelementptr inbounds i8, ptr %794, i64 %797
  %799 = load i8, ptr %798, align 1, !tbaa !15
  %800 = zext i8 %799 to i32
  %801 = load ptr, ptr %14, align 8, !tbaa !5
  %802 = load i32, ptr %19, align 4, !tbaa !14
  %803 = add nsw i32 %802, 4
  %804 = sext i32 %803 to i64
  %805 = getelementptr inbounds i8, ptr %801, i64 %804
  %806 = load i8, ptr %805, align 1, !tbaa !15
  %807 = zext i8 %806 to i64
  %808 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %807
  %809 = load i32, ptr %808, align 4, !tbaa !14
  %810 = add nsw i32 %800, %809
  store i32 %810, ptr %18, align 4, !tbaa !14
  %811 = load i32, ptr %18, align 4, !tbaa !14
  %812 = icmp slt i32 %811, 0
  br i1 %812, label %813, label %814

813:                                              ; preds = %786
  br label %822

814:                                              ; preds = %786
  %815 = load i32, ptr %18, align 4, !tbaa !14
  %816 = icmp sgt i32 %815, 255
  br i1 %816, label %817, label %818

817:                                              ; preds = %814
  br label %820

818:                                              ; preds = %814
  %819 = load i32, ptr %18, align 4, !tbaa !14
  br label %820

820:                                              ; preds = %818, %817
  %821 = phi i32 [ 255, %817 ], [ %819, %818 ]
  br label %822

822:                                              ; preds = %820, %813
  %823 = phi i32 [ 0, %813 ], [ %821, %820 ]
  %824 = trunc i32 %823 to i8
  %825 = load ptr, ptr %10, align 8, !tbaa !5
  %826 = load i32, ptr %19, align 4, !tbaa !14
  %827 = add nsw i32 %826, 4
  %828 = sext i32 %827 to i64
  %829 = getelementptr inbounds i8, ptr %825, i64 %828
  store i8 %824, ptr %829, align 1, !tbaa !15
  %830 = load ptr, ptr %13, align 8, !tbaa !5
  %831 = load i32, ptr %19, align 4, !tbaa !14
  %832 = add nsw i32 %831, 5
  %833 = sext i32 %832 to i64
  %834 = getelementptr inbounds i8, ptr %830, i64 %833
  %835 = load i8, ptr %834, align 1, !tbaa !15
  %836 = zext i8 %835 to i32
  %837 = load ptr, ptr %15, align 8, !tbaa !5
  %838 = load i32, ptr %19, align 4, !tbaa !14
  %839 = add nsw i32 %838, 5
  %840 = sext i32 %839 to i64
  %841 = getelementptr inbounds i8, ptr %837, i64 %840
  %842 = load i8, ptr %841, align 1, !tbaa !15
  %843 = zext i8 %842 to i64
  %844 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %843
  %845 = load i32, ptr %844, align 4, !tbaa !14
  %846 = add nsw i32 %836, %845
  store i32 %846, ptr %16, align 4, !tbaa !14
  %847 = load i32, ptr %16, align 4, !tbaa !14
  %848 = icmp slt i32 %847, 0
  br i1 %848, label %849, label %850

849:                                              ; preds = %822
  br label %858

850:                                              ; preds = %822
  %851 = load i32, ptr %16, align 4, !tbaa !14
  %852 = icmp sgt i32 %851, 255
  br i1 %852, label %853, label %854

853:                                              ; preds = %850
  br label %856

854:                                              ; preds = %850
  %855 = load i32, ptr %16, align 4, !tbaa !14
  br label %856

856:                                              ; preds = %854, %853
  %857 = phi i32 [ 255, %853 ], [ %855, %854 ]
  br label %858

858:                                              ; preds = %856, %849
  %859 = phi i32 [ 0, %849 ], [ %857, %856 ]
  %860 = trunc i32 %859 to i8
  %861 = load ptr, ptr %12, align 8, !tbaa !5
  %862 = load i32, ptr %19, align 4, !tbaa !14
  %863 = add nsw i32 %862, 5
  %864 = sext i32 %863 to i64
  %865 = getelementptr inbounds i8, ptr %861, i64 %864
  store i8 %860, ptr %865, align 1, !tbaa !15
  %866 = load ptr, ptr %13, align 8, !tbaa !5
  %867 = load i32, ptr %19, align 4, !tbaa !14
  %868 = add nsw i32 %867, 5
  %869 = sext i32 %868 to i64
  %870 = getelementptr inbounds i8, ptr %866, i64 %869
  %871 = load i8, ptr %870, align 1, !tbaa !15
  %872 = zext i8 %871 to i32
  %873 = load ptr, ptr %14, align 8, !tbaa !5
  %874 = load i32, ptr %19, align 4, !tbaa !14
  %875 = add nsw i32 %874, 5
  %876 = sext i32 %875 to i64
  %877 = getelementptr inbounds i8, ptr %873, i64 %876
  %878 = load i8, ptr %877, align 1, !tbaa !15
  %879 = zext i8 %878 to i64
  %880 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %879
  %881 = load i32, ptr %880, align 4, !tbaa !14
  %882 = sub nsw i32 %872, %881
  %883 = load ptr, ptr %15, align 8, !tbaa !5
  %884 = load i32, ptr %19, align 4, !tbaa !14
  %885 = add nsw i32 %884, 5
  %886 = sext i32 %885 to i64
  %887 = getelementptr inbounds i8, ptr %883, i64 %886
  %888 = load i8, ptr %887, align 1, !tbaa !15
  %889 = zext i8 %888 to i64
  %890 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %889
  %891 = load i32, ptr %890, align 4, !tbaa !14
  %892 = sub nsw i32 %882, %891
  store i32 %892, ptr %17, align 4, !tbaa !14
  %893 = load i32, ptr %17, align 4, !tbaa !14
  %894 = icmp slt i32 %893, 0
  br i1 %894, label %895, label %896

895:                                              ; preds = %858
  br label %904

896:                                              ; preds = %858
  %897 = load i32, ptr %17, align 4, !tbaa !14
  %898 = icmp sgt i32 %897, 255
  br i1 %898, label %899, label %900

899:                                              ; preds = %896
  br label %902

900:                                              ; preds = %896
  %901 = load i32, ptr %17, align 4, !tbaa !14
  br label %902

902:                                              ; preds = %900, %899
  %903 = phi i32 [ 255, %899 ], [ %901, %900 ]
  br label %904

904:                                              ; preds = %902, %895
  %905 = phi i32 [ 0, %895 ], [ %903, %902 ]
  %906 = trunc i32 %905 to i8
  %907 = load ptr, ptr %11, align 8, !tbaa !5
  %908 = load i32, ptr %19, align 4, !tbaa !14
  %909 = add nsw i32 %908, 5
  %910 = sext i32 %909 to i64
  %911 = getelementptr inbounds i8, ptr %907, i64 %910
  store i8 %906, ptr %911, align 1, !tbaa !15
  %912 = load ptr, ptr %13, align 8, !tbaa !5
  %913 = load i32, ptr %19, align 4, !tbaa !14
  %914 = add nsw i32 %913, 5
  %915 = sext i32 %914 to i64
  %916 = getelementptr inbounds i8, ptr %912, i64 %915
  %917 = load i8, ptr %916, align 1, !tbaa !15
  %918 = zext i8 %917 to i32
  %919 = load ptr, ptr %14, align 8, !tbaa !5
  %920 = load i32, ptr %19, align 4, !tbaa !14
  %921 = add nsw i32 %920, 5
  %922 = sext i32 %921 to i64
  %923 = getelementptr inbounds i8, ptr %919, i64 %922
  %924 = load i8, ptr %923, align 1, !tbaa !15
  %925 = zext i8 %924 to i64
  %926 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %925
  %927 = load i32, ptr %926, align 4, !tbaa !14
  %928 = add nsw i32 %918, %927
  store i32 %928, ptr %18, align 4, !tbaa !14
  %929 = load i32, ptr %18, align 4, !tbaa !14
  %930 = icmp slt i32 %929, 0
  br i1 %930, label %931, label %932

931:                                              ; preds = %904
  br label %940

932:                                              ; preds = %904
  %933 = load i32, ptr %18, align 4, !tbaa !14
  %934 = icmp sgt i32 %933, 255
  br i1 %934, label %935, label %936

935:                                              ; preds = %932
  br label %938

936:                                              ; preds = %932
  %937 = load i32, ptr %18, align 4, !tbaa !14
  br label %938

938:                                              ; preds = %936, %935
  %939 = phi i32 [ 255, %935 ], [ %937, %936 ]
  br label %940

940:                                              ; preds = %938, %931
  %941 = phi i32 [ 0, %931 ], [ %939, %938 ]
  %942 = trunc i32 %941 to i8
  %943 = load ptr, ptr %10, align 8, !tbaa !5
  %944 = load i32, ptr %19, align 4, !tbaa !14
  %945 = add nsw i32 %944, 5
  %946 = sext i32 %945 to i64
  %947 = getelementptr inbounds i8, ptr %943, i64 %946
  store i8 %942, ptr %947, align 1, !tbaa !15
  %948 = load ptr, ptr %13, align 8, !tbaa !5
  %949 = load i32, ptr %19, align 4, !tbaa !14
  %950 = add nsw i32 %949, 6
  %951 = sext i32 %950 to i64
  %952 = getelementptr inbounds i8, ptr %948, i64 %951
  %953 = load i8, ptr %952, align 1, !tbaa !15
  %954 = zext i8 %953 to i32
  %955 = load ptr, ptr %15, align 8, !tbaa !5
  %956 = load i32, ptr %19, align 4, !tbaa !14
  %957 = add nsw i32 %956, 6
  %958 = sext i32 %957 to i64
  %959 = getelementptr inbounds i8, ptr %955, i64 %958
  %960 = load i8, ptr %959, align 1, !tbaa !15
  %961 = zext i8 %960 to i64
  %962 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %961
  %963 = load i32, ptr %962, align 4, !tbaa !14
  %964 = add nsw i32 %954, %963
  store i32 %964, ptr %16, align 4, !tbaa !14
  %965 = load i32, ptr %16, align 4, !tbaa !14
  %966 = icmp slt i32 %965, 0
  br i1 %966, label %967, label %968

967:                                              ; preds = %940
  br label %976

968:                                              ; preds = %940
  %969 = load i32, ptr %16, align 4, !tbaa !14
  %970 = icmp sgt i32 %969, 255
  br i1 %970, label %971, label %972

971:                                              ; preds = %968
  br label %974

972:                                              ; preds = %968
  %973 = load i32, ptr %16, align 4, !tbaa !14
  br label %974

974:                                              ; preds = %972, %971
  %975 = phi i32 [ 255, %971 ], [ %973, %972 ]
  br label %976

976:                                              ; preds = %974, %967
  %977 = phi i32 [ 0, %967 ], [ %975, %974 ]
  %978 = trunc i32 %977 to i8
  %979 = load ptr, ptr %12, align 8, !tbaa !5
  %980 = load i32, ptr %19, align 4, !tbaa !14
  %981 = add nsw i32 %980, 6
  %982 = sext i32 %981 to i64
  %983 = getelementptr inbounds i8, ptr %979, i64 %982
  store i8 %978, ptr %983, align 1, !tbaa !15
  %984 = load ptr, ptr %13, align 8, !tbaa !5
  %985 = load i32, ptr %19, align 4, !tbaa !14
  %986 = add nsw i32 %985, 6
  %987 = sext i32 %986 to i64
  %988 = getelementptr inbounds i8, ptr %984, i64 %987
  %989 = load i8, ptr %988, align 1, !tbaa !15
  %990 = zext i8 %989 to i32
  %991 = load ptr, ptr %14, align 8, !tbaa !5
  %992 = load i32, ptr %19, align 4, !tbaa !14
  %993 = add nsw i32 %992, 6
  %994 = sext i32 %993 to i64
  %995 = getelementptr inbounds i8, ptr %991, i64 %994
  %996 = load i8, ptr %995, align 1, !tbaa !15
  %997 = zext i8 %996 to i64
  %998 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %997
  %999 = load i32, ptr %998, align 4, !tbaa !14
  %1000 = sub nsw i32 %990, %999
  %1001 = load ptr, ptr %15, align 8, !tbaa !5
  %1002 = load i32, ptr %19, align 4, !tbaa !14
  %1003 = add nsw i32 %1002, 6
  %1004 = sext i32 %1003 to i64
  %1005 = getelementptr inbounds i8, ptr %1001, i64 %1004
  %1006 = load i8, ptr %1005, align 1, !tbaa !15
  %1007 = zext i8 %1006 to i64
  %1008 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1007
  %1009 = load i32, ptr %1008, align 4, !tbaa !14
  %1010 = sub nsw i32 %1000, %1009
  store i32 %1010, ptr %17, align 4, !tbaa !14
  %1011 = load i32, ptr %17, align 4, !tbaa !14
  %1012 = icmp slt i32 %1011, 0
  br i1 %1012, label %1013, label %1014

1013:                                             ; preds = %976
  br label %1022

1014:                                             ; preds = %976
  %1015 = load i32, ptr %17, align 4, !tbaa !14
  %1016 = icmp sgt i32 %1015, 255
  br i1 %1016, label %1017, label %1018

1017:                                             ; preds = %1014
  br label %1020

1018:                                             ; preds = %1014
  %1019 = load i32, ptr %17, align 4, !tbaa !14
  br label %1020

1020:                                             ; preds = %1018, %1017
  %1021 = phi i32 [ 255, %1017 ], [ %1019, %1018 ]
  br label %1022

1022:                                             ; preds = %1020, %1013
  %1023 = phi i32 [ 0, %1013 ], [ %1021, %1020 ]
  %1024 = trunc i32 %1023 to i8
  %1025 = load ptr, ptr %11, align 8, !tbaa !5
  %1026 = load i32, ptr %19, align 4, !tbaa !14
  %1027 = add nsw i32 %1026, 6
  %1028 = sext i32 %1027 to i64
  %1029 = getelementptr inbounds i8, ptr %1025, i64 %1028
  store i8 %1024, ptr %1029, align 1, !tbaa !15
  %1030 = load ptr, ptr %13, align 8, !tbaa !5
  %1031 = load i32, ptr %19, align 4, !tbaa !14
  %1032 = add nsw i32 %1031, 6
  %1033 = sext i32 %1032 to i64
  %1034 = getelementptr inbounds i8, ptr %1030, i64 %1033
  %1035 = load i8, ptr %1034, align 1, !tbaa !15
  %1036 = zext i8 %1035 to i32
  %1037 = load ptr, ptr %14, align 8, !tbaa !5
  %1038 = load i32, ptr %19, align 4, !tbaa !14
  %1039 = add nsw i32 %1038, 6
  %1040 = sext i32 %1039 to i64
  %1041 = getelementptr inbounds i8, ptr %1037, i64 %1040
  %1042 = load i8, ptr %1041, align 1, !tbaa !15
  %1043 = zext i8 %1042 to i64
  %1044 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1043
  %1045 = load i32, ptr %1044, align 4, !tbaa !14
  %1046 = add nsw i32 %1036, %1045
  store i32 %1046, ptr %18, align 4, !tbaa !14
  %1047 = load i32, ptr %18, align 4, !tbaa !14
  %1048 = icmp slt i32 %1047, 0
  br i1 %1048, label %1049, label %1050

1049:                                             ; preds = %1022
  br label %1058

1050:                                             ; preds = %1022
  %1051 = load i32, ptr %18, align 4, !tbaa !14
  %1052 = icmp sgt i32 %1051, 255
  br i1 %1052, label %1053, label %1054

1053:                                             ; preds = %1050
  br label %1056

1054:                                             ; preds = %1050
  %1055 = load i32, ptr %18, align 4, !tbaa !14
  br label %1056

1056:                                             ; preds = %1054, %1053
  %1057 = phi i32 [ 255, %1053 ], [ %1055, %1054 ]
  br label %1058

1058:                                             ; preds = %1056, %1049
  %1059 = phi i32 [ 0, %1049 ], [ %1057, %1056 ]
  %1060 = trunc i32 %1059 to i8
  %1061 = load ptr, ptr %10, align 8, !tbaa !5
  %1062 = load i32, ptr %19, align 4, !tbaa !14
  %1063 = add nsw i32 %1062, 6
  %1064 = sext i32 %1063 to i64
  %1065 = getelementptr inbounds i8, ptr %1061, i64 %1064
  store i8 %1060, ptr %1065, align 1, !tbaa !15
  %1066 = load ptr, ptr %13, align 8, !tbaa !5
  %1067 = load i32, ptr %19, align 4, !tbaa !14
  %1068 = add nsw i32 %1067, 7
  %1069 = sext i32 %1068 to i64
  %1070 = getelementptr inbounds i8, ptr %1066, i64 %1069
  %1071 = load i8, ptr %1070, align 1, !tbaa !15
  %1072 = zext i8 %1071 to i32
  %1073 = load ptr, ptr %15, align 8, !tbaa !5
  %1074 = load i32, ptr %19, align 4, !tbaa !14
  %1075 = add nsw i32 %1074, 7
  %1076 = sext i32 %1075 to i64
  %1077 = getelementptr inbounds i8, ptr %1073, i64 %1076
  %1078 = load i8, ptr %1077, align 1, !tbaa !15
  %1079 = zext i8 %1078 to i64
  %1080 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1079
  %1081 = load i32, ptr %1080, align 4, !tbaa !14
  %1082 = add nsw i32 %1072, %1081
  store i32 %1082, ptr %16, align 4, !tbaa !14
  %1083 = load i32, ptr %16, align 4, !tbaa !14
  %1084 = icmp slt i32 %1083, 0
  br i1 %1084, label %1085, label %1086

1085:                                             ; preds = %1058
  br label %1094

1086:                                             ; preds = %1058
  %1087 = load i32, ptr %16, align 4, !tbaa !14
  %1088 = icmp sgt i32 %1087, 255
  br i1 %1088, label %1089, label %1090

1089:                                             ; preds = %1086
  br label %1092

1090:                                             ; preds = %1086
  %1091 = load i32, ptr %16, align 4, !tbaa !14
  br label %1092

1092:                                             ; preds = %1090, %1089
  %1093 = phi i32 [ 255, %1089 ], [ %1091, %1090 ]
  br label %1094

1094:                                             ; preds = %1092, %1085
  %1095 = phi i32 [ 0, %1085 ], [ %1093, %1092 ]
  %1096 = trunc i32 %1095 to i8
  %1097 = load ptr, ptr %12, align 8, !tbaa !5
  %1098 = load i32, ptr %19, align 4, !tbaa !14
  %1099 = add nsw i32 %1098, 7
  %1100 = sext i32 %1099 to i64
  %1101 = getelementptr inbounds i8, ptr %1097, i64 %1100
  store i8 %1096, ptr %1101, align 1, !tbaa !15
  %1102 = load ptr, ptr %13, align 8, !tbaa !5
  %1103 = load i32, ptr %19, align 4, !tbaa !14
  %1104 = add nsw i32 %1103, 7
  %1105 = sext i32 %1104 to i64
  %1106 = getelementptr inbounds i8, ptr %1102, i64 %1105
  %1107 = load i8, ptr %1106, align 1, !tbaa !15
  %1108 = zext i8 %1107 to i32
  %1109 = load ptr, ptr %14, align 8, !tbaa !5
  %1110 = load i32, ptr %19, align 4, !tbaa !14
  %1111 = add nsw i32 %1110, 7
  %1112 = sext i32 %1111 to i64
  %1113 = getelementptr inbounds i8, ptr %1109, i64 %1112
  %1114 = load i8, ptr %1113, align 1, !tbaa !15
  %1115 = zext i8 %1114 to i64
  %1116 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1115
  %1117 = load i32, ptr %1116, align 4, !tbaa !14
  %1118 = sub nsw i32 %1108, %1117
  %1119 = load ptr, ptr %15, align 8, !tbaa !5
  %1120 = load i32, ptr %19, align 4, !tbaa !14
  %1121 = add nsw i32 %1120, 7
  %1122 = sext i32 %1121 to i64
  %1123 = getelementptr inbounds i8, ptr %1119, i64 %1122
  %1124 = load i8, ptr %1123, align 1, !tbaa !15
  %1125 = zext i8 %1124 to i64
  %1126 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1125
  %1127 = load i32, ptr %1126, align 4, !tbaa !14
  %1128 = sub nsw i32 %1118, %1127
  store i32 %1128, ptr %17, align 4, !tbaa !14
  %1129 = load i32, ptr %17, align 4, !tbaa !14
  %1130 = icmp slt i32 %1129, 0
  br i1 %1130, label %1131, label %1132

1131:                                             ; preds = %1094
  br label %1140

1132:                                             ; preds = %1094
  %1133 = load i32, ptr %17, align 4, !tbaa !14
  %1134 = icmp sgt i32 %1133, 255
  br i1 %1134, label %1135, label %1136

1135:                                             ; preds = %1132
  br label %1138

1136:                                             ; preds = %1132
  %1137 = load i32, ptr %17, align 4, !tbaa !14
  br label %1138

1138:                                             ; preds = %1136, %1135
  %1139 = phi i32 [ 255, %1135 ], [ %1137, %1136 ]
  br label %1140

1140:                                             ; preds = %1138, %1131
  %1141 = phi i32 [ 0, %1131 ], [ %1139, %1138 ]
  %1142 = trunc i32 %1141 to i8
  %1143 = load ptr, ptr %11, align 8, !tbaa !5
  %1144 = load i32, ptr %19, align 4, !tbaa !14
  %1145 = add nsw i32 %1144, 7
  %1146 = sext i32 %1145 to i64
  %1147 = getelementptr inbounds i8, ptr %1143, i64 %1146
  store i8 %1142, ptr %1147, align 1, !tbaa !15
  %1148 = load ptr, ptr %13, align 8, !tbaa !5
  %1149 = load i32, ptr %19, align 4, !tbaa !14
  %1150 = add nsw i32 %1149, 7
  %1151 = sext i32 %1150 to i64
  %1152 = getelementptr inbounds i8, ptr %1148, i64 %1151
  %1153 = load i8, ptr %1152, align 1, !tbaa !15
  %1154 = zext i8 %1153 to i32
  %1155 = load ptr, ptr %14, align 8, !tbaa !5
  %1156 = load i32, ptr %19, align 4, !tbaa !14
  %1157 = add nsw i32 %1156, 7
  %1158 = sext i32 %1157 to i64
  %1159 = getelementptr inbounds i8, ptr %1155, i64 %1158
  %1160 = load i8, ptr %1159, align 1, !tbaa !15
  %1161 = zext i8 %1160 to i64
  %1162 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1161
  %1163 = load i32, ptr %1162, align 4, !tbaa !14
  %1164 = add nsw i32 %1154, %1163
  store i32 %1164, ptr %18, align 4, !tbaa !14
  %1165 = load i32, ptr %18, align 4, !tbaa !14
  %1166 = icmp slt i32 %1165, 0
  br i1 %1166, label %1167, label %1168

1167:                                             ; preds = %1140
  br label %1176

1168:                                             ; preds = %1140
  %1169 = load i32, ptr %18, align 4, !tbaa !14
  %1170 = icmp sgt i32 %1169, 255
  br i1 %1170, label %1171, label %1172

1171:                                             ; preds = %1168
  br label %1174

1172:                                             ; preds = %1168
  %1173 = load i32, ptr %18, align 4, !tbaa !14
  br label %1174

1174:                                             ; preds = %1172, %1171
  %1175 = phi i32 [ 255, %1171 ], [ %1173, %1172 ]
  br label %1176

1176:                                             ; preds = %1174, %1167
  %1177 = phi i32 [ 0, %1167 ], [ %1175, %1174 ]
  %1178 = trunc i32 %1177 to i8
  %1179 = load ptr, ptr %10, align 8, !tbaa !5
  %1180 = load i32, ptr %19, align 4, !tbaa !14
  %1181 = add nsw i32 %1180, 7
  %1182 = sext i32 %1181 to i64
  %1183 = getelementptr inbounds i8, ptr %1179, i64 %1182
  store i8 %1178, ptr %1183, align 1, !tbaa !15
  %1184 = load ptr, ptr %13, align 8, !tbaa !5
  %1185 = load i32, ptr %19, align 4, !tbaa !14
  %1186 = add nsw i32 %1185, 8
  %1187 = sext i32 %1186 to i64
  %1188 = getelementptr inbounds i8, ptr %1184, i64 %1187
  %1189 = load i8, ptr %1188, align 1, !tbaa !15
  %1190 = zext i8 %1189 to i32
  %1191 = load ptr, ptr %15, align 8, !tbaa !5
  %1192 = load i32, ptr %19, align 4, !tbaa !14
  %1193 = add nsw i32 %1192, 8
  %1194 = sext i32 %1193 to i64
  %1195 = getelementptr inbounds i8, ptr %1191, i64 %1194
  %1196 = load i8, ptr %1195, align 1, !tbaa !15
  %1197 = zext i8 %1196 to i64
  %1198 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1197
  %1199 = load i32, ptr %1198, align 4, !tbaa !14
  %1200 = add nsw i32 %1190, %1199
  store i32 %1200, ptr %16, align 4, !tbaa !14
  %1201 = load i32, ptr %16, align 4, !tbaa !14
  %1202 = icmp slt i32 %1201, 0
  br i1 %1202, label %1203, label %1204

1203:                                             ; preds = %1176
  br label %1212

1204:                                             ; preds = %1176
  %1205 = load i32, ptr %16, align 4, !tbaa !14
  %1206 = icmp sgt i32 %1205, 255
  br i1 %1206, label %1207, label %1208

1207:                                             ; preds = %1204
  br label %1210

1208:                                             ; preds = %1204
  %1209 = load i32, ptr %16, align 4, !tbaa !14
  br label %1210

1210:                                             ; preds = %1208, %1207
  %1211 = phi i32 [ 255, %1207 ], [ %1209, %1208 ]
  br label %1212

1212:                                             ; preds = %1210, %1203
  %1213 = phi i32 [ 0, %1203 ], [ %1211, %1210 ]
  %1214 = trunc i32 %1213 to i8
  %1215 = load ptr, ptr %12, align 8, !tbaa !5
  %1216 = load i32, ptr %19, align 4, !tbaa !14
  %1217 = add nsw i32 %1216, 8
  %1218 = sext i32 %1217 to i64
  %1219 = getelementptr inbounds i8, ptr %1215, i64 %1218
  store i8 %1214, ptr %1219, align 1, !tbaa !15
  %1220 = load ptr, ptr %13, align 8, !tbaa !5
  %1221 = load i32, ptr %19, align 4, !tbaa !14
  %1222 = add nsw i32 %1221, 8
  %1223 = sext i32 %1222 to i64
  %1224 = getelementptr inbounds i8, ptr %1220, i64 %1223
  %1225 = load i8, ptr %1224, align 1, !tbaa !15
  %1226 = zext i8 %1225 to i32
  %1227 = load ptr, ptr %14, align 8, !tbaa !5
  %1228 = load i32, ptr %19, align 4, !tbaa !14
  %1229 = add nsw i32 %1228, 8
  %1230 = sext i32 %1229 to i64
  %1231 = getelementptr inbounds i8, ptr %1227, i64 %1230
  %1232 = load i8, ptr %1231, align 1, !tbaa !15
  %1233 = zext i8 %1232 to i64
  %1234 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1233
  %1235 = load i32, ptr %1234, align 4, !tbaa !14
  %1236 = sub nsw i32 %1226, %1235
  %1237 = load ptr, ptr %15, align 8, !tbaa !5
  %1238 = load i32, ptr %19, align 4, !tbaa !14
  %1239 = add nsw i32 %1238, 8
  %1240 = sext i32 %1239 to i64
  %1241 = getelementptr inbounds i8, ptr %1237, i64 %1240
  %1242 = load i8, ptr %1241, align 1, !tbaa !15
  %1243 = zext i8 %1242 to i64
  %1244 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1243
  %1245 = load i32, ptr %1244, align 4, !tbaa !14
  %1246 = sub nsw i32 %1236, %1245
  store i32 %1246, ptr %17, align 4, !tbaa !14
  %1247 = load i32, ptr %17, align 4, !tbaa !14
  %1248 = icmp slt i32 %1247, 0
  br i1 %1248, label %1249, label %1250

1249:                                             ; preds = %1212
  br label %1258

1250:                                             ; preds = %1212
  %1251 = load i32, ptr %17, align 4, !tbaa !14
  %1252 = icmp sgt i32 %1251, 255
  br i1 %1252, label %1253, label %1254

1253:                                             ; preds = %1250
  br label %1256

1254:                                             ; preds = %1250
  %1255 = load i32, ptr %17, align 4, !tbaa !14
  br label %1256

1256:                                             ; preds = %1254, %1253
  %1257 = phi i32 [ 255, %1253 ], [ %1255, %1254 ]
  br label %1258

1258:                                             ; preds = %1256, %1249
  %1259 = phi i32 [ 0, %1249 ], [ %1257, %1256 ]
  %1260 = trunc i32 %1259 to i8
  %1261 = load ptr, ptr %11, align 8, !tbaa !5
  %1262 = load i32, ptr %19, align 4, !tbaa !14
  %1263 = add nsw i32 %1262, 8
  %1264 = sext i32 %1263 to i64
  %1265 = getelementptr inbounds i8, ptr %1261, i64 %1264
  store i8 %1260, ptr %1265, align 1, !tbaa !15
  %1266 = load ptr, ptr %13, align 8, !tbaa !5
  %1267 = load i32, ptr %19, align 4, !tbaa !14
  %1268 = add nsw i32 %1267, 8
  %1269 = sext i32 %1268 to i64
  %1270 = getelementptr inbounds i8, ptr %1266, i64 %1269
  %1271 = load i8, ptr %1270, align 1, !tbaa !15
  %1272 = zext i8 %1271 to i32
  %1273 = load ptr, ptr %14, align 8, !tbaa !5
  %1274 = load i32, ptr %19, align 4, !tbaa !14
  %1275 = add nsw i32 %1274, 8
  %1276 = sext i32 %1275 to i64
  %1277 = getelementptr inbounds i8, ptr %1273, i64 %1276
  %1278 = load i8, ptr %1277, align 1, !tbaa !15
  %1279 = zext i8 %1278 to i64
  %1280 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1279
  %1281 = load i32, ptr %1280, align 4, !tbaa !14
  %1282 = add nsw i32 %1272, %1281
  store i32 %1282, ptr %18, align 4, !tbaa !14
  %1283 = load i32, ptr %18, align 4, !tbaa !14
  %1284 = icmp slt i32 %1283, 0
  br i1 %1284, label %1285, label %1286

1285:                                             ; preds = %1258
  br label %1294

1286:                                             ; preds = %1258
  %1287 = load i32, ptr %18, align 4, !tbaa !14
  %1288 = icmp sgt i32 %1287, 255
  br i1 %1288, label %1289, label %1290

1289:                                             ; preds = %1286
  br label %1292

1290:                                             ; preds = %1286
  %1291 = load i32, ptr %18, align 4, !tbaa !14
  br label %1292

1292:                                             ; preds = %1290, %1289
  %1293 = phi i32 [ 255, %1289 ], [ %1291, %1290 ]
  br label %1294

1294:                                             ; preds = %1292, %1285
  %1295 = phi i32 [ 0, %1285 ], [ %1293, %1292 ]
  %1296 = trunc i32 %1295 to i8
  %1297 = load ptr, ptr %10, align 8, !tbaa !5
  %1298 = load i32, ptr %19, align 4, !tbaa !14
  %1299 = add nsw i32 %1298, 8
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds i8, ptr %1297, i64 %1300
  store i8 %1296, ptr %1301, align 1, !tbaa !15
  %1302 = load ptr, ptr %13, align 8, !tbaa !5
  %1303 = load i32, ptr %19, align 4, !tbaa !14
  %1304 = add nsw i32 %1303, 9
  %1305 = sext i32 %1304 to i64
  %1306 = getelementptr inbounds i8, ptr %1302, i64 %1305
  %1307 = load i8, ptr %1306, align 1, !tbaa !15
  %1308 = zext i8 %1307 to i32
  %1309 = load ptr, ptr %15, align 8, !tbaa !5
  %1310 = load i32, ptr %19, align 4, !tbaa !14
  %1311 = add nsw i32 %1310, 9
  %1312 = sext i32 %1311 to i64
  %1313 = getelementptr inbounds i8, ptr %1309, i64 %1312
  %1314 = load i8, ptr %1313, align 1, !tbaa !15
  %1315 = zext i8 %1314 to i64
  %1316 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1315
  %1317 = load i32, ptr %1316, align 4, !tbaa !14
  %1318 = add nsw i32 %1308, %1317
  store i32 %1318, ptr %16, align 4, !tbaa !14
  %1319 = load i32, ptr %16, align 4, !tbaa !14
  %1320 = icmp slt i32 %1319, 0
  br i1 %1320, label %1321, label %1322

1321:                                             ; preds = %1294
  br label %1330

1322:                                             ; preds = %1294
  %1323 = load i32, ptr %16, align 4, !tbaa !14
  %1324 = icmp sgt i32 %1323, 255
  br i1 %1324, label %1325, label %1326

1325:                                             ; preds = %1322
  br label %1328

1326:                                             ; preds = %1322
  %1327 = load i32, ptr %16, align 4, !tbaa !14
  br label %1328

1328:                                             ; preds = %1326, %1325
  %1329 = phi i32 [ 255, %1325 ], [ %1327, %1326 ]
  br label %1330

1330:                                             ; preds = %1328, %1321
  %1331 = phi i32 [ 0, %1321 ], [ %1329, %1328 ]
  %1332 = trunc i32 %1331 to i8
  %1333 = load ptr, ptr %12, align 8, !tbaa !5
  %1334 = load i32, ptr %19, align 4, !tbaa !14
  %1335 = add nsw i32 %1334, 9
  %1336 = sext i32 %1335 to i64
  %1337 = getelementptr inbounds i8, ptr %1333, i64 %1336
  store i8 %1332, ptr %1337, align 1, !tbaa !15
  %1338 = load ptr, ptr %13, align 8, !tbaa !5
  %1339 = load i32, ptr %19, align 4, !tbaa !14
  %1340 = add nsw i32 %1339, 9
  %1341 = sext i32 %1340 to i64
  %1342 = getelementptr inbounds i8, ptr %1338, i64 %1341
  %1343 = load i8, ptr %1342, align 1, !tbaa !15
  %1344 = zext i8 %1343 to i32
  %1345 = load ptr, ptr %14, align 8, !tbaa !5
  %1346 = load i32, ptr %19, align 4, !tbaa !14
  %1347 = add nsw i32 %1346, 9
  %1348 = sext i32 %1347 to i64
  %1349 = getelementptr inbounds i8, ptr %1345, i64 %1348
  %1350 = load i8, ptr %1349, align 1, !tbaa !15
  %1351 = zext i8 %1350 to i64
  %1352 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1351
  %1353 = load i32, ptr %1352, align 4, !tbaa !14
  %1354 = sub nsw i32 %1344, %1353
  %1355 = load ptr, ptr %15, align 8, !tbaa !5
  %1356 = load i32, ptr %19, align 4, !tbaa !14
  %1357 = add nsw i32 %1356, 9
  %1358 = sext i32 %1357 to i64
  %1359 = getelementptr inbounds i8, ptr %1355, i64 %1358
  %1360 = load i8, ptr %1359, align 1, !tbaa !15
  %1361 = zext i8 %1360 to i64
  %1362 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1361
  %1363 = load i32, ptr %1362, align 4, !tbaa !14
  %1364 = sub nsw i32 %1354, %1363
  store i32 %1364, ptr %17, align 4, !tbaa !14
  %1365 = load i32, ptr %17, align 4, !tbaa !14
  %1366 = icmp slt i32 %1365, 0
  br i1 %1366, label %1367, label %1368

1367:                                             ; preds = %1330
  br label %1376

1368:                                             ; preds = %1330
  %1369 = load i32, ptr %17, align 4, !tbaa !14
  %1370 = icmp sgt i32 %1369, 255
  br i1 %1370, label %1371, label %1372

1371:                                             ; preds = %1368
  br label %1374

1372:                                             ; preds = %1368
  %1373 = load i32, ptr %17, align 4, !tbaa !14
  br label %1374

1374:                                             ; preds = %1372, %1371
  %1375 = phi i32 [ 255, %1371 ], [ %1373, %1372 ]
  br label %1376

1376:                                             ; preds = %1374, %1367
  %1377 = phi i32 [ 0, %1367 ], [ %1375, %1374 ]
  %1378 = trunc i32 %1377 to i8
  %1379 = load ptr, ptr %11, align 8, !tbaa !5
  %1380 = load i32, ptr %19, align 4, !tbaa !14
  %1381 = add nsw i32 %1380, 9
  %1382 = sext i32 %1381 to i64
  %1383 = getelementptr inbounds i8, ptr %1379, i64 %1382
  store i8 %1378, ptr %1383, align 1, !tbaa !15
  %1384 = load ptr, ptr %13, align 8, !tbaa !5
  %1385 = load i32, ptr %19, align 4, !tbaa !14
  %1386 = add nsw i32 %1385, 9
  %1387 = sext i32 %1386 to i64
  %1388 = getelementptr inbounds i8, ptr %1384, i64 %1387
  %1389 = load i8, ptr %1388, align 1, !tbaa !15
  %1390 = zext i8 %1389 to i32
  %1391 = load ptr, ptr %14, align 8, !tbaa !5
  %1392 = load i32, ptr %19, align 4, !tbaa !14
  %1393 = add nsw i32 %1392, 9
  %1394 = sext i32 %1393 to i64
  %1395 = getelementptr inbounds i8, ptr %1391, i64 %1394
  %1396 = load i8, ptr %1395, align 1, !tbaa !15
  %1397 = zext i8 %1396 to i64
  %1398 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1397
  %1399 = load i32, ptr %1398, align 4, !tbaa !14
  %1400 = add nsw i32 %1390, %1399
  store i32 %1400, ptr %18, align 4, !tbaa !14
  %1401 = load i32, ptr %18, align 4, !tbaa !14
  %1402 = icmp slt i32 %1401, 0
  br i1 %1402, label %1403, label %1404

1403:                                             ; preds = %1376
  br label %1412

1404:                                             ; preds = %1376
  %1405 = load i32, ptr %18, align 4, !tbaa !14
  %1406 = icmp sgt i32 %1405, 255
  br i1 %1406, label %1407, label %1408

1407:                                             ; preds = %1404
  br label %1410

1408:                                             ; preds = %1404
  %1409 = load i32, ptr %18, align 4, !tbaa !14
  br label %1410

1410:                                             ; preds = %1408, %1407
  %1411 = phi i32 [ 255, %1407 ], [ %1409, %1408 ]
  br label %1412

1412:                                             ; preds = %1410, %1403
  %1413 = phi i32 [ 0, %1403 ], [ %1411, %1410 ]
  %1414 = trunc i32 %1413 to i8
  %1415 = load ptr, ptr %10, align 8, !tbaa !5
  %1416 = load i32, ptr %19, align 4, !tbaa !14
  %1417 = add nsw i32 %1416, 9
  %1418 = sext i32 %1417 to i64
  %1419 = getelementptr inbounds i8, ptr %1415, i64 %1418
  store i8 %1414, ptr %1419, align 1, !tbaa !15
  %1420 = load ptr, ptr %13, align 8, !tbaa !5
  %1421 = load i32, ptr %19, align 4, !tbaa !14
  %1422 = add nsw i32 %1421, 10
  %1423 = sext i32 %1422 to i64
  %1424 = getelementptr inbounds i8, ptr %1420, i64 %1423
  %1425 = load i8, ptr %1424, align 1, !tbaa !15
  %1426 = zext i8 %1425 to i32
  %1427 = load ptr, ptr %15, align 8, !tbaa !5
  %1428 = load i32, ptr %19, align 4, !tbaa !14
  %1429 = add nsw i32 %1428, 10
  %1430 = sext i32 %1429 to i64
  %1431 = getelementptr inbounds i8, ptr %1427, i64 %1430
  %1432 = load i8, ptr %1431, align 1, !tbaa !15
  %1433 = zext i8 %1432 to i64
  %1434 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1433
  %1435 = load i32, ptr %1434, align 4, !tbaa !14
  %1436 = add nsw i32 %1426, %1435
  store i32 %1436, ptr %16, align 4, !tbaa !14
  %1437 = load i32, ptr %16, align 4, !tbaa !14
  %1438 = icmp slt i32 %1437, 0
  br i1 %1438, label %1439, label %1440

1439:                                             ; preds = %1412
  br label %1448

1440:                                             ; preds = %1412
  %1441 = load i32, ptr %16, align 4, !tbaa !14
  %1442 = icmp sgt i32 %1441, 255
  br i1 %1442, label %1443, label %1444

1443:                                             ; preds = %1440
  br label %1446

1444:                                             ; preds = %1440
  %1445 = load i32, ptr %16, align 4, !tbaa !14
  br label %1446

1446:                                             ; preds = %1444, %1443
  %1447 = phi i32 [ 255, %1443 ], [ %1445, %1444 ]
  br label %1448

1448:                                             ; preds = %1446, %1439
  %1449 = phi i32 [ 0, %1439 ], [ %1447, %1446 ]
  %1450 = trunc i32 %1449 to i8
  %1451 = load ptr, ptr %12, align 8, !tbaa !5
  %1452 = load i32, ptr %19, align 4, !tbaa !14
  %1453 = add nsw i32 %1452, 10
  %1454 = sext i32 %1453 to i64
  %1455 = getelementptr inbounds i8, ptr %1451, i64 %1454
  store i8 %1450, ptr %1455, align 1, !tbaa !15
  %1456 = load ptr, ptr %13, align 8, !tbaa !5
  %1457 = load i32, ptr %19, align 4, !tbaa !14
  %1458 = add nsw i32 %1457, 10
  %1459 = sext i32 %1458 to i64
  %1460 = getelementptr inbounds i8, ptr %1456, i64 %1459
  %1461 = load i8, ptr %1460, align 1, !tbaa !15
  %1462 = zext i8 %1461 to i32
  %1463 = load ptr, ptr %14, align 8, !tbaa !5
  %1464 = load i32, ptr %19, align 4, !tbaa !14
  %1465 = add nsw i32 %1464, 10
  %1466 = sext i32 %1465 to i64
  %1467 = getelementptr inbounds i8, ptr %1463, i64 %1466
  %1468 = load i8, ptr %1467, align 1, !tbaa !15
  %1469 = zext i8 %1468 to i64
  %1470 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1469
  %1471 = load i32, ptr %1470, align 4, !tbaa !14
  %1472 = sub nsw i32 %1462, %1471
  %1473 = load ptr, ptr %15, align 8, !tbaa !5
  %1474 = load i32, ptr %19, align 4, !tbaa !14
  %1475 = add nsw i32 %1474, 10
  %1476 = sext i32 %1475 to i64
  %1477 = getelementptr inbounds i8, ptr %1473, i64 %1476
  %1478 = load i8, ptr %1477, align 1, !tbaa !15
  %1479 = zext i8 %1478 to i64
  %1480 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1479
  %1481 = load i32, ptr %1480, align 4, !tbaa !14
  %1482 = sub nsw i32 %1472, %1481
  store i32 %1482, ptr %17, align 4, !tbaa !14
  %1483 = load i32, ptr %17, align 4, !tbaa !14
  %1484 = icmp slt i32 %1483, 0
  br i1 %1484, label %1485, label %1486

1485:                                             ; preds = %1448
  br label %1494

1486:                                             ; preds = %1448
  %1487 = load i32, ptr %17, align 4, !tbaa !14
  %1488 = icmp sgt i32 %1487, 255
  br i1 %1488, label %1489, label %1490

1489:                                             ; preds = %1486
  br label %1492

1490:                                             ; preds = %1486
  %1491 = load i32, ptr %17, align 4, !tbaa !14
  br label %1492

1492:                                             ; preds = %1490, %1489
  %1493 = phi i32 [ 255, %1489 ], [ %1491, %1490 ]
  br label %1494

1494:                                             ; preds = %1492, %1485
  %1495 = phi i32 [ 0, %1485 ], [ %1493, %1492 ]
  %1496 = trunc i32 %1495 to i8
  %1497 = load ptr, ptr %11, align 8, !tbaa !5
  %1498 = load i32, ptr %19, align 4, !tbaa !14
  %1499 = add nsw i32 %1498, 10
  %1500 = sext i32 %1499 to i64
  %1501 = getelementptr inbounds i8, ptr %1497, i64 %1500
  store i8 %1496, ptr %1501, align 1, !tbaa !15
  %1502 = load ptr, ptr %13, align 8, !tbaa !5
  %1503 = load i32, ptr %19, align 4, !tbaa !14
  %1504 = add nsw i32 %1503, 10
  %1505 = sext i32 %1504 to i64
  %1506 = getelementptr inbounds i8, ptr %1502, i64 %1505
  %1507 = load i8, ptr %1506, align 1, !tbaa !15
  %1508 = zext i8 %1507 to i32
  %1509 = load ptr, ptr %14, align 8, !tbaa !5
  %1510 = load i32, ptr %19, align 4, !tbaa !14
  %1511 = add nsw i32 %1510, 10
  %1512 = sext i32 %1511 to i64
  %1513 = getelementptr inbounds i8, ptr %1509, i64 %1512
  %1514 = load i8, ptr %1513, align 1, !tbaa !15
  %1515 = zext i8 %1514 to i64
  %1516 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1515
  %1517 = load i32, ptr %1516, align 4, !tbaa !14
  %1518 = add nsw i32 %1508, %1517
  store i32 %1518, ptr %18, align 4, !tbaa !14
  %1519 = load i32, ptr %18, align 4, !tbaa !14
  %1520 = icmp slt i32 %1519, 0
  br i1 %1520, label %1521, label %1522

1521:                                             ; preds = %1494
  br label %1530

1522:                                             ; preds = %1494
  %1523 = load i32, ptr %18, align 4, !tbaa !14
  %1524 = icmp sgt i32 %1523, 255
  br i1 %1524, label %1525, label %1526

1525:                                             ; preds = %1522
  br label %1528

1526:                                             ; preds = %1522
  %1527 = load i32, ptr %18, align 4, !tbaa !14
  br label %1528

1528:                                             ; preds = %1526, %1525
  %1529 = phi i32 [ 255, %1525 ], [ %1527, %1526 ]
  br label %1530

1530:                                             ; preds = %1528, %1521
  %1531 = phi i32 [ 0, %1521 ], [ %1529, %1528 ]
  %1532 = trunc i32 %1531 to i8
  %1533 = load ptr, ptr %10, align 8, !tbaa !5
  %1534 = load i32, ptr %19, align 4, !tbaa !14
  %1535 = add nsw i32 %1534, 10
  %1536 = sext i32 %1535 to i64
  %1537 = getelementptr inbounds i8, ptr %1533, i64 %1536
  store i8 %1532, ptr %1537, align 1, !tbaa !15
  %1538 = load ptr, ptr %13, align 8, !tbaa !5
  %1539 = load i32, ptr %19, align 4, !tbaa !14
  %1540 = add nsw i32 %1539, 11
  %1541 = sext i32 %1540 to i64
  %1542 = getelementptr inbounds i8, ptr %1538, i64 %1541
  %1543 = load i8, ptr %1542, align 1, !tbaa !15
  %1544 = zext i8 %1543 to i32
  %1545 = load ptr, ptr %15, align 8, !tbaa !5
  %1546 = load i32, ptr %19, align 4, !tbaa !14
  %1547 = add nsw i32 %1546, 11
  %1548 = sext i32 %1547 to i64
  %1549 = getelementptr inbounds i8, ptr %1545, i64 %1548
  %1550 = load i8, ptr %1549, align 1, !tbaa !15
  %1551 = zext i8 %1550 to i64
  %1552 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1551
  %1553 = load i32, ptr %1552, align 4, !tbaa !14
  %1554 = add nsw i32 %1544, %1553
  store i32 %1554, ptr %16, align 4, !tbaa !14
  %1555 = load i32, ptr %16, align 4, !tbaa !14
  %1556 = icmp slt i32 %1555, 0
  br i1 %1556, label %1557, label %1558

1557:                                             ; preds = %1530
  br label %1566

1558:                                             ; preds = %1530
  %1559 = load i32, ptr %16, align 4, !tbaa !14
  %1560 = icmp sgt i32 %1559, 255
  br i1 %1560, label %1561, label %1562

1561:                                             ; preds = %1558
  br label %1564

1562:                                             ; preds = %1558
  %1563 = load i32, ptr %16, align 4, !tbaa !14
  br label %1564

1564:                                             ; preds = %1562, %1561
  %1565 = phi i32 [ 255, %1561 ], [ %1563, %1562 ]
  br label %1566

1566:                                             ; preds = %1564, %1557
  %1567 = phi i32 [ 0, %1557 ], [ %1565, %1564 ]
  %1568 = trunc i32 %1567 to i8
  %1569 = load ptr, ptr %12, align 8, !tbaa !5
  %1570 = load i32, ptr %19, align 4, !tbaa !14
  %1571 = add nsw i32 %1570, 11
  %1572 = sext i32 %1571 to i64
  %1573 = getelementptr inbounds i8, ptr %1569, i64 %1572
  store i8 %1568, ptr %1573, align 1, !tbaa !15
  %1574 = load ptr, ptr %13, align 8, !tbaa !5
  %1575 = load i32, ptr %19, align 4, !tbaa !14
  %1576 = add nsw i32 %1575, 11
  %1577 = sext i32 %1576 to i64
  %1578 = getelementptr inbounds i8, ptr %1574, i64 %1577
  %1579 = load i8, ptr %1578, align 1, !tbaa !15
  %1580 = zext i8 %1579 to i32
  %1581 = load ptr, ptr %14, align 8, !tbaa !5
  %1582 = load i32, ptr %19, align 4, !tbaa !14
  %1583 = add nsw i32 %1582, 11
  %1584 = sext i32 %1583 to i64
  %1585 = getelementptr inbounds i8, ptr %1581, i64 %1584
  %1586 = load i8, ptr %1585, align 1, !tbaa !15
  %1587 = zext i8 %1586 to i64
  %1588 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1587
  %1589 = load i32, ptr %1588, align 4, !tbaa !14
  %1590 = sub nsw i32 %1580, %1589
  %1591 = load ptr, ptr %15, align 8, !tbaa !5
  %1592 = load i32, ptr %19, align 4, !tbaa !14
  %1593 = add nsw i32 %1592, 11
  %1594 = sext i32 %1593 to i64
  %1595 = getelementptr inbounds i8, ptr %1591, i64 %1594
  %1596 = load i8, ptr %1595, align 1, !tbaa !15
  %1597 = zext i8 %1596 to i64
  %1598 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1597
  %1599 = load i32, ptr %1598, align 4, !tbaa !14
  %1600 = sub nsw i32 %1590, %1599
  store i32 %1600, ptr %17, align 4, !tbaa !14
  %1601 = load i32, ptr %17, align 4, !tbaa !14
  %1602 = icmp slt i32 %1601, 0
  br i1 %1602, label %1603, label %1604

1603:                                             ; preds = %1566
  br label %1612

1604:                                             ; preds = %1566
  %1605 = load i32, ptr %17, align 4, !tbaa !14
  %1606 = icmp sgt i32 %1605, 255
  br i1 %1606, label %1607, label %1608

1607:                                             ; preds = %1604
  br label %1610

1608:                                             ; preds = %1604
  %1609 = load i32, ptr %17, align 4, !tbaa !14
  br label %1610

1610:                                             ; preds = %1608, %1607
  %1611 = phi i32 [ 255, %1607 ], [ %1609, %1608 ]
  br label %1612

1612:                                             ; preds = %1610, %1603
  %1613 = phi i32 [ 0, %1603 ], [ %1611, %1610 ]
  %1614 = trunc i32 %1613 to i8
  %1615 = load ptr, ptr %11, align 8, !tbaa !5
  %1616 = load i32, ptr %19, align 4, !tbaa !14
  %1617 = add nsw i32 %1616, 11
  %1618 = sext i32 %1617 to i64
  %1619 = getelementptr inbounds i8, ptr %1615, i64 %1618
  store i8 %1614, ptr %1619, align 1, !tbaa !15
  %1620 = load ptr, ptr %13, align 8, !tbaa !5
  %1621 = load i32, ptr %19, align 4, !tbaa !14
  %1622 = add nsw i32 %1621, 11
  %1623 = sext i32 %1622 to i64
  %1624 = getelementptr inbounds i8, ptr %1620, i64 %1623
  %1625 = load i8, ptr %1624, align 1, !tbaa !15
  %1626 = zext i8 %1625 to i32
  %1627 = load ptr, ptr %14, align 8, !tbaa !5
  %1628 = load i32, ptr %19, align 4, !tbaa !14
  %1629 = add nsw i32 %1628, 11
  %1630 = sext i32 %1629 to i64
  %1631 = getelementptr inbounds i8, ptr %1627, i64 %1630
  %1632 = load i8, ptr %1631, align 1, !tbaa !15
  %1633 = zext i8 %1632 to i64
  %1634 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1633
  %1635 = load i32, ptr %1634, align 4, !tbaa !14
  %1636 = add nsw i32 %1626, %1635
  store i32 %1636, ptr %18, align 4, !tbaa !14
  %1637 = load i32, ptr %18, align 4, !tbaa !14
  %1638 = icmp slt i32 %1637, 0
  br i1 %1638, label %1639, label %1640

1639:                                             ; preds = %1612
  br label %1648

1640:                                             ; preds = %1612
  %1641 = load i32, ptr %18, align 4, !tbaa !14
  %1642 = icmp sgt i32 %1641, 255
  br i1 %1642, label %1643, label %1644

1643:                                             ; preds = %1640
  br label %1646

1644:                                             ; preds = %1640
  %1645 = load i32, ptr %18, align 4, !tbaa !14
  br label %1646

1646:                                             ; preds = %1644, %1643
  %1647 = phi i32 [ 255, %1643 ], [ %1645, %1644 ]
  br label %1648

1648:                                             ; preds = %1646, %1639
  %1649 = phi i32 [ 0, %1639 ], [ %1647, %1646 ]
  %1650 = trunc i32 %1649 to i8
  %1651 = load ptr, ptr %10, align 8, !tbaa !5
  %1652 = load i32, ptr %19, align 4, !tbaa !14
  %1653 = add nsw i32 %1652, 11
  %1654 = sext i32 %1653 to i64
  %1655 = getelementptr inbounds i8, ptr %1651, i64 %1654
  store i8 %1650, ptr %1655, align 1, !tbaa !15
  %1656 = load ptr, ptr %13, align 8, !tbaa !5
  %1657 = load i32, ptr %19, align 4, !tbaa !14
  %1658 = add nsw i32 %1657, 12
  %1659 = sext i32 %1658 to i64
  %1660 = getelementptr inbounds i8, ptr %1656, i64 %1659
  %1661 = load i8, ptr %1660, align 1, !tbaa !15
  %1662 = zext i8 %1661 to i32
  %1663 = load ptr, ptr %15, align 8, !tbaa !5
  %1664 = load i32, ptr %19, align 4, !tbaa !14
  %1665 = add nsw i32 %1664, 12
  %1666 = sext i32 %1665 to i64
  %1667 = getelementptr inbounds i8, ptr %1663, i64 %1666
  %1668 = load i8, ptr %1667, align 1, !tbaa !15
  %1669 = zext i8 %1668 to i64
  %1670 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1669
  %1671 = load i32, ptr %1670, align 4, !tbaa !14
  %1672 = add nsw i32 %1662, %1671
  store i32 %1672, ptr %16, align 4, !tbaa !14
  %1673 = load i32, ptr %16, align 4, !tbaa !14
  %1674 = icmp slt i32 %1673, 0
  br i1 %1674, label %1675, label %1676

1675:                                             ; preds = %1648
  br label %1684

1676:                                             ; preds = %1648
  %1677 = load i32, ptr %16, align 4, !tbaa !14
  %1678 = icmp sgt i32 %1677, 255
  br i1 %1678, label %1679, label %1680

1679:                                             ; preds = %1676
  br label %1682

1680:                                             ; preds = %1676
  %1681 = load i32, ptr %16, align 4, !tbaa !14
  br label %1682

1682:                                             ; preds = %1680, %1679
  %1683 = phi i32 [ 255, %1679 ], [ %1681, %1680 ]
  br label %1684

1684:                                             ; preds = %1682, %1675
  %1685 = phi i32 [ 0, %1675 ], [ %1683, %1682 ]
  %1686 = trunc i32 %1685 to i8
  %1687 = load ptr, ptr %12, align 8, !tbaa !5
  %1688 = load i32, ptr %19, align 4, !tbaa !14
  %1689 = add nsw i32 %1688, 12
  %1690 = sext i32 %1689 to i64
  %1691 = getelementptr inbounds i8, ptr %1687, i64 %1690
  store i8 %1686, ptr %1691, align 1, !tbaa !15
  %1692 = load ptr, ptr %13, align 8, !tbaa !5
  %1693 = load i32, ptr %19, align 4, !tbaa !14
  %1694 = add nsw i32 %1693, 12
  %1695 = sext i32 %1694 to i64
  %1696 = getelementptr inbounds i8, ptr %1692, i64 %1695
  %1697 = load i8, ptr %1696, align 1, !tbaa !15
  %1698 = zext i8 %1697 to i32
  %1699 = load ptr, ptr %14, align 8, !tbaa !5
  %1700 = load i32, ptr %19, align 4, !tbaa !14
  %1701 = add nsw i32 %1700, 12
  %1702 = sext i32 %1701 to i64
  %1703 = getelementptr inbounds i8, ptr %1699, i64 %1702
  %1704 = load i8, ptr %1703, align 1, !tbaa !15
  %1705 = zext i8 %1704 to i64
  %1706 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1705
  %1707 = load i32, ptr %1706, align 4, !tbaa !14
  %1708 = sub nsw i32 %1698, %1707
  %1709 = load ptr, ptr %15, align 8, !tbaa !5
  %1710 = load i32, ptr %19, align 4, !tbaa !14
  %1711 = add nsw i32 %1710, 12
  %1712 = sext i32 %1711 to i64
  %1713 = getelementptr inbounds i8, ptr %1709, i64 %1712
  %1714 = load i8, ptr %1713, align 1, !tbaa !15
  %1715 = zext i8 %1714 to i64
  %1716 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1715
  %1717 = load i32, ptr %1716, align 4, !tbaa !14
  %1718 = sub nsw i32 %1708, %1717
  store i32 %1718, ptr %17, align 4, !tbaa !14
  %1719 = load i32, ptr %17, align 4, !tbaa !14
  %1720 = icmp slt i32 %1719, 0
  br i1 %1720, label %1721, label %1722

1721:                                             ; preds = %1684
  br label %1730

1722:                                             ; preds = %1684
  %1723 = load i32, ptr %17, align 4, !tbaa !14
  %1724 = icmp sgt i32 %1723, 255
  br i1 %1724, label %1725, label %1726

1725:                                             ; preds = %1722
  br label %1728

1726:                                             ; preds = %1722
  %1727 = load i32, ptr %17, align 4, !tbaa !14
  br label %1728

1728:                                             ; preds = %1726, %1725
  %1729 = phi i32 [ 255, %1725 ], [ %1727, %1726 ]
  br label %1730

1730:                                             ; preds = %1728, %1721
  %1731 = phi i32 [ 0, %1721 ], [ %1729, %1728 ]
  %1732 = trunc i32 %1731 to i8
  %1733 = load ptr, ptr %11, align 8, !tbaa !5
  %1734 = load i32, ptr %19, align 4, !tbaa !14
  %1735 = add nsw i32 %1734, 12
  %1736 = sext i32 %1735 to i64
  %1737 = getelementptr inbounds i8, ptr %1733, i64 %1736
  store i8 %1732, ptr %1737, align 1, !tbaa !15
  %1738 = load ptr, ptr %13, align 8, !tbaa !5
  %1739 = load i32, ptr %19, align 4, !tbaa !14
  %1740 = add nsw i32 %1739, 12
  %1741 = sext i32 %1740 to i64
  %1742 = getelementptr inbounds i8, ptr %1738, i64 %1741
  %1743 = load i8, ptr %1742, align 1, !tbaa !15
  %1744 = zext i8 %1743 to i32
  %1745 = load ptr, ptr %14, align 8, !tbaa !5
  %1746 = load i32, ptr %19, align 4, !tbaa !14
  %1747 = add nsw i32 %1746, 12
  %1748 = sext i32 %1747 to i64
  %1749 = getelementptr inbounds i8, ptr %1745, i64 %1748
  %1750 = load i8, ptr %1749, align 1, !tbaa !15
  %1751 = zext i8 %1750 to i64
  %1752 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1751
  %1753 = load i32, ptr %1752, align 4, !tbaa !14
  %1754 = add nsw i32 %1744, %1753
  store i32 %1754, ptr %18, align 4, !tbaa !14
  %1755 = load i32, ptr %18, align 4, !tbaa !14
  %1756 = icmp slt i32 %1755, 0
  br i1 %1756, label %1757, label %1758

1757:                                             ; preds = %1730
  br label %1766

1758:                                             ; preds = %1730
  %1759 = load i32, ptr %18, align 4, !tbaa !14
  %1760 = icmp sgt i32 %1759, 255
  br i1 %1760, label %1761, label %1762

1761:                                             ; preds = %1758
  br label %1764

1762:                                             ; preds = %1758
  %1763 = load i32, ptr %18, align 4, !tbaa !14
  br label %1764

1764:                                             ; preds = %1762, %1761
  %1765 = phi i32 [ 255, %1761 ], [ %1763, %1762 ]
  br label %1766

1766:                                             ; preds = %1764, %1757
  %1767 = phi i32 [ 0, %1757 ], [ %1765, %1764 ]
  %1768 = trunc i32 %1767 to i8
  %1769 = load ptr, ptr %10, align 8, !tbaa !5
  %1770 = load i32, ptr %19, align 4, !tbaa !14
  %1771 = add nsw i32 %1770, 12
  %1772 = sext i32 %1771 to i64
  %1773 = getelementptr inbounds i8, ptr %1769, i64 %1772
  store i8 %1768, ptr %1773, align 1, !tbaa !15
  %1774 = load ptr, ptr %13, align 8, !tbaa !5
  %1775 = load i32, ptr %19, align 4, !tbaa !14
  %1776 = add nsw i32 %1775, 13
  %1777 = sext i32 %1776 to i64
  %1778 = getelementptr inbounds i8, ptr %1774, i64 %1777
  %1779 = load i8, ptr %1778, align 1, !tbaa !15
  %1780 = zext i8 %1779 to i32
  %1781 = load ptr, ptr %15, align 8, !tbaa !5
  %1782 = load i32, ptr %19, align 4, !tbaa !14
  %1783 = add nsw i32 %1782, 13
  %1784 = sext i32 %1783 to i64
  %1785 = getelementptr inbounds i8, ptr %1781, i64 %1784
  %1786 = load i8, ptr %1785, align 1, !tbaa !15
  %1787 = zext i8 %1786 to i64
  %1788 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1787
  %1789 = load i32, ptr %1788, align 4, !tbaa !14
  %1790 = add nsw i32 %1780, %1789
  store i32 %1790, ptr %16, align 4, !tbaa !14
  %1791 = load i32, ptr %16, align 4, !tbaa !14
  %1792 = icmp slt i32 %1791, 0
  br i1 %1792, label %1793, label %1794

1793:                                             ; preds = %1766
  br label %1802

1794:                                             ; preds = %1766
  %1795 = load i32, ptr %16, align 4, !tbaa !14
  %1796 = icmp sgt i32 %1795, 255
  br i1 %1796, label %1797, label %1798

1797:                                             ; preds = %1794
  br label %1800

1798:                                             ; preds = %1794
  %1799 = load i32, ptr %16, align 4, !tbaa !14
  br label %1800

1800:                                             ; preds = %1798, %1797
  %1801 = phi i32 [ 255, %1797 ], [ %1799, %1798 ]
  br label %1802

1802:                                             ; preds = %1800, %1793
  %1803 = phi i32 [ 0, %1793 ], [ %1801, %1800 ]
  %1804 = trunc i32 %1803 to i8
  %1805 = load ptr, ptr %12, align 8, !tbaa !5
  %1806 = load i32, ptr %19, align 4, !tbaa !14
  %1807 = add nsw i32 %1806, 13
  %1808 = sext i32 %1807 to i64
  %1809 = getelementptr inbounds i8, ptr %1805, i64 %1808
  store i8 %1804, ptr %1809, align 1, !tbaa !15
  %1810 = load ptr, ptr %13, align 8, !tbaa !5
  %1811 = load i32, ptr %19, align 4, !tbaa !14
  %1812 = add nsw i32 %1811, 13
  %1813 = sext i32 %1812 to i64
  %1814 = getelementptr inbounds i8, ptr %1810, i64 %1813
  %1815 = load i8, ptr %1814, align 1, !tbaa !15
  %1816 = zext i8 %1815 to i32
  %1817 = load ptr, ptr %14, align 8, !tbaa !5
  %1818 = load i32, ptr %19, align 4, !tbaa !14
  %1819 = add nsw i32 %1818, 13
  %1820 = sext i32 %1819 to i64
  %1821 = getelementptr inbounds i8, ptr %1817, i64 %1820
  %1822 = load i8, ptr %1821, align 1, !tbaa !15
  %1823 = zext i8 %1822 to i64
  %1824 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1823
  %1825 = load i32, ptr %1824, align 4, !tbaa !14
  %1826 = sub nsw i32 %1816, %1825
  %1827 = load ptr, ptr %15, align 8, !tbaa !5
  %1828 = load i32, ptr %19, align 4, !tbaa !14
  %1829 = add nsw i32 %1828, 13
  %1830 = sext i32 %1829 to i64
  %1831 = getelementptr inbounds i8, ptr %1827, i64 %1830
  %1832 = load i8, ptr %1831, align 1, !tbaa !15
  %1833 = zext i8 %1832 to i64
  %1834 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1833
  %1835 = load i32, ptr %1834, align 4, !tbaa !14
  %1836 = sub nsw i32 %1826, %1835
  store i32 %1836, ptr %17, align 4, !tbaa !14
  %1837 = load i32, ptr %17, align 4, !tbaa !14
  %1838 = icmp slt i32 %1837, 0
  br i1 %1838, label %1839, label %1840

1839:                                             ; preds = %1802
  br label %1848

1840:                                             ; preds = %1802
  %1841 = load i32, ptr %17, align 4, !tbaa !14
  %1842 = icmp sgt i32 %1841, 255
  br i1 %1842, label %1843, label %1844

1843:                                             ; preds = %1840
  br label %1846

1844:                                             ; preds = %1840
  %1845 = load i32, ptr %17, align 4, !tbaa !14
  br label %1846

1846:                                             ; preds = %1844, %1843
  %1847 = phi i32 [ 255, %1843 ], [ %1845, %1844 ]
  br label %1848

1848:                                             ; preds = %1846, %1839
  %1849 = phi i32 [ 0, %1839 ], [ %1847, %1846 ]
  %1850 = trunc i32 %1849 to i8
  %1851 = load ptr, ptr %11, align 8, !tbaa !5
  %1852 = load i32, ptr %19, align 4, !tbaa !14
  %1853 = add nsw i32 %1852, 13
  %1854 = sext i32 %1853 to i64
  %1855 = getelementptr inbounds i8, ptr %1851, i64 %1854
  store i8 %1850, ptr %1855, align 1, !tbaa !15
  %1856 = load ptr, ptr %13, align 8, !tbaa !5
  %1857 = load i32, ptr %19, align 4, !tbaa !14
  %1858 = add nsw i32 %1857, 13
  %1859 = sext i32 %1858 to i64
  %1860 = getelementptr inbounds i8, ptr %1856, i64 %1859
  %1861 = load i8, ptr %1860, align 1, !tbaa !15
  %1862 = zext i8 %1861 to i32
  %1863 = load ptr, ptr %14, align 8, !tbaa !5
  %1864 = load i32, ptr %19, align 4, !tbaa !14
  %1865 = add nsw i32 %1864, 13
  %1866 = sext i32 %1865 to i64
  %1867 = getelementptr inbounds i8, ptr %1863, i64 %1866
  %1868 = load i8, ptr %1867, align 1, !tbaa !15
  %1869 = zext i8 %1868 to i64
  %1870 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1869
  %1871 = load i32, ptr %1870, align 4, !tbaa !14
  %1872 = add nsw i32 %1862, %1871
  store i32 %1872, ptr %18, align 4, !tbaa !14
  %1873 = load i32, ptr %18, align 4, !tbaa !14
  %1874 = icmp slt i32 %1873, 0
  br i1 %1874, label %1875, label %1876

1875:                                             ; preds = %1848
  br label %1884

1876:                                             ; preds = %1848
  %1877 = load i32, ptr %18, align 4, !tbaa !14
  %1878 = icmp sgt i32 %1877, 255
  br i1 %1878, label %1879, label %1880

1879:                                             ; preds = %1876
  br label %1882

1880:                                             ; preds = %1876
  %1881 = load i32, ptr %18, align 4, !tbaa !14
  br label %1882

1882:                                             ; preds = %1880, %1879
  %1883 = phi i32 [ 255, %1879 ], [ %1881, %1880 ]
  br label %1884

1884:                                             ; preds = %1882, %1875
  %1885 = phi i32 [ 0, %1875 ], [ %1883, %1882 ]
  %1886 = trunc i32 %1885 to i8
  %1887 = load ptr, ptr %10, align 8, !tbaa !5
  %1888 = load i32, ptr %19, align 4, !tbaa !14
  %1889 = add nsw i32 %1888, 13
  %1890 = sext i32 %1889 to i64
  %1891 = getelementptr inbounds i8, ptr %1887, i64 %1890
  store i8 %1886, ptr %1891, align 1, !tbaa !15
  %1892 = load ptr, ptr %13, align 8, !tbaa !5
  %1893 = load i32, ptr %19, align 4, !tbaa !14
  %1894 = add nsw i32 %1893, 14
  %1895 = sext i32 %1894 to i64
  %1896 = getelementptr inbounds i8, ptr %1892, i64 %1895
  %1897 = load i8, ptr %1896, align 1, !tbaa !15
  %1898 = zext i8 %1897 to i32
  %1899 = load ptr, ptr %15, align 8, !tbaa !5
  %1900 = load i32, ptr %19, align 4, !tbaa !14
  %1901 = add nsw i32 %1900, 14
  %1902 = sext i32 %1901 to i64
  %1903 = getelementptr inbounds i8, ptr %1899, i64 %1902
  %1904 = load i8, ptr %1903, align 1, !tbaa !15
  %1905 = zext i8 %1904 to i64
  %1906 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1905
  %1907 = load i32, ptr %1906, align 4, !tbaa !14
  %1908 = add nsw i32 %1898, %1907
  store i32 %1908, ptr %16, align 4, !tbaa !14
  %1909 = load i32, ptr %16, align 4, !tbaa !14
  %1910 = icmp slt i32 %1909, 0
  br i1 %1910, label %1911, label %1912

1911:                                             ; preds = %1884
  br label %1920

1912:                                             ; preds = %1884
  %1913 = load i32, ptr %16, align 4, !tbaa !14
  %1914 = icmp sgt i32 %1913, 255
  br i1 %1914, label %1915, label %1916

1915:                                             ; preds = %1912
  br label %1918

1916:                                             ; preds = %1912
  %1917 = load i32, ptr %16, align 4, !tbaa !14
  br label %1918

1918:                                             ; preds = %1916, %1915
  %1919 = phi i32 [ 255, %1915 ], [ %1917, %1916 ]
  br label %1920

1920:                                             ; preds = %1918, %1911
  %1921 = phi i32 [ 0, %1911 ], [ %1919, %1918 ]
  %1922 = trunc i32 %1921 to i8
  %1923 = load ptr, ptr %12, align 8, !tbaa !5
  %1924 = load i32, ptr %19, align 4, !tbaa !14
  %1925 = add nsw i32 %1924, 14
  %1926 = sext i32 %1925 to i64
  %1927 = getelementptr inbounds i8, ptr %1923, i64 %1926
  store i8 %1922, ptr %1927, align 1, !tbaa !15
  %1928 = load ptr, ptr %13, align 8, !tbaa !5
  %1929 = load i32, ptr %19, align 4, !tbaa !14
  %1930 = add nsw i32 %1929, 14
  %1931 = sext i32 %1930 to i64
  %1932 = getelementptr inbounds i8, ptr %1928, i64 %1931
  %1933 = load i8, ptr %1932, align 1, !tbaa !15
  %1934 = zext i8 %1933 to i32
  %1935 = load ptr, ptr %14, align 8, !tbaa !5
  %1936 = load i32, ptr %19, align 4, !tbaa !14
  %1937 = add nsw i32 %1936, 14
  %1938 = sext i32 %1937 to i64
  %1939 = getelementptr inbounds i8, ptr %1935, i64 %1938
  %1940 = load i8, ptr %1939, align 1, !tbaa !15
  %1941 = zext i8 %1940 to i64
  %1942 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1941
  %1943 = load i32, ptr %1942, align 4, !tbaa !14
  %1944 = sub nsw i32 %1934, %1943
  %1945 = load ptr, ptr %15, align 8, !tbaa !5
  %1946 = load i32, ptr %19, align 4, !tbaa !14
  %1947 = add nsw i32 %1946, 14
  %1948 = sext i32 %1947 to i64
  %1949 = getelementptr inbounds i8, ptr %1945, i64 %1948
  %1950 = load i8, ptr %1949, align 1, !tbaa !15
  %1951 = zext i8 %1950 to i64
  %1952 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1951
  %1953 = load i32, ptr %1952, align 4, !tbaa !14
  %1954 = sub nsw i32 %1944, %1953
  store i32 %1954, ptr %17, align 4, !tbaa !14
  %1955 = load i32, ptr %17, align 4, !tbaa !14
  %1956 = icmp slt i32 %1955, 0
  br i1 %1956, label %1957, label %1958

1957:                                             ; preds = %1920
  br label %1966

1958:                                             ; preds = %1920
  %1959 = load i32, ptr %17, align 4, !tbaa !14
  %1960 = icmp sgt i32 %1959, 255
  br i1 %1960, label %1961, label %1962

1961:                                             ; preds = %1958
  br label %1964

1962:                                             ; preds = %1958
  %1963 = load i32, ptr %17, align 4, !tbaa !14
  br label %1964

1964:                                             ; preds = %1962, %1961
  %1965 = phi i32 [ 255, %1961 ], [ %1963, %1962 ]
  br label %1966

1966:                                             ; preds = %1964, %1957
  %1967 = phi i32 [ 0, %1957 ], [ %1965, %1964 ]
  %1968 = trunc i32 %1967 to i8
  %1969 = load ptr, ptr %11, align 8, !tbaa !5
  %1970 = load i32, ptr %19, align 4, !tbaa !14
  %1971 = add nsw i32 %1970, 14
  %1972 = sext i32 %1971 to i64
  %1973 = getelementptr inbounds i8, ptr %1969, i64 %1972
  store i8 %1968, ptr %1973, align 1, !tbaa !15
  %1974 = load ptr, ptr %13, align 8, !tbaa !5
  %1975 = load i32, ptr %19, align 4, !tbaa !14
  %1976 = add nsw i32 %1975, 14
  %1977 = sext i32 %1976 to i64
  %1978 = getelementptr inbounds i8, ptr %1974, i64 %1977
  %1979 = load i8, ptr %1978, align 1, !tbaa !15
  %1980 = zext i8 %1979 to i32
  %1981 = load ptr, ptr %14, align 8, !tbaa !5
  %1982 = load i32, ptr %19, align 4, !tbaa !14
  %1983 = add nsw i32 %1982, 14
  %1984 = sext i32 %1983 to i64
  %1985 = getelementptr inbounds i8, ptr %1981, i64 %1984
  %1986 = load i8, ptr %1985, align 1, !tbaa !15
  %1987 = zext i8 %1986 to i64
  %1988 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1987
  %1989 = load i32, ptr %1988, align 4, !tbaa !14
  %1990 = add nsw i32 %1980, %1989
  store i32 %1990, ptr %18, align 4, !tbaa !14
  %1991 = load i32, ptr %18, align 4, !tbaa !14
  %1992 = icmp slt i32 %1991, 0
  br i1 %1992, label %1993, label %1994

1993:                                             ; preds = %1966
  br label %2002

1994:                                             ; preds = %1966
  %1995 = load i32, ptr %18, align 4, !tbaa !14
  %1996 = icmp sgt i32 %1995, 255
  br i1 %1996, label %1997, label %1998

1997:                                             ; preds = %1994
  br label %2000

1998:                                             ; preds = %1994
  %1999 = load i32, ptr %18, align 4, !tbaa !14
  br label %2000

2000:                                             ; preds = %1998, %1997
  %2001 = phi i32 [ 255, %1997 ], [ %1999, %1998 ]
  br label %2002

2002:                                             ; preds = %2000, %1993
  %2003 = phi i32 [ 0, %1993 ], [ %2001, %2000 ]
  %2004 = trunc i32 %2003 to i8
  %2005 = load ptr, ptr %10, align 8, !tbaa !5
  %2006 = load i32, ptr %19, align 4, !tbaa !14
  %2007 = add nsw i32 %2006, 14
  %2008 = sext i32 %2007 to i64
  %2009 = getelementptr inbounds i8, ptr %2005, i64 %2008
  store i8 %2004, ptr %2009, align 1, !tbaa !15
  %2010 = load ptr, ptr %13, align 8, !tbaa !5
  %2011 = load i32, ptr %19, align 4, !tbaa !14
  %2012 = add nsw i32 %2011, 15
  %2013 = sext i32 %2012 to i64
  %2014 = getelementptr inbounds i8, ptr %2010, i64 %2013
  %2015 = load i8, ptr %2014, align 1, !tbaa !15
  %2016 = zext i8 %2015 to i32
  %2017 = load ptr, ptr %15, align 8, !tbaa !5
  %2018 = load i32, ptr %19, align 4, !tbaa !14
  %2019 = add nsw i32 %2018, 15
  %2020 = sext i32 %2019 to i64
  %2021 = getelementptr inbounds i8, ptr %2017, i64 %2020
  %2022 = load i8, ptr %2021, align 1, !tbaa !15
  %2023 = zext i8 %2022 to i64
  %2024 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2023
  %2025 = load i32, ptr %2024, align 4, !tbaa !14
  %2026 = add nsw i32 %2016, %2025
  store i32 %2026, ptr %16, align 4, !tbaa !14
  %2027 = load i32, ptr %16, align 4, !tbaa !14
  %2028 = icmp slt i32 %2027, 0
  br i1 %2028, label %2029, label %2030

2029:                                             ; preds = %2002
  br label %2038

2030:                                             ; preds = %2002
  %2031 = load i32, ptr %16, align 4, !tbaa !14
  %2032 = icmp sgt i32 %2031, 255
  br i1 %2032, label %2033, label %2034

2033:                                             ; preds = %2030
  br label %2036

2034:                                             ; preds = %2030
  %2035 = load i32, ptr %16, align 4, !tbaa !14
  br label %2036

2036:                                             ; preds = %2034, %2033
  %2037 = phi i32 [ 255, %2033 ], [ %2035, %2034 ]
  br label %2038

2038:                                             ; preds = %2036, %2029
  %2039 = phi i32 [ 0, %2029 ], [ %2037, %2036 ]
  %2040 = trunc i32 %2039 to i8
  %2041 = load ptr, ptr %12, align 8, !tbaa !5
  %2042 = load i32, ptr %19, align 4, !tbaa !14
  %2043 = add nsw i32 %2042, 15
  %2044 = sext i32 %2043 to i64
  %2045 = getelementptr inbounds i8, ptr %2041, i64 %2044
  store i8 %2040, ptr %2045, align 1, !tbaa !15
  %2046 = load ptr, ptr %13, align 8, !tbaa !5
  %2047 = load i32, ptr %19, align 4, !tbaa !14
  %2048 = add nsw i32 %2047, 15
  %2049 = sext i32 %2048 to i64
  %2050 = getelementptr inbounds i8, ptr %2046, i64 %2049
  %2051 = load i8, ptr %2050, align 1, !tbaa !15
  %2052 = zext i8 %2051 to i32
  %2053 = load ptr, ptr %14, align 8, !tbaa !5
  %2054 = load i32, ptr %19, align 4, !tbaa !14
  %2055 = add nsw i32 %2054, 15
  %2056 = sext i32 %2055 to i64
  %2057 = getelementptr inbounds i8, ptr %2053, i64 %2056
  %2058 = load i8, ptr %2057, align 1, !tbaa !15
  %2059 = zext i8 %2058 to i64
  %2060 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2059
  %2061 = load i32, ptr %2060, align 4, !tbaa !14
  %2062 = sub nsw i32 %2052, %2061
  %2063 = load ptr, ptr %15, align 8, !tbaa !5
  %2064 = load i32, ptr %19, align 4, !tbaa !14
  %2065 = add nsw i32 %2064, 15
  %2066 = sext i32 %2065 to i64
  %2067 = getelementptr inbounds i8, ptr %2063, i64 %2066
  %2068 = load i8, ptr %2067, align 1, !tbaa !15
  %2069 = zext i8 %2068 to i64
  %2070 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2069
  %2071 = load i32, ptr %2070, align 4, !tbaa !14
  %2072 = sub nsw i32 %2062, %2071
  store i32 %2072, ptr %17, align 4, !tbaa !14
  %2073 = load i32, ptr %17, align 4, !tbaa !14
  %2074 = icmp slt i32 %2073, 0
  br i1 %2074, label %2075, label %2076

2075:                                             ; preds = %2038
  br label %2084

2076:                                             ; preds = %2038
  %2077 = load i32, ptr %17, align 4, !tbaa !14
  %2078 = icmp sgt i32 %2077, 255
  br i1 %2078, label %2079, label %2080

2079:                                             ; preds = %2076
  br label %2082

2080:                                             ; preds = %2076
  %2081 = load i32, ptr %17, align 4, !tbaa !14
  br label %2082

2082:                                             ; preds = %2080, %2079
  %2083 = phi i32 [ 255, %2079 ], [ %2081, %2080 ]
  br label %2084

2084:                                             ; preds = %2082, %2075
  %2085 = phi i32 [ 0, %2075 ], [ %2083, %2082 ]
  %2086 = trunc i32 %2085 to i8
  %2087 = load ptr, ptr %11, align 8, !tbaa !5
  %2088 = load i32, ptr %19, align 4, !tbaa !14
  %2089 = add nsw i32 %2088, 15
  %2090 = sext i32 %2089 to i64
  %2091 = getelementptr inbounds i8, ptr %2087, i64 %2090
  store i8 %2086, ptr %2091, align 1, !tbaa !15
  %2092 = load ptr, ptr %13, align 8, !tbaa !5
  %2093 = load i32, ptr %19, align 4, !tbaa !14
  %2094 = add nsw i32 %2093, 15
  %2095 = sext i32 %2094 to i64
  %2096 = getelementptr inbounds i8, ptr %2092, i64 %2095
  %2097 = load i8, ptr %2096, align 1, !tbaa !15
  %2098 = zext i8 %2097 to i32
  %2099 = load ptr, ptr %14, align 8, !tbaa !5
  %2100 = load i32, ptr %19, align 4, !tbaa !14
  %2101 = add nsw i32 %2100, 15
  %2102 = sext i32 %2101 to i64
  %2103 = getelementptr inbounds i8, ptr %2099, i64 %2102
  %2104 = load i8, ptr %2103, align 1, !tbaa !15
  %2105 = zext i8 %2104 to i64
  %2106 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2105
  %2107 = load i32, ptr %2106, align 4, !tbaa !14
  %2108 = add nsw i32 %2098, %2107
  store i32 %2108, ptr %18, align 4, !tbaa !14
  %2109 = load i32, ptr %18, align 4, !tbaa !14
  %2110 = icmp slt i32 %2109, 0
  br i1 %2110, label %2111, label %2112

2111:                                             ; preds = %2084
  br label %2120

2112:                                             ; preds = %2084
  %2113 = load i32, ptr %18, align 4, !tbaa !14
  %2114 = icmp sgt i32 %2113, 255
  br i1 %2114, label %2115, label %2116

2115:                                             ; preds = %2112
  br label %2118

2116:                                             ; preds = %2112
  %2117 = load i32, ptr %18, align 4, !tbaa !14
  br label %2118

2118:                                             ; preds = %2116, %2115
  %2119 = phi i32 [ 255, %2115 ], [ %2117, %2116 ]
  br label %2120

2120:                                             ; preds = %2118, %2111
  %2121 = phi i32 [ 0, %2111 ], [ %2119, %2118 ]
  %2122 = trunc i32 %2121 to i8
  %2123 = load ptr, ptr %10, align 8, !tbaa !5
  %2124 = load i32, ptr %19, align 4, !tbaa !14
  %2125 = add nsw i32 %2124, 15
  %2126 = sext i32 %2125 to i64
  %2127 = getelementptr inbounds i8, ptr %2123, i64 %2126
  store i8 %2122, ptr %2127, align 1, !tbaa !15
  br label %2128

2128:                                             ; preds = %2120
  %2129 = load i32, ptr %19, align 4, !tbaa !14
  %2130 = add nsw i32 %2129, 16
  store i32 %2130, ptr %19, align 4, !tbaa !14
  br label %232, !llvm.loop !16

2131:                                             ; preds = %232
  %2132 = load ptr, ptr %4, align 8, !tbaa !5
  %2133 = getelementptr inbounds %struct.MImage, ptr %2132, i32 0, i32 2
  %2134 = load i32, ptr %2133, align 8, !tbaa !13
  %2135 = load i32, ptr %19, align 4, !tbaa !14
  %2136 = sub nsw i32 %2134, %2135
  %2137 = icmp eq i32 %2136, 0
  br i1 %2137, label %2138, label %2139

2138:                                             ; preds = %2131
  br label %16434

2139:                                             ; preds = %2131
  %2140 = load ptr, ptr %4, align 8, !tbaa !5
  %2141 = getelementptr inbounds %struct.MImage, ptr %2140, i32 0, i32 2
  %2142 = load i32, ptr %2141, align 8, !tbaa !13
  %2143 = load i32, ptr %19, align 4, !tbaa !14
  %2144 = sub nsw i32 %2142, %2143
  %2145 = icmp eq i32 %2144, 1
  br i1 %2145, label %2146, label %2265

2146:                                             ; preds = %2139
  %2147 = load ptr, ptr %13, align 8, !tbaa !5
  %2148 = load i32, ptr %19, align 4, !tbaa !14
  %2149 = add nsw i32 %2148, 0
  %2150 = sext i32 %2149 to i64
  %2151 = getelementptr inbounds i8, ptr %2147, i64 %2150
  %2152 = load i8, ptr %2151, align 1, !tbaa !15
  %2153 = zext i8 %2152 to i32
  %2154 = load ptr, ptr %15, align 8, !tbaa !5
  %2155 = load i32, ptr %19, align 4, !tbaa !14
  %2156 = add nsw i32 %2155, 0
  %2157 = sext i32 %2156 to i64
  %2158 = getelementptr inbounds i8, ptr %2154, i64 %2157
  %2159 = load i8, ptr %2158, align 1, !tbaa !15
  %2160 = zext i8 %2159 to i64
  %2161 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2160
  %2162 = load i32, ptr %2161, align 4, !tbaa !14
  %2163 = add nsw i32 %2153, %2162
  store i32 %2163, ptr %16, align 4, !tbaa !14
  %2164 = load i32, ptr %16, align 4, !tbaa !14
  %2165 = icmp slt i32 %2164, 0
  br i1 %2165, label %2166, label %2167

2166:                                             ; preds = %2146
  br label %2175

2167:                                             ; preds = %2146
  %2168 = load i32, ptr %16, align 4, !tbaa !14
  %2169 = icmp sgt i32 %2168, 255
  br i1 %2169, label %2170, label %2171

2170:                                             ; preds = %2167
  br label %2173

2171:                                             ; preds = %2167
  %2172 = load i32, ptr %16, align 4, !tbaa !14
  br label %2173

2173:                                             ; preds = %2171, %2170
  %2174 = phi i32 [ 255, %2170 ], [ %2172, %2171 ]
  br label %2175

2175:                                             ; preds = %2173, %2166
  %2176 = phi i32 [ 0, %2166 ], [ %2174, %2173 ]
  %2177 = trunc i32 %2176 to i8
  %2178 = load ptr, ptr %12, align 8, !tbaa !5
  %2179 = load i32, ptr %19, align 4, !tbaa !14
  %2180 = add nsw i32 %2179, 0
  %2181 = sext i32 %2180 to i64
  %2182 = getelementptr inbounds i8, ptr %2178, i64 %2181
  store i8 %2177, ptr %2182, align 1, !tbaa !15
  %2183 = load ptr, ptr %13, align 8, !tbaa !5
  %2184 = load i32, ptr %19, align 4, !tbaa !14
  %2185 = add nsw i32 %2184, 0
  %2186 = sext i32 %2185 to i64
  %2187 = getelementptr inbounds i8, ptr %2183, i64 %2186
  %2188 = load i8, ptr %2187, align 1, !tbaa !15
  %2189 = zext i8 %2188 to i32
  %2190 = load ptr, ptr %14, align 8, !tbaa !5
  %2191 = load i32, ptr %19, align 4, !tbaa !14
  %2192 = add nsw i32 %2191, 0
  %2193 = sext i32 %2192 to i64
  %2194 = getelementptr inbounds i8, ptr %2190, i64 %2193
  %2195 = load i8, ptr %2194, align 1, !tbaa !15
  %2196 = zext i8 %2195 to i64
  %2197 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2196
  %2198 = load i32, ptr %2197, align 4, !tbaa !14
  %2199 = sub nsw i32 %2189, %2198
  %2200 = load ptr, ptr %15, align 8, !tbaa !5
  %2201 = load i32, ptr %19, align 4, !tbaa !14
  %2202 = add nsw i32 %2201, 0
  %2203 = sext i32 %2202 to i64
  %2204 = getelementptr inbounds i8, ptr %2200, i64 %2203
  %2205 = load i8, ptr %2204, align 1, !tbaa !15
  %2206 = zext i8 %2205 to i64
  %2207 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2206
  %2208 = load i32, ptr %2207, align 4, !tbaa !14
  %2209 = sub nsw i32 %2199, %2208
  store i32 %2209, ptr %17, align 4, !tbaa !14
  %2210 = load i32, ptr %17, align 4, !tbaa !14
  %2211 = icmp slt i32 %2210, 0
  br i1 %2211, label %2212, label %2213

2212:                                             ; preds = %2175
  br label %2221

2213:                                             ; preds = %2175
  %2214 = load i32, ptr %17, align 4, !tbaa !14
  %2215 = icmp sgt i32 %2214, 255
  br i1 %2215, label %2216, label %2217

2216:                                             ; preds = %2213
  br label %2219

2217:                                             ; preds = %2213
  %2218 = load i32, ptr %17, align 4, !tbaa !14
  br label %2219

2219:                                             ; preds = %2217, %2216
  %2220 = phi i32 [ 255, %2216 ], [ %2218, %2217 ]
  br label %2221

2221:                                             ; preds = %2219, %2212
  %2222 = phi i32 [ 0, %2212 ], [ %2220, %2219 ]
  %2223 = trunc i32 %2222 to i8
  %2224 = load ptr, ptr %11, align 8, !tbaa !5
  %2225 = load i32, ptr %19, align 4, !tbaa !14
  %2226 = add nsw i32 %2225, 0
  %2227 = sext i32 %2226 to i64
  %2228 = getelementptr inbounds i8, ptr %2224, i64 %2227
  store i8 %2223, ptr %2228, align 1, !tbaa !15
  %2229 = load ptr, ptr %13, align 8, !tbaa !5
  %2230 = load i32, ptr %19, align 4, !tbaa !14
  %2231 = add nsw i32 %2230, 0
  %2232 = sext i32 %2231 to i64
  %2233 = getelementptr inbounds i8, ptr %2229, i64 %2232
  %2234 = load i8, ptr %2233, align 1, !tbaa !15
  %2235 = zext i8 %2234 to i32
  %2236 = load ptr, ptr %14, align 8, !tbaa !5
  %2237 = load i32, ptr %19, align 4, !tbaa !14
  %2238 = add nsw i32 %2237, 0
  %2239 = sext i32 %2238 to i64
  %2240 = getelementptr inbounds i8, ptr %2236, i64 %2239
  %2241 = load i8, ptr %2240, align 1, !tbaa !15
  %2242 = zext i8 %2241 to i64
  %2243 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2242
  %2244 = load i32, ptr %2243, align 4, !tbaa !14
  %2245 = add nsw i32 %2235, %2244
  store i32 %2245, ptr %18, align 4, !tbaa !14
  %2246 = load i32, ptr %18, align 4, !tbaa !14
  %2247 = icmp slt i32 %2246, 0
  br i1 %2247, label %2248, label %2249

2248:                                             ; preds = %2221
  br label %2257

2249:                                             ; preds = %2221
  %2250 = load i32, ptr %18, align 4, !tbaa !14
  %2251 = icmp sgt i32 %2250, 255
  br i1 %2251, label %2252, label %2253

2252:                                             ; preds = %2249
  br label %2255

2253:                                             ; preds = %2249
  %2254 = load i32, ptr %18, align 4, !tbaa !14
  br label %2255

2255:                                             ; preds = %2253, %2252
  %2256 = phi i32 [ 255, %2252 ], [ %2254, %2253 ]
  br label %2257

2257:                                             ; preds = %2255, %2248
  %2258 = phi i32 [ 0, %2248 ], [ %2256, %2255 ]
  %2259 = trunc i32 %2258 to i8
  %2260 = load ptr, ptr %10, align 8, !tbaa !5
  %2261 = load i32, ptr %19, align 4, !tbaa !14
  %2262 = add nsw i32 %2261, 0
  %2263 = sext i32 %2262 to i64
  %2264 = getelementptr inbounds i8, ptr %2260, i64 %2263
  store i8 %2259, ptr %2264, align 1, !tbaa !15
  br label %16433

2265:                                             ; preds = %2139
  %2266 = load ptr, ptr %4, align 8, !tbaa !5
  %2267 = getelementptr inbounds %struct.MImage, ptr %2266, i32 0, i32 2
  %2268 = load i32, ptr %2267, align 8, !tbaa !13
  %2269 = load i32, ptr %19, align 4, !tbaa !14
  %2270 = sub nsw i32 %2268, %2269
  %2271 = icmp eq i32 %2270, 2
  br i1 %2271, label %2272, label %2509

2272:                                             ; preds = %2265
  %2273 = load ptr, ptr %13, align 8, !tbaa !5
  %2274 = load i32, ptr %19, align 4, !tbaa !14
  %2275 = add nsw i32 %2274, 0
  %2276 = sext i32 %2275 to i64
  %2277 = getelementptr inbounds i8, ptr %2273, i64 %2276
  %2278 = load i8, ptr %2277, align 1, !tbaa !15
  %2279 = zext i8 %2278 to i32
  %2280 = load ptr, ptr %15, align 8, !tbaa !5
  %2281 = load i32, ptr %19, align 4, !tbaa !14
  %2282 = add nsw i32 %2281, 0
  %2283 = sext i32 %2282 to i64
  %2284 = getelementptr inbounds i8, ptr %2280, i64 %2283
  %2285 = load i8, ptr %2284, align 1, !tbaa !15
  %2286 = zext i8 %2285 to i64
  %2287 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2286
  %2288 = load i32, ptr %2287, align 4, !tbaa !14
  %2289 = add nsw i32 %2279, %2288
  store i32 %2289, ptr %16, align 4, !tbaa !14
  %2290 = load i32, ptr %16, align 4, !tbaa !14
  %2291 = icmp slt i32 %2290, 0
  br i1 %2291, label %2292, label %2293

2292:                                             ; preds = %2272
  br label %2301

2293:                                             ; preds = %2272
  %2294 = load i32, ptr %16, align 4, !tbaa !14
  %2295 = icmp sgt i32 %2294, 255
  br i1 %2295, label %2296, label %2297

2296:                                             ; preds = %2293
  br label %2299

2297:                                             ; preds = %2293
  %2298 = load i32, ptr %16, align 4, !tbaa !14
  br label %2299

2299:                                             ; preds = %2297, %2296
  %2300 = phi i32 [ 255, %2296 ], [ %2298, %2297 ]
  br label %2301

2301:                                             ; preds = %2299, %2292
  %2302 = phi i32 [ 0, %2292 ], [ %2300, %2299 ]
  %2303 = trunc i32 %2302 to i8
  %2304 = load ptr, ptr %12, align 8, !tbaa !5
  %2305 = load i32, ptr %19, align 4, !tbaa !14
  %2306 = add nsw i32 %2305, 0
  %2307 = sext i32 %2306 to i64
  %2308 = getelementptr inbounds i8, ptr %2304, i64 %2307
  store i8 %2303, ptr %2308, align 1, !tbaa !15
  %2309 = load ptr, ptr %13, align 8, !tbaa !5
  %2310 = load i32, ptr %19, align 4, !tbaa !14
  %2311 = add nsw i32 %2310, 0
  %2312 = sext i32 %2311 to i64
  %2313 = getelementptr inbounds i8, ptr %2309, i64 %2312
  %2314 = load i8, ptr %2313, align 1, !tbaa !15
  %2315 = zext i8 %2314 to i32
  %2316 = load ptr, ptr %14, align 8, !tbaa !5
  %2317 = load i32, ptr %19, align 4, !tbaa !14
  %2318 = add nsw i32 %2317, 0
  %2319 = sext i32 %2318 to i64
  %2320 = getelementptr inbounds i8, ptr %2316, i64 %2319
  %2321 = load i8, ptr %2320, align 1, !tbaa !15
  %2322 = zext i8 %2321 to i64
  %2323 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2322
  %2324 = load i32, ptr %2323, align 4, !tbaa !14
  %2325 = sub nsw i32 %2315, %2324
  %2326 = load ptr, ptr %15, align 8, !tbaa !5
  %2327 = load i32, ptr %19, align 4, !tbaa !14
  %2328 = add nsw i32 %2327, 0
  %2329 = sext i32 %2328 to i64
  %2330 = getelementptr inbounds i8, ptr %2326, i64 %2329
  %2331 = load i8, ptr %2330, align 1, !tbaa !15
  %2332 = zext i8 %2331 to i64
  %2333 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2332
  %2334 = load i32, ptr %2333, align 4, !tbaa !14
  %2335 = sub nsw i32 %2325, %2334
  store i32 %2335, ptr %17, align 4, !tbaa !14
  %2336 = load i32, ptr %17, align 4, !tbaa !14
  %2337 = icmp slt i32 %2336, 0
  br i1 %2337, label %2338, label %2339

2338:                                             ; preds = %2301
  br label %2347

2339:                                             ; preds = %2301
  %2340 = load i32, ptr %17, align 4, !tbaa !14
  %2341 = icmp sgt i32 %2340, 255
  br i1 %2341, label %2342, label %2343

2342:                                             ; preds = %2339
  br label %2345

2343:                                             ; preds = %2339
  %2344 = load i32, ptr %17, align 4, !tbaa !14
  br label %2345

2345:                                             ; preds = %2343, %2342
  %2346 = phi i32 [ 255, %2342 ], [ %2344, %2343 ]
  br label %2347

2347:                                             ; preds = %2345, %2338
  %2348 = phi i32 [ 0, %2338 ], [ %2346, %2345 ]
  %2349 = trunc i32 %2348 to i8
  %2350 = load ptr, ptr %11, align 8, !tbaa !5
  %2351 = load i32, ptr %19, align 4, !tbaa !14
  %2352 = add nsw i32 %2351, 0
  %2353 = sext i32 %2352 to i64
  %2354 = getelementptr inbounds i8, ptr %2350, i64 %2353
  store i8 %2349, ptr %2354, align 1, !tbaa !15
  %2355 = load ptr, ptr %13, align 8, !tbaa !5
  %2356 = load i32, ptr %19, align 4, !tbaa !14
  %2357 = add nsw i32 %2356, 0
  %2358 = sext i32 %2357 to i64
  %2359 = getelementptr inbounds i8, ptr %2355, i64 %2358
  %2360 = load i8, ptr %2359, align 1, !tbaa !15
  %2361 = zext i8 %2360 to i32
  %2362 = load ptr, ptr %14, align 8, !tbaa !5
  %2363 = load i32, ptr %19, align 4, !tbaa !14
  %2364 = add nsw i32 %2363, 0
  %2365 = sext i32 %2364 to i64
  %2366 = getelementptr inbounds i8, ptr %2362, i64 %2365
  %2367 = load i8, ptr %2366, align 1, !tbaa !15
  %2368 = zext i8 %2367 to i64
  %2369 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2368
  %2370 = load i32, ptr %2369, align 4, !tbaa !14
  %2371 = add nsw i32 %2361, %2370
  store i32 %2371, ptr %18, align 4, !tbaa !14
  %2372 = load i32, ptr %18, align 4, !tbaa !14
  %2373 = icmp slt i32 %2372, 0
  br i1 %2373, label %2374, label %2375

2374:                                             ; preds = %2347
  br label %2383

2375:                                             ; preds = %2347
  %2376 = load i32, ptr %18, align 4, !tbaa !14
  %2377 = icmp sgt i32 %2376, 255
  br i1 %2377, label %2378, label %2379

2378:                                             ; preds = %2375
  br label %2381

2379:                                             ; preds = %2375
  %2380 = load i32, ptr %18, align 4, !tbaa !14
  br label %2381

2381:                                             ; preds = %2379, %2378
  %2382 = phi i32 [ 255, %2378 ], [ %2380, %2379 ]
  br label %2383

2383:                                             ; preds = %2381, %2374
  %2384 = phi i32 [ 0, %2374 ], [ %2382, %2381 ]
  %2385 = trunc i32 %2384 to i8
  %2386 = load ptr, ptr %10, align 8, !tbaa !5
  %2387 = load i32, ptr %19, align 4, !tbaa !14
  %2388 = add nsw i32 %2387, 0
  %2389 = sext i32 %2388 to i64
  %2390 = getelementptr inbounds i8, ptr %2386, i64 %2389
  store i8 %2385, ptr %2390, align 1, !tbaa !15
  %2391 = load ptr, ptr %13, align 8, !tbaa !5
  %2392 = load i32, ptr %19, align 4, !tbaa !14
  %2393 = add nsw i32 %2392, 1
  %2394 = sext i32 %2393 to i64
  %2395 = getelementptr inbounds i8, ptr %2391, i64 %2394
  %2396 = load i8, ptr %2395, align 1, !tbaa !15
  %2397 = zext i8 %2396 to i32
  %2398 = load ptr, ptr %15, align 8, !tbaa !5
  %2399 = load i32, ptr %19, align 4, !tbaa !14
  %2400 = add nsw i32 %2399, 1
  %2401 = sext i32 %2400 to i64
  %2402 = getelementptr inbounds i8, ptr %2398, i64 %2401
  %2403 = load i8, ptr %2402, align 1, !tbaa !15
  %2404 = zext i8 %2403 to i64
  %2405 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2404
  %2406 = load i32, ptr %2405, align 4, !tbaa !14
  %2407 = add nsw i32 %2397, %2406
  store i32 %2407, ptr %16, align 4, !tbaa !14
  %2408 = load i32, ptr %16, align 4, !tbaa !14
  %2409 = icmp slt i32 %2408, 0
  br i1 %2409, label %2410, label %2411

2410:                                             ; preds = %2383
  br label %2419

2411:                                             ; preds = %2383
  %2412 = load i32, ptr %16, align 4, !tbaa !14
  %2413 = icmp sgt i32 %2412, 255
  br i1 %2413, label %2414, label %2415

2414:                                             ; preds = %2411
  br label %2417

2415:                                             ; preds = %2411
  %2416 = load i32, ptr %16, align 4, !tbaa !14
  br label %2417

2417:                                             ; preds = %2415, %2414
  %2418 = phi i32 [ 255, %2414 ], [ %2416, %2415 ]
  br label %2419

2419:                                             ; preds = %2417, %2410
  %2420 = phi i32 [ 0, %2410 ], [ %2418, %2417 ]
  %2421 = trunc i32 %2420 to i8
  %2422 = load ptr, ptr %12, align 8, !tbaa !5
  %2423 = load i32, ptr %19, align 4, !tbaa !14
  %2424 = add nsw i32 %2423, 1
  %2425 = sext i32 %2424 to i64
  %2426 = getelementptr inbounds i8, ptr %2422, i64 %2425
  store i8 %2421, ptr %2426, align 1, !tbaa !15
  %2427 = load ptr, ptr %13, align 8, !tbaa !5
  %2428 = load i32, ptr %19, align 4, !tbaa !14
  %2429 = add nsw i32 %2428, 1
  %2430 = sext i32 %2429 to i64
  %2431 = getelementptr inbounds i8, ptr %2427, i64 %2430
  %2432 = load i8, ptr %2431, align 1, !tbaa !15
  %2433 = zext i8 %2432 to i32
  %2434 = load ptr, ptr %14, align 8, !tbaa !5
  %2435 = load i32, ptr %19, align 4, !tbaa !14
  %2436 = add nsw i32 %2435, 1
  %2437 = sext i32 %2436 to i64
  %2438 = getelementptr inbounds i8, ptr %2434, i64 %2437
  %2439 = load i8, ptr %2438, align 1, !tbaa !15
  %2440 = zext i8 %2439 to i64
  %2441 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2440
  %2442 = load i32, ptr %2441, align 4, !tbaa !14
  %2443 = sub nsw i32 %2433, %2442
  %2444 = load ptr, ptr %15, align 8, !tbaa !5
  %2445 = load i32, ptr %19, align 4, !tbaa !14
  %2446 = add nsw i32 %2445, 1
  %2447 = sext i32 %2446 to i64
  %2448 = getelementptr inbounds i8, ptr %2444, i64 %2447
  %2449 = load i8, ptr %2448, align 1, !tbaa !15
  %2450 = zext i8 %2449 to i64
  %2451 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2450
  %2452 = load i32, ptr %2451, align 4, !tbaa !14
  %2453 = sub nsw i32 %2443, %2452
  store i32 %2453, ptr %17, align 4, !tbaa !14
  %2454 = load i32, ptr %17, align 4, !tbaa !14
  %2455 = icmp slt i32 %2454, 0
  br i1 %2455, label %2456, label %2457

2456:                                             ; preds = %2419
  br label %2465

2457:                                             ; preds = %2419
  %2458 = load i32, ptr %17, align 4, !tbaa !14
  %2459 = icmp sgt i32 %2458, 255
  br i1 %2459, label %2460, label %2461

2460:                                             ; preds = %2457
  br label %2463

2461:                                             ; preds = %2457
  %2462 = load i32, ptr %17, align 4, !tbaa !14
  br label %2463

2463:                                             ; preds = %2461, %2460
  %2464 = phi i32 [ 255, %2460 ], [ %2462, %2461 ]
  br label %2465

2465:                                             ; preds = %2463, %2456
  %2466 = phi i32 [ 0, %2456 ], [ %2464, %2463 ]
  %2467 = trunc i32 %2466 to i8
  %2468 = load ptr, ptr %11, align 8, !tbaa !5
  %2469 = load i32, ptr %19, align 4, !tbaa !14
  %2470 = add nsw i32 %2469, 1
  %2471 = sext i32 %2470 to i64
  %2472 = getelementptr inbounds i8, ptr %2468, i64 %2471
  store i8 %2467, ptr %2472, align 1, !tbaa !15
  %2473 = load ptr, ptr %13, align 8, !tbaa !5
  %2474 = load i32, ptr %19, align 4, !tbaa !14
  %2475 = add nsw i32 %2474, 1
  %2476 = sext i32 %2475 to i64
  %2477 = getelementptr inbounds i8, ptr %2473, i64 %2476
  %2478 = load i8, ptr %2477, align 1, !tbaa !15
  %2479 = zext i8 %2478 to i32
  %2480 = load ptr, ptr %14, align 8, !tbaa !5
  %2481 = load i32, ptr %19, align 4, !tbaa !14
  %2482 = add nsw i32 %2481, 1
  %2483 = sext i32 %2482 to i64
  %2484 = getelementptr inbounds i8, ptr %2480, i64 %2483
  %2485 = load i8, ptr %2484, align 1, !tbaa !15
  %2486 = zext i8 %2485 to i64
  %2487 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2486
  %2488 = load i32, ptr %2487, align 4, !tbaa !14
  %2489 = add nsw i32 %2479, %2488
  store i32 %2489, ptr %18, align 4, !tbaa !14
  %2490 = load i32, ptr %18, align 4, !tbaa !14
  %2491 = icmp slt i32 %2490, 0
  br i1 %2491, label %2492, label %2493

2492:                                             ; preds = %2465
  br label %2501

2493:                                             ; preds = %2465
  %2494 = load i32, ptr %18, align 4, !tbaa !14
  %2495 = icmp sgt i32 %2494, 255
  br i1 %2495, label %2496, label %2497

2496:                                             ; preds = %2493
  br label %2499

2497:                                             ; preds = %2493
  %2498 = load i32, ptr %18, align 4, !tbaa !14
  br label %2499

2499:                                             ; preds = %2497, %2496
  %2500 = phi i32 [ 255, %2496 ], [ %2498, %2497 ]
  br label %2501

2501:                                             ; preds = %2499, %2492
  %2502 = phi i32 [ 0, %2492 ], [ %2500, %2499 ]
  %2503 = trunc i32 %2502 to i8
  %2504 = load ptr, ptr %10, align 8, !tbaa !5
  %2505 = load i32, ptr %19, align 4, !tbaa !14
  %2506 = add nsw i32 %2505, 1
  %2507 = sext i32 %2506 to i64
  %2508 = getelementptr inbounds i8, ptr %2504, i64 %2507
  store i8 %2503, ptr %2508, align 1, !tbaa !15
  br label %16432

2509:                                             ; preds = %2265
  %2510 = load ptr, ptr %4, align 8, !tbaa !5
  %2511 = getelementptr inbounds %struct.MImage, ptr %2510, i32 0, i32 2
  %2512 = load i32, ptr %2511, align 8, !tbaa !13
  %2513 = load i32, ptr %19, align 4, !tbaa !14
  %2514 = sub nsw i32 %2512, %2513
  %2515 = icmp eq i32 %2514, 3
  br i1 %2515, label %2516, label %2871

2516:                                             ; preds = %2509
  %2517 = load ptr, ptr %13, align 8, !tbaa !5
  %2518 = load i32, ptr %19, align 4, !tbaa !14
  %2519 = add nsw i32 %2518, 0
  %2520 = sext i32 %2519 to i64
  %2521 = getelementptr inbounds i8, ptr %2517, i64 %2520
  %2522 = load i8, ptr %2521, align 1, !tbaa !15
  %2523 = zext i8 %2522 to i32
  %2524 = load ptr, ptr %15, align 8, !tbaa !5
  %2525 = load i32, ptr %19, align 4, !tbaa !14
  %2526 = add nsw i32 %2525, 0
  %2527 = sext i32 %2526 to i64
  %2528 = getelementptr inbounds i8, ptr %2524, i64 %2527
  %2529 = load i8, ptr %2528, align 1, !tbaa !15
  %2530 = zext i8 %2529 to i64
  %2531 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2530
  %2532 = load i32, ptr %2531, align 4, !tbaa !14
  %2533 = add nsw i32 %2523, %2532
  store i32 %2533, ptr %16, align 4, !tbaa !14
  %2534 = load i32, ptr %16, align 4, !tbaa !14
  %2535 = icmp slt i32 %2534, 0
  br i1 %2535, label %2536, label %2537

2536:                                             ; preds = %2516
  br label %2545

2537:                                             ; preds = %2516
  %2538 = load i32, ptr %16, align 4, !tbaa !14
  %2539 = icmp sgt i32 %2538, 255
  br i1 %2539, label %2540, label %2541

2540:                                             ; preds = %2537
  br label %2543

2541:                                             ; preds = %2537
  %2542 = load i32, ptr %16, align 4, !tbaa !14
  br label %2543

2543:                                             ; preds = %2541, %2540
  %2544 = phi i32 [ 255, %2540 ], [ %2542, %2541 ]
  br label %2545

2545:                                             ; preds = %2543, %2536
  %2546 = phi i32 [ 0, %2536 ], [ %2544, %2543 ]
  %2547 = trunc i32 %2546 to i8
  %2548 = load ptr, ptr %12, align 8, !tbaa !5
  %2549 = load i32, ptr %19, align 4, !tbaa !14
  %2550 = add nsw i32 %2549, 0
  %2551 = sext i32 %2550 to i64
  %2552 = getelementptr inbounds i8, ptr %2548, i64 %2551
  store i8 %2547, ptr %2552, align 1, !tbaa !15
  %2553 = load ptr, ptr %13, align 8, !tbaa !5
  %2554 = load i32, ptr %19, align 4, !tbaa !14
  %2555 = add nsw i32 %2554, 0
  %2556 = sext i32 %2555 to i64
  %2557 = getelementptr inbounds i8, ptr %2553, i64 %2556
  %2558 = load i8, ptr %2557, align 1, !tbaa !15
  %2559 = zext i8 %2558 to i32
  %2560 = load ptr, ptr %14, align 8, !tbaa !5
  %2561 = load i32, ptr %19, align 4, !tbaa !14
  %2562 = add nsw i32 %2561, 0
  %2563 = sext i32 %2562 to i64
  %2564 = getelementptr inbounds i8, ptr %2560, i64 %2563
  %2565 = load i8, ptr %2564, align 1, !tbaa !15
  %2566 = zext i8 %2565 to i64
  %2567 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2566
  %2568 = load i32, ptr %2567, align 4, !tbaa !14
  %2569 = sub nsw i32 %2559, %2568
  %2570 = load ptr, ptr %15, align 8, !tbaa !5
  %2571 = load i32, ptr %19, align 4, !tbaa !14
  %2572 = add nsw i32 %2571, 0
  %2573 = sext i32 %2572 to i64
  %2574 = getelementptr inbounds i8, ptr %2570, i64 %2573
  %2575 = load i8, ptr %2574, align 1, !tbaa !15
  %2576 = zext i8 %2575 to i64
  %2577 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2576
  %2578 = load i32, ptr %2577, align 4, !tbaa !14
  %2579 = sub nsw i32 %2569, %2578
  store i32 %2579, ptr %17, align 4, !tbaa !14
  %2580 = load i32, ptr %17, align 4, !tbaa !14
  %2581 = icmp slt i32 %2580, 0
  br i1 %2581, label %2582, label %2583

2582:                                             ; preds = %2545
  br label %2591

2583:                                             ; preds = %2545
  %2584 = load i32, ptr %17, align 4, !tbaa !14
  %2585 = icmp sgt i32 %2584, 255
  br i1 %2585, label %2586, label %2587

2586:                                             ; preds = %2583
  br label %2589

2587:                                             ; preds = %2583
  %2588 = load i32, ptr %17, align 4, !tbaa !14
  br label %2589

2589:                                             ; preds = %2587, %2586
  %2590 = phi i32 [ 255, %2586 ], [ %2588, %2587 ]
  br label %2591

2591:                                             ; preds = %2589, %2582
  %2592 = phi i32 [ 0, %2582 ], [ %2590, %2589 ]
  %2593 = trunc i32 %2592 to i8
  %2594 = load ptr, ptr %11, align 8, !tbaa !5
  %2595 = load i32, ptr %19, align 4, !tbaa !14
  %2596 = add nsw i32 %2595, 0
  %2597 = sext i32 %2596 to i64
  %2598 = getelementptr inbounds i8, ptr %2594, i64 %2597
  store i8 %2593, ptr %2598, align 1, !tbaa !15
  %2599 = load ptr, ptr %13, align 8, !tbaa !5
  %2600 = load i32, ptr %19, align 4, !tbaa !14
  %2601 = add nsw i32 %2600, 0
  %2602 = sext i32 %2601 to i64
  %2603 = getelementptr inbounds i8, ptr %2599, i64 %2602
  %2604 = load i8, ptr %2603, align 1, !tbaa !15
  %2605 = zext i8 %2604 to i32
  %2606 = load ptr, ptr %14, align 8, !tbaa !5
  %2607 = load i32, ptr %19, align 4, !tbaa !14
  %2608 = add nsw i32 %2607, 0
  %2609 = sext i32 %2608 to i64
  %2610 = getelementptr inbounds i8, ptr %2606, i64 %2609
  %2611 = load i8, ptr %2610, align 1, !tbaa !15
  %2612 = zext i8 %2611 to i64
  %2613 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2612
  %2614 = load i32, ptr %2613, align 4, !tbaa !14
  %2615 = add nsw i32 %2605, %2614
  store i32 %2615, ptr %18, align 4, !tbaa !14
  %2616 = load i32, ptr %18, align 4, !tbaa !14
  %2617 = icmp slt i32 %2616, 0
  br i1 %2617, label %2618, label %2619

2618:                                             ; preds = %2591
  br label %2627

2619:                                             ; preds = %2591
  %2620 = load i32, ptr %18, align 4, !tbaa !14
  %2621 = icmp sgt i32 %2620, 255
  br i1 %2621, label %2622, label %2623

2622:                                             ; preds = %2619
  br label %2625

2623:                                             ; preds = %2619
  %2624 = load i32, ptr %18, align 4, !tbaa !14
  br label %2625

2625:                                             ; preds = %2623, %2622
  %2626 = phi i32 [ 255, %2622 ], [ %2624, %2623 ]
  br label %2627

2627:                                             ; preds = %2625, %2618
  %2628 = phi i32 [ 0, %2618 ], [ %2626, %2625 ]
  %2629 = trunc i32 %2628 to i8
  %2630 = load ptr, ptr %10, align 8, !tbaa !5
  %2631 = load i32, ptr %19, align 4, !tbaa !14
  %2632 = add nsw i32 %2631, 0
  %2633 = sext i32 %2632 to i64
  %2634 = getelementptr inbounds i8, ptr %2630, i64 %2633
  store i8 %2629, ptr %2634, align 1, !tbaa !15
  %2635 = load ptr, ptr %13, align 8, !tbaa !5
  %2636 = load i32, ptr %19, align 4, !tbaa !14
  %2637 = add nsw i32 %2636, 1
  %2638 = sext i32 %2637 to i64
  %2639 = getelementptr inbounds i8, ptr %2635, i64 %2638
  %2640 = load i8, ptr %2639, align 1, !tbaa !15
  %2641 = zext i8 %2640 to i32
  %2642 = load ptr, ptr %15, align 8, !tbaa !5
  %2643 = load i32, ptr %19, align 4, !tbaa !14
  %2644 = add nsw i32 %2643, 1
  %2645 = sext i32 %2644 to i64
  %2646 = getelementptr inbounds i8, ptr %2642, i64 %2645
  %2647 = load i8, ptr %2646, align 1, !tbaa !15
  %2648 = zext i8 %2647 to i64
  %2649 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2648
  %2650 = load i32, ptr %2649, align 4, !tbaa !14
  %2651 = add nsw i32 %2641, %2650
  store i32 %2651, ptr %16, align 4, !tbaa !14
  %2652 = load i32, ptr %16, align 4, !tbaa !14
  %2653 = icmp slt i32 %2652, 0
  br i1 %2653, label %2654, label %2655

2654:                                             ; preds = %2627
  br label %2663

2655:                                             ; preds = %2627
  %2656 = load i32, ptr %16, align 4, !tbaa !14
  %2657 = icmp sgt i32 %2656, 255
  br i1 %2657, label %2658, label %2659

2658:                                             ; preds = %2655
  br label %2661

2659:                                             ; preds = %2655
  %2660 = load i32, ptr %16, align 4, !tbaa !14
  br label %2661

2661:                                             ; preds = %2659, %2658
  %2662 = phi i32 [ 255, %2658 ], [ %2660, %2659 ]
  br label %2663

2663:                                             ; preds = %2661, %2654
  %2664 = phi i32 [ 0, %2654 ], [ %2662, %2661 ]
  %2665 = trunc i32 %2664 to i8
  %2666 = load ptr, ptr %12, align 8, !tbaa !5
  %2667 = load i32, ptr %19, align 4, !tbaa !14
  %2668 = add nsw i32 %2667, 1
  %2669 = sext i32 %2668 to i64
  %2670 = getelementptr inbounds i8, ptr %2666, i64 %2669
  store i8 %2665, ptr %2670, align 1, !tbaa !15
  %2671 = load ptr, ptr %13, align 8, !tbaa !5
  %2672 = load i32, ptr %19, align 4, !tbaa !14
  %2673 = add nsw i32 %2672, 1
  %2674 = sext i32 %2673 to i64
  %2675 = getelementptr inbounds i8, ptr %2671, i64 %2674
  %2676 = load i8, ptr %2675, align 1, !tbaa !15
  %2677 = zext i8 %2676 to i32
  %2678 = load ptr, ptr %14, align 8, !tbaa !5
  %2679 = load i32, ptr %19, align 4, !tbaa !14
  %2680 = add nsw i32 %2679, 1
  %2681 = sext i32 %2680 to i64
  %2682 = getelementptr inbounds i8, ptr %2678, i64 %2681
  %2683 = load i8, ptr %2682, align 1, !tbaa !15
  %2684 = zext i8 %2683 to i64
  %2685 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2684
  %2686 = load i32, ptr %2685, align 4, !tbaa !14
  %2687 = sub nsw i32 %2677, %2686
  %2688 = load ptr, ptr %15, align 8, !tbaa !5
  %2689 = load i32, ptr %19, align 4, !tbaa !14
  %2690 = add nsw i32 %2689, 1
  %2691 = sext i32 %2690 to i64
  %2692 = getelementptr inbounds i8, ptr %2688, i64 %2691
  %2693 = load i8, ptr %2692, align 1, !tbaa !15
  %2694 = zext i8 %2693 to i64
  %2695 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2694
  %2696 = load i32, ptr %2695, align 4, !tbaa !14
  %2697 = sub nsw i32 %2687, %2696
  store i32 %2697, ptr %17, align 4, !tbaa !14
  %2698 = load i32, ptr %17, align 4, !tbaa !14
  %2699 = icmp slt i32 %2698, 0
  br i1 %2699, label %2700, label %2701

2700:                                             ; preds = %2663
  br label %2709

2701:                                             ; preds = %2663
  %2702 = load i32, ptr %17, align 4, !tbaa !14
  %2703 = icmp sgt i32 %2702, 255
  br i1 %2703, label %2704, label %2705

2704:                                             ; preds = %2701
  br label %2707

2705:                                             ; preds = %2701
  %2706 = load i32, ptr %17, align 4, !tbaa !14
  br label %2707

2707:                                             ; preds = %2705, %2704
  %2708 = phi i32 [ 255, %2704 ], [ %2706, %2705 ]
  br label %2709

2709:                                             ; preds = %2707, %2700
  %2710 = phi i32 [ 0, %2700 ], [ %2708, %2707 ]
  %2711 = trunc i32 %2710 to i8
  %2712 = load ptr, ptr %11, align 8, !tbaa !5
  %2713 = load i32, ptr %19, align 4, !tbaa !14
  %2714 = add nsw i32 %2713, 1
  %2715 = sext i32 %2714 to i64
  %2716 = getelementptr inbounds i8, ptr %2712, i64 %2715
  store i8 %2711, ptr %2716, align 1, !tbaa !15
  %2717 = load ptr, ptr %13, align 8, !tbaa !5
  %2718 = load i32, ptr %19, align 4, !tbaa !14
  %2719 = add nsw i32 %2718, 1
  %2720 = sext i32 %2719 to i64
  %2721 = getelementptr inbounds i8, ptr %2717, i64 %2720
  %2722 = load i8, ptr %2721, align 1, !tbaa !15
  %2723 = zext i8 %2722 to i32
  %2724 = load ptr, ptr %14, align 8, !tbaa !5
  %2725 = load i32, ptr %19, align 4, !tbaa !14
  %2726 = add nsw i32 %2725, 1
  %2727 = sext i32 %2726 to i64
  %2728 = getelementptr inbounds i8, ptr %2724, i64 %2727
  %2729 = load i8, ptr %2728, align 1, !tbaa !15
  %2730 = zext i8 %2729 to i64
  %2731 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2730
  %2732 = load i32, ptr %2731, align 4, !tbaa !14
  %2733 = add nsw i32 %2723, %2732
  store i32 %2733, ptr %18, align 4, !tbaa !14
  %2734 = load i32, ptr %18, align 4, !tbaa !14
  %2735 = icmp slt i32 %2734, 0
  br i1 %2735, label %2736, label %2737

2736:                                             ; preds = %2709
  br label %2745

2737:                                             ; preds = %2709
  %2738 = load i32, ptr %18, align 4, !tbaa !14
  %2739 = icmp sgt i32 %2738, 255
  br i1 %2739, label %2740, label %2741

2740:                                             ; preds = %2737
  br label %2743

2741:                                             ; preds = %2737
  %2742 = load i32, ptr %18, align 4, !tbaa !14
  br label %2743

2743:                                             ; preds = %2741, %2740
  %2744 = phi i32 [ 255, %2740 ], [ %2742, %2741 ]
  br label %2745

2745:                                             ; preds = %2743, %2736
  %2746 = phi i32 [ 0, %2736 ], [ %2744, %2743 ]
  %2747 = trunc i32 %2746 to i8
  %2748 = load ptr, ptr %10, align 8, !tbaa !5
  %2749 = load i32, ptr %19, align 4, !tbaa !14
  %2750 = add nsw i32 %2749, 1
  %2751 = sext i32 %2750 to i64
  %2752 = getelementptr inbounds i8, ptr %2748, i64 %2751
  store i8 %2747, ptr %2752, align 1, !tbaa !15
  %2753 = load ptr, ptr %13, align 8, !tbaa !5
  %2754 = load i32, ptr %19, align 4, !tbaa !14
  %2755 = add nsw i32 %2754, 2
  %2756 = sext i32 %2755 to i64
  %2757 = getelementptr inbounds i8, ptr %2753, i64 %2756
  %2758 = load i8, ptr %2757, align 1, !tbaa !15
  %2759 = zext i8 %2758 to i32
  %2760 = load ptr, ptr %15, align 8, !tbaa !5
  %2761 = load i32, ptr %19, align 4, !tbaa !14
  %2762 = add nsw i32 %2761, 2
  %2763 = sext i32 %2762 to i64
  %2764 = getelementptr inbounds i8, ptr %2760, i64 %2763
  %2765 = load i8, ptr %2764, align 1, !tbaa !15
  %2766 = zext i8 %2765 to i64
  %2767 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2766
  %2768 = load i32, ptr %2767, align 4, !tbaa !14
  %2769 = add nsw i32 %2759, %2768
  store i32 %2769, ptr %16, align 4, !tbaa !14
  %2770 = load i32, ptr %16, align 4, !tbaa !14
  %2771 = icmp slt i32 %2770, 0
  br i1 %2771, label %2772, label %2773

2772:                                             ; preds = %2745
  br label %2781

2773:                                             ; preds = %2745
  %2774 = load i32, ptr %16, align 4, !tbaa !14
  %2775 = icmp sgt i32 %2774, 255
  br i1 %2775, label %2776, label %2777

2776:                                             ; preds = %2773
  br label %2779

2777:                                             ; preds = %2773
  %2778 = load i32, ptr %16, align 4, !tbaa !14
  br label %2779

2779:                                             ; preds = %2777, %2776
  %2780 = phi i32 [ 255, %2776 ], [ %2778, %2777 ]
  br label %2781

2781:                                             ; preds = %2779, %2772
  %2782 = phi i32 [ 0, %2772 ], [ %2780, %2779 ]
  %2783 = trunc i32 %2782 to i8
  %2784 = load ptr, ptr %12, align 8, !tbaa !5
  %2785 = load i32, ptr %19, align 4, !tbaa !14
  %2786 = add nsw i32 %2785, 2
  %2787 = sext i32 %2786 to i64
  %2788 = getelementptr inbounds i8, ptr %2784, i64 %2787
  store i8 %2783, ptr %2788, align 1, !tbaa !15
  %2789 = load ptr, ptr %13, align 8, !tbaa !5
  %2790 = load i32, ptr %19, align 4, !tbaa !14
  %2791 = add nsw i32 %2790, 2
  %2792 = sext i32 %2791 to i64
  %2793 = getelementptr inbounds i8, ptr %2789, i64 %2792
  %2794 = load i8, ptr %2793, align 1, !tbaa !15
  %2795 = zext i8 %2794 to i32
  %2796 = load ptr, ptr %14, align 8, !tbaa !5
  %2797 = load i32, ptr %19, align 4, !tbaa !14
  %2798 = add nsw i32 %2797, 2
  %2799 = sext i32 %2798 to i64
  %2800 = getelementptr inbounds i8, ptr %2796, i64 %2799
  %2801 = load i8, ptr %2800, align 1, !tbaa !15
  %2802 = zext i8 %2801 to i64
  %2803 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2802
  %2804 = load i32, ptr %2803, align 4, !tbaa !14
  %2805 = sub nsw i32 %2795, %2804
  %2806 = load ptr, ptr %15, align 8, !tbaa !5
  %2807 = load i32, ptr %19, align 4, !tbaa !14
  %2808 = add nsw i32 %2807, 2
  %2809 = sext i32 %2808 to i64
  %2810 = getelementptr inbounds i8, ptr %2806, i64 %2809
  %2811 = load i8, ptr %2810, align 1, !tbaa !15
  %2812 = zext i8 %2811 to i64
  %2813 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2812
  %2814 = load i32, ptr %2813, align 4, !tbaa !14
  %2815 = sub nsw i32 %2805, %2814
  store i32 %2815, ptr %17, align 4, !tbaa !14
  %2816 = load i32, ptr %17, align 4, !tbaa !14
  %2817 = icmp slt i32 %2816, 0
  br i1 %2817, label %2818, label %2819

2818:                                             ; preds = %2781
  br label %2827

2819:                                             ; preds = %2781
  %2820 = load i32, ptr %17, align 4, !tbaa !14
  %2821 = icmp sgt i32 %2820, 255
  br i1 %2821, label %2822, label %2823

2822:                                             ; preds = %2819
  br label %2825

2823:                                             ; preds = %2819
  %2824 = load i32, ptr %17, align 4, !tbaa !14
  br label %2825

2825:                                             ; preds = %2823, %2822
  %2826 = phi i32 [ 255, %2822 ], [ %2824, %2823 ]
  br label %2827

2827:                                             ; preds = %2825, %2818
  %2828 = phi i32 [ 0, %2818 ], [ %2826, %2825 ]
  %2829 = trunc i32 %2828 to i8
  %2830 = load ptr, ptr %11, align 8, !tbaa !5
  %2831 = load i32, ptr %19, align 4, !tbaa !14
  %2832 = add nsw i32 %2831, 2
  %2833 = sext i32 %2832 to i64
  %2834 = getelementptr inbounds i8, ptr %2830, i64 %2833
  store i8 %2829, ptr %2834, align 1, !tbaa !15
  %2835 = load ptr, ptr %13, align 8, !tbaa !5
  %2836 = load i32, ptr %19, align 4, !tbaa !14
  %2837 = add nsw i32 %2836, 2
  %2838 = sext i32 %2837 to i64
  %2839 = getelementptr inbounds i8, ptr %2835, i64 %2838
  %2840 = load i8, ptr %2839, align 1, !tbaa !15
  %2841 = zext i8 %2840 to i32
  %2842 = load ptr, ptr %14, align 8, !tbaa !5
  %2843 = load i32, ptr %19, align 4, !tbaa !14
  %2844 = add nsw i32 %2843, 2
  %2845 = sext i32 %2844 to i64
  %2846 = getelementptr inbounds i8, ptr %2842, i64 %2845
  %2847 = load i8, ptr %2846, align 1, !tbaa !15
  %2848 = zext i8 %2847 to i64
  %2849 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2848
  %2850 = load i32, ptr %2849, align 4, !tbaa !14
  %2851 = add nsw i32 %2841, %2850
  store i32 %2851, ptr %18, align 4, !tbaa !14
  %2852 = load i32, ptr %18, align 4, !tbaa !14
  %2853 = icmp slt i32 %2852, 0
  br i1 %2853, label %2854, label %2855

2854:                                             ; preds = %2827
  br label %2863

2855:                                             ; preds = %2827
  %2856 = load i32, ptr %18, align 4, !tbaa !14
  %2857 = icmp sgt i32 %2856, 255
  br i1 %2857, label %2858, label %2859

2858:                                             ; preds = %2855
  br label %2861

2859:                                             ; preds = %2855
  %2860 = load i32, ptr %18, align 4, !tbaa !14
  br label %2861

2861:                                             ; preds = %2859, %2858
  %2862 = phi i32 [ 255, %2858 ], [ %2860, %2859 ]
  br label %2863

2863:                                             ; preds = %2861, %2854
  %2864 = phi i32 [ 0, %2854 ], [ %2862, %2861 ]
  %2865 = trunc i32 %2864 to i8
  %2866 = load ptr, ptr %10, align 8, !tbaa !5
  %2867 = load i32, ptr %19, align 4, !tbaa !14
  %2868 = add nsw i32 %2867, 2
  %2869 = sext i32 %2868 to i64
  %2870 = getelementptr inbounds i8, ptr %2866, i64 %2869
  store i8 %2865, ptr %2870, align 1, !tbaa !15
  br label %16431

2871:                                             ; preds = %2509
  %2872 = load ptr, ptr %4, align 8, !tbaa !5
  %2873 = getelementptr inbounds %struct.MImage, ptr %2872, i32 0, i32 2
  %2874 = load i32, ptr %2873, align 8, !tbaa !13
  %2875 = load i32, ptr %19, align 4, !tbaa !14
  %2876 = sub nsw i32 %2874, %2875
  %2877 = icmp eq i32 %2876, 4
  br i1 %2877, label %2878, label %3351

2878:                                             ; preds = %2871
  %2879 = load ptr, ptr %13, align 8, !tbaa !5
  %2880 = load i32, ptr %19, align 4, !tbaa !14
  %2881 = add nsw i32 %2880, 0
  %2882 = sext i32 %2881 to i64
  %2883 = getelementptr inbounds i8, ptr %2879, i64 %2882
  %2884 = load i8, ptr %2883, align 1, !tbaa !15
  %2885 = zext i8 %2884 to i32
  %2886 = load ptr, ptr %15, align 8, !tbaa !5
  %2887 = load i32, ptr %19, align 4, !tbaa !14
  %2888 = add nsw i32 %2887, 0
  %2889 = sext i32 %2888 to i64
  %2890 = getelementptr inbounds i8, ptr %2886, i64 %2889
  %2891 = load i8, ptr %2890, align 1, !tbaa !15
  %2892 = zext i8 %2891 to i64
  %2893 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %2892
  %2894 = load i32, ptr %2893, align 4, !tbaa !14
  %2895 = add nsw i32 %2885, %2894
  store i32 %2895, ptr %16, align 4, !tbaa !14
  %2896 = load i32, ptr %16, align 4, !tbaa !14
  %2897 = icmp slt i32 %2896, 0
  br i1 %2897, label %2898, label %2899

2898:                                             ; preds = %2878
  br label %2907

2899:                                             ; preds = %2878
  %2900 = load i32, ptr %16, align 4, !tbaa !14
  %2901 = icmp sgt i32 %2900, 255
  br i1 %2901, label %2902, label %2903

2902:                                             ; preds = %2899
  br label %2905

2903:                                             ; preds = %2899
  %2904 = load i32, ptr %16, align 4, !tbaa !14
  br label %2905

2905:                                             ; preds = %2903, %2902
  %2906 = phi i32 [ 255, %2902 ], [ %2904, %2903 ]
  br label %2907

2907:                                             ; preds = %2905, %2898
  %2908 = phi i32 [ 0, %2898 ], [ %2906, %2905 ]
  %2909 = trunc i32 %2908 to i8
  %2910 = load ptr, ptr %12, align 8, !tbaa !5
  %2911 = load i32, ptr %19, align 4, !tbaa !14
  %2912 = add nsw i32 %2911, 0
  %2913 = sext i32 %2912 to i64
  %2914 = getelementptr inbounds i8, ptr %2910, i64 %2913
  store i8 %2909, ptr %2914, align 1, !tbaa !15
  %2915 = load ptr, ptr %13, align 8, !tbaa !5
  %2916 = load i32, ptr %19, align 4, !tbaa !14
  %2917 = add nsw i32 %2916, 0
  %2918 = sext i32 %2917 to i64
  %2919 = getelementptr inbounds i8, ptr %2915, i64 %2918
  %2920 = load i8, ptr %2919, align 1, !tbaa !15
  %2921 = zext i8 %2920 to i32
  %2922 = load ptr, ptr %14, align 8, !tbaa !5
  %2923 = load i32, ptr %19, align 4, !tbaa !14
  %2924 = add nsw i32 %2923, 0
  %2925 = sext i32 %2924 to i64
  %2926 = getelementptr inbounds i8, ptr %2922, i64 %2925
  %2927 = load i8, ptr %2926, align 1, !tbaa !15
  %2928 = zext i8 %2927 to i64
  %2929 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %2928
  %2930 = load i32, ptr %2929, align 4, !tbaa !14
  %2931 = sub nsw i32 %2921, %2930
  %2932 = load ptr, ptr %15, align 8, !tbaa !5
  %2933 = load i32, ptr %19, align 4, !tbaa !14
  %2934 = add nsw i32 %2933, 0
  %2935 = sext i32 %2934 to i64
  %2936 = getelementptr inbounds i8, ptr %2932, i64 %2935
  %2937 = load i8, ptr %2936, align 1, !tbaa !15
  %2938 = zext i8 %2937 to i64
  %2939 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %2938
  %2940 = load i32, ptr %2939, align 4, !tbaa !14
  %2941 = sub nsw i32 %2931, %2940
  store i32 %2941, ptr %17, align 4, !tbaa !14
  %2942 = load i32, ptr %17, align 4, !tbaa !14
  %2943 = icmp slt i32 %2942, 0
  br i1 %2943, label %2944, label %2945

2944:                                             ; preds = %2907
  br label %2953

2945:                                             ; preds = %2907
  %2946 = load i32, ptr %17, align 4, !tbaa !14
  %2947 = icmp sgt i32 %2946, 255
  br i1 %2947, label %2948, label %2949

2948:                                             ; preds = %2945
  br label %2951

2949:                                             ; preds = %2945
  %2950 = load i32, ptr %17, align 4, !tbaa !14
  br label %2951

2951:                                             ; preds = %2949, %2948
  %2952 = phi i32 [ 255, %2948 ], [ %2950, %2949 ]
  br label %2953

2953:                                             ; preds = %2951, %2944
  %2954 = phi i32 [ 0, %2944 ], [ %2952, %2951 ]
  %2955 = trunc i32 %2954 to i8
  %2956 = load ptr, ptr %11, align 8, !tbaa !5
  %2957 = load i32, ptr %19, align 4, !tbaa !14
  %2958 = add nsw i32 %2957, 0
  %2959 = sext i32 %2958 to i64
  %2960 = getelementptr inbounds i8, ptr %2956, i64 %2959
  store i8 %2955, ptr %2960, align 1, !tbaa !15
  %2961 = load ptr, ptr %13, align 8, !tbaa !5
  %2962 = load i32, ptr %19, align 4, !tbaa !14
  %2963 = add nsw i32 %2962, 0
  %2964 = sext i32 %2963 to i64
  %2965 = getelementptr inbounds i8, ptr %2961, i64 %2964
  %2966 = load i8, ptr %2965, align 1, !tbaa !15
  %2967 = zext i8 %2966 to i32
  %2968 = load ptr, ptr %14, align 8, !tbaa !5
  %2969 = load i32, ptr %19, align 4, !tbaa !14
  %2970 = add nsw i32 %2969, 0
  %2971 = sext i32 %2970 to i64
  %2972 = getelementptr inbounds i8, ptr %2968, i64 %2971
  %2973 = load i8, ptr %2972, align 1, !tbaa !15
  %2974 = zext i8 %2973 to i64
  %2975 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %2974
  %2976 = load i32, ptr %2975, align 4, !tbaa !14
  %2977 = add nsw i32 %2967, %2976
  store i32 %2977, ptr %18, align 4, !tbaa !14
  %2978 = load i32, ptr %18, align 4, !tbaa !14
  %2979 = icmp slt i32 %2978, 0
  br i1 %2979, label %2980, label %2981

2980:                                             ; preds = %2953
  br label %2989

2981:                                             ; preds = %2953
  %2982 = load i32, ptr %18, align 4, !tbaa !14
  %2983 = icmp sgt i32 %2982, 255
  br i1 %2983, label %2984, label %2985

2984:                                             ; preds = %2981
  br label %2987

2985:                                             ; preds = %2981
  %2986 = load i32, ptr %18, align 4, !tbaa !14
  br label %2987

2987:                                             ; preds = %2985, %2984
  %2988 = phi i32 [ 255, %2984 ], [ %2986, %2985 ]
  br label %2989

2989:                                             ; preds = %2987, %2980
  %2990 = phi i32 [ 0, %2980 ], [ %2988, %2987 ]
  %2991 = trunc i32 %2990 to i8
  %2992 = load ptr, ptr %10, align 8, !tbaa !5
  %2993 = load i32, ptr %19, align 4, !tbaa !14
  %2994 = add nsw i32 %2993, 0
  %2995 = sext i32 %2994 to i64
  %2996 = getelementptr inbounds i8, ptr %2992, i64 %2995
  store i8 %2991, ptr %2996, align 1, !tbaa !15
  %2997 = load ptr, ptr %13, align 8, !tbaa !5
  %2998 = load i32, ptr %19, align 4, !tbaa !14
  %2999 = add nsw i32 %2998, 1
  %3000 = sext i32 %2999 to i64
  %3001 = getelementptr inbounds i8, ptr %2997, i64 %3000
  %3002 = load i8, ptr %3001, align 1, !tbaa !15
  %3003 = zext i8 %3002 to i32
  %3004 = load ptr, ptr %15, align 8, !tbaa !5
  %3005 = load i32, ptr %19, align 4, !tbaa !14
  %3006 = add nsw i32 %3005, 1
  %3007 = sext i32 %3006 to i64
  %3008 = getelementptr inbounds i8, ptr %3004, i64 %3007
  %3009 = load i8, ptr %3008, align 1, !tbaa !15
  %3010 = zext i8 %3009 to i64
  %3011 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3010
  %3012 = load i32, ptr %3011, align 4, !tbaa !14
  %3013 = add nsw i32 %3003, %3012
  store i32 %3013, ptr %16, align 4, !tbaa !14
  %3014 = load i32, ptr %16, align 4, !tbaa !14
  %3015 = icmp slt i32 %3014, 0
  br i1 %3015, label %3016, label %3017

3016:                                             ; preds = %2989
  br label %3025

3017:                                             ; preds = %2989
  %3018 = load i32, ptr %16, align 4, !tbaa !14
  %3019 = icmp sgt i32 %3018, 255
  br i1 %3019, label %3020, label %3021

3020:                                             ; preds = %3017
  br label %3023

3021:                                             ; preds = %3017
  %3022 = load i32, ptr %16, align 4, !tbaa !14
  br label %3023

3023:                                             ; preds = %3021, %3020
  %3024 = phi i32 [ 255, %3020 ], [ %3022, %3021 ]
  br label %3025

3025:                                             ; preds = %3023, %3016
  %3026 = phi i32 [ 0, %3016 ], [ %3024, %3023 ]
  %3027 = trunc i32 %3026 to i8
  %3028 = load ptr, ptr %12, align 8, !tbaa !5
  %3029 = load i32, ptr %19, align 4, !tbaa !14
  %3030 = add nsw i32 %3029, 1
  %3031 = sext i32 %3030 to i64
  %3032 = getelementptr inbounds i8, ptr %3028, i64 %3031
  store i8 %3027, ptr %3032, align 1, !tbaa !15
  %3033 = load ptr, ptr %13, align 8, !tbaa !5
  %3034 = load i32, ptr %19, align 4, !tbaa !14
  %3035 = add nsw i32 %3034, 1
  %3036 = sext i32 %3035 to i64
  %3037 = getelementptr inbounds i8, ptr %3033, i64 %3036
  %3038 = load i8, ptr %3037, align 1, !tbaa !15
  %3039 = zext i8 %3038 to i32
  %3040 = load ptr, ptr %14, align 8, !tbaa !5
  %3041 = load i32, ptr %19, align 4, !tbaa !14
  %3042 = add nsw i32 %3041, 1
  %3043 = sext i32 %3042 to i64
  %3044 = getelementptr inbounds i8, ptr %3040, i64 %3043
  %3045 = load i8, ptr %3044, align 1, !tbaa !15
  %3046 = zext i8 %3045 to i64
  %3047 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3046
  %3048 = load i32, ptr %3047, align 4, !tbaa !14
  %3049 = sub nsw i32 %3039, %3048
  %3050 = load ptr, ptr %15, align 8, !tbaa !5
  %3051 = load i32, ptr %19, align 4, !tbaa !14
  %3052 = add nsw i32 %3051, 1
  %3053 = sext i32 %3052 to i64
  %3054 = getelementptr inbounds i8, ptr %3050, i64 %3053
  %3055 = load i8, ptr %3054, align 1, !tbaa !15
  %3056 = zext i8 %3055 to i64
  %3057 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3056
  %3058 = load i32, ptr %3057, align 4, !tbaa !14
  %3059 = sub nsw i32 %3049, %3058
  store i32 %3059, ptr %17, align 4, !tbaa !14
  %3060 = load i32, ptr %17, align 4, !tbaa !14
  %3061 = icmp slt i32 %3060, 0
  br i1 %3061, label %3062, label %3063

3062:                                             ; preds = %3025
  br label %3071

3063:                                             ; preds = %3025
  %3064 = load i32, ptr %17, align 4, !tbaa !14
  %3065 = icmp sgt i32 %3064, 255
  br i1 %3065, label %3066, label %3067

3066:                                             ; preds = %3063
  br label %3069

3067:                                             ; preds = %3063
  %3068 = load i32, ptr %17, align 4, !tbaa !14
  br label %3069

3069:                                             ; preds = %3067, %3066
  %3070 = phi i32 [ 255, %3066 ], [ %3068, %3067 ]
  br label %3071

3071:                                             ; preds = %3069, %3062
  %3072 = phi i32 [ 0, %3062 ], [ %3070, %3069 ]
  %3073 = trunc i32 %3072 to i8
  %3074 = load ptr, ptr %11, align 8, !tbaa !5
  %3075 = load i32, ptr %19, align 4, !tbaa !14
  %3076 = add nsw i32 %3075, 1
  %3077 = sext i32 %3076 to i64
  %3078 = getelementptr inbounds i8, ptr %3074, i64 %3077
  store i8 %3073, ptr %3078, align 1, !tbaa !15
  %3079 = load ptr, ptr %13, align 8, !tbaa !5
  %3080 = load i32, ptr %19, align 4, !tbaa !14
  %3081 = add nsw i32 %3080, 1
  %3082 = sext i32 %3081 to i64
  %3083 = getelementptr inbounds i8, ptr %3079, i64 %3082
  %3084 = load i8, ptr %3083, align 1, !tbaa !15
  %3085 = zext i8 %3084 to i32
  %3086 = load ptr, ptr %14, align 8, !tbaa !5
  %3087 = load i32, ptr %19, align 4, !tbaa !14
  %3088 = add nsw i32 %3087, 1
  %3089 = sext i32 %3088 to i64
  %3090 = getelementptr inbounds i8, ptr %3086, i64 %3089
  %3091 = load i8, ptr %3090, align 1, !tbaa !15
  %3092 = zext i8 %3091 to i64
  %3093 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3092
  %3094 = load i32, ptr %3093, align 4, !tbaa !14
  %3095 = add nsw i32 %3085, %3094
  store i32 %3095, ptr %18, align 4, !tbaa !14
  %3096 = load i32, ptr %18, align 4, !tbaa !14
  %3097 = icmp slt i32 %3096, 0
  br i1 %3097, label %3098, label %3099

3098:                                             ; preds = %3071
  br label %3107

3099:                                             ; preds = %3071
  %3100 = load i32, ptr %18, align 4, !tbaa !14
  %3101 = icmp sgt i32 %3100, 255
  br i1 %3101, label %3102, label %3103

3102:                                             ; preds = %3099
  br label %3105

3103:                                             ; preds = %3099
  %3104 = load i32, ptr %18, align 4, !tbaa !14
  br label %3105

3105:                                             ; preds = %3103, %3102
  %3106 = phi i32 [ 255, %3102 ], [ %3104, %3103 ]
  br label %3107

3107:                                             ; preds = %3105, %3098
  %3108 = phi i32 [ 0, %3098 ], [ %3106, %3105 ]
  %3109 = trunc i32 %3108 to i8
  %3110 = load ptr, ptr %10, align 8, !tbaa !5
  %3111 = load i32, ptr %19, align 4, !tbaa !14
  %3112 = add nsw i32 %3111, 1
  %3113 = sext i32 %3112 to i64
  %3114 = getelementptr inbounds i8, ptr %3110, i64 %3113
  store i8 %3109, ptr %3114, align 1, !tbaa !15
  %3115 = load ptr, ptr %13, align 8, !tbaa !5
  %3116 = load i32, ptr %19, align 4, !tbaa !14
  %3117 = add nsw i32 %3116, 2
  %3118 = sext i32 %3117 to i64
  %3119 = getelementptr inbounds i8, ptr %3115, i64 %3118
  %3120 = load i8, ptr %3119, align 1, !tbaa !15
  %3121 = zext i8 %3120 to i32
  %3122 = load ptr, ptr %15, align 8, !tbaa !5
  %3123 = load i32, ptr %19, align 4, !tbaa !14
  %3124 = add nsw i32 %3123, 2
  %3125 = sext i32 %3124 to i64
  %3126 = getelementptr inbounds i8, ptr %3122, i64 %3125
  %3127 = load i8, ptr %3126, align 1, !tbaa !15
  %3128 = zext i8 %3127 to i64
  %3129 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3128
  %3130 = load i32, ptr %3129, align 4, !tbaa !14
  %3131 = add nsw i32 %3121, %3130
  store i32 %3131, ptr %16, align 4, !tbaa !14
  %3132 = load i32, ptr %16, align 4, !tbaa !14
  %3133 = icmp slt i32 %3132, 0
  br i1 %3133, label %3134, label %3135

3134:                                             ; preds = %3107
  br label %3143

3135:                                             ; preds = %3107
  %3136 = load i32, ptr %16, align 4, !tbaa !14
  %3137 = icmp sgt i32 %3136, 255
  br i1 %3137, label %3138, label %3139

3138:                                             ; preds = %3135
  br label %3141

3139:                                             ; preds = %3135
  %3140 = load i32, ptr %16, align 4, !tbaa !14
  br label %3141

3141:                                             ; preds = %3139, %3138
  %3142 = phi i32 [ 255, %3138 ], [ %3140, %3139 ]
  br label %3143

3143:                                             ; preds = %3141, %3134
  %3144 = phi i32 [ 0, %3134 ], [ %3142, %3141 ]
  %3145 = trunc i32 %3144 to i8
  %3146 = load ptr, ptr %12, align 8, !tbaa !5
  %3147 = load i32, ptr %19, align 4, !tbaa !14
  %3148 = add nsw i32 %3147, 2
  %3149 = sext i32 %3148 to i64
  %3150 = getelementptr inbounds i8, ptr %3146, i64 %3149
  store i8 %3145, ptr %3150, align 1, !tbaa !15
  %3151 = load ptr, ptr %13, align 8, !tbaa !5
  %3152 = load i32, ptr %19, align 4, !tbaa !14
  %3153 = add nsw i32 %3152, 2
  %3154 = sext i32 %3153 to i64
  %3155 = getelementptr inbounds i8, ptr %3151, i64 %3154
  %3156 = load i8, ptr %3155, align 1, !tbaa !15
  %3157 = zext i8 %3156 to i32
  %3158 = load ptr, ptr %14, align 8, !tbaa !5
  %3159 = load i32, ptr %19, align 4, !tbaa !14
  %3160 = add nsw i32 %3159, 2
  %3161 = sext i32 %3160 to i64
  %3162 = getelementptr inbounds i8, ptr %3158, i64 %3161
  %3163 = load i8, ptr %3162, align 1, !tbaa !15
  %3164 = zext i8 %3163 to i64
  %3165 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3164
  %3166 = load i32, ptr %3165, align 4, !tbaa !14
  %3167 = sub nsw i32 %3157, %3166
  %3168 = load ptr, ptr %15, align 8, !tbaa !5
  %3169 = load i32, ptr %19, align 4, !tbaa !14
  %3170 = add nsw i32 %3169, 2
  %3171 = sext i32 %3170 to i64
  %3172 = getelementptr inbounds i8, ptr %3168, i64 %3171
  %3173 = load i8, ptr %3172, align 1, !tbaa !15
  %3174 = zext i8 %3173 to i64
  %3175 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3174
  %3176 = load i32, ptr %3175, align 4, !tbaa !14
  %3177 = sub nsw i32 %3167, %3176
  store i32 %3177, ptr %17, align 4, !tbaa !14
  %3178 = load i32, ptr %17, align 4, !tbaa !14
  %3179 = icmp slt i32 %3178, 0
  br i1 %3179, label %3180, label %3181

3180:                                             ; preds = %3143
  br label %3189

3181:                                             ; preds = %3143
  %3182 = load i32, ptr %17, align 4, !tbaa !14
  %3183 = icmp sgt i32 %3182, 255
  br i1 %3183, label %3184, label %3185

3184:                                             ; preds = %3181
  br label %3187

3185:                                             ; preds = %3181
  %3186 = load i32, ptr %17, align 4, !tbaa !14
  br label %3187

3187:                                             ; preds = %3185, %3184
  %3188 = phi i32 [ 255, %3184 ], [ %3186, %3185 ]
  br label %3189

3189:                                             ; preds = %3187, %3180
  %3190 = phi i32 [ 0, %3180 ], [ %3188, %3187 ]
  %3191 = trunc i32 %3190 to i8
  %3192 = load ptr, ptr %11, align 8, !tbaa !5
  %3193 = load i32, ptr %19, align 4, !tbaa !14
  %3194 = add nsw i32 %3193, 2
  %3195 = sext i32 %3194 to i64
  %3196 = getelementptr inbounds i8, ptr %3192, i64 %3195
  store i8 %3191, ptr %3196, align 1, !tbaa !15
  %3197 = load ptr, ptr %13, align 8, !tbaa !5
  %3198 = load i32, ptr %19, align 4, !tbaa !14
  %3199 = add nsw i32 %3198, 2
  %3200 = sext i32 %3199 to i64
  %3201 = getelementptr inbounds i8, ptr %3197, i64 %3200
  %3202 = load i8, ptr %3201, align 1, !tbaa !15
  %3203 = zext i8 %3202 to i32
  %3204 = load ptr, ptr %14, align 8, !tbaa !5
  %3205 = load i32, ptr %19, align 4, !tbaa !14
  %3206 = add nsw i32 %3205, 2
  %3207 = sext i32 %3206 to i64
  %3208 = getelementptr inbounds i8, ptr %3204, i64 %3207
  %3209 = load i8, ptr %3208, align 1, !tbaa !15
  %3210 = zext i8 %3209 to i64
  %3211 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3210
  %3212 = load i32, ptr %3211, align 4, !tbaa !14
  %3213 = add nsw i32 %3203, %3212
  store i32 %3213, ptr %18, align 4, !tbaa !14
  %3214 = load i32, ptr %18, align 4, !tbaa !14
  %3215 = icmp slt i32 %3214, 0
  br i1 %3215, label %3216, label %3217

3216:                                             ; preds = %3189
  br label %3225

3217:                                             ; preds = %3189
  %3218 = load i32, ptr %18, align 4, !tbaa !14
  %3219 = icmp sgt i32 %3218, 255
  br i1 %3219, label %3220, label %3221

3220:                                             ; preds = %3217
  br label %3223

3221:                                             ; preds = %3217
  %3222 = load i32, ptr %18, align 4, !tbaa !14
  br label %3223

3223:                                             ; preds = %3221, %3220
  %3224 = phi i32 [ 255, %3220 ], [ %3222, %3221 ]
  br label %3225

3225:                                             ; preds = %3223, %3216
  %3226 = phi i32 [ 0, %3216 ], [ %3224, %3223 ]
  %3227 = trunc i32 %3226 to i8
  %3228 = load ptr, ptr %10, align 8, !tbaa !5
  %3229 = load i32, ptr %19, align 4, !tbaa !14
  %3230 = add nsw i32 %3229, 2
  %3231 = sext i32 %3230 to i64
  %3232 = getelementptr inbounds i8, ptr %3228, i64 %3231
  store i8 %3227, ptr %3232, align 1, !tbaa !15
  %3233 = load ptr, ptr %13, align 8, !tbaa !5
  %3234 = load i32, ptr %19, align 4, !tbaa !14
  %3235 = add nsw i32 %3234, 3
  %3236 = sext i32 %3235 to i64
  %3237 = getelementptr inbounds i8, ptr %3233, i64 %3236
  %3238 = load i8, ptr %3237, align 1, !tbaa !15
  %3239 = zext i8 %3238 to i32
  %3240 = load ptr, ptr %15, align 8, !tbaa !5
  %3241 = load i32, ptr %19, align 4, !tbaa !14
  %3242 = add nsw i32 %3241, 3
  %3243 = sext i32 %3242 to i64
  %3244 = getelementptr inbounds i8, ptr %3240, i64 %3243
  %3245 = load i8, ptr %3244, align 1, !tbaa !15
  %3246 = zext i8 %3245 to i64
  %3247 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3246
  %3248 = load i32, ptr %3247, align 4, !tbaa !14
  %3249 = add nsw i32 %3239, %3248
  store i32 %3249, ptr %16, align 4, !tbaa !14
  %3250 = load i32, ptr %16, align 4, !tbaa !14
  %3251 = icmp slt i32 %3250, 0
  br i1 %3251, label %3252, label %3253

3252:                                             ; preds = %3225
  br label %3261

3253:                                             ; preds = %3225
  %3254 = load i32, ptr %16, align 4, !tbaa !14
  %3255 = icmp sgt i32 %3254, 255
  br i1 %3255, label %3256, label %3257

3256:                                             ; preds = %3253
  br label %3259

3257:                                             ; preds = %3253
  %3258 = load i32, ptr %16, align 4, !tbaa !14
  br label %3259

3259:                                             ; preds = %3257, %3256
  %3260 = phi i32 [ 255, %3256 ], [ %3258, %3257 ]
  br label %3261

3261:                                             ; preds = %3259, %3252
  %3262 = phi i32 [ 0, %3252 ], [ %3260, %3259 ]
  %3263 = trunc i32 %3262 to i8
  %3264 = load ptr, ptr %12, align 8, !tbaa !5
  %3265 = load i32, ptr %19, align 4, !tbaa !14
  %3266 = add nsw i32 %3265, 3
  %3267 = sext i32 %3266 to i64
  %3268 = getelementptr inbounds i8, ptr %3264, i64 %3267
  store i8 %3263, ptr %3268, align 1, !tbaa !15
  %3269 = load ptr, ptr %13, align 8, !tbaa !5
  %3270 = load i32, ptr %19, align 4, !tbaa !14
  %3271 = add nsw i32 %3270, 3
  %3272 = sext i32 %3271 to i64
  %3273 = getelementptr inbounds i8, ptr %3269, i64 %3272
  %3274 = load i8, ptr %3273, align 1, !tbaa !15
  %3275 = zext i8 %3274 to i32
  %3276 = load ptr, ptr %14, align 8, !tbaa !5
  %3277 = load i32, ptr %19, align 4, !tbaa !14
  %3278 = add nsw i32 %3277, 3
  %3279 = sext i32 %3278 to i64
  %3280 = getelementptr inbounds i8, ptr %3276, i64 %3279
  %3281 = load i8, ptr %3280, align 1, !tbaa !15
  %3282 = zext i8 %3281 to i64
  %3283 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3282
  %3284 = load i32, ptr %3283, align 4, !tbaa !14
  %3285 = sub nsw i32 %3275, %3284
  %3286 = load ptr, ptr %15, align 8, !tbaa !5
  %3287 = load i32, ptr %19, align 4, !tbaa !14
  %3288 = add nsw i32 %3287, 3
  %3289 = sext i32 %3288 to i64
  %3290 = getelementptr inbounds i8, ptr %3286, i64 %3289
  %3291 = load i8, ptr %3290, align 1, !tbaa !15
  %3292 = zext i8 %3291 to i64
  %3293 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3292
  %3294 = load i32, ptr %3293, align 4, !tbaa !14
  %3295 = sub nsw i32 %3285, %3294
  store i32 %3295, ptr %17, align 4, !tbaa !14
  %3296 = load i32, ptr %17, align 4, !tbaa !14
  %3297 = icmp slt i32 %3296, 0
  br i1 %3297, label %3298, label %3299

3298:                                             ; preds = %3261
  br label %3307

3299:                                             ; preds = %3261
  %3300 = load i32, ptr %17, align 4, !tbaa !14
  %3301 = icmp sgt i32 %3300, 255
  br i1 %3301, label %3302, label %3303

3302:                                             ; preds = %3299
  br label %3305

3303:                                             ; preds = %3299
  %3304 = load i32, ptr %17, align 4, !tbaa !14
  br label %3305

3305:                                             ; preds = %3303, %3302
  %3306 = phi i32 [ 255, %3302 ], [ %3304, %3303 ]
  br label %3307

3307:                                             ; preds = %3305, %3298
  %3308 = phi i32 [ 0, %3298 ], [ %3306, %3305 ]
  %3309 = trunc i32 %3308 to i8
  %3310 = load ptr, ptr %11, align 8, !tbaa !5
  %3311 = load i32, ptr %19, align 4, !tbaa !14
  %3312 = add nsw i32 %3311, 3
  %3313 = sext i32 %3312 to i64
  %3314 = getelementptr inbounds i8, ptr %3310, i64 %3313
  store i8 %3309, ptr %3314, align 1, !tbaa !15
  %3315 = load ptr, ptr %13, align 8, !tbaa !5
  %3316 = load i32, ptr %19, align 4, !tbaa !14
  %3317 = add nsw i32 %3316, 3
  %3318 = sext i32 %3317 to i64
  %3319 = getelementptr inbounds i8, ptr %3315, i64 %3318
  %3320 = load i8, ptr %3319, align 1, !tbaa !15
  %3321 = zext i8 %3320 to i32
  %3322 = load ptr, ptr %14, align 8, !tbaa !5
  %3323 = load i32, ptr %19, align 4, !tbaa !14
  %3324 = add nsw i32 %3323, 3
  %3325 = sext i32 %3324 to i64
  %3326 = getelementptr inbounds i8, ptr %3322, i64 %3325
  %3327 = load i8, ptr %3326, align 1, !tbaa !15
  %3328 = zext i8 %3327 to i64
  %3329 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3328
  %3330 = load i32, ptr %3329, align 4, !tbaa !14
  %3331 = add nsw i32 %3321, %3330
  store i32 %3331, ptr %18, align 4, !tbaa !14
  %3332 = load i32, ptr %18, align 4, !tbaa !14
  %3333 = icmp slt i32 %3332, 0
  br i1 %3333, label %3334, label %3335

3334:                                             ; preds = %3307
  br label %3343

3335:                                             ; preds = %3307
  %3336 = load i32, ptr %18, align 4, !tbaa !14
  %3337 = icmp sgt i32 %3336, 255
  br i1 %3337, label %3338, label %3339

3338:                                             ; preds = %3335
  br label %3341

3339:                                             ; preds = %3335
  %3340 = load i32, ptr %18, align 4, !tbaa !14
  br label %3341

3341:                                             ; preds = %3339, %3338
  %3342 = phi i32 [ 255, %3338 ], [ %3340, %3339 ]
  br label %3343

3343:                                             ; preds = %3341, %3334
  %3344 = phi i32 [ 0, %3334 ], [ %3342, %3341 ]
  %3345 = trunc i32 %3344 to i8
  %3346 = load ptr, ptr %10, align 8, !tbaa !5
  %3347 = load i32, ptr %19, align 4, !tbaa !14
  %3348 = add nsw i32 %3347, 3
  %3349 = sext i32 %3348 to i64
  %3350 = getelementptr inbounds i8, ptr %3346, i64 %3349
  store i8 %3345, ptr %3350, align 1, !tbaa !15
  br label %16430

3351:                                             ; preds = %2871
  %3352 = load ptr, ptr %4, align 8, !tbaa !5
  %3353 = getelementptr inbounds %struct.MImage, ptr %3352, i32 0, i32 2
  %3354 = load i32, ptr %3353, align 8, !tbaa !13
  %3355 = load i32, ptr %19, align 4, !tbaa !14
  %3356 = sub nsw i32 %3354, %3355
  %3357 = icmp eq i32 %3356, 5
  br i1 %3357, label %3358, label %3949

3358:                                             ; preds = %3351
  %3359 = load ptr, ptr %13, align 8, !tbaa !5
  %3360 = load i32, ptr %19, align 4, !tbaa !14
  %3361 = add nsw i32 %3360, 0
  %3362 = sext i32 %3361 to i64
  %3363 = getelementptr inbounds i8, ptr %3359, i64 %3362
  %3364 = load i8, ptr %3363, align 1, !tbaa !15
  %3365 = zext i8 %3364 to i32
  %3366 = load ptr, ptr %15, align 8, !tbaa !5
  %3367 = load i32, ptr %19, align 4, !tbaa !14
  %3368 = add nsw i32 %3367, 0
  %3369 = sext i32 %3368 to i64
  %3370 = getelementptr inbounds i8, ptr %3366, i64 %3369
  %3371 = load i8, ptr %3370, align 1, !tbaa !15
  %3372 = zext i8 %3371 to i64
  %3373 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3372
  %3374 = load i32, ptr %3373, align 4, !tbaa !14
  %3375 = add nsw i32 %3365, %3374
  store i32 %3375, ptr %16, align 4, !tbaa !14
  %3376 = load i32, ptr %16, align 4, !tbaa !14
  %3377 = icmp slt i32 %3376, 0
  br i1 %3377, label %3378, label %3379

3378:                                             ; preds = %3358
  br label %3387

3379:                                             ; preds = %3358
  %3380 = load i32, ptr %16, align 4, !tbaa !14
  %3381 = icmp sgt i32 %3380, 255
  br i1 %3381, label %3382, label %3383

3382:                                             ; preds = %3379
  br label %3385

3383:                                             ; preds = %3379
  %3384 = load i32, ptr %16, align 4, !tbaa !14
  br label %3385

3385:                                             ; preds = %3383, %3382
  %3386 = phi i32 [ 255, %3382 ], [ %3384, %3383 ]
  br label %3387

3387:                                             ; preds = %3385, %3378
  %3388 = phi i32 [ 0, %3378 ], [ %3386, %3385 ]
  %3389 = trunc i32 %3388 to i8
  %3390 = load ptr, ptr %12, align 8, !tbaa !5
  %3391 = load i32, ptr %19, align 4, !tbaa !14
  %3392 = add nsw i32 %3391, 0
  %3393 = sext i32 %3392 to i64
  %3394 = getelementptr inbounds i8, ptr %3390, i64 %3393
  store i8 %3389, ptr %3394, align 1, !tbaa !15
  %3395 = load ptr, ptr %13, align 8, !tbaa !5
  %3396 = load i32, ptr %19, align 4, !tbaa !14
  %3397 = add nsw i32 %3396, 0
  %3398 = sext i32 %3397 to i64
  %3399 = getelementptr inbounds i8, ptr %3395, i64 %3398
  %3400 = load i8, ptr %3399, align 1, !tbaa !15
  %3401 = zext i8 %3400 to i32
  %3402 = load ptr, ptr %14, align 8, !tbaa !5
  %3403 = load i32, ptr %19, align 4, !tbaa !14
  %3404 = add nsw i32 %3403, 0
  %3405 = sext i32 %3404 to i64
  %3406 = getelementptr inbounds i8, ptr %3402, i64 %3405
  %3407 = load i8, ptr %3406, align 1, !tbaa !15
  %3408 = zext i8 %3407 to i64
  %3409 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3408
  %3410 = load i32, ptr %3409, align 4, !tbaa !14
  %3411 = sub nsw i32 %3401, %3410
  %3412 = load ptr, ptr %15, align 8, !tbaa !5
  %3413 = load i32, ptr %19, align 4, !tbaa !14
  %3414 = add nsw i32 %3413, 0
  %3415 = sext i32 %3414 to i64
  %3416 = getelementptr inbounds i8, ptr %3412, i64 %3415
  %3417 = load i8, ptr %3416, align 1, !tbaa !15
  %3418 = zext i8 %3417 to i64
  %3419 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3418
  %3420 = load i32, ptr %3419, align 4, !tbaa !14
  %3421 = sub nsw i32 %3411, %3420
  store i32 %3421, ptr %17, align 4, !tbaa !14
  %3422 = load i32, ptr %17, align 4, !tbaa !14
  %3423 = icmp slt i32 %3422, 0
  br i1 %3423, label %3424, label %3425

3424:                                             ; preds = %3387
  br label %3433

3425:                                             ; preds = %3387
  %3426 = load i32, ptr %17, align 4, !tbaa !14
  %3427 = icmp sgt i32 %3426, 255
  br i1 %3427, label %3428, label %3429

3428:                                             ; preds = %3425
  br label %3431

3429:                                             ; preds = %3425
  %3430 = load i32, ptr %17, align 4, !tbaa !14
  br label %3431

3431:                                             ; preds = %3429, %3428
  %3432 = phi i32 [ 255, %3428 ], [ %3430, %3429 ]
  br label %3433

3433:                                             ; preds = %3431, %3424
  %3434 = phi i32 [ 0, %3424 ], [ %3432, %3431 ]
  %3435 = trunc i32 %3434 to i8
  %3436 = load ptr, ptr %11, align 8, !tbaa !5
  %3437 = load i32, ptr %19, align 4, !tbaa !14
  %3438 = add nsw i32 %3437, 0
  %3439 = sext i32 %3438 to i64
  %3440 = getelementptr inbounds i8, ptr %3436, i64 %3439
  store i8 %3435, ptr %3440, align 1, !tbaa !15
  %3441 = load ptr, ptr %13, align 8, !tbaa !5
  %3442 = load i32, ptr %19, align 4, !tbaa !14
  %3443 = add nsw i32 %3442, 0
  %3444 = sext i32 %3443 to i64
  %3445 = getelementptr inbounds i8, ptr %3441, i64 %3444
  %3446 = load i8, ptr %3445, align 1, !tbaa !15
  %3447 = zext i8 %3446 to i32
  %3448 = load ptr, ptr %14, align 8, !tbaa !5
  %3449 = load i32, ptr %19, align 4, !tbaa !14
  %3450 = add nsw i32 %3449, 0
  %3451 = sext i32 %3450 to i64
  %3452 = getelementptr inbounds i8, ptr %3448, i64 %3451
  %3453 = load i8, ptr %3452, align 1, !tbaa !15
  %3454 = zext i8 %3453 to i64
  %3455 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3454
  %3456 = load i32, ptr %3455, align 4, !tbaa !14
  %3457 = add nsw i32 %3447, %3456
  store i32 %3457, ptr %18, align 4, !tbaa !14
  %3458 = load i32, ptr %18, align 4, !tbaa !14
  %3459 = icmp slt i32 %3458, 0
  br i1 %3459, label %3460, label %3461

3460:                                             ; preds = %3433
  br label %3469

3461:                                             ; preds = %3433
  %3462 = load i32, ptr %18, align 4, !tbaa !14
  %3463 = icmp sgt i32 %3462, 255
  br i1 %3463, label %3464, label %3465

3464:                                             ; preds = %3461
  br label %3467

3465:                                             ; preds = %3461
  %3466 = load i32, ptr %18, align 4, !tbaa !14
  br label %3467

3467:                                             ; preds = %3465, %3464
  %3468 = phi i32 [ 255, %3464 ], [ %3466, %3465 ]
  br label %3469

3469:                                             ; preds = %3467, %3460
  %3470 = phi i32 [ 0, %3460 ], [ %3468, %3467 ]
  %3471 = trunc i32 %3470 to i8
  %3472 = load ptr, ptr %10, align 8, !tbaa !5
  %3473 = load i32, ptr %19, align 4, !tbaa !14
  %3474 = add nsw i32 %3473, 0
  %3475 = sext i32 %3474 to i64
  %3476 = getelementptr inbounds i8, ptr %3472, i64 %3475
  store i8 %3471, ptr %3476, align 1, !tbaa !15
  %3477 = load ptr, ptr %13, align 8, !tbaa !5
  %3478 = load i32, ptr %19, align 4, !tbaa !14
  %3479 = add nsw i32 %3478, 1
  %3480 = sext i32 %3479 to i64
  %3481 = getelementptr inbounds i8, ptr %3477, i64 %3480
  %3482 = load i8, ptr %3481, align 1, !tbaa !15
  %3483 = zext i8 %3482 to i32
  %3484 = load ptr, ptr %15, align 8, !tbaa !5
  %3485 = load i32, ptr %19, align 4, !tbaa !14
  %3486 = add nsw i32 %3485, 1
  %3487 = sext i32 %3486 to i64
  %3488 = getelementptr inbounds i8, ptr %3484, i64 %3487
  %3489 = load i8, ptr %3488, align 1, !tbaa !15
  %3490 = zext i8 %3489 to i64
  %3491 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3490
  %3492 = load i32, ptr %3491, align 4, !tbaa !14
  %3493 = add nsw i32 %3483, %3492
  store i32 %3493, ptr %16, align 4, !tbaa !14
  %3494 = load i32, ptr %16, align 4, !tbaa !14
  %3495 = icmp slt i32 %3494, 0
  br i1 %3495, label %3496, label %3497

3496:                                             ; preds = %3469
  br label %3505

3497:                                             ; preds = %3469
  %3498 = load i32, ptr %16, align 4, !tbaa !14
  %3499 = icmp sgt i32 %3498, 255
  br i1 %3499, label %3500, label %3501

3500:                                             ; preds = %3497
  br label %3503

3501:                                             ; preds = %3497
  %3502 = load i32, ptr %16, align 4, !tbaa !14
  br label %3503

3503:                                             ; preds = %3501, %3500
  %3504 = phi i32 [ 255, %3500 ], [ %3502, %3501 ]
  br label %3505

3505:                                             ; preds = %3503, %3496
  %3506 = phi i32 [ 0, %3496 ], [ %3504, %3503 ]
  %3507 = trunc i32 %3506 to i8
  %3508 = load ptr, ptr %12, align 8, !tbaa !5
  %3509 = load i32, ptr %19, align 4, !tbaa !14
  %3510 = add nsw i32 %3509, 1
  %3511 = sext i32 %3510 to i64
  %3512 = getelementptr inbounds i8, ptr %3508, i64 %3511
  store i8 %3507, ptr %3512, align 1, !tbaa !15
  %3513 = load ptr, ptr %13, align 8, !tbaa !5
  %3514 = load i32, ptr %19, align 4, !tbaa !14
  %3515 = add nsw i32 %3514, 1
  %3516 = sext i32 %3515 to i64
  %3517 = getelementptr inbounds i8, ptr %3513, i64 %3516
  %3518 = load i8, ptr %3517, align 1, !tbaa !15
  %3519 = zext i8 %3518 to i32
  %3520 = load ptr, ptr %14, align 8, !tbaa !5
  %3521 = load i32, ptr %19, align 4, !tbaa !14
  %3522 = add nsw i32 %3521, 1
  %3523 = sext i32 %3522 to i64
  %3524 = getelementptr inbounds i8, ptr %3520, i64 %3523
  %3525 = load i8, ptr %3524, align 1, !tbaa !15
  %3526 = zext i8 %3525 to i64
  %3527 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3526
  %3528 = load i32, ptr %3527, align 4, !tbaa !14
  %3529 = sub nsw i32 %3519, %3528
  %3530 = load ptr, ptr %15, align 8, !tbaa !5
  %3531 = load i32, ptr %19, align 4, !tbaa !14
  %3532 = add nsw i32 %3531, 1
  %3533 = sext i32 %3532 to i64
  %3534 = getelementptr inbounds i8, ptr %3530, i64 %3533
  %3535 = load i8, ptr %3534, align 1, !tbaa !15
  %3536 = zext i8 %3535 to i64
  %3537 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3536
  %3538 = load i32, ptr %3537, align 4, !tbaa !14
  %3539 = sub nsw i32 %3529, %3538
  store i32 %3539, ptr %17, align 4, !tbaa !14
  %3540 = load i32, ptr %17, align 4, !tbaa !14
  %3541 = icmp slt i32 %3540, 0
  br i1 %3541, label %3542, label %3543

3542:                                             ; preds = %3505
  br label %3551

3543:                                             ; preds = %3505
  %3544 = load i32, ptr %17, align 4, !tbaa !14
  %3545 = icmp sgt i32 %3544, 255
  br i1 %3545, label %3546, label %3547

3546:                                             ; preds = %3543
  br label %3549

3547:                                             ; preds = %3543
  %3548 = load i32, ptr %17, align 4, !tbaa !14
  br label %3549

3549:                                             ; preds = %3547, %3546
  %3550 = phi i32 [ 255, %3546 ], [ %3548, %3547 ]
  br label %3551

3551:                                             ; preds = %3549, %3542
  %3552 = phi i32 [ 0, %3542 ], [ %3550, %3549 ]
  %3553 = trunc i32 %3552 to i8
  %3554 = load ptr, ptr %11, align 8, !tbaa !5
  %3555 = load i32, ptr %19, align 4, !tbaa !14
  %3556 = add nsw i32 %3555, 1
  %3557 = sext i32 %3556 to i64
  %3558 = getelementptr inbounds i8, ptr %3554, i64 %3557
  store i8 %3553, ptr %3558, align 1, !tbaa !15
  %3559 = load ptr, ptr %13, align 8, !tbaa !5
  %3560 = load i32, ptr %19, align 4, !tbaa !14
  %3561 = add nsw i32 %3560, 1
  %3562 = sext i32 %3561 to i64
  %3563 = getelementptr inbounds i8, ptr %3559, i64 %3562
  %3564 = load i8, ptr %3563, align 1, !tbaa !15
  %3565 = zext i8 %3564 to i32
  %3566 = load ptr, ptr %14, align 8, !tbaa !5
  %3567 = load i32, ptr %19, align 4, !tbaa !14
  %3568 = add nsw i32 %3567, 1
  %3569 = sext i32 %3568 to i64
  %3570 = getelementptr inbounds i8, ptr %3566, i64 %3569
  %3571 = load i8, ptr %3570, align 1, !tbaa !15
  %3572 = zext i8 %3571 to i64
  %3573 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3572
  %3574 = load i32, ptr %3573, align 4, !tbaa !14
  %3575 = add nsw i32 %3565, %3574
  store i32 %3575, ptr %18, align 4, !tbaa !14
  %3576 = load i32, ptr %18, align 4, !tbaa !14
  %3577 = icmp slt i32 %3576, 0
  br i1 %3577, label %3578, label %3579

3578:                                             ; preds = %3551
  br label %3587

3579:                                             ; preds = %3551
  %3580 = load i32, ptr %18, align 4, !tbaa !14
  %3581 = icmp sgt i32 %3580, 255
  br i1 %3581, label %3582, label %3583

3582:                                             ; preds = %3579
  br label %3585

3583:                                             ; preds = %3579
  %3584 = load i32, ptr %18, align 4, !tbaa !14
  br label %3585

3585:                                             ; preds = %3583, %3582
  %3586 = phi i32 [ 255, %3582 ], [ %3584, %3583 ]
  br label %3587

3587:                                             ; preds = %3585, %3578
  %3588 = phi i32 [ 0, %3578 ], [ %3586, %3585 ]
  %3589 = trunc i32 %3588 to i8
  %3590 = load ptr, ptr %10, align 8, !tbaa !5
  %3591 = load i32, ptr %19, align 4, !tbaa !14
  %3592 = add nsw i32 %3591, 1
  %3593 = sext i32 %3592 to i64
  %3594 = getelementptr inbounds i8, ptr %3590, i64 %3593
  store i8 %3589, ptr %3594, align 1, !tbaa !15
  %3595 = load ptr, ptr %13, align 8, !tbaa !5
  %3596 = load i32, ptr %19, align 4, !tbaa !14
  %3597 = add nsw i32 %3596, 2
  %3598 = sext i32 %3597 to i64
  %3599 = getelementptr inbounds i8, ptr %3595, i64 %3598
  %3600 = load i8, ptr %3599, align 1, !tbaa !15
  %3601 = zext i8 %3600 to i32
  %3602 = load ptr, ptr %15, align 8, !tbaa !5
  %3603 = load i32, ptr %19, align 4, !tbaa !14
  %3604 = add nsw i32 %3603, 2
  %3605 = sext i32 %3604 to i64
  %3606 = getelementptr inbounds i8, ptr %3602, i64 %3605
  %3607 = load i8, ptr %3606, align 1, !tbaa !15
  %3608 = zext i8 %3607 to i64
  %3609 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3608
  %3610 = load i32, ptr %3609, align 4, !tbaa !14
  %3611 = add nsw i32 %3601, %3610
  store i32 %3611, ptr %16, align 4, !tbaa !14
  %3612 = load i32, ptr %16, align 4, !tbaa !14
  %3613 = icmp slt i32 %3612, 0
  br i1 %3613, label %3614, label %3615

3614:                                             ; preds = %3587
  br label %3623

3615:                                             ; preds = %3587
  %3616 = load i32, ptr %16, align 4, !tbaa !14
  %3617 = icmp sgt i32 %3616, 255
  br i1 %3617, label %3618, label %3619

3618:                                             ; preds = %3615
  br label %3621

3619:                                             ; preds = %3615
  %3620 = load i32, ptr %16, align 4, !tbaa !14
  br label %3621

3621:                                             ; preds = %3619, %3618
  %3622 = phi i32 [ 255, %3618 ], [ %3620, %3619 ]
  br label %3623

3623:                                             ; preds = %3621, %3614
  %3624 = phi i32 [ 0, %3614 ], [ %3622, %3621 ]
  %3625 = trunc i32 %3624 to i8
  %3626 = load ptr, ptr %12, align 8, !tbaa !5
  %3627 = load i32, ptr %19, align 4, !tbaa !14
  %3628 = add nsw i32 %3627, 2
  %3629 = sext i32 %3628 to i64
  %3630 = getelementptr inbounds i8, ptr %3626, i64 %3629
  store i8 %3625, ptr %3630, align 1, !tbaa !15
  %3631 = load ptr, ptr %13, align 8, !tbaa !5
  %3632 = load i32, ptr %19, align 4, !tbaa !14
  %3633 = add nsw i32 %3632, 2
  %3634 = sext i32 %3633 to i64
  %3635 = getelementptr inbounds i8, ptr %3631, i64 %3634
  %3636 = load i8, ptr %3635, align 1, !tbaa !15
  %3637 = zext i8 %3636 to i32
  %3638 = load ptr, ptr %14, align 8, !tbaa !5
  %3639 = load i32, ptr %19, align 4, !tbaa !14
  %3640 = add nsw i32 %3639, 2
  %3641 = sext i32 %3640 to i64
  %3642 = getelementptr inbounds i8, ptr %3638, i64 %3641
  %3643 = load i8, ptr %3642, align 1, !tbaa !15
  %3644 = zext i8 %3643 to i64
  %3645 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3644
  %3646 = load i32, ptr %3645, align 4, !tbaa !14
  %3647 = sub nsw i32 %3637, %3646
  %3648 = load ptr, ptr %15, align 8, !tbaa !5
  %3649 = load i32, ptr %19, align 4, !tbaa !14
  %3650 = add nsw i32 %3649, 2
  %3651 = sext i32 %3650 to i64
  %3652 = getelementptr inbounds i8, ptr %3648, i64 %3651
  %3653 = load i8, ptr %3652, align 1, !tbaa !15
  %3654 = zext i8 %3653 to i64
  %3655 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3654
  %3656 = load i32, ptr %3655, align 4, !tbaa !14
  %3657 = sub nsw i32 %3647, %3656
  store i32 %3657, ptr %17, align 4, !tbaa !14
  %3658 = load i32, ptr %17, align 4, !tbaa !14
  %3659 = icmp slt i32 %3658, 0
  br i1 %3659, label %3660, label %3661

3660:                                             ; preds = %3623
  br label %3669

3661:                                             ; preds = %3623
  %3662 = load i32, ptr %17, align 4, !tbaa !14
  %3663 = icmp sgt i32 %3662, 255
  br i1 %3663, label %3664, label %3665

3664:                                             ; preds = %3661
  br label %3667

3665:                                             ; preds = %3661
  %3666 = load i32, ptr %17, align 4, !tbaa !14
  br label %3667

3667:                                             ; preds = %3665, %3664
  %3668 = phi i32 [ 255, %3664 ], [ %3666, %3665 ]
  br label %3669

3669:                                             ; preds = %3667, %3660
  %3670 = phi i32 [ 0, %3660 ], [ %3668, %3667 ]
  %3671 = trunc i32 %3670 to i8
  %3672 = load ptr, ptr %11, align 8, !tbaa !5
  %3673 = load i32, ptr %19, align 4, !tbaa !14
  %3674 = add nsw i32 %3673, 2
  %3675 = sext i32 %3674 to i64
  %3676 = getelementptr inbounds i8, ptr %3672, i64 %3675
  store i8 %3671, ptr %3676, align 1, !tbaa !15
  %3677 = load ptr, ptr %13, align 8, !tbaa !5
  %3678 = load i32, ptr %19, align 4, !tbaa !14
  %3679 = add nsw i32 %3678, 2
  %3680 = sext i32 %3679 to i64
  %3681 = getelementptr inbounds i8, ptr %3677, i64 %3680
  %3682 = load i8, ptr %3681, align 1, !tbaa !15
  %3683 = zext i8 %3682 to i32
  %3684 = load ptr, ptr %14, align 8, !tbaa !5
  %3685 = load i32, ptr %19, align 4, !tbaa !14
  %3686 = add nsw i32 %3685, 2
  %3687 = sext i32 %3686 to i64
  %3688 = getelementptr inbounds i8, ptr %3684, i64 %3687
  %3689 = load i8, ptr %3688, align 1, !tbaa !15
  %3690 = zext i8 %3689 to i64
  %3691 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3690
  %3692 = load i32, ptr %3691, align 4, !tbaa !14
  %3693 = add nsw i32 %3683, %3692
  store i32 %3693, ptr %18, align 4, !tbaa !14
  %3694 = load i32, ptr %18, align 4, !tbaa !14
  %3695 = icmp slt i32 %3694, 0
  br i1 %3695, label %3696, label %3697

3696:                                             ; preds = %3669
  br label %3705

3697:                                             ; preds = %3669
  %3698 = load i32, ptr %18, align 4, !tbaa !14
  %3699 = icmp sgt i32 %3698, 255
  br i1 %3699, label %3700, label %3701

3700:                                             ; preds = %3697
  br label %3703

3701:                                             ; preds = %3697
  %3702 = load i32, ptr %18, align 4, !tbaa !14
  br label %3703

3703:                                             ; preds = %3701, %3700
  %3704 = phi i32 [ 255, %3700 ], [ %3702, %3701 ]
  br label %3705

3705:                                             ; preds = %3703, %3696
  %3706 = phi i32 [ 0, %3696 ], [ %3704, %3703 ]
  %3707 = trunc i32 %3706 to i8
  %3708 = load ptr, ptr %10, align 8, !tbaa !5
  %3709 = load i32, ptr %19, align 4, !tbaa !14
  %3710 = add nsw i32 %3709, 2
  %3711 = sext i32 %3710 to i64
  %3712 = getelementptr inbounds i8, ptr %3708, i64 %3711
  store i8 %3707, ptr %3712, align 1, !tbaa !15
  %3713 = load ptr, ptr %13, align 8, !tbaa !5
  %3714 = load i32, ptr %19, align 4, !tbaa !14
  %3715 = add nsw i32 %3714, 3
  %3716 = sext i32 %3715 to i64
  %3717 = getelementptr inbounds i8, ptr %3713, i64 %3716
  %3718 = load i8, ptr %3717, align 1, !tbaa !15
  %3719 = zext i8 %3718 to i32
  %3720 = load ptr, ptr %15, align 8, !tbaa !5
  %3721 = load i32, ptr %19, align 4, !tbaa !14
  %3722 = add nsw i32 %3721, 3
  %3723 = sext i32 %3722 to i64
  %3724 = getelementptr inbounds i8, ptr %3720, i64 %3723
  %3725 = load i8, ptr %3724, align 1, !tbaa !15
  %3726 = zext i8 %3725 to i64
  %3727 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3726
  %3728 = load i32, ptr %3727, align 4, !tbaa !14
  %3729 = add nsw i32 %3719, %3728
  store i32 %3729, ptr %16, align 4, !tbaa !14
  %3730 = load i32, ptr %16, align 4, !tbaa !14
  %3731 = icmp slt i32 %3730, 0
  br i1 %3731, label %3732, label %3733

3732:                                             ; preds = %3705
  br label %3741

3733:                                             ; preds = %3705
  %3734 = load i32, ptr %16, align 4, !tbaa !14
  %3735 = icmp sgt i32 %3734, 255
  br i1 %3735, label %3736, label %3737

3736:                                             ; preds = %3733
  br label %3739

3737:                                             ; preds = %3733
  %3738 = load i32, ptr %16, align 4, !tbaa !14
  br label %3739

3739:                                             ; preds = %3737, %3736
  %3740 = phi i32 [ 255, %3736 ], [ %3738, %3737 ]
  br label %3741

3741:                                             ; preds = %3739, %3732
  %3742 = phi i32 [ 0, %3732 ], [ %3740, %3739 ]
  %3743 = trunc i32 %3742 to i8
  %3744 = load ptr, ptr %12, align 8, !tbaa !5
  %3745 = load i32, ptr %19, align 4, !tbaa !14
  %3746 = add nsw i32 %3745, 3
  %3747 = sext i32 %3746 to i64
  %3748 = getelementptr inbounds i8, ptr %3744, i64 %3747
  store i8 %3743, ptr %3748, align 1, !tbaa !15
  %3749 = load ptr, ptr %13, align 8, !tbaa !5
  %3750 = load i32, ptr %19, align 4, !tbaa !14
  %3751 = add nsw i32 %3750, 3
  %3752 = sext i32 %3751 to i64
  %3753 = getelementptr inbounds i8, ptr %3749, i64 %3752
  %3754 = load i8, ptr %3753, align 1, !tbaa !15
  %3755 = zext i8 %3754 to i32
  %3756 = load ptr, ptr %14, align 8, !tbaa !5
  %3757 = load i32, ptr %19, align 4, !tbaa !14
  %3758 = add nsw i32 %3757, 3
  %3759 = sext i32 %3758 to i64
  %3760 = getelementptr inbounds i8, ptr %3756, i64 %3759
  %3761 = load i8, ptr %3760, align 1, !tbaa !15
  %3762 = zext i8 %3761 to i64
  %3763 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3762
  %3764 = load i32, ptr %3763, align 4, !tbaa !14
  %3765 = sub nsw i32 %3755, %3764
  %3766 = load ptr, ptr %15, align 8, !tbaa !5
  %3767 = load i32, ptr %19, align 4, !tbaa !14
  %3768 = add nsw i32 %3767, 3
  %3769 = sext i32 %3768 to i64
  %3770 = getelementptr inbounds i8, ptr %3766, i64 %3769
  %3771 = load i8, ptr %3770, align 1, !tbaa !15
  %3772 = zext i8 %3771 to i64
  %3773 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3772
  %3774 = load i32, ptr %3773, align 4, !tbaa !14
  %3775 = sub nsw i32 %3765, %3774
  store i32 %3775, ptr %17, align 4, !tbaa !14
  %3776 = load i32, ptr %17, align 4, !tbaa !14
  %3777 = icmp slt i32 %3776, 0
  br i1 %3777, label %3778, label %3779

3778:                                             ; preds = %3741
  br label %3787

3779:                                             ; preds = %3741
  %3780 = load i32, ptr %17, align 4, !tbaa !14
  %3781 = icmp sgt i32 %3780, 255
  br i1 %3781, label %3782, label %3783

3782:                                             ; preds = %3779
  br label %3785

3783:                                             ; preds = %3779
  %3784 = load i32, ptr %17, align 4, !tbaa !14
  br label %3785

3785:                                             ; preds = %3783, %3782
  %3786 = phi i32 [ 255, %3782 ], [ %3784, %3783 ]
  br label %3787

3787:                                             ; preds = %3785, %3778
  %3788 = phi i32 [ 0, %3778 ], [ %3786, %3785 ]
  %3789 = trunc i32 %3788 to i8
  %3790 = load ptr, ptr %11, align 8, !tbaa !5
  %3791 = load i32, ptr %19, align 4, !tbaa !14
  %3792 = add nsw i32 %3791, 3
  %3793 = sext i32 %3792 to i64
  %3794 = getelementptr inbounds i8, ptr %3790, i64 %3793
  store i8 %3789, ptr %3794, align 1, !tbaa !15
  %3795 = load ptr, ptr %13, align 8, !tbaa !5
  %3796 = load i32, ptr %19, align 4, !tbaa !14
  %3797 = add nsw i32 %3796, 3
  %3798 = sext i32 %3797 to i64
  %3799 = getelementptr inbounds i8, ptr %3795, i64 %3798
  %3800 = load i8, ptr %3799, align 1, !tbaa !15
  %3801 = zext i8 %3800 to i32
  %3802 = load ptr, ptr %14, align 8, !tbaa !5
  %3803 = load i32, ptr %19, align 4, !tbaa !14
  %3804 = add nsw i32 %3803, 3
  %3805 = sext i32 %3804 to i64
  %3806 = getelementptr inbounds i8, ptr %3802, i64 %3805
  %3807 = load i8, ptr %3806, align 1, !tbaa !15
  %3808 = zext i8 %3807 to i64
  %3809 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3808
  %3810 = load i32, ptr %3809, align 4, !tbaa !14
  %3811 = add nsw i32 %3801, %3810
  store i32 %3811, ptr %18, align 4, !tbaa !14
  %3812 = load i32, ptr %18, align 4, !tbaa !14
  %3813 = icmp slt i32 %3812, 0
  br i1 %3813, label %3814, label %3815

3814:                                             ; preds = %3787
  br label %3823

3815:                                             ; preds = %3787
  %3816 = load i32, ptr %18, align 4, !tbaa !14
  %3817 = icmp sgt i32 %3816, 255
  br i1 %3817, label %3818, label %3819

3818:                                             ; preds = %3815
  br label %3821

3819:                                             ; preds = %3815
  %3820 = load i32, ptr %18, align 4, !tbaa !14
  br label %3821

3821:                                             ; preds = %3819, %3818
  %3822 = phi i32 [ 255, %3818 ], [ %3820, %3819 ]
  br label %3823

3823:                                             ; preds = %3821, %3814
  %3824 = phi i32 [ 0, %3814 ], [ %3822, %3821 ]
  %3825 = trunc i32 %3824 to i8
  %3826 = load ptr, ptr %10, align 8, !tbaa !5
  %3827 = load i32, ptr %19, align 4, !tbaa !14
  %3828 = add nsw i32 %3827, 3
  %3829 = sext i32 %3828 to i64
  %3830 = getelementptr inbounds i8, ptr %3826, i64 %3829
  store i8 %3825, ptr %3830, align 1, !tbaa !15
  %3831 = load ptr, ptr %13, align 8, !tbaa !5
  %3832 = load i32, ptr %19, align 4, !tbaa !14
  %3833 = add nsw i32 %3832, 4
  %3834 = sext i32 %3833 to i64
  %3835 = getelementptr inbounds i8, ptr %3831, i64 %3834
  %3836 = load i8, ptr %3835, align 1, !tbaa !15
  %3837 = zext i8 %3836 to i32
  %3838 = load ptr, ptr %15, align 8, !tbaa !5
  %3839 = load i32, ptr %19, align 4, !tbaa !14
  %3840 = add nsw i32 %3839, 4
  %3841 = sext i32 %3840 to i64
  %3842 = getelementptr inbounds i8, ptr %3838, i64 %3841
  %3843 = load i8, ptr %3842, align 1, !tbaa !15
  %3844 = zext i8 %3843 to i64
  %3845 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3844
  %3846 = load i32, ptr %3845, align 4, !tbaa !14
  %3847 = add nsw i32 %3837, %3846
  store i32 %3847, ptr %16, align 4, !tbaa !14
  %3848 = load i32, ptr %16, align 4, !tbaa !14
  %3849 = icmp slt i32 %3848, 0
  br i1 %3849, label %3850, label %3851

3850:                                             ; preds = %3823
  br label %3859

3851:                                             ; preds = %3823
  %3852 = load i32, ptr %16, align 4, !tbaa !14
  %3853 = icmp sgt i32 %3852, 255
  br i1 %3853, label %3854, label %3855

3854:                                             ; preds = %3851
  br label %3857

3855:                                             ; preds = %3851
  %3856 = load i32, ptr %16, align 4, !tbaa !14
  br label %3857

3857:                                             ; preds = %3855, %3854
  %3858 = phi i32 [ 255, %3854 ], [ %3856, %3855 ]
  br label %3859

3859:                                             ; preds = %3857, %3850
  %3860 = phi i32 [ 0, %3850 ], [ %3858, %3857 ]
  %3861 = trunc i32 %3860 to i8
  %3862 = load ptr, ptr %12, align 8, !tbaa !5
  %3863 = load i32, ptr %19, align 4, !tbaa !14
  %3864 = add nsw i32 %3863, 4
  %3865 = sext i32 %3864 to i64
  %3866 = getelementptr inbounds i8, ptr %3862, i64 %3865
  store i8 %3861, ptr %3866, align 1, !tbaa !15
  %3867 = load ptr, ptr %13, align 8, !tbaa !5
  %3868 = load i32, ptr %19, align 4, !tbaa !14
  %3869 = add nsw i32 %3868, 4
  %3870 = sext i32 %3869 to i64
  %3871 = getelementptr inbounds i8, ptr %3867, i64 %3870
  %3872 = load i8, ptr %3871, align 1, !tbaa !15
  %3873 = zext i8 %3872 to i32
  %3874 = load ptr, ptr %14, align 8, !tbaa !5
  %3875 = load i32, ptr %19, align 4, !tbaa !14
  %3876 = add nsw i32 %3875, 4
  %3877 = sext i32 %3876 to i64
  %3878 = getelementptr inbounds i8, ptr %3874, i64 %3877
  %3879 = load i8, ptr %3878, align 1, !tbaa !15
  %3880 = zext i8 %3879 to i64
  %3881 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %3880
  %3882 = load i32, ptr %3881, align 4, !tbaa !14
  %3883 = sub nsw i32 %3873, %3882
  %3884 = load ptr, ptr %15, align 8, !tbaa !5
  %3885 = load i32, ptr %19, align 4, !tbaa !14
  %3886 = add nsw i32 %3885, 4
  %3887 = sext i32 %3886 to i64
  %3888 = getelementptr inbounds i8, ptr %3884, i64 %3887
  %3889 = load i8, ptr %3888, align 1, !tbaa !15
  %3890 = zext i8 %3889 to i64
  %3891 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %3890
  %3892 = load i32, ptr %3891, align 4, !tbaa !14
  %3893 = sub nsw i32 %3883, %3892
  store i32 %3893, ptr %17, align 4, !tbaa !14
  %3894 = load i32, ptr %17, align 4, !tbaa !14
  %3895 = icmp slt i32 %3894, 0
  br i1 %3895, label %3896, label %3897

3896:                                             ; preds = %3859
  br label %3905

3897:                                             ; preds = %3859
  %3898 = load i32, ptr %17, align 4, !tbaa !14
  %3899 = icmp sgt i32 %3898, 255
  br i1 %3899, label %3900, label %3901

3900:                                             ; preds = %3897
  br label %3903

3901:                                             ; preds = %3897
  %3902 = load i32, ptr %17, align 4, !tbaa !14
  br label %3903

3903:                                             ; preds = %3901, %3900
  %3904 = phi i32 [ 255, %3900 ], [ %3902, %3901 ]
  br label %3905

3905:                                             ; preds = %3903, %3896
  %3906 = phi i32 [ 0, %3896 ], [ %3904, %3903 ]
  %3907 = trunc i32 %3906 to i8
  %3908 = load ptr, ptr %11, align 8, !tbaa !5
  %3909 = load i32, ptr %19, align 4, !tbaa !14
  %3910 = add nsw i32 %3909, 4
  %3911 = sext i32 %3910 to i64
  %3912 = getelementptr inbounds i8, ptr %3908, i64 %3911
  store i8 %3907, ptr %3912, align 1, !tbaa !15
  %3913 = load ptr, ptr %13, align 8, !tbaa !5
  %3914 = load i32, ptr %19, align 4, !tbaa !14
  %3915 = add nsw i32 %3914, 4
  %3916 = sext i32 %3915 to i64
  %3917 = getelementptr inbounds i8, ptr %3913, i64 %3916
  %3918 = load i8, ptr %3917, align 1, !tbaa !15
  %3919 = zext i8 %3918 to i32
  %3920 = load ptr, ptr %14, align 8, !tbaa !5
  %3921 = load i32, ptr %19, align 4, !tbaa !14
  %3922 = add nsw i32 %3921, 4
  %3923 = sext i32 %3922 to i64
  %3924 = getelementptr inbounds i8, ptr %3920, i64 %3923
  %3925 = load i8, ptr %3924, align 1, !tbaa !15
  %3926 = zext i8 %3925 to i64
  %3927 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %3926
  %3928 = load i32, ptr %3927, align 4, !tbaa !14
  %3929 = add nsw i32 %3919, %3928
  store i32 %3929, ptr %18, align 4, !tbaa !14
  %3930 = load i32, ptr %18, align 4, !tbaa !14
  %3931 = icmp slt i32 %3930, 0
  br i1 %3931, label %3932, label %3933

3932:                                             ; preds = %3905
  br label %3941

3933:                                             ; preds = %3905
  %3934 = load i32, ptr %18, align 4, !tbaa !14
  %3935 = icmp sgt i32 %3934, 255
  br i1 %3935, label %3936, label %3937

3936:                                             ; preds = %3933
  br label %3939

3937:                                             ; preds = %3933
  %3938 = load i32, ptr %18, align 4, !tbaa !14
  br label %3939

3939:                                             ; preds = %3937, %3936
  %3940 = phi i32 [ 255, %3936 ], [ %3938, %3937 ]
  br label %3941

3941:                                             ; preds = %3939, %3932
  %3942 = phi i32 [ 0, %3932 ], [ %3940, %3939 ]
  %3943 = trunc i32 %3942 to i8
  %3944 = load ptr, ptr %10, align 8, !tbaa !5
  %3945 = load i32, ptr %19, align 4, !tbaa !14
  %3946 = add nsw i32 %3945, 4
  %3947 = sext i32 %3946 to i64
  %3948 = getelementptr inbounds i8, ptr %3944, i64 %3947
  store i8 %3943, ptr %3948, align 1, !tbaa !15
  br label %16429

3949:                                             ; preds = %3351
  %3950 = load ptr, ptr %4, align 8, !tbaa !5
  %3951 = getelementptr inbounds %struct.MImage, ptr %3950, i32 0, i32 2
  %3952 = load i32, ptr %3951, align 8, !tbaa !13
  %3953 = load i32, ptr %19, align 4, !tbaa !14
  %3954 = sub nsw i32 %3952, %3953
  %3955 = icmp eq i32 %3954, 6
  br i1 %3955, label %3956, label %4665

3956:                                             ; preds = %3949
  %3957 = load ptr, ptr %13, align 8, !tbaa !5
  %3958 = load i32, ptr %19, align 4, !tbaa !14
  %3959 = add nsw i32 %3958, 0
  %3960 = sext i32 %3959 to i64
  %3961 = getelementptr inbounds i8, ptr %3957, i64 %3960
  %3962 = load i8, ptr %3961, align 1, !tbaa !15
  %3963 = zext i8 %3962 to i32
  %3964 = load ptr, ptr %15, align 8, !tbaa !5
  %3965 = load i32, ptr %19, align 4, !tbaa !14
  %3966 = add nsw i32 %3965, 0
  %3967 = sext i32 %3966 to i64
  %3968 = getelementptr inbounds i8, ptr %3964, i64 %3967
  %3969 = load i8, ptr %3968, align 1, !tbaa !15
  %3970 = zext i8 %3969 to i64
  %3971 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %3970
  %3972 = load i32, ptr %3971, align 4, !tbaa !14
  %3973 = add nsw i32 %3963, %3972
  store i32 %3973, ptr %16, align 4, !tbaa !14
  %3974 = load i32, ptr %16, align 4, !tbaa !14
  %3975 = icmp slt i32 %3974, 0
  br i1 %3975, label %3976, label %3977

3976:                                             ; preds = %3956
  br label %3985

3977:                                             ; preds = %3956
  %3978 = load i32, ptr %16, align 4, !tbaa !14
  %3979 = icmp sgt i32 %3978, 255
  br i1 %3979, label %3980, label %3981

3980:                                             ; preds = %3977
  br label %3983

3981:                                             ; preds = %3977
  %3982 = load i32, ptr %16, align 4, !tbaa !14
  br label %3983

3983:                                             ; preds = %3981, %3980
  %3984 = phi i32 [ 255, %3980 ], [ %3982, %3981 ]
  br label %3985

3985:                                             ; preds = %3983, %3976
  %3986 = phi i32 [ 0, %3976 ], [ %3984, %3983 ]
  %3987 = trunc i32 %3986 to i8
  %3988 = load ptr, ptr %12, align 8, !tbaa !5
  %3989 = load i32, ptr %19, align 4, !tbaa !14
  %3990 = add nsw i32 %3989, 0
  %3991 = sext i32 %3990 to i64
  %3992 = getelementptr inbounds i8, ptr %3988, i64 %3991
  store i8 %3987, ptr %3992, align 1, !tbaa !15
  %3993 = load ptr, ptr %13, align 8, !tbaa !5
  %3994 = load i32, ptr %19, align 4, !tbaa !14
  %3995 = add nsw i32 %3994, 0
  %3996 = sext i32 %3995 to i64
  %3997 = getelementptr inbounds i8, ptr %3993, i64 %3996
  %3998 = load i8, ptr %3997, align 1, !tbaa !15
  %3999 = zext i8 %3998 to i32
  %4000 = load ptr, ptr %14, align 8, !tbaa !5
  %4001 = load i32, ptr %19, align 4, !tbaa !14
  %4002 = add nsw i32 %4001, 0
  %4003 = sext i32 %4002 to i64
  %4004 = getelementptr inbounds i8, ptr %4000, i64 %4003
  %4005 = load i8, ptr %4004, align 1, !tbaa !15
  %4006 = zext i8 %4005 to i64
  %4007 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4006
  %4008 = load i32, ptr %4007, align 4, !tbaa !14
  %4009 = sub nsw i32 %3999, %4008
  %4010 = load ptr, ptr %15, align 8, !tbaa !5
  %4011 = load i32, ptr %19, align 4, !tbaa !14
  %4012 = add nsw i32 %4011, 0
  %4013 = sext i32 %4012 to i64
  %4014 = getelementptr inbounds i8, ptr %4010, i64 %4013
  %4015 = load i8, ptr %4014, align 1, !tbaa !15
  %4016 = zext i8 %4015 to i64
  %4017 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4016
  %4018 = load i32, ptr %4017, align 4, !tbaa !14
  %4019 = sub nsw i32 %4009, %4018
  store i32 %4019, ptr %17, align 4, !tbaa !14
  %4020 = load i32, ptr %17, align 4, !tbaa !14
  %4021 = icmp slt i32 %4020, 0
  br i1 %4021, label %4022, label %4023

4022:                                             ; preds = %3985
  br label %4031

4023:                                             ; preds = %3985
  %4024 = load i32, ptr %17, align 4, !tbaa !14
  %4025 = icmp sgt i32 %4024, 255
  br i1 %4025, label %4026, label %4027

4026:                                             ; preds = %4023
  br label %4029

4027:                                             ; preds = %4023
  %4028 = load i32, ptr %17, align 4, !tbaa !14
  br label %4029

4029:                                             ; preds = %4027, %4026
  %4030 = phi i32 [ 255, %4026 ], [ %4028, %4027 ]
  br label %4031

4031:                                             ; preds = %4029, %4022
  %4032 = phi i32 [ 0, %4022 ], [ %4030, %4029 ]
  %4033 = trunc i32 %4032 to i8
  %4034 = load ptr, ptr %11, align 8, !tbaa !5
  %4035 = load i32, ptr %19, align 4, !tbaa !14
  %4036 = add nsw i32 %4035, 0
  %4037 = sext i32 %4036 to i64
  %4038 = getelementptr inbounds i8, ptr %4034, i64 %4037
  store i8 %4033, ptr %4038, align 1, !tbaa !15
  %4039 = load ptr, ptr %13, align 8, !tbaa !5
  %4040 = load i32, ptr %19, align 4, !tbaa !14
  %4041 = add nsw i32 %4040, 0
  %4042 = sext i32 %4041 to i64
  %4043 = getelementptr inbounds i8, ptr %4039, i64 %4042
  %4044 = load i8, ptr %4043, align 1, !tbaa !15
  %4045 = zext i8 %4044 to i32
  %4046 = load ptr, ptr %14, align 8, !tbaa !5
  %4047 = load i32, ptr %19, align 4, !tbaa !14
  %4048 = add nsw i32 %4047, 0
  %4049 = sext i32 %4048 to i64
  %4050 = getelementptr inbounds i8, ptr %4046, i64 %4049
  %4051 = load i8, ptr %4050, align 1, !tbaa !15
  %4052 = zext i8 %4051 to i64
  %4053 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4052
  %4054 = load i32, ptr %4053, align 4, !tbaa !14
  %4055 = add nsw i32 %4045, %4054
  store i32 %4055, ptr %18, align 4, !tbaa !14
  %4056 = load i32, ptr %18, align 4, !tbaa !14
  %4057 = icmp slt i32 %4056, 0
  br i1 %4057, label %4058, label %4059

4058:                                             ; preds = %4031
  br label %4067

4059:                                             ; preds = %4031
  %4060 = load i32, ptr %18, align 4, !tbaa !14
  %4061 = icmp sgt i32 %4060, 255
  br i1 %4061, label %4062, label %4063

4062:                                             ; preds = %4059
  br label %4065

4063:                                             ; preds = %4059
  %4064 = load i32, ptr %18, align 4, !tbaa !14
  br label %4065

4065:                                             ; preds = %4063, %4062
  %4066 = phi i32 [ 255, %4062 ], [ %4064, %4063 ]
  br label %4067

4067:                                             ; preds = %4065, %4058
  %4068 = phi i32 [ 0, %4058 ], [ %4066, %4065 ]
  %4069 = trunc i32 %4068 to i8
  %4070 = load ptr, ptr %10, align 8, !tbaa !5
  %4071 = load i32, ptr %19, align 4, !tbaa !14
  %4072 = add nsw i32 %4071, 0
  %4073 = sext i32 %4072 to i64
  %4074 = getelementptr inbounds i8, ptr %4070, i64 %4073
  store i8 %4069, ptr %4074, align 1, !tbaa !15
  %4075 = load ptr, ptr %13, align 8, !tbaa !5
  %4076 = load i32, ptr %19, align 4, !tbaa !14
  %4077 = add nsw i32 %4076, 1
  %4078 = sext i32 %4077 to i64
  %4079 = getelementptr inbounds i8, ptr %4075, i64 %4078
  %4080 = load i8, ptr %4079, align 1, !tbaa !15
  %4081 = zext i8 %4080 to i32
  %4082 = load ptr, ptr %15, align 8, !tbaa !5
  %4083 = load i32, ptr %19, align 4, !tbaa !14
  %4084 = add nsw i32 %4083, 1
  %4085 = sext i32 %4084 to i64
  %4086 = getelementptr inbounds i8, ptr %4082, i64 %4085
  %4087 = load i8, ptr %4086, align 1, !tbaa !15
  %4088 = zext i8 %4087 to i64
  %4089 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4088
  %4090 = load i32, ptr %4089, align 4, !tbaa !14
  %4091 = add nsw i32 %4081, %4090
  store i32 %4091, ptr %16, align 4, !tbaa !14
  %4092 = load i32, ptr %16, align 4, !tbaa !14
  %4093 = icmp slt i32 %4092, 0
  br i1 %4093, label %4094, label %4095

4094:                                             ; preds = %4067
  br label %4103

4095:                                             ; preds = %4067
  %4096 = load i32, ptr %16, align 4, !tbaa !14
  %4097 = icmp sgt i32 %4096, 255
  br i1 %4097, label %4098, label %4099

4098:                                             ; preds = %4095
  br label %4101

4099:                                             ; preds = %4095
  %4100 = load i32, ptr %16, align 4, !tbaa !14
  br label %4101

4101:                                             ; preds = %4099, %4098
  %4102 = phi i32 [ 255, %4098 ], [ %4100, %4099 ]
  br label %4103

4103:                                             ; preds = %4101, %4094
  %4104 = phi i32 [ 0, %4094 ], [ %4102, %4101 ]
  %4105 = trunc i32 %4104 to i8
  %4106 = load ptr, ptr %12, align 8, !tbaa !5
  %4107 = load i32, ptr %19, align 4, !tbaa !14
  %4108 = add nsw i32 %4107, 1
  %4109 = sext i32 %4108 to i64
  %4110 = getelementptr inbounds i8, ptr %4106, i64 %4109
  store i8 %4105, ptr %4110, align 1, !tbaa !15
  %4111 = load ptr, ptr %13, align 8, !tbaa !5
  %4112 = load i32, ptr %19, align 4, !tbaa !14
  %4113 = add nsw i32 %4112, 1
  %4114 = sext i32 %4113 to i64
  %4115 = getelementptr inbounds i8, ptr %4111, i64 %4114
  %4116 = load i8, ptr %4115, align 1, !tbaa !15
  %4117 = zext i8 %4116 to i32
  %4118 = load ptr, ptr %14, align 8, !tbaa !5
  %4119 = load i32, ptr %19, align 4, !tbaa !14
  %4120 = add nsw i32 %4119, 1
  %4121 = sext i32 %4120 to i64
  %4122 = getelementptr inbounds i8, ptr %4118, i64 %4121
  %4123 = load i8, ptr %4122, align 1, !tbaa !15
  %4124 = zext i8 %4123 to i64
  %4125 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4124
  %4126 = load i32, ptr %4125, align 4, !tbaa !14
  %4127 = sub nsw i32 %4117, %4126
  %4128 = load ptr, ptr %15, align 8, !tbaa !5
  %4129 = load i32, ptr %19, align 4, !tbaa !14
  %4130 = add nsw i32 %4129, 1
  %4131 = sext i32 %4130 to i64
  %4132 = getelementptr inbounds i8, ptr %4128, i64 %4131
  %4133 = load i8, ptr %4132, align 1, !tbaa !15
  %4134 = zext i8 %4133 to i64
  %4135 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4134
  %4136 = load i32, ptr %4135, align 4, !tbaa !14
  %4137 = sub nsw i32 %4127, %4136
  store i32 %4137, ptr %17, align 4, !tbaa !14
  %4138 = load i32, ptr %17, align 4, !tbaa !14
  %4139 = icmp slt i32 %4138, 0
  br i1 %4139, label %4140, label %4141

4140:                                             ; preds = %4103
  br label %4149

4141:                                             ; preds = %4103
  %4142 = load i32, ptr %17, align 4, !tbaa !14
  %4143 = icmp sgt i32 %4142, 255
  br i1 %4143, label %4144, label %4145

4144:                                             ; preds = %4141
  br label %4147

4145:                                             ; preds = %4141
  %4146 = load i32, ptr %17, align 4, !tbaa !14
  br label %4147

4147:                                             ; preds = %4145, %4144
  %4148 = phi i32 [ 255, %4144 ], [ %4146, %4145 ]
  br label %4149

4149:                                             ; preds = %4147, %4140
  %4150 = phi i32 [ 0, %4140 ], [ %4148, %4147 ]
  %4151 = trunc i32 %4150 to i8
  %4152 = load ptr, ptr %11, align 8, !tbaa !5
  %4153 = load i32, ptr %19, align 4, !tbaa !14
  %4154 = add nsw i32 %4153, 1
  %4155 = sext i32 %4154 to i64
  %4156 = getelementptr inbounds i8, ptr %4152, i64 %4155
  store i8 %4151, ptr %4156, align 1, !tbaa !15
  %4157 = load ptr, ptr %13, align 8, !tbaa !5
  %4158 = load i32, ptr %19, align 4, !tbaa !14
  %4159 = add nsw i32 %4158, 1
  %4160 = sext i32 %4159 to i64
  %4161 = getelementptr inbounds i8, ptr %4157, i64 %4160
  %4162 = load i8, ptr %4161, align 1, !tbaa !15
  %4163 = zext i8 %4162 to i32
  %4164 = load ptr, ptr %14, align 8, !tbaa !5
  %4165 = load i32, ptr %19, align 4, !tbaa !14
  %4166 = add nsw i32 %4165, 1
  %4167 = sext i32 %4166 to i64
  %4168 = getelementptr inbounds i8, ptr %4164, i64 %4167
  %4169 = load i8, ptr %4168, align 1, !tbaa !15
  %4170 = zext i8 %4169 to i64
  %4171 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4170
  %4172 = load i32, ptr %4171, align 4, !tbaa !14
  %4173 = add nsw i32 %4163, %4172
  store i32 %4173, ptr %18, align 4, !tbaa !14
  %4174 = load i32, ptr %18, align 4, !tbaa !14
  %4175 = icmp slt i32 %4174, 0
  br i1 %4175, label %4176, label %4177

4176:                                             ; preds = %4149
  br label %4185

4177:                                             ; preds = %4149
  %4178 = load i32, ptr %18, align 4, !tbaa !14
  %4179 = icmp sgt i32 %4178, 255
  br i1 %4179, label %4180, label %4181

4180:                                             ; preds = %4177
  br label %4183

4181:                                             ; preds = %4177
  %4182 = load i32, ptr %18, align 4, !tbaa !14
  br label %4183

4183:                                             ; preds = %4181, %4180
  %4184 = phi i32 [ 255, %4180 ], [ %4182, %4181 ]
  br label %4185

4185:                                             ; preds = %4183, %4176
  %4186 = phi i32 [ 0, %4176 ], [ %4184, %4183 ]
  %4187 = trunc i32 %4186 to i8
  %4188 = load ptr, ptr %10, align 8, !tbaa !5
  %4189 = load i32, ptr %19, align 4, !tbaa !14
  %4190 = add nsw i32 %4189, 1
  %4191 = sext i32 %4190 to i64
  %4192 = getelementptr inbounds i8, ptr %4188, i64 %4191
  store i8 %4187, ptr %4192, align 1, !tbaa !15
  %4193 = load ptr, ptr %13, align 8, !tbaa !5
  %4194 = load i32, ptr %19, align 4, !tbaa !14
  %4195 = add nsw i32 %4194, 2
  %4196 = sext i32 %4195 to i64
  %4197 = getelementptr inbounds i8, ptr %4193, i64 %4196
  %4198 = load i8, ptr %4197, align 1, !tbaa !15
  %4199 = zext i8 %4198 to i32
  %4200 = load ptr, ptr %15, align 8, !tbaa !5
  %4201 = load i32, ptr %19, align 4, !tbaa !14
  %4202 = add nsw i32 %4201, 2
  %4203 = sext i32 %4202 to i64
  %4204 = getelementptr inbounds i8, ptr %4200, i64 %4203
  %4205 = load i8, ptr %4204, align 1, !tbaa !15
  %4206 = zext i8 %4205 to i64
  %4207 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4206
  %4208 = load i32, ptr %4207, align 4, !tbaa !14
  %4209 = add nsw i32 %4199, %4208
  store i32 %4209, ptr %16, align 4, !tbaa !14
  %4210 = load i32, ptr %16, align 4, !tbaa !14
  %4211 = icmp slt i32 %4210, 0
  br i1 %4211, label %4212, label %4213

4212:                                             ; preds = %4185
  br label %4221

4213:                                             ; preds = %4185
  %4214 = load i32, ptr %16, align 4, !tbaa !14
  %4215 = icmp sgt i32 %4214, 255
  br i1 %4215, label %4216, label %4217

4216:                                             ; preds = %4213
  br label %4219

4217:                                             ; preds = %4213
  %4218 = load i32, ptr %16, align 4, !tbaa !14
  br label %4219

4219:                                             ; preds = %4217, %4216
  %4220 = phi i32 [ 255, %4216 ], [ %4218, %4217 ]
  br label %4221

4221:                                             ; preds = %4219, %4212
  %4222 = phi i32 [ 0, %4212 ], [ %4220, %4219 ]
  %4223 = trunc i32 %4222 to i8
  %4224 = load ptr, ptr %12, align 8, !tbaa !5
  %4225 = load i32, ptr %19, align 4, !tbaa !14
  %4226 = add nsw i32 %4225, 2
  %4227 = sext i32 %4226 to i64
  %4228 = getelementptr inbounds i8, ptr %4224, i64 %4227
  store i8 %4223, ptr %4228, align 1, !tbaa !15
  %4229 = load ptr, ptr %13, align 8, !tbaa !5
  %4230 = load i32, ptr %19, align 4, !tbaa !14
  %4231 = add nsw i32 %4230, 2
  %4232 = sext i32 %4231 to i64
  %4233 = getelementptr inbounds i8, ptr %4229, i64 %4232
  %4234 = load i8, ptr %4233, align 1, !tbaa !15
  %4235 = zext i8 %4234 to i32
  %4236 = load ptr, ptr %14, align 8, !tbaa !5
  %4237 = load i32, ptr %19, align 4, !tbaa !14
  %4238 = add nsw i32 %4237, 2
  %4239 = sext i32 %4238 to i64
  %4240 = getelementptr inbounds i8, ptr %4236, i64 %4239
  %4241 = load i8, ptr %4240, align 1, !tbaa !15
  %4242 = zext i8 %4241 to i64
  %4243 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4242
  %4244 = load i32, ptr %4243, align 4, !tbaa !14
  %4245 = sub nsw i32 %4235, %4244
  %4246 = load ptr, ptr %15, align 8, !tbaa !5
  %4247 = load i32, ptr %19, align 4, !tbaa !14
  %4248 = add nsw i32 %4247, 2
  %4249 = sext i32 %4248 to i64
  %4250 = getelementptr inbounds i8, ptr %4246, i64 %4249
  %4251 = load i8, ptr %4250, align 1, !tbaa !15
  %4252 = zext i8 %4251 to i64
  %4253 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4252
  %4254 = load i32, ptr %4253, align 4, !tbaa !14
  %4255 = sub nsw i32 %4245, %4254
  store i32 %4255, ptr %17, align 4, !tbaa !14
  %4256 = load i32, ptr %17, align 4, !tbaa !14
  %4257 = icmp slt i32 %4256, 0
  br i1 %4257, label %4258, label %4259

4258:                                             ; preds = %4221
  br label %4267

4259:                                             ; preds = %4221
  %4260 = load i32, ptr %17, align 4, !tbaa !14
  %4261 = icmp sgt i32 %4260, 255
  br i1 %4261, label %4262, label %4263

4262:                                             ; preds = %4259
  br label %4265

4263:                                             ; preds = %4259
  %4264 = load i32, ptr %17, align 4, !tbaa !14
  br label %4265

4265:                                             ; preds = %4263, %4262
  %4266 = phi i32 [ 255, %4262 ], [ %4264, %4263 ]
  br label %4267

4267:                                             ; preds = %4265, %4258
  %4268 = phi i32 [ 0, %4258 ], [ %4266, %4265 ]
  %4269 = trunc i32 %4268 to i8
  %4270 = load ptr, ptr %11, align 8, !tbaa !5
  %4271 = load i32, ptr %19, align 4, !tbaa !14
  %4272 = add nsw i32 %4271, 2
  %4273 = sext i32 %4272 to i64
  %4274 = getelementptr inbounds i8, ptr %4270, i64 %4273
  store i8 %4269, ptr %4274, align 1, !tbaa !15
  %4275 = load ptr, ptr %13, align 8, !tbaa !5
  %4276 = load i32, ptr %19, align 4, !tbaa !14
  %4277 = add nsw i32 %4276, 2
  %4278 = sext i32 %4277 to i64
  %4279 = getelementptr inbounds i8, ptr %4275, i64 %4278
  %4280 = load i8, ptr %4279, align 1, !tbaa !15
  %4281 = zext i8 %4280 to i32
  %4282 = load ptr, ptr %14, align 8, !tbaa !5
  %4283 = load i32, ptr %19, align 4, !tbaa !14
  %4284 = add nsw i32 %4283, 2
  %4285 = sext i32 %4284 to i64
  %4286 = getelementptr inbounds i8, ptr %4282, i64 %4285
  %4287 = load i8, ptr %4286, align 1, !tbaa !15
  %4288 = zext i8 %4287 to i64
  %4289 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4288
  %4290 = load i32, ptr %4289, align 4, !tbaa !14
  %4291 = add nsw i32 %4281, %4290
  store i32 %4291, ptr %18, align 4, !tbaa !14
  %4292 = load i32, ptr %18, align 4, !tbaa !14
  %4293 = icmp slt i32 %4292, 0
  br i1 %4293, label %4294, label %4295

4294:                                             ; preds = %4267
  br label %4303

4295:                                             ; preds = %4267
  %4296 = load i32, ptr %18, align 4, !tbaa !14
  %4297 = icmp sgt i32 %4296, 255
  br i1 %4297, label %4298, label %4299

4298:                                             ; preds = %4295
  br label %4301

4299:                                             ; preds = %4295
  %4300 = load i32, ptr %18, align 4, !tbaa !14
  br label %4301

4301:                                             ; preds = %4299, %4298
  %4302 = phi i32 [ 255, %4298 ], [ %4300, %4299 ]
  br label %4303

4303:                                             ; preds = %4301, %4294
  %4304 = phi i32 [ 0, %4294 ], [ %4302, %4301 ]
  %4305 = trunc i32 %4304 to i8
  %4306 = load ptr, ptr %10, align 8, !tbaa !5
  %4307 = load i32, ptr %19, align 4, !tbaa !14
  %4308 = add nsw i32 %4307, 2
  %4309 = sext i32 %4308 to i64
  %4310 = getelementptr inbounds i8, ptr %4306, i64 %4309
  store i8 %4305, ptr %4310, align 1, !tbaa !15
  %4311 = load ptr, ptr %13, align 8, !tbaa !5
  %4312 = load i32, ptr %19, align 4, !tbaa !14
  %4313 = add nsw i32 %4312, 3
  %4314 = sext i32 %4313 to i64
  %4315 = getelementptr inbounds i8, ptr %4311, i64 %4314
  %4316 = load i8, ptr %4315, align 1, !tbaa !15
  %4317 = zext i8 %4316 to i32
  %4318 = load ptr, ptr %15, align 8, !tbaa !5
  %4319 = load i32, ptr %19, align 4, !tbaa !14
  %4320 = add nsw i32 %4319, 3
  %4321 = sext i32 %4320 to i64
  %4322 = getelementptr inbounds i8, ptr %4318, i64 %4321
  %4323 = load i8, ptr %4322, align 1, !tbaa !15
  %4324 = zext i8 %4323 to i64
  %4325 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4324
  %4326 = load i32, ptr %4325, align 4, !tbaa !14
  %4327 = add nsw i32 %4317, %4326
  store i32 %4327, ptr %16, align 4, !tbaa !14
  %4328 = load i32, ptr %16, align 4, !tbaa !14
  %4329 = icmp slt i32 %4328, 0
  br i1 %4329, label %4330, label %4331

4330:                                             ; preds = %4303
  br label %4339

4331:                                             ; preds = %4303
  %4332 = load i32, ptr %16, align 4, !tbaa !14
  %4333 = icmp sgt i32 %4332, 255
  br i1 %4333, label %4334, label %4335

4334:                                             ; preds = %4331
  br label %4337

4335:                                             ; preds = %4331
  %4336 = load i32, ptr %16, align 4, !tbaa !14
  br label %4337

4337:                                             ; preds = %4335, %4334
  %4338 = phi i32 [ 255, %4334 ], [ %4336, %4335 ]
  br label %4339

4339:                                             ; preds = %4337, %4330
  %4340 = phi i32 [ 0, %4330 ], [ %4338, %4337 ]
  %4341 = trunc i32 %4340 to i8
  %4342 = load ptr, ptr %12, align 8, !tbaa !5
  %4343 = load i32, ptr %19, align 4, !tbaa !14
  %4344 = add nsw i32 %4343, 3
  %4345 = sext i32 %4344 to i64
  %4346 = getelementptr inbounds i8, ptr %4342, i64 %4345
  store i8 %4341, ptr %4346, align 1, !tbaa !15
  %4347 = load ptr, ptr %13, align 8, !tbaa !5
  %4348 = load i32, ptr %19, align 4, !tbaa !14
  %4349 = add nsw i32 %4348, 3
  %4350 = sext i32 %4349 to i64
  %4351 = getelementptr inbounds i8, ptr %4347, i64 %4350
  %4352 = load i8, ptr %4351, align 1, !tbaa !15
  %4353 = zext i8 %4352 to i32
  %4354 = load ptr, ptr %14, align 8, !tbaa !5
  %4355 = load i32, ptr %19, align 4, !tbaa !14
  %4356 = add nsw i32 %4355, 3
  %4357 = sext i32 %4356 to i64
  %4358 = getelementptr inbounds i8, ptr %4354, i64 %4357
  %4359 = load i8, ptr %4358, align 1, !tbaa !15
  %4360 = zext i8 %4359 to i64
  %4361 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4360
  %4362 = load i32, ptr %4361, align 4, !tbaa !14
  %4363 = sub nsw i32 %4353, %4362
  %4364 = load ptr, ptr %15, align 8, !tbaa !5
  %4365 = load i32, ptr %19, align 4, !tbaa !14
  %4366 = add nsw i32 %4365, 3
  %4367 = sext i32 %4366 to i64
  %4368 = getelementptr inbounds i8, ptr %4364, i64 %4367
  %4369 = load i8, ptr %4368, align 1, !tbaa !15
  %4370 = zext i8 %4369 to i64
  %4371 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4370
  %4372 = load i32, ptr %4371, align 4, !tbaa !14
  %4373 = sub nsw i32 %4363, %4372
  store i32 %4373, ptr %17, align 4, !tbaa !14
  %4374 = load i32, ptr %17, align 4, !tbaa !14
  %4375 = icmp slt i32 %4374, 0
  br i1 %4375, label %4376, label %4377

4376:                                             ; preds = %4339
  br label %4385

4377:                                             ; preds = %4339
  %4378 = load i32, ptr %17, align 4, !tbaa !14
  %4379 = icmp sgt i32 %4378, 255
  br i1 %4379, label %4380, label %4381

4380:                                             ; preds = %4377
  br label %4383

4381:                                             ; preds = %4377
  %4382 = load i32, ptr %17, align 4, !tbaa !14
  br label %4383

4383:                                             ; preds = %4381, %4380
  %4384 = phi i32 [ 255, %4380 ], [ %4382, %4381 ]
  br label %4385

4385:                                             ; preds = %4383, %4376
  %4386 = phi i32 [ 0, %4376 ], [ %4384, %4383 ]
  %4387 = trunc i32 %4386 to i8
  %4388 = load ptr, ptr %11, align 8, !tbaa !5
  %4389 = load i32, ptr %19, align 4, !tbaa !14
  %4390 = add nsw i32 %4389, 3
  %4391 = sext i32 %4390 to i64
  %4392 = getelementptr inbounds i8, ptr %4388, i64 %4391
  store i8 %4387, ptr %4392, align 1, !tbaa !15
  %4393 = load ptr, ptr %13, align 8, !tbaa !5
  %4394 = load i32, ptr %19, align 4, !tbaa !14
  %4395 = add nsw i32 %4394, 3
  %4396 = sext i32 %4395 to i64
  %4397 = getelementptr inbounds i8, ptr %4393, i64 %4396
  %4398 = load i8, ptr %4397, align 1, !tbaa !15
  %4399 = zext i8 %4398 to i32
  %4400 = load ptr, ptr %14, align 8, !tbaa !5
  %4401 = load i32, ptr %19, align 4, !tbaa !14
  %4402 = add nsw i32 %4401, 3
  %4403 = sext i32 %4402 to i64
  %4404 = getelementptr inbounds i8, ptr %4400, i64 %4403
  %4405 = load i8, ptr %4404, align 1, !tbaa !15
  %4406 = zext i8 %4405 to i64
  %4407 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4406
  %4408 = load i32, ptr %4407, align 4, !tbaa !14
  %4409 = add nsw i32 %4399, %4408
  store i32 %4409, ptr %18, align 4, !tbaa !14
  %4410 = load i32, ptr %18, align 4, !tbaa !14
  %4411 = icmp slt i32 %4410, 0
  br i1 %4411, label %4412, label %4413

4412:                                             ; preds = %4385
  br label %4421

4413:                                             ; preds = %4385
  %4414 = load i32, ptr %18, align 4, !tbaa !14
  %4415 = icmp sgt i32 %4414, 255
  br i1 %4415, label %4416, label %4417

4416:                                             ; preds = %4413
  br label %4419

4417:                                             ; preds = %4413
  %4418 = load i32, ptr %18, align 4, !tbaa !14
  br label %4419

4419:                                             ; preds = %4417, %4416
  %4420 = phi i32 [ 255, %4416 ], [ %4418, %4417 ]
  br label %4421

4421:                                             ; preds = %4419, %4412
  %4422 = phi i32 [ 0, %4412 ], [ %4420, %4419 ]
  %4423 = trunc i32 %4422 to i8
  %4424 = load ptr, ptr %10, align 8, !tbaa !5
  %4425 = load i32, ptr %19, align 4, !tbaa !14
  %4426 = add nsw i32 %4425, 3
  %4427 = sext i32 %4426 to i64
  %4428 = getelementptr inbounds i8, ptr %4424, i64 %4427
  store i8 %4423, ptr %4428, align 1, !tbaa !15
  %4429 = load ptr, ptr %13, align 8, !tbaa !5
  %4430 = load i32, ptr %19, align 4, !tbaa !14
  %4431 = add nsw i32 %4430, 4
  %4432 = sext i32 %4431 to i64
  %4433 = getelementptr inbounds i8, ptr %4429, i64 %4432
  %4434 = load i8, ptr %4433, align 1, !tbaa !15
  %4435 = zext i8 %4434 to i32
  %4436 = load ptr, ptr %15, align 8, !tbaa !5
  %4437 = load i32, ptr %19, align 4, !tbaa !14
  %4438 = add nsw i32 %4437, 4
  %4439 = sext i32 %4438 to i64
  %4440 = getelementptr inbounds i8, ptr %4436, i64 %4439
  %4441 = load i8, ptr %4440, align 1, !tbaa !15
  %4442 = zext i8 %4441 to i64
  %4443 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4442
  %4444 = load i32, ptr %4443, align 4, !tbaa !14
  %4445 = add nsw i32 %4435, %4444
  store i32 %4445, ptr %16, align 4, !tbaa !14
  %4446 = load i32, ptr %16, align 4, !tbaa !14
  %4447 = icmp slt i32 %4446, 0
  br i1 %4447, label %4448, label %4449

4448:                                             ; preds = %4421
  br label %4457

4449:                                             ; preds = %4421
  %4450 = load i32, ptr %16, align 4, !tbaa !14
  %4451 = icmp sgt i32 %4450, 255
  br i1 %4451, label %4452, label %4453

4452:                                             ; preds = %4449
  br label %4455

4453:                                             ; preds = %4449
  %4454 = load i32, ptr %16, align 4, !tbaa !14
  br label %4455

4455:                                             ; preds = %4453, %4452
  %4456 = phi i32 [ 255, %4452 ], [ %4454, %4453 ]
  br label %4457

4457:                                             ; preds = %4455, %4448
  %4458 = phi i32 [ 0, %4448 ], [ %4456, %4455 ]
  %4459 = trunc i32 %4458 to i8
  %4460 = load ptr, ptr %12, align 8, !tbaa !5
  %4461 = load i32, ptr %19, align 4, !tbaa !14
  %4462 = add nsw i32 %4461, 4
  %4463 = sext i32 %4462 to i64
  %4464 = getelementptr inbounds i8, ptr %4460, i64 %4463
  store i8 %4459, ptr %4464, align 1, !tbaa !15
  %4465 = load ptr, ptr %13, align 8, !tbaa !5
  %4466 = load i32, ptr %19, align 4, !tbaa !14
  %4467 = add nsw i32 %4466, 4
  %4468 = sext i32 %4467 to i64
  %4469 = getelementptr inbounds i8, ptr %4465, i64 %4468
  %4470 = load i8, ptr %4469, align 1, !tbaa !15
  %4471 = zext i8 %4470 to i32
  %4472 = load ptr, ptr %14, align 8, !tbaa !5
  %4473 = load i32, ptr %19, align 4, !tbaa !14
  %4474 = add nsw i32 %4473, 4
  %4475 = sext i32 %4474 to i64
  %4476 = getelementptr inbounds i8, ptr %4472, i64 %4475
  %4477 = load i8, ptr %4476, align 1, !tbaa !15
  %4478 = zext i8 %4477 to i64
  %4479 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4478
  %4480 = load i32, ptr %4479, align 4, !tbaa !14
  %4481 = sub nsw i32 %4471, %4480
  %4482 = load ptr, ptr %15, align 8, !tbaa !5
  %4483 = load i32, ptr %19, align 4, !tbaa !14
  %4484 = add nsw i32 %4483, 4
  %4485 = sext i32 %4484 to i64
  %4486 = getelementptr inbounds i8, ptr %4482, i64 %4485
  %4487 = load i8, ptr %4486, align 1, !tbaa !15
  %4488 = zext i8 %4487 to i64
  %4489 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4488
  %4490 = load i32, ptr %4489, align 4, !tbaa !14
  %4491 = sub nsw i32 %4481, %4490
  store i32 %4491, ptr %17, align 4, !tbaa !14
  %4492 = load i32, ptr %17, align 4, !tbaa !14
  %4493 = icmp slt i32 %4492, 0
  br i1 %4493, label %4494, label %4495

4494:                                             ; preds = %4457
  br label %4503

4495:                                             ; preds = %4457
  %4496 = load i32, ptr %17, align 4, !tbaa !14
  %4497 = icmp sgt i32 %4496, 255
  br i1 %4497, label %4498, label %4499

4498:                                             ; preds = %4495
  br label %4501

4499:                                             ; preds = %4495
  %4500 = load i32, ptr %17, align 4, !tbaa !14
  br label %4501

4501:                                             ; preds = %4499, %4498
  %4502 = phi i32 [ 255, %4498 ], [ %4500, %4499 ]
  br label %4503

4503:                                             ; preds = %4501, %4494
  %4504 = phi i32 [ 0, %4494 ], [ %4502, %4501 ]
  %4505 = trunc i32 %4504 to i8
  %4506 = load ptr, ptr %11, align 8, !tbaa !5
  %4507 = load i32, ptr %19, align 4, !tbaa !14
  %4508 = add nsw i32 %4507, 4
  %4509 = sext i32 %4508 to i64
  %4510 = getelementptr inbounds i8, ptr %4506, i64 %4509
  store i8 %4505, ptr %4510, align 1, !tbaa !15
  %4511 = load ptr, ptr %13, align 8, !tbaa !5
  %4512 = load i32, ptr %19, align 4, !tbaa !14
  %4513 = add nsw i32 %4512, 4
  %4514 = sext i32 %4513 to i64
  %4515 = getelementptr inbounds i8, ptr %4511, i64 %4514
  %4516 = load i8, ptr %4515, align 1, !tbaa !15
  %4517 = zext i8 %4516 to i32
  %4518 = load ptr, ptr %14, align 8, !tbaa !5
  %4519 = load i32, ptr %19, align 4, !tbaa !14
  %4520 = add nsw i32 %4519, 4
  %4521 = sext i32 %4520 to i64
  %4522 = getelementptr inbounds i8, ptr %4518, i64 %4521
  %4523 = load i8, ptr %4522, align 1, !tbaa !15
  %4524 = zext i8 %4523 to i64
  %4525 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4524
  %4526 = load i32, ptr %4525, align 4, !tbaa !14
  %4527 = add nsw i32 %4517, %4526
  store i32 %4527, ptr %18, align 4, !tbaa !14
  %4528 = load i32, ptr %18, align 4, !tbaa !14
  %4529 = icmp slt i32 %4528, 0
  br i1 %4529, label %4530, label %4531

4530:                                             ; preds = %4503
  br label %4539

4531:                                             ; preds = %4503
  %4532 = load i32, ptr %18, align 4, !tbaa !14
  %4533 = icmp sgt i32 %4532, 255
  br i1 %4533, label %4534, label %4535

4534:                                             ; preds = %4531
  br label %4537

4535:                                             ; preds = %4531
  %4536 = load i32, ptr %18, align 4, !tbaa !14
  br label %4537

4537:                                             ; preds = %4535, %4534
  %4538 = phi i32 [ 255, %4534 ], [ %4536, %4535 ]
  br label %4539

4539:                                             ; preds = %4537, %4530
  %4540 = phi i32 [ 0, %4530 ], [ %4538, %4537 ]
  %4541 = trunc i32 %4540 to i8
  %4542 = load ptr, ptr %10, align 8, !tbaa !5
  %4543 = load i32, ptr %19, align 4, !tbaa !14
  %4544 = add nsw i32 %4543, 4
  %4545 = sext i32 %4544 to i64
  %4546 = getelementptr inbounds i8, ptr %4542, i64 %4545
  store i8 %4541, ptr %4546, align 1, !tbaa !15
  %4547 = load ptr, ptr %13, align 8, !tbaa !5
  %4548 = load i32, ptr %19, align 4, !tbaa !14
  %4549 = add nsw i32 %4548, 5
  %4550 = sext i32 %4549 to i64
  %4551 = getelementptr inbounds i8, ptr %4547, i64 %4550
  %4552 = load i8, ptr %4551, align 1, !tbaa !15
  %4553 = zext i8 %4552 to i32
  %4554 = load ptr, ptr %15, align 8, !tbaa !5
  %4555 = load i32, ptr %19, align 4, !tbaa !14
  %4556 = add nsw i32 %4555, 5
  %4557 = sext i32 %4556 to i64
  %4558 = getelementptr inbounds i8, ptr %4554, i64 %4557
  %4559 = load i8, ptr %4558, align 1, !tbaa !15
  %4560 = zext i8 %4559 to i64
  %4561 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4560
  %4562 = load i32, ptr %4561, align 4, !tbaa !14
  %4563 = add nsw i32 %4553, %4562
  store i32 %4563, ptr %16, align 4, !tbaa !14
  %4564 = load i32, ptr %16, align 4, !tbaa !14
  %4565 = icmp slt i32 %4564, 0
  br i1 %4565, label %4566, label %4567

4566:                                             ; preds = %4539
  br label %4575

4567:                                             ; preds = %4539
  %4568 = load i32, ptr %16, align 4, !tbaa !14
  %4569 = icmp sgt i32 %4568, 255
  br i1 %4569, label %4570, label %4571

4570:                                             ; preds = %4567
  br label %4573

4571:                                             ; preds = %4567
  %4572 = load i32, ptr %16, align 4, !tbaa !14
  br label %4573

4573:                                             ; preds = %4571, %4570
  %4574 = phi i32 [ 255, %4570 ], [ %4572, %4571 ]
  br label %4575

4575:                                             ; preds = %4573, %4566
  %4576 = phi i32 [ 0, %4566 ], [ %4574, %4573 ]
  %4577 = trunc i32 %4576 to i8
  %4578 = load ptr, ptr %12, align 8, !tbaa !5
  %4579 = load i32, ptr %19, align 4, !tbaa !14
  %4580 = add nsw i32 %4579, 5
  %4581 = sext i32 %4580 to i64
  %4582 = getelementptr inbounds i8, ptr %4578, i64 %4581
  store i8 %4577, ptr %4582, align 1, !tbaa !15
  %4583 = load ptr, ptr %13, align 8, !tbaa !5
  %4584 = load i32, ptr %19, align 4, !tbaa !14
  %4585 = add nsw i32 %4584, 5
  %4586 = sext i32 %4585 to i64
  %4587 = getelementptr inbounds i8, ptr %4583, i64 %4586
  %4588 = load i8, ptr %4587, align 1, !tbaa !15
  %4589 = zext i8 %4588 to i32
  %4590 = load ptr, ptr %14, align 8, !tbaa !5
  %4591 = load i32, ptr %19, align 4, !tbaa !14
  %4592 = add nsw i32 %4591, 5
  %4593 = sext i32 %4592 to i64
  %4594 = getelementptr inbounds i8, ptr %4590, i64 %4593
  %4595 = load i8, ptr %4594, align 1, !tbaa !15
  %4596 = zext i8 %4595 to i64
  %4597 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4596
  %4598 = load i32, ptr %4597, align 4, !tbaa !14
  %4599 = sub nsw i32 %4589, %4598
  %4600 = load ptr, ptr %15, align 8, !tbaa !5
  %4601 = load i32, ptr %19, align 4, !tbaa !14
  %4602 = add nsw i32 %4601, 5
  %4603 = sext i32 %4602 to i64
  %4604 = getelementptr inbounds i8, ptr %4600, i64 %4603
  %4605 = load i8, ptr %4604, align 1, !tbaa !15
  %4606 = zext i8 %4605 to i64
  %4607 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4606
  %4608 = load i32, ptr %4607, align 4, !tbaa !14
  %4609 = sub nsw i32 %4599, %4608
  store i32 %4609, ptr %17, align 4, !tbaa !14
  %4610 = load i32, ptr %17, align 4, !tbaa !14
  %4611 = icmp slt i32 %4610, 0
  br i1 %4611, label %4612, label %4613

4612:                                             ; preds = %4575
  br label %4621

4613:                                             ; preds = %4575
  %4614 = load i32, ptr %17, align 4, !tbaa !14
  %4615 = icmp sgt i32 %4614, 255
  br i1 %4615, label %4616, label %4617

4616:                                             ; preds = %4613
  br label %4619

4617:                                             ; preds = %4613
  %4618 = load i32, ptr %17, align 4, !tbaa !14
  br label %4619

4619:                                             ; preds = %4617, %4616
  %4620 = phi i32 [ 255, %4616 ], [ %4618, %4617 ]
  br label %4621

4621:                                             ; preds = %4619, %4612
  %4622 = phi i32 [ 0, %4612 ], [ %4620, %4619 ]
  %4623 = trunc i32 %4622 to i8
  %4624 = load ptr, ptr %11, align 8, !tbaa !5
  %4625 = load i32, ptr %19, align 4, !tbaa !14
  %4626 = add nsw i32 %4625, 5
  %4627 = sext i32 %4626 to i64
  %4628 = getelementptr inbounds i8, ptr %4624, i64 %4627
  store i8 %4623, ptr %4628, align 1, !tbaa !15
  %4629 = load ptr, ptr %13, align 8, !tbaa !5
  %4630 = load i32, ptr %19, align 4, !tbaa !14
  %4631 = add nsw i32 %4630, 5
  %4632 = sext i32 %4631 to i64
  %4633 = getelementptr inbounds i8, ptr %4629, i64 %4632
  %4634 = load i8, ptr %4633, align 1, !tbaa !15
  %4635 = zext i8 %4634 to i32
  %4636 = load ptr, ptr %14, align 8, !tbaa !5
  %4637 = load i32, ptr %19, align 4, !tbaa !14
  %4638 = add nsw i32 %4637, 5
  %4639 = sext i32 %4638 to i64
  %4640 = getelementptr inbounds i8, ptr %4636, i64 %4639
  %4641 = load i8, ptr %4640, align 1, !tbaa !15
  %4642 = zext i8 %4641 to i64
  %4643 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4642
  %4644 = load i32, ptr %4643, align 4, !tbaa !14
  %4645 = add nsw i32 %4635, %4644
  store i32 %4645, ptr %18, align 4, !tbaa !14
  %4646 = load i32, ptr %18, align 4, !tbaa !14
  %4647 = icmp slt i32 %4646, 0
  br i1 %4647, label %4648, label %4649

4648:                                             ; preds = %4621
  br label %4657

4649:                                             ; preds = %4621
  %4650 = load i32, ptr %18, align 4, !tbaa !14
  %4651 = icmp sgt i32 %4650, 255
  br i1 %4651, label %4652, label %4653

4652:                                             ; preds = %4649
  br label %4655

4653:                                             ; preds = %4649
  %4654 = load i32, ptr %18, align 4, !tbaa !14
  br label %4655

4655:                                             ; preds = %4653, %4652
  %4656 = phi i32 [ 255, %4652 ], [ %4654, %4653 ]
  br label %4657

4657:                                             ; preds = %4655, %4648
  %4658 = phi i32 [ 0, %4648 ], [ %4656, %4655 ]
  %4659 = trunc i32 %4658 to i8
  %4660 = load ptr, ptr %10, align 8, !tbaa !5
  %4661 = load i32, ptr %19, align 4, !tbaa !14
  %4662 = add nsw i32 %4661, 5
  %4663 = sext i32 %4662 to i64
  %4664 = getelementptr inbounds i8, ptr %4660, i64 %4663
  store i8 %4659, ptr %4664, align 1, !tbaa !15
  br label %16428

4665:                                             ; preds = %3949
  %4666 = load ptr, ptr %4, align 8, !tbaa !5
  %4667 = getelementptr inbounds %struct.MImage, ptr %4666, i32 0, i32 2
  %4668 = load i32, ptr %4667, align 8, !tbaa !13
  %4669 = load i32, ptr %19, align 4, !tbaa !14
  %4670 = sub nsw i32 %4668, %4669
  %4671 = icmp eq i32 %4670, 7
  br i1 %4671, label %4672, label %5499

4672:                                             ; preds = %4665
  %4673 = load ptr, ptr %13, align 8, !tbaa !5
  %4674 = load i32, ptr %19, align 4, !tbaa !14
  %4675 = add nsw i32 %4674, 0
  %4676 = sext i32 %4675 to i64
  %4677 = getelementptr inbounds i8, ptr %4673, i64 %4676
  %4678 = load i8, ptr %4677, align 1, !tbaa !15
  %4679 = zext i8 %4678 to i32
  %4680 = load ptr, ptr %15, align 8, !tbaa !5
  %4681 = load i32, ptr %19, align 4, !tbaa !14
  %4682 = add nsw i32 %4681, 0
  %4683 = sext i32 %4682 to i64
  %4684 = getelementptr inbounds i8, ptr %4680, i64 %4683
  %4685 = load i8, ptr %4684, align 1, !tbaa !15
  %4686 = zext i8 %4685 to i64
  %4687 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4686
  %4688 = load i32, ptr %4687, align 4, !tbaa !14
  %4689 = add nsw i32 %4679, %4688
  store i32 %4689, ptr %16, align 4, !tbaa !14
  %4690 = load i32, ptr %16, align 4, !tbaa !14
  %4691 = icmp slt i32 %4690, 0
  br i1 %4691, label %4692, label %4693

4692:                                             ; preds = %4672
  br label %4701

4693:                                             ; preds = %4672
  %4694 = load i32, ptr %16, align 4, !tbaa !14
  %4695 = icmp sgt i32 %4694, 255
  br i1 %4695, label %4696, label %4697

4696:                                             ; preds = %4693
  br label %4699

4697:                                             ; preds = %4693
  %4698 = load i32, ptr %16, align 4, !tbaa !14
  br label %4699

4699:                                             ; preds = %4697, %4696
  %4700 = phi i32 [ 255, %4696 ], [ %4698, %4697 ]
  br label %4701

4701:                                             ; preds = %4699, %4692
  %4702 = phi i32 [ 0, %4692 ], [ %4700, %4699 ]
  %4703 = trunc i32 %4702 to i8
  %4704 = load ptr, ptr %12, align 8, !tbaa !5
  %4705 = load i32, ptr %19, align 4, !tbaa !14
  %4706 = add nsw i32 %4705, 0
  %4707 = sext i32 %4706 to i64
  %4708 = getelementptr inbounds i8, ptr %4704, i64 %4707
  store i8 %4703, ptr %4708, align 1, !tbaa !15
  %4709 = load ptr, ptr %13, align 8, !tbaa !5
  %4710 = load i32, ptr %19, align 4, !tbaa !14
  %4711 = add nsw i32 %4710, 0
  %4712 = sext i32 %4711 to i64
  %4713 = getelementptr inbounds i8, ptr %4709, i64 %4712
  %4714 = load i8, ptr %4713, align 1, !tbaa !15
  %4715 = zext i8 %4714 to i32
  %4716 = load ptr, ptr %14, align 8, !tbaa !5
  %4717 = load i32, ptr %19, align 4, !tbaa !14
  %4718 = add nsw i32 %4717, 0
  %4719 = sext i32 %4718 to i64
  %4720 = getelementptr inbounds i8, ptr %4716, i64 %4719
  %4721 = load i8, ptr %4720, align 1, !tbaa !15
  %4722 = zext i8 %4721 to i64
  %4723 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4722
  %4724 = load i32, ptr %4723, align 4, !tbaa !14
  %4725 = sub nsw i32 %4715, %4724
  %4726 = load ptr, ptr %15, align 8, !tbaa !5
  %4727 = load i32, ptr %19, align 4, !tbaa !14
  %4728 = add nsw i32 %4727, 0
  %4729 = sext i32 %4728 to i64
  %4730 = getelementptr inbounds i8, ptr %4726, i64 %4729
  %4731 = load i8, ptr %4730, align 1, !tbaa !15
  %4732 = zext i8 %4731 to i64
  %4733 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4732
  %4734 = load i32, ptr %4733, align 4, !tbaa !14
  %4735 = sub nsw i32 %4725, %4734
  store i32 %4735, ptr %17, align 4, !tbaa !14
  %4736 = load i32, ptr %17, align 4, !tbaa !14
  %4737 = icmp slt i32 %4736, 0
  br i1 %4737, label %4738, label %4739

4738:                                             ; preds = %4701
  br label %4747

4739:                                             ; preds = %4701
  %4740 = load i32, ptr %17, align 4, !tbaa !14
  %4741 = icmp sgt i32 %4740, 255
  br i1 %4741, label %4742, label %4743

4742:                                             ; preds = %4739
  br label %4745

4743:                                             ; preds = %4739
  %4744 = load i32, ptr %17, align 4, !tbaa !14
  br label %4745

4745:                                             ; preds = %4743, %4742
  %4746 = phi i32 [ 255, %4742 ], [ %4744, %4743 ]
  br label %4747

4747:                                             ; preds = %4745, %4738
  %4748 = phi i32 [ 0, %4738 ], [ %4746, %4745 ]
  %4749 = trunc i32 %4748 to i8
  %4750 = load ptr, ptr %11, align 8, !tbaa !5
  %4751 = load i32, ptr %19, align 4, !tbaa !14
  %4752 = add nsw i32 %4751, 0
  %4753 = sext i32 %4752 to i64
  %4754 = getelementptr inbounds i8, ptr %4750, i64 %4753
  store i8 %4749, ptr %4754, align 1, !tbaa !15
  %4755 = load ptr, ptr %13, align 8, !tbaa !5
  %4756 = load i32, ptr %19, align 4, !tbaa !14
  %4757 = add nsw i32 %4756, 0
  %4758 = sext i32 %4757 to i64
  %4759 = getelementptr inbounds i8, ptr %4755, i64 %4758
  %4760 = load i8, ptr %4759, align 1, !tbaa !15
  %4761 = zext i8 %4760 to i32
  %4762 = load ptr, ptr %14, align 8, !tbaa !5
  %4763 = load i32, ptr %19, align 4, !tbaa !14
  %4764 = add nsw i32 %4763, 0
  %4765 = sext i32 %4764 to i64
  %4766 = getelementptr inbounds i8, ptr %4762, i64 %4765
  %4767 = load i8, ptr %4766, align 1, !tbaa !15
  %4768 = zext i8 %4767 to i64
  %4769 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4768
  %4770 = load i32, ptr %4769, align 4, !tbaa !14
  %4771 = add nsw i32 %4761, %4770
  store i32 %4771, ptr %18, align 4, !tbaa !14
  %4772 = load i32, ptr %18, align 4, !tbaa !14
  %4773 = icmp slt i32 %4772, 0
  br i1 %4773, label %4774, label %4775

4774:                                             ; preds = %4747
  br label %4783

4775:                                             ; preds = %4747
  %4776 = load i32, ptr %18, align 4, !tbaa !14
  %4777 = icmp sgt i32 %4776, 255
  br i1 %4777, label %4778, label %4779

4778:                                             ; preds = %4775
  br label %4781

4779:                                             ; preds = %4775
  %4780 = load i32, ptr %18, align 4, !tbaa !14
  br label %4781

4781:                                             ; preds = %4779, %4778
  %4782 = phi i32 [ 255, %4778 ], [ %4780, %4779 ]
  br label %4783

4783:                                             ; preds = %4781, %4774
  %4784 = phi i32 [ 0, %4774 ], [ %4782, %4781 ]
  %4785 = trunc i32 %4784 to i8
  %4786 = load ptr, ptr %10, align 8, !tbaa !5
  %4787 = load i32, ptr %19, align 4, !tbaa !14
  %4788 = add nsw i32 %4787, 0
  %4789 = sext i32 %4788 to i64
  %4790 = getelementptr inbounds i8, ptr %4786, i64 %4789
  store i8 %4785, ptr %4790, align 1, !tbaa !15
  %4791 = load ptr, ptr %13, align 8, !tbaa !5
  %4792 = load i32, ptr %19, align 4, !tbaa !14
  %4793 = add nsw i32 %4792, 1
  %4794 = sext i32 %4793 to i64
  %4795 = getelementptr inbounds i8, ptr %4791, i64 %4794
  %4796 = load i8, ptr %4795, align 1, !tbaa !15
  %4797 = zext i8 %4796 to i32
  %4798 = load ptr, ptr %15, align 8, !tbaa !5
  %4799 = load i32, ptr %19, align 4, !tbaa !14
  %4800 = add nsw i32 %4799, 1
  %4801 = sext i32 %4800 to i64
  %4802 = getelementptr inbounds i8, ptr %4798, i64 %4801
  %4803 = load i8, ptr %4802, align 1, !tbaa !15
  %4804 = zext i8 %4803 to i64
  %4805 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4804
  %4806 = load i32, ptr %4805, align 4, !tbaa !14
  %4807 = add nsw i32 %4797, %4806
  store i32 %4807, ptr %16, align 4, !tbaa !14
  %4808 = load i32, ptr %16, align 4, !tbaa !14
  %4809 = icmp slt i32 %4808, 0
  br i1 %4809, label %4810, label %4811

4810:                                             ; preds = %4783
  br label %4819

4811:                                             ; preds = %4783
  %4812 = load i32, ptr %16, align 4, !tbaa !14
  %4813 = icmp sgt i32 %4812, 255
  br i1 %4813, label %4814, label %4815

4814:                                             ; preds = %4811
  br label %4817

4815:                                             ; preds = %4811
  %4816 = load i32, ptr %16, align 4, !tbaa !14
  br label %4817

4817:                                             ; preds = %4815, %4814
  %4818 = phi i32 [ 255, %4814 ], [ %4816, %4815 ]
  br label %4819

4819:                                             ; preds = %4817, %4810
  %4820 = phi i32 [ 0, %4810 ], [ %4818, %4817 ]
  %4821 = trunc i32 %4820 to i8
  %4822 = load ptr, ptr %12, align 8, !tbaa !5
  %4823 = load i32, ptr %19, align 4, !tbaa !14
  %4824 = add nsw i32 %4823, 1
  %4825 = sext i32 %4824 to i64
  %4826 = getelementptr inbounds i8, ptr %4822, i64 %4825
  store i8 %4821, ptr %4826, align 1, !tbaa !15
  %4827 = load ptr, ptr %13, align 8, !tbaa !5
  %4828 = load i32, ptr %19, align 4, !tbaa !14
  %4829 = add nsw i32 %4828, 1
  %4830 = sext i32 %4829 to i64
  %4831 = getelementptr inbounds i8, ptr %4827, i64 %4830
  %4832 = load i8, ptr %4831, align 1, !tbaa !15
  %4833 = zext i8 %4832 to i32
  %4834 = load ptr, ptr %14, align 8, !tbaa !5
  %4835 = load i32, ptr %19, align 4, !tbaa !14
  %4836 = add nsw i32 %4835, 1
  %4837 = sext i32 %4836 to i64
  %4838 = getelementptr inbounds i8, ptr %4834, i64 %4837
  %4839 = load i8, ptr %4838, align 1, !tbaa !15
  %4840 = zext i8 %4839 to i64
  %4841 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4840
  %4842 = load i32, ptr %4841, align 4, !tbaa !14
  %4843 = sub nsw i32 %4833, %4842
  %4844 = load ptr, ptr %15, align 8, !tbaa !5
  %4845 = load i32, ptr %19, align 4, !tbaa !14
  %4846 = add nsw i32 %4845, 1
  %4847 = sext i32 %4846 to i64
  %4848 = getelementptr inbounds i8, ptr %4844, i64 %4847
  %4849 = load i8, ptr %4848, align 1, !tbaa !15
  %4850 = zext i8 %4849 to i64
  %4851 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4850
  %4852 = load i32, ptr %4851, align 4, !tbaa !14
  %4853 = sub nsw i32 %4843, %4852
  store i32 %4853, ptr %17, align 4, !tbaa !14
  %4854 = load i32, ptr %17, align 4, !tbaa !14
  %4855 = icmp slt i32 %4854, 0
  br i1 %4855, label %4856, label %4857

4856:                                             ; preds = %4819
  br label %4865

4857:                                             ; preds = %4819
  %4858 = load i32, ptr %17, align 4, !tbaa !14
  %4859 = icmp sgt i32 %4858, 255
  br i1 %4859, label %4860, label %4861

4860:                                             ; preds = %4857
  br label %4863

4861:                                             ; preds = %4857
  %4862 = load i32, ptr %17, align 4, !tbaa !14
  br label %4863

4863:                                             ; preds = %4861, %4860
  %4864 = phi i32 [ 255, %4860 ], [ %4862, %4861 ]
  br label %4865

4865:                                             ; preds = %4863, %4856
  %4866 = phi i32 [ 0, %4856 ], [ %4864, %4863 ]
  %4867 = trunc i32 %4866 to i8
  %4868 = load ptr, ptr %11, align 8, !tbaa !5
  %4869 = load i32, ptr %19, align 4, !tbaa !14
  %4870 = add nsw i32 %4869, 1
  %4871 = sext i32 %4870 to i64
  %4872 = getelementptr inbounds i8, ptr %4868, i64 %4871
  store i8 %4867, ptr %4872, align 1, !tbaa !15
  %4873 = load ptr, ptr %13, align 8, !tbaa !5
  %4874 = load i32, ptr %19, align 4, !tbaa !14
  %4875 = add nsw i32 %4874, 1
  %4876 = sext i32 %4875 to i64
  %4877 = getelementptr inbounds i8, ptr %4873, i64 %4876
  %4878 = load i8, ptr %4877, align 1, !tbaa !15
  %4879 = zext i8 %4878 to i32
  %4880 = load ptr, ptr %14, align 8, !tbaa !5
  %4881 = load i32, ptr %19, align 4, !tbaa !14
  %4882 = add nsw i32 %4881, 1
  %4883 = sext i32 %4882 to i64
  %4884 = getelementptr inbounds i8, ptr %4880, i64 %4883
  %4885 = load i8, ptr %4884, align 1, !tbaa !15
  %4886 = zext i8 %4885 to i64
  %4887 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %4886
  %4888 = load i32, ptr %4887, align 4, !tbaa !14
  %4889 = add nsw i32 %4879, %4888
  store i32 %4889, ptr %18, align 4, !tbaa !14
  %4890 = load i32, ptr %18, align 4, !tbaa !14
  %4891 = icmp slt i32 %4890, 0
  br i1 %4891, label %4892, label %4893

4892:                                             ; preds = %4865
  br label %4901

4893:                                             ; preds = %4865
  %4894 = load i32, ptr %18, align 4, !tbaa !14
  %4895 = icmp sgt i32 %4894, 255
  br i1 %4895, label %4896, label %4897

4896:                                             ; preds = %4893
  br label %4899

4897:                                             ; preds = %4893
  %4898 = load i32, ptr %18, align 4, !tbaa !14
  br label %4899

4899:                                             ; preds = %4897, %4896
  %4900 = phi i32 [ 255, %4896 ], [ %4898, %4897 ]
  br label %4901

4901:                                             ; preds = %4899, %4892
  %4902 = phi i32 [ 0, %4892 ], [ %4900, %4899 ]
  %4903 = trunc i32 %4902 to i8
  %4904 = load ptr, ptr %10, align 8, !tbaa !5
  %4905 = load i32, ptr %19, align 4, !tbaa !14
  %4906 = add nsw i32 %4905, 1
  %4907 = sext i32 %4906 to i64
  %4908 = getelementptr inbounds i8, ptr %4904, i64 %4907
  store i8 %4903, ptr %4908, align 1, !tbaa !15
  %4909 = load ptr, ptr %13, align 8, !tbaa !5
  %4910 = load i32, ptr %19, align 4, !tbaa !14
  %4911 = add nsw i32 %4910, 2
  %4912 = sext i32 %4911 to i64
  %4913 = getelementptr inbounds i8, ptr %4909, i64 %4912
  %4914 = load i8, ptr %4913, align 1, !tbaa !15
  %4915 = zext i8 %4914 to i32
  %4916 = load ptr, ptr %15, align 8, !tbaa !5
  %4917 = load i32, ptr %19, align 4, !tbaa !14
  %4918 = add nsw i32 %4917, 2
  %4919 = sext i32 %4918 to i64
  %4920 = getelementptr inbounds i8, ptr %4916, i64 %4919
  %4921 = load i8, ptr %4920, align 1, !tbaa !15
  %4922 = zext i8 %4921 to i64
  %4923 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %4922
  %4924 = load i32, ptr %4923, align 4, !tbaa !14
  %4925 = add nsw i32 %4915, %4924
  store i32 %4925, ptr %16, align 4, !tbaa !14
  %4926 = load i32, ptr %16, align 4, !tbaa !14
  %4927 = icmp slt i32 %4926, 0
  br i1 %4927, label %4928, label %4929

4928:                                             ; preds = %4901
  br label %4937

4929:                                             ; preds = %4901
  %4930 = load i32, ptr %16, align 4, !tbaa !14
  %4931 = icmp sgt i32 %4930, 255
  br i1 %4931, label %4932, label %4933

4932:                                             ; preds = %4929
  br label %4935

4933:                                             ; preds = %4929
  %4934 = load i32, ptr %16, align 4, !tbaa !14
  br label %4935

4935:                                             ; preds = %4933, %4932
  %4936 = phi i32 [ 255, %4932 ], [ %4934, %4933 ]
  br label %4937

4937:                                             ; preds = %4935, %4928
  %4938 = phi i32 [ 0, %4928 ], [ %4936, %4935 ]
  %4939 = trunc i32 %4938 to i8
  %4940 = load ptr, ptr %12, align 8, !tbaa !5
  %4941 = load i32, ptr %19, align 4, !tbaa !14
  %4942 = add nsw i32 %4941, 2
  %4943 = sext i32 %4942 to i64
  %4944 = getelementptr inbounds i8, ptr %4940, i64 %4943
  store i8 %4939, ptr %4944, align 1, !tbaa !15
  %4945 = load ptr, ptr %13, align 8, !tbaa !5
  %4946 = load i32, ptr %19, align 4, !tbaa !14
  %4947 = add nsw i32 %4946, 2
  %4948 = sext i32 %4947 to i64
  %4949 = getelementptr inbounds i8, ptr %4945, i64 %4948
  %4950 = load i8, ptr %4949, align 1, !tbaa !15
  %4951 = zext i8 %4950 to i32
  %4952 = load ptr, ptr %14, align 8, !tbaa !5
  %4953 = load i32, ptr %19, align 4, !tbaa !14
  %4954 = add nsw i32 %4953, 2
  %4955 = sext i32 %4954 to i64
  %4956 = getelementptr inbounds i8, ptr %4952, i64 %4955
  %4957 = load i8, ptr %4956, align 1, !tbaa !15
  %4958 = zext i8 %4957 to i64
  %4959 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %4958
  %4960 = load i32, ptr %4959, align 4, !tbaa !14
  %4961 = sub nsw i32 %4951, %4960
  %4962 = load ptr, ptr %15, align 8, !tbaa !5
  %4963 = load i32, ptr %19, align 4, !tbaa !14
  %4964 = add nsw i32 %4963, 2
  %4965 = sext i32 %4964 to i64
  %4966 = getelementptr inbounds i8, ptr %4962, i64 %4965
  %4967 = load i8, ptr %4966, align 1, !tbaa !15
  %4968 = zext i8 %4967 to i64
  %4969 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %4968
  %4970 = load i32, ptr %4969, align 4, !tbaa !14
  %4971 = sub nsw i32 %4961, %4970
  store i32 %4971, ptr %17, align 4, !tbaa !14
  %4972 = load i32, ptr %17, align 4, !tbaa !14
  %4973 = icmp slt i32 %4972, 0
  br i1 %4973, label %4974, label %4975

4974:                                             ; preds = %4937
  br label %4983

4975:                                             ; preds = %4937
  %4976 = load i32, ptr %17, align 4, !tbaa !14
  %4977 = icmp sgt i32 %4976, 255
  br i1 %4977, label %4978, label %4979

4978:                                             ; preds = %4975
  br label %4981

4979:                                             ; preds = %4975
  %4980 = load i32, ptr %17, align 4, !tbaa !14
  br label %4981

4981:                                             ; preds = %4979, %4978
  %4982 = phi i32 [ 255, %4978 ], [ %4980, %4979 ]
  br label %4983

4983:                                             ; preds = %4981, %4974
  %4984 = phi i32 [ 0, %4974 ], [ %4982, %4981 ]
  %4985 = trunc i32 %4984 to i8
  %4986 = load ptr, ptr %11, align 8, !tbaa !5
  %4987 = load i32, ptr %19, align 4, !tbaa !14
  %4988 = add nsw i32 %4987, 2
  %4989 = sext i32 %4988 to i64
  %4990 = getelementptr inbounds i8, ptr %4986, i64 %4989
  store i8 %4985, ptr %4990, align 1, !tbaa !15
  %4991 = load ptr, ptr %13, align 8, !tbaa !5
  %4992 = load i32, ptr %19, align 4, !tbaa !14
  %4993 = add nsw i32 %4992, 2
  %4994 = sext i32 %4993 to i64
  %4995 = getelementptr inbounds i8, ptr %4991, i64 %4994
  %4996 = load i8, ptr %4995, align 1, !tbaa !15
  %4997 = zext i8 %4996 to i32
  %4998 = load ptr, ptr %14, align 8, !tbaa !5
  %4999 = load i32, ptr %19, align 4, !tbaa !14
  %5000 = add nsw i32 %4999, 2
  %5001 = sext i32 %5000 to i64
  %5002 = getelementptr inbounds i8, ptr %4998, i64 %5001
  %5003 = load i8, ptr %5002, align 1, !tbaa !15
  %5004 = zext i8 %5003 to i64
  %5005 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5004
  %5006 = load i32, ptr %5005, align 4, !tbaa !14
  %5007 = add nsw i32 %4997, %5006
  store i32 %5007, ptr %18, align 4, !tbaa !14
  %5008 = load i32, ptr %18, align 4, !tbaa !14
  %5009 = icmp slt i32 %5008, 0
  br i1 %5009, label %5010, label %5011

5010:                                             ; preds = %4983
  br label %5019

5011:                                             ; preds = %4983
  %5012 = load i32, ptr %18, align 4, !tbaa !14
  %5013 = icmp sgt i32 %5012, 255
  br i1 %5013, label %5014, label %5015

5014:                                             ; preds = %5011
  br label %5017

5015:                                             ; preds = %5011
  %5016 = load i32, ptr %18, align 4, !tbaa !14
  br label %5017

5017:                                             ; preds = %5015, %5014
  %5018 = phi i32 [ 255, %5014 ], [ %5016, %5015 ]
  br label %5019

5019:                                             ; preds = %5017, %5010
  %5020 = phi i32 [ 0, %5010 ], [ %5018, %5017 ]
  %5021 = trunc i32 %5020 to i8
  %5022 = load ptr, ptr %10, align 8, !tbaa !5
  %5023 = load i32, ptr %19, align 4, !tbaa !14
  %5024 = add nsw i32 %5023, 2
  %5025 = sext i32 %5024 to i64
  %5026 = getelementptr inbounds i8, ptr %5022, i64 %5025
  store i8 %5021, ptr %5026, align 1, !tbaa !15
  %5027 = load ptr, ptr %13, align 8, !tbaa !5
  %5028 = load i32, ptr %19, align 4, !tbaa !14
  %5029 = add nsw i32 %5028, 3
  %5030 = sext i32 %5029 to i64
  %5031 = getelementptr inbounds i8, ptr %5027, i64 %5030
  %5032 = load i8, ptr %5031, align 1, !tbaa !15
  %5033 = zext i8 %5032 to i32
  %5034 = load ptr, ptr %15, align 8, !tbaa !5
  %5035 = load i32, ptr %19, align 4, !tbaa !14
  %5036 = add nsw i32 %5035, 3
  %5037 = sext i32 %5036 to i64
  %5038 = getelementptr inbounds i8, ptr %5034, i64 %5037
  %5039 = load i8, ptr %5038, align 1, !tbaa !15
  %5040 = zext i8 %5039 to i64
  %5041 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5040
  %5042 = load i32, ptr %5041, align 4, !tbaa !14
  %5043 = add nsw i32 %5033, %5042
  store i32 %5043, ptr %16, align 4, !tbaa !14
  %5044 = load i32, ptr %16, align 4, !tbaa !14
  %5045 = icmp slt i32 %5044, 0
  br i1 %5045, label %5046, label %5047

5046:                                             ; preds = %5019
  br label %5055

5047:                                             ; preds = %5019
  %5048 = load i32, ptr %16, align 4, !tbaa !14
  %5049 = icmp sgt i32 %5048, 255
  br i1 %5049, label %5050, label %5051

5050:                                             ; preds = %5047
  br label %5053

5051:                                             ; preds = %5047
  %5052 = load i32, ptr %16, align 4, !tbaa !14
  br label %5053

5053:                                             ; preds = %5051, %5050
  %5054 = phi i32 [ 255, %5050 ], [ %5052, %5051 ]
  br label %5055

5055:                                             ; preds = %5053, %5046
  %5056 = phi i32 [ 0, %5046 ], [ %5054, %5053 ]
  %5057 = trunc i32 %5056 to i8
  %5058 = load ptr, ptr %12, align 8, !tbaa !5
  %5059 = load i32, ptr %19, align 4, !tbaa !14
  %5060 = add nsw i32 %5059, 3
  %5061 = sext i32 %5060 to i64
  %5062 = getelementptr inbounds i8, ptr %5058, i64 %5061
  store i8 %5057, ptr %5062, align 1, !tbaa !15
  %5063 = load ptr, ptr %13, align 8, !tbaa !5
  %5064 = load i32, ptr %19, align 4, !tbaa !14
  %5065 = add nsw i32 %5064, 3
  %5066 = sext i32 %5065 to i64
  %5067 = getelementptr inbounds i8, ptr %5063, i64 %5066
  %5068 = load i8, ptr %5067, align 1, !tbaa !15
  %5069 = zext i8 %5068 to i32
  %5070 = load ptr, ptr %14, align 8, !tbaa !5
  %5071 = load i32, ptr %19, align 4, !tbaa !14
  %5072 = add nsw i32 %5071, 3
  %5073 = sext i32 %5072 to i64
  %5074 = getelementptr inbounds i8, ptr %5070, i64 %5073
  %5075 = load i8, ptr %5074, align 1, !tbaa !15
  %5076 = zext i8 %5075 to i64
  %5077 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5076
  %5078 = load i32, ptr %5077, align 4, !tbaa !14
  %5079 = sub nsw i32 %5069, %5078
  %5080 = load ptr, ptr %15, align 8, !tbaa !5
  %5081 = load i32, ptr %19, align 4, !tbaa !14
  %5082 = add nsw i32 %5081, 3
  %5083 = sext i32 %5082 to i64
  %5084 = getelementptr inbounds i8, ptr %5080, i64 %5083
  %5085 = load i8, ptr %5084, align 1, !tbaa !15
  %5086 = zext i8 %5085 to i64
  %5087 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5086
  %5088 = load i32, ptr %5087, align 4, !tbaa !14
  %5089 = sub nsw i32 %5079, %5088
  store i32 %5089, ptr %17, align 4, !tbaa !14
  %5090 = load i32, ptr %17, align 4, !tbaa !14
  %5091 = icmp slt i32 %5090, 0
  br i1 %5091, label %5092, label %5093

5092:                                             ; preds = %5055
  br label %5101

5093:                                             ; preds = %5055
  %5094 = load i32, ptr %17, align 4, !tbaa !14
  %5095 = icmp sgt i32 %5094, 255
  br i1 %5095, label %5096, label %5097

5096:                                             ; preds = %5093
  br label %5099

5097:                                             ; preds = %5093
  %5098 = load i32, ptr %17, align 4, !tbaa !14
  br label %5099

5099:                                             ; preds = %5097, %5096
  %5100 = phi i32 [ 255, %5096 ], [ %5098, %5097 ]
  br label %5101

5101:                                             ; preds = %5099, %5092
  %5102 = phi i32 [ 0, %5092 ], [ %5100, %5099 ]
  %5103 = trunc i32 %5102 to i8
  %5104 = load ptr, ptr %11, align 8, !tbaa !5
  %5105 = load i32, ptr %19, align 4, !tbaa !14
  %5106 = add nsw i32 %5105, 3
  %5107 = sext i32 %5106 to i64
  %5108 = getelementptr inbounds i8, ptr %5104, i64 %5107
  store i8 %5103, ptr %5108, align 1, !tbaa !15
  %5109 = load ptr, ptr %13, align 8, !tbaa !5
  %5110 = load i32, ptr %19, align 4, !tbaa !14
  %5111 = add nsw i32 %5110, 3
  %5112 = sext i32 %5111 to i64
  %5113 = getelementptr inbounds i8, ptr %5109, i64 %5112
  %5114 = load i8, ptr %5113, align 1, !tbaa !15
  %5115 = zext i8 %5114 to i32
  %5116 = load ptr, ptr %14, align 8, !tbaa !5
  %5117 = load i32, ptr %19, align 4, !tbaa !14
  %5118 = add nsw i32 %5117, 3
  %5119 = sext i32 %5118 to i64
  %5120 = getelementptr inbounds i8, ptr %5116, i64 %5119
  %5121 = load i8, ptr %5120, align 1, !tbaa !15
  %5122 = zext i8 %5121 to i64
  %5123 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5122
  %5124 = load i32, ptr %5123, align 4, !tbaa !14
  %5125 = add nsw i32 %5115, %5124
  store i32 %5125, ptr %18, align 4, !tbaa !14
  %5126 = load i32, ptr %18, align 4, !tbaa !14
  %5127 = icmp slt i32 %5126, 0
  br i1 %5127, label %5128, label %5129

5128:                                             ; preds = %5101
  br label %5137

5129:                                             ; preds = %5101
  %5130 = load i32, ptr %18, align 4, !tbaa !14
  %5131 = icmp sgt i32 %5130, 255
  br i1 %5131, label %5132, label %5133

5132:                                             ; preds = %5129
  br label %5135

5133:                                             ; preds = %5129
  %5134 = load i32, ptr %18, align 4, !tbaa !14
  br label %5135

5135:                                             ; preds = %5133, %5132
  %5136 = phi i32 [ 255, %5132 ], [ %5134, %5133 ]
  br label %5137

5137:                                             ; preds = %5135, %5128
  %5138 = phi i32 [ 0, %5128 ], [ %5136, %5135 ]
  %5139 = trunc i32 %5138 to i8
  %5140 = load ptr, ptr %10, align 8, !tbaa !5
  %5141 = load i32, ptr %19, align 4, !tbaa !14
  %5142 = add nsw i32 %5141, 3
  %5143 = sext i32 %5142 to i64
  %5144 = getelementptr inbounds i8, ptr %5140, i64 %5143
  store i8 %5139, ptr %5144, align 1, !tbaa !15
  %5145 = load ptr, ptr %13, align 8, !tbaa !5
  %5146 = load i32, ptr %19, align 4, !tbaa !14
  %5147 = add nsw i32 %5146, 4
  %5148 = sext i32 %5147 to i64
  %5149 = getelementptr inbounds i8, ptr %5145, i64 %5148
  %5150 = load i8, ptr %5149, align 1, !tbaa !15
  %5151 = zext i8 %5150 to i32
  %5152 = load ptr, ptr %15, align 8, !tbaa !5
  %5153 = load i32, ptr %19, align 4, !tbaa !14
  %5154 = add nsw i32 %5153, 4
  %5155 = sext i32 %5154 to i64
  %5156 = getelementptr inbounds i8, ptr %5152, i64 %5155
  %5157 = load i8, ptr %5156, align 1, !tbaa !15
  %5158 = zext i8 %5157 to i64
  %5159 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5158
  %5160 = load i32, ptr %5159, align 4, !tbaa !14
  %5161 = add nsw i32 %5151, %5160
  store i32 %5161, ptr %16, align 4, !tbaa !14
  %5162 = load i32, ptr %16, align 4, !tbaa !14
  %5163 = icmp slt i32 %5162, 0
  br i1 %5163, label %5164, label %5165

5164:                                             ; preds = %5137
  br label %5173

5165:                                             ; preds = %5137
  %5166 = load i32, ptr %16, align 4, !tbaa !14
  %5167 = icmp sgt i32 %5166, 255
  br i1 %5167, label %5168, label %5169

5168:                                             ; preds = %5165
  br label %5171

5169:                                             ; preds = %5165
  %5170 = load i32, ptr %16, align 4, !tbaa !14
  br label %5171

5171:                                             ; preds = %5169, %5168
  %5172 = phi i32 [ 255, %5168 ], [ %5170, %5169 ]
  br label %5173

5173:                                             ; preds = %5171, %5164
  %5174 = phi i32 [ 0, %5164 ], [ %5172, %5171 ]
  %5175 = trunc i32 %5174 to i8
  %5176 = load ptr, ptr %12, align 8, !tbaa !5
  %5177 = load i32, ptr %19, align 4, !tbaa !14
  %5178 = add nsw i32 %5177, 4
  %5179 = sext i32 %5178 to i64
  %5180 = getelementptr inbounds i8, ptr %5176, i64 %5179
  store i8 %5175, ptr %5180, align 1, !tbaa !15
  %5181 = load ptr, ptr %13, align 8, !tbaa !5
  %5182 = load i32, ptr %19, align 4, !tbaa !14
  %5183 = add nsw i32 %5182, 4
  %5184 = sext i32 %5183 to i64
  %5185 = getelementptr inbounds i8, ptr %5181, i64 %5184
  %5186 = load i8, ptr %5185, align 1, !tbaa !15
  %5187 = zext i8 %5186 to i32
  %5188 = load ptr, ptr %14, align 8, !tbaa !5
  %5189 = load i32, ptr %19, align 4, !tbaa !14
  %5190 = add nsw i32 %5189, 4
  %5191 = sext i32 %5190 to i64
  %5192 = getelementptr inbounds i8, ptr %5188, i64 %5191
  %5193 = load i8, ptr %5192, align 1, !tbaa !15
  %5194 = zext i8 %5193 to i64
  %5195 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5194
  %5196 = load i32, ptr %5195, align 4, !tbaa !14
  %5197 = sub nsw i32 %5187, %5196
  %5198 = load ptr, ptr %15, align 8, !tbaa !5
  %5199 = load i32, ptr %19, align 4, !tbaa !14
  %5200 = add nsw i32 %5199, 4
  %5201 = sext i32 %5200 to i64
  %5202 = getelementptr inbounds i8, ptr %5198, i64 %5201
  %5203 = load i8, ptr %5202, align 1, !tbaa !15
  %5204 = zext i8 %5203 to i64
  %5205 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5204
  %5206 = load i32, ptr %5205, align 4, !tbaa !14
  %5207 = sub nsw i32 %5197, %5206
  store i32 %5207, ptr %17, align 4, !tbaa !14
  %5208 = load i32, ptr %17, align 4, !tbaa !14
  %5209 = icmp slt i32 %5208, 0
  br i1 %5209, label %5210, label %5211

5210:                                             ; preds = %5173
  br label %5219

5211:                                             ; preds = %5173
  %5212 = load i32, ptr %17, align 4, !tbaa !14
  %5213 = icmp sgt i32 %5212, 255
  br i1 %5213, label %5214, label %5215

5214:                                             ; preds = %5211
  br label %5217

5215:                                             ; preds = %5211
  %5216 = load i32, ptr %17, align 4, !tbaa !14
  br label %5217

5217:                                             ; preds = %5215, %5214
  %5218 = phi i32 [ 255, %5214 ], [ %5216, %5215 ]
  br label %5219

5219:                                             ; preds = %5217, %5210
  %5220 = phi i32 [ 0, %5210 ], [ %5218, %5217 ]
  %5221 = trunc i32 %5220 to i8
  %5222 = load ptr, ptr %11, align 8, !tbaa !5
  %5223 = load i32, ptr %19, align 4, !tbaa !14
  %5224 = add nsw i32 %5223, 4
  %5225 = sext i32 %5224 to i64
  %5226 = getelementptr inbounds i8, ptr %5222, i64 %5225
  store i8 %5221, ptr %5226, align 1, !tbaa !15
  %5227 = load ptr, ptr %13, align 8, !tbaa !5
  %5228 = load i32, ptr %19, align 4, !tbaa !14
  %5229 = add nsw i32 %5228, 4
  %5230 = sext i32 %5229 to i64
  %5231 = getelementptr inbounds i8, ptr %5227, i64 %5230
  %5232 = load i8, ptr %5231, align 1, !tbaa !15
  %5233 = zext i8 %5232 to i32
  %5234 = load ptr, ptr %14, align 8, !tbaa !5
  %5235 = load i32, ptr %19, align 4, !tbaa !14
  %5236 = add nsw i32 %5235, 4
  %5237 = sext i32 %5236 to i64
  %5238 = getelementptr inbounds i8, ptr %5234, i64 %5237
  %5239 = load i8, ptr %5238, align 1, !tbaa !15
  %5240 = zext i8 %5239 to i64
  %5241 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5240
  %5242 = load i32, ptr %5241, align 4, !tbaa !14
  %5243 = add nsw i32 %5233, %5242
  store i32 %5243, ptr %18, align 4, !tbaa !14
  %5244 = load i32, ptr %18, align 4, !tbaa !14
  %5245 = icmp slt i32 %5244, 0
  br i1 %5245, label %5246, label %5247

5246:                                             ; preds = %5219
  br label %5255

5247:                                             ; preds = %5219
  %5248 = load i32, ptr %18, align 4, !tbaa !14
  %5249 = icmp sgt i32 %5248, 255
  br i1 %5249, label %5250, label %5251

5250:                                             ; preds = %5247
  br label %5253

5251:                                             ; preds = %5247
  %5252 = load i32, ptr %18, align 4, !tbaa !14
  br label %5253

5253:                                             ; preds = %5251, %5250
  %5254 = phi i32 [ 255, %5250 ], [ %5252, %5251 ]
  br label %5255

5255:                                             ; preds = %5253, %5246
  %5256 = phi i32 [ 0, %5246 ], [ %5254, %5253 ]
  %5257 = trunc i32 %5256 to i8
  %5258 = load ptr, ptr %10, align 8, !tbaa !5
  %5259 = load i32, ptr %19, align 4, !tbaa !14
  %5260 = add nsw i32 %5259, 4
  %5261 = sext i32 %5260 to i64
  %5262 = getelementptr inbounds i8, ptr %5258, i64 %5261
  store i8 %5257, ptr %5262, align 1, !tbaa !15
  %5263 = load ptr, ptr %13, align 8, !tbaa !5
  %5264 = load i32, ptr %19, align 4, !tbaa !14
  %5265 = add nsw i32 %5264, 5
  %5266 = sext i32 %5265 to i64
  %5267 = getelementptr inbounds i8, ptr %5263, i64 %5266
  %5268 = load i8, ptr %5267, align 1, !tbaa !15
  %5269 = zext i8 %5268 to i32
  %5270 = load ptr, ptr %15, align 8, !tbaa !5
  %5271 = load i32, ptr %19, align 4, !tbaa !14
  %5272 = add nsw i32 %5271, 5
  %5273 = sext i32 %5272 to i64
  %5274 = getelementptr inbounds i8, ptr %5270, i64 %5273
  %5275 = load i8, ptr %5274, align 1, !tbaa !15
  %5276 = zext i8 %5275 to i64
  %5277 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5276
  %5278 = load i32, ptr %5277, align 4, !tbaa !14
  %5279 = add nsw i32 %5269, %5278
  store i32 %5279, ptr %16, align 4, !tbaa !14
  %5280 = load i32, ptr %16, align 4, !tbaa !14
  %5281 = icmp slt i32 %5280, 0
  br i1 %5281, label %5282, label %5283

5282:                                             ; preds = %5255
  br label %5291

5283:                                             ; preds = %5255
  %5284 = load i32, ptr %16, align 4, !tbaa !14
  %5285 = icmp sgt i32 %5284, 255
  br i1 %5285, label %5286, label %5287

5286:                                             ; preds = %5283
  br label %5289

5287:                                             ; preds = %5283
  %5288 = load i32, ptr %16, align 4, !tbaa !14
  br label %5289

5289:                                             ; preds = %5287, %5286
  %5290 = phi i32 [ 255, %5286 ], [ %5288, %5287 ]
  br label %5291

5291:                                             ; preds = %5289, %5282
  %5292 = phi i32 [ 0, %5282 ], [ %5290, %5289 ]
  %5293 = trunc i32 %5292 to i8
  %5294 = load ptr, ptr %12, align 8, !tbaa !5
  %5295 = load i32, ptr %19, align 4, !tbaa !14
  %5296 = add nsw i32 %5295, 5
  %5297 = sext i32 %5296 to i64
  %5298 = getelementptr inbounds i8, ptr %5294, i64 %5297
  store i8 %5293, ptr %5298, align 1, !tbaa !15
  %5299 = load ptr, ptr %13, align 8, !tbaa !5
  %5300 = load i32, ptr %19, align 4, !tbaa !14
  %5301 = add nsw i32 %5300, 5
  %5302 = sext i32 %5301 to i64
  %5303 = getelementptr inbounds i8, ptr %5299, i64 %5302
  %5304 = load i8, ptr %5303, align 1, !tbaa !15
  %5305 = zext i8 %5304 to i32
  %5306 = load ptr, ptr %14, align 8, !tbaa !5
  %5307 = load i32, ptr %19, align 4, !tbaa !14
  %5308 = add nsw i32 %5307, 5
  %5309 = sext i32 %5308 to i64
  %5310 = getelementptr inbounds i8, ptr %5306, i64 %5309
  %5311 = load i8, ptr %5310, align 1, !tbaa !15
  %5312 = zext i8 %5311 to i64
  %5313 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5312
  %5314 = load i32, ptr %5313, align 4, !tbaa !14
  %5315 = sub nsw i32 %5305, %5314
  %5316 = load ptr, ptr %15, align 8, !tbaa !5
  %5317 = load i32, ptr %19, align 4, !tbaa !14
  %5318 = add nsw i32 %5317, 5
  %5319 = sext i32 %5318 to i64
  %5320 = getelementptr inbounds i8, ptr %5316, i64 %5319
  %5321 = load i8, ptr %5320, align 1, !tbaa !15
  %5322 = zext i8 %5321 to i64
  %5323 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5322
  %5324 = load i32, ptr %5323, align 4, !tbaa !14
  %5325 = sub nsw i32 %5315, %5324
  store i32 %5325, ptr %17, align 4, !tbaa !14
  %5326 = load i32, ptr %17, align 4, !tbaa !14
  %5327 = icmp slt i32 %5326, 0
  br i1 %5327, label %5328, label %5329

5328:                                             ; preds = %5291
  br label %5337

5329:                                             ; preds = %5291
  %5330 = load i32, ptr %17, align 4, !tbaa !14
  %5331 = icmp sgt i32 %5330, 255
  br i1 %5331, label %5332, label %5333

5332:                                             ; preds = %5329
  br label %5335

5333:                                             ; preds = %5329
  %5334 = load i32, ptr %17, align 4, !tbaa !14
  br label %5335

5335:                                             ; preds = %5333, %5332
  %5336 = phi i32 [ 255, %5332 ], [ %5334, %5333 ]
  br label %5337

5337:                                             ; preds = %5335, %5328
  %5338 = phi i32 [ 0, %5328 ], [ %5336, %5335 ]
  %5339 = trunc i32 %5338 to i8
  %5340 = load ptr, ptr %11, align 8, !tbaa !5
  %5341 = load i32, ptr %19, align 4, !tbaa !14
  %5342 = add nsw i32 %5341, 5
  %5343 = sext i32 %5342 to i64
  %5344 = getelementptr inbounds i8, ptr %5340, i64 %5343
  store i8 %5339, ptr %5344, align 1, !tbaa !15
  %5345 = load ptr, ptr %13, align 8, !tbaa !5
  %5346 = load i32, ptr %19, align 4, !tbaa !14
  %5347 = add nsw i32 %5346, 5
  %5348 = sext i32 %5347 to i64
  %5349 = getelementptr inbounds i8, ptr %5345, i64 %5348
  %5350 = load i8, ptr %5349, align 1, !tbaa !15
  %5351 = zext i8 %5350 to i32
  %5352 = load ptr, ptr %14, align 8, !tbaa !5
  %5353 = load i32, ptr %19, align 4, !tbaa !14
  %5354 = add nsw i32 %5353, 5
  %5355 = sext i32 %5354 to i64
  %5356 = getelementptr inbounds i8, ptr %5352, i64 %5355
  %5357 = load i8, ptr %5356, align 1, !tbaa !15
  %5358 = zext i8 %5357 to i64
  %5359 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5358
  %5360 = load i32, ptr %5359, align 4, !tbaa !14
  %5361 = add nsw i32 %5351, %5360
  store i32 %5361, ptr %18, align 4, !tbaa !14
  %5362 = load i32, ptr %18, align 4, !tbaa !14
  %5363 = icmp slt i32 %5362, 0
  br i1 %5363, label %5364, label %5365

5364:                                             ; preds = %5337
  br label %5373

5365:                                             ; preds = %5337
  %5366 = load i32, ptr %18, align 4, !tbaa !14
  %5367 = icmp sgt i32 %5366, 255
  br i1 %5367, label %5368, label %5369

5368:                                             ; preds = %5365
  br label %5371

5369:                                             ; preds = %5365
  %5370 = load i32, ptr %18, align 4, !tbaa !14
  br label %5371

5371:                                             ; preds = %5369, %5368
  %5372 = phi i32 [ 255, %5368 ], [ %5370, %5369 ]
  br label %5373

5373:                                             ; preds = %5371, %5364
  %5374 = phi i32 [ 0, %5364 ], [ %5372, %5371 ]
  %5375 = trunc i32 %5374 to i8
  %5376 = load ptr, ptr %10, align 8, !tbaa !5
  %5377 = load i32, ptr %19, align 4, !tbaa !14
  %5378 = add nsw i32 %5377, 5
  %5379 = sext i32 %5378 to i64
  %5380 = getelementptr inbounds i8, ptr %5376, i64 %5379
  store i8 %5375, ptr %5380, align 1, !tbaa !15
  %5381 = load ptr, ptr %13, align 8, !tbaa !5
  %5382 = load i32, ptr %19, align 4, !tbaa !14
  %5383 = add nsw i32 %5382, 6
  %5384 = sext i32 %5383 to i64
  %5385 = getelementptr inbounds i8, ptr %5381, i64 %5384
  %5386 = load i8, ptr %5385, align 1, !tbaa !15
  %5387 = zext i8 %5386 to i32
  %5388 = load ptr, ptr %15, align 8, !tbaa !5
  %5389 = load i32, ptr %19, align 4, !tbaa !14
  %5390 = add nsw i32 %5389, 6
  %5391 = sext i32 %5390 to i64
  %5392 = getelementptr inbounds i8, ptr %5388, i64 %5391
  %5393 = load i8, ptr %5392, align 1, !tbaa !15
  %5394 = zext i8 %5393 to i64
  %5395 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5394
  %5396 = load i32, ptr %5395, align 4, !tbaa !14
  %5397 = add nsw i32 %5387, %5396
  store i32 %5397, ptr %16, align 4, !tbaa !14
  %5398 = load i32, ptr %16, align 4, !tbaa !14
  %5399 = icmp slt i32 %5398, 0
  br i1 %5399, label %5400, label %5401

5400:                                             ; preds = %5373
  br label %5409

5401:                                             ; preds = %5373
  %5402 = load i32, ptr %16, align 4, !tbaa !14
  %5403 = icmp sgt i32 %5402, 255
  br i1 %5403, label %5404, label %5405

5404:                                             ; preds = %5401
  br label %5407

5405:                                             ; preds = %5401
  %5406 = load i32, ptr %16, align 4, !tbaa !14
  br label %5407

5407:                                             ; preds = %5405, %5404
  %5408 = phi i32 [ 255, %5404 ], [ %5406, %5405 ]
  br label %5409

5409:                                             ; preds = %5407, %5400
  %5410 = phi i32 [ 0, %5400 ], [ %5408, %5407 ]
  %5411 = trunc i32 %5410 to i8
  %5412 = load ptr, ptr %12, align 8, !tbaa !5
  %5413 = load i32, ptr %19, align 4, !tbaa !14
  %5414 = add nsw i32 %5413, 6
  %5415 = sext i32 %5414 to i64
  %5416 = getelementptr inbounds i8, ptr %5412, i64 %5415
  store i8 %5411, ptr %5416, align 1, !tbaa !15
  %5417 = load ptr, ptr %13, align 8, !tbaa !5
  %5418 = load i32, ptr %19, align 4, !tbaa !14
  %5419 = add nsw i32 %5418, 6
  %5420 = sext i32 %5419 to i64
  %5421 = getelementptr inbounds i8, ptr %5417, i64 %5420
  %5422 = load i8, ptr %5421, align 1, !tbaa !15
  %5423 = zext i8 %5422 to i32
  %5424 = load ptr, ptr %14, align 8, !tbaa !5
  %5425 = load i32, ptr %19, align 4, !tbaa !14
  %5426 = add nsw i32 %5425, 6
  %5427 = sext i32 %5426 to i64
  %5428 = getelementptr inbounds i8, ptr %5424, i64 %5427
  %5429 = load i8, ptr %5428, align 1, !tbaa !15
  %5430 = zext i8 %5429 to i64
  %5431 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5430
  %5432 = load i32, ptr %5431, align 4, !tbaa !14
  %5433 = sub nsw i32 %5423, %5432
  %5434 = load ptr, ptr %15, align 8, !tbaa !5
  %5435 = load i32, ptr %19, align 4, !tbaa !14
  %5436 = add nsw i32 %5435, 6
  %5437 = sext i32 %5436 to i64
  %5438 = getelementptr inbounds i8, ptr %5434, i64 %5437
  %5439 = load i8, ptr %5438, align 1, !tbaa !15
  %5440 = zext i8 %5439 to i64
  %5441 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5440
  %5442 = load i32, ptr %5441, align 4, !tbaa !14
  %5443 = sub nsw i32 %5433, %5442
  store i32 %5443, ptr %17, align 4, !tbaa !14
  %5444 = load i32, ptr %17, align 4, !tbaa !14
  %5445 = icmp slt i32 %5444, 0
  br i1 %5445, label %5446, label %5447

5446:                                             ; preds = %5409
  br label %5455

5447:                                             ; preds = %5409
  %5448 = load i32, ptr %17, align 4, !tbaa !14
  %5449 = icmp sgt i32 %5448, 255
  br i1 %5449, label %5450, label %5451

5450:                                             ; preds = %5447
  br label %5453

5451:                                             ; preds = %5447
  %5452 = load i32, ptr %17, align 4, !tbaa !14
  br label %5453

5453:                                             ; preds = %5451, %5450
  %5454 = phi i32 [ 255, %5450 ], [ %5452, %5451 ]
  br label %5455

5455:                                             ; preds = %5453, %5446
  %5456 = phi i32 [ 0, %5446 ], [ %5454, %5453 ]
  %5457 = trunc i32 %5456 to i8
  %5458 = load ptr, ptr %11, align 8, !tbaa !5
  %5459 = load i32, ptr %19, align 4, !tbaa !14
  %5460 = add nsw i32 %5459, 6
  %5461 = sext i32 %5460 to i64
  %5462 = getelementptr inbounds i8, ptr %5458, i64 %5461
  store i8 %5457, ptr %5462, align 1, !tbaa !15
  %5463 = load ptr, ptr %13, align 8, !tbaa !5
  %5464 = load i32, ptr %19, align 4, !tbaa !14
  %5465 = add nsw i32 %5464, 6
  %5466 = sext i32 %5465 to i64
  %5467 = getelementptr inbounds i8, ptr %5463, i64 %5466
  %5468 = load i8, ptr %5467, align 1, !tbaa !15
  %5469 = zext i8 %5468 to i32
  %5470 = load ptr, ptr %14, align 8, !tbaa !5
  %5471 = load i32, ptr %19, align 4, !tbaa !14
  %5472 = add nsw i32 %5471, 6
  %5473 = sext i32 %5472 to i64
  %5474 = getelementptr inbounds i8, ptr %5470, i64 %5473
  %5475 = load i8, ptr %5474, align 1, !tbaa !15
  %5476 = zext i8 %5475 to i64
  %5477 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5476
  %5478 = load i32, ptr %5477, align 4, !tbaa !14
  %5479 = add nsw i32 %5469, %5478
  store i32 %5479, ptr %18, align 4, !tbaa !14
  %5480 = load i32, ptr %18, align 4, !tbaa !14
  %5481 = icmp slt i32 %5480, 0
  br i1 %5481, label %5482, label %5483

5482:                                             ; preds = %5455
  br label %5491

5483:                                             ; preds = %5455
  %5484 = load i32, ptr %18, align 4, !tbaa !14
  %5485 = icmp sgt i32 %5484, 255
  br i1 %5485, label %5486, label %5487

5486:                                             ; preds = %5483
  br label %5489

5487:                                             ; preds = %5483
  %5488 = load i32, ptr %18, align 4, !tbaa !14
  br label %5489

5489:                                             ; preds = %5487, %5486
  %5490 = phi i32 [ 255, %5486 ], [ %5488, %5487 ]
  br label %5491

5491:                                             ; preds = %5489, %5482
  %5492 = phi i32 [ 0, %5482 ], [ %5490, %5489 ]
  %5493 = trunc i32 %5492 to i8
  %5494 = load ptr, ptr %10, align 8, !tbaa !5
  %5495 = load i32, ptr %19, align 4, !tbaa !14
  %5496 = add nsw i32 %5495, 6
  %5497 = sext i32 %5496 to i64
  %5498 = getelementptr inbounds i8, ptr %5494, i64 %5497
  store i8 %5493, ptr %5498, align 1, !tbaa !15
  br label %16427

5499:                                             ; preds = %4665
  %5500 = load ptr, ptr %4, align 8, !tbaa !5
  %5501 = getelementptr inbounds %struct.MImage, ptr %5500, i32 0, i32 2
  %5502 = load i32, ptr %5501, align 8, !tbaa !13
  %5503 = load i32, ptr %19, align 4, !tbaa !14
  %5504 = sub nsw i32 %5502, %5503
  %5505 = icmp eq i32 %5504, 8
  br i1 %5505, label %5506, label %6451

5506:                                             ; preds = %5499
  %5507 = load ptr, ptr %13, align 8, !tbaa !5
  %5508 = load i32, ptr %19, align 4, !tbaa !14
  %5509 = add nsw i32 %5508, 0
  %5510 = sext i32 %5509 to i64
  %5511 = getelementptr inbounds i8, ptr %5507, i64 %5510
  %5512 = load i8, ptr %5511, align 1, !tbaa !15
  %5513 = zext i8 %5512 to i32
  %5514 = load ptr, ptr %15, align 8, !tbaa !5
  %5515 = load i32, ptr %19, align 4, !tbaa !14
  %5516 = add nsw i32 %5515, 0
  %5517 = sext i32 %5516 to i64
  %5518 = getelementptr inbounds i8, ptr %5514, i64 %5517
  %5519 = load i8, ptr %5518, align 1, !tbaa !15
  %5520 = zext i8 %5519 to i64
  %5521 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5520
  %5522 = load i32, ptr %5521, align 4, !tbaa !14
  %5523 = add nsw i32 %5513, %5522
  store i32 %5523, ptr %16, align 4, !tbaa !14
  %5524 = load i32, ptr %16, align 4, !tbaa !14
  %5525 = icmp slt i32 %5524, 0
  br i1 %5525, label %5526, label %5527

5526:                                             ; preds = %5506
  br label %5535

5527:                                             ; preds = %5506
  %5528 = load i32, ptr %16, align 4, !tbaa !14
  %5529 = icmp sgt i32 %5528, 255
  br i1 %5529, label %5530, label %5531

5530:                                             ; preds = %5527
  br label %5533

5531:                                             ; preds = %5527
  %5532 = load i32, ptr %16, align 4, !tbaa !14
  br label %5533

5533:                                             ; preds = %5531, %5530
  %5534 = phi i32 [ 255, %5530 ], [ %5532, %5531 ]
  br label %5535

5535:                                             ; preds = %5533, %5526
  %5536 = phi i32 [ 0, %5526 ], [ %5534, %5533 ]
  %5537 = trunc i32 %5536 to i8
  %5538 = load ptr, ptr %12, align 8, !tbaa !5
  %5539 = load i32, ptr %19, align 4, !tbaa !14
  %5540 = add nsw i32 %5539, 0
  %5541 = sext i32 %5540 to i64
  %5542 = getelementptr inbounds i8, ptr %5538, i64 %5541
  store i8 %5537, ptr %5542, align 1, !tbaa !15
  %5543 = load ptr, ptr %13, align 8, !tbaa !5
  %5544 = load i32, ptr %19, align 4, !tbaa !14
  %5545 = add nsw i32 %5544, 0
  %5546 = sext i32 %5545 to i64
  %5547 = getelementptr inbounds i8, ptr %5543, i64 %5546
  %5548 = load i8, ptr %5547, align 1, !tbaa !15
  %5549 = zext i8 %5548 to i32
  %5550 = load ptr, ptr %14, align 8, !tbaa !5
  %5551 = load i32, ptr %19, align 4, !tbaa !14
  %5552 = add nsw i32 %5551, 0
  %5553 = sext i32 %5552 to i64
  %5554 = getelementptr inbounds i8, ptr %5550, i64 %5553
  %5555 = load i8, ptr %5554, align 1, !tbaa !15
  %5556 = zext i8 %5555 to i64
  %5557 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5556
  %5558 = load i32, ptr %5557, align 4, !tbaa !14
  %5559 = sub nsw i32 %5549, %5558
  %5560 = load ptr, ptr %15, align 8, !tbaa !5
  %5561 = load i32, ptr %19, align 4, !tbaa !14
  %5562 = add nsw i32 %5561, 0
  %5563 = sext i32 %5562 to i64
  %5564 = getelementptr inbounds i8, ptr %5560, i64 %5563
  %5565 = load i8, ptr %5564, align 1, !tbaa !15
  %5566 = zext i8 %5565 to i64
  %5567 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5566
  %5568 = load i32, ptr %5567, align 4, !tbaa !14
  %5569 = sub nsw i32 %5559, %5568
  store i32 %5569, ptr %17, align 4, !tbaa !14
  %5570 = load i32, ptr %17, align 4, !tbaa !14
  %5571 = icmp slt i32 %5570, 0
  br i1 %5571, label %5572, label %5573

5572:                                             ; preds = %5535
  br label %5581

5573:                                             ; preds = %5535
  %5574 = load i32, ptr %17, align 4, !tbaa !14
  %5575 = icmp sgt i32 %5574, 255
  br i1 %5575, label %5576, label %5577

5576:                                             ; preds = %5573
  br label %5579

5577:                                             ; preds = %5573
  %5578 = load i32, ptr %17, align 4, !tbaa !14
  br label %5579

5579:                                             ; preds = %5577, %5576
  %5580 = phi i32 [ 255, %5576 ], [ %5578, %5577 ]
  br label %5581

5581:                                             ; preds = %5579, %5572
  %5582 = phi i32 [ 0, %5572 ], [ %5580, %5579 ]
  %5583 = trunc i32 %5582 to i8
  %5584 = load ptr, ptr %11, align 8, !tbaa !5
  %5585 = load i32, ptr %19, align 4, !tbaa !14
  %5586 = add nsw i32 %5585, 0
  %5587 = sext i32 %5586 to i64
  %5588 = getelementptr inbounds i8, ptr %5584, i64 %5587
  store i8 %5583, ptr %5588, align 1, !tbaa !15
  %5589 = load ptr, ptr %13, align 8, !tbaa !5
  %5590 = load i32, ptr %19, align 4, !tbaa !14
  %5591 = add nsw i32 %5590, 0
  %5592 = sext i32 %5591 to i64
  %5593 = getelementptr inbounds i8, ptr %5589, i64 %5592
  %5594 = load i8, ptr %5593, align 1, !tbaa !15
  %5595 = zext i8 %5594 to i32
  %5596 = load ptr, ptr %14, align 8, !tbaa !5
  %5597 = load i32, ptr %19, align 4, !tbaa !14
  %5598 = add nsw i32 %5597, 0
  %5599 = sext i32 %5598 to i64
  %5600 = getelementptr inbounds i8, ptr %5596, i64 %5599
  %5601 = load i8, ptr %5600, align 1, !tbaa !15
  %5602 = zext i8 %5601 to i64
  %5603 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5602
  %5604 = load i32, ptr %5603, align 4, !tbaa !14
  %5605 = add nsw i32 %5595, %5604
  store i32 %5605, ptr %18, align 4, !tbaa !14
  %5606 = load i32, ptr %18, align 4, !tbaa !14
  %5607 = icmp slt i32 %5606, 0
  br i1 %5607, label %5608, label %5609

5608:                                             ; preds = %5581
  br label %5617

5609:                                             ; preds = %5581
  %5610 = load i32, ptr %18, align 4, !tbaa !14
  %5611 = icmp sgt i32 %5610, 255
  br i1 %5611, label %5612, label %5613

5612:                                             ; preds = %5609
  br label %5615

5613:                                             ; preds = %5609
  %5614 = load i32, ptr %18, align 4, !tbaa !14
  br label %5615

5615:                                             ; preds = %5613, %5612
  %5616 = phi i32 [ 255, %5612 ], [ %5614, %5613 ]
  br label %5617

5617:                                             ; preds = %5615, %5608
  %5618 = phi i32 [ 0, %5608 ], [ %5616, %5615 ]
  %5619 = trunc i32 %5618 to i8
  %5620 = load ptr, ptr %10, align 8, !tbaa !5
  %5621 = load i32, ptr %19, align 4, !tbaa !14
  %5622 = add nsw i32 %5621, 0
  %5623 = sext i32 %5622 to i64
  %5624 = getelementptr inbounds i8, ptr %5620, i64 %5623
  store i8 %5619, ptr %5624, align 1, !tbaa !15
  %5625 = load ptr, ptr %13, align 8, !tbaa !5
  %5626 = load i32, ptr %19, align 4, !tbaa !14
  %5627 = add nsw i32 %5626, 1
  %5628 = sext i32 %5627 to i64
  %5629 = getelementptr inbounds i8, ptr %5625, i64 %5628
  %5630 = load i8, ptr %5629, align 1, !tbaa !15
  %5631 = zext i8 %5630 to i32
  %5632 = load ptr, ptr %15, align 8, !tbaa !5
  %5633 = load i32, ptr %19, align 4, !tbaa !14
  %5634 = add nsw i32 %5633, 1
  %5635 = sext i32 %5634 to i64
  %5636 = getelementptr inbounds i8, ptr %5632, i64 %5635
  %5637 = load i8, ptr %5636, align 1, !tbaa !15
  %5638 = zext i8 %5637 to i64
  %5639 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5638
  %5640 = load i32, ptr %5639, align 4, !tbaa !14
  %5641 = add nsw i32 %5631, %5640
  store i32 %5641, ptr %16, align 4, !tbaa !14
  %5642 = load i32, ptr %16, align 4, !tbaa !14
  %5643 = icmp slt i32 %5642, 0
  br i1 %5643, label %5644, label %5645

5644:                                             ; preds = %5617
  br label %5653

5645:                                             ; preds = %5617
  %5646 = load i32, ptr %16, align 4, !tbaa !14
  %5647 = icmp sgt i32 %5646, 255
  br i1 %5647, label %5648, label %5649

5648:                                             ; preds = %5645
  br label %5651

5649:                                             ; preds = %5645
  %5650 = load i32, ptr %16, align 4, !tbaa !14
  br label %5651

5651:                                             ; preds = %5649, %5648
  %5652 = phi i32 [ 255, %5648 ], [ %5650, %5649 ]
  br label %5653

5653:                                             ; preds = %5651, %5644
  %5654 = phi i32 [ 0, %5644 ], [ %5652, %5651 ]
  %5655 = trunc i32 %5654 to i8
  %5656 = load ptr, ptr %12, align 8, !tbaa !5
  %5657 = load i32, ptr %19, align 4, !tbaa !14
  %5658 = add nsw i32 %5657, 1
  %5659 = sext i32 %5658 to i64
  %5660 = getelementptr inbounds i8, ptr %5656, i64 %5659
  store i8 %5655, ptr %5660, align 1, !tbaa !15
  %5661 = load ptr, ptr %13, align 8, !tbaa !5
  %5662 = load i32, ptr %19, align 4, !tbaa !14
  %5663 = add nsw i32 %5662, 1
  %5664 = sext i32 %5663 to i64
  %5665 = getelementptr inbounds i8, ptr %5661, i64 %5664
  %5666 = load i8, ptr %5665, align 1, !tbaa !15
  %5667 = zext i8 %5666 to i32
  %5668 = load ptr, ptr %14, align 8, !tbaa !5
  %5669 = load i32, ptr %19, align 4, !tbaa !14
  %5670 = add nsw i32 %5669, 1
  %5671 = sext i32 %5670 to i64
  %5672 = getelementptr inbounds i8, ptr %5668, i64 %5671
  %5673 = load i8, ptr %5672, align 1, !tbaa !15
  %5674 = zext i8 %5673 to i64
  %5675 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5674
  %5676 = load i32, ptr %5675, align 4, !tbaa !14
  %5677 = sub nsw i32 %5667, %5676
  %5678 = load ptr, ptr %15, align 8, !tbaa !5
  %5679 = load i32, ptr %19, align 4, !tbaa !14
  %5680 = add nsw i32 %5679, 1
  %5681 = sext i32 %5680 to i64
  %5682 = getelementptr inbounds i8, ptr %5678, i64 %5681
  %5683 = load i8, ptr %5682, align 1, !tbaa !15
  %5684 = zext i8 %5683 to i64
  %5685 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5684
  %5686 = load i32, ptr %5685, align 4, !tbaa !14
  %5687 = sub nsw i32 %5677, %5686
  store i32 %5687, ptr %17, align 4, !tbaa !14
  %5688 = load i32, ptr %17, align 4, !tbaa !14
  %5689 = icmp slt i32 %5688, 0
  br i1 %5689, label %5690, label %5691

5690:                                             ; preds = %5653
  br label %5699

5691:                                             ; preds = %5653
  %5692 = load i32, ptr %17, align 4, !tbaa !14
  %5693 = icmp sgt i32 %5692, 255
  br i1 %5693, label %5694, label %5695

5694:                                             ; preds = %5691
  br label %5697

5695:                                             ; preds = %5691
  %5696 = load i32, ptr %17, align 4, !tbaa !14
  br label %5697

5697:                                             ; preds = %5695, %5694
  %5698 = phi i32 [ 255, %5694 ], [ %5696, %5695 ]
  br label %5699

5699:                                             ; preds = %5697, %5690
  %5700 = phi i32 [ 0, %5690 ], [ %5698, %5697 ]
  %5701 = trunc i32 %5700 to i8
  %5702 = load ptr, ptr %11, align 8, !tbaa !5
  %5703 = load i32, ptr %19, align 4, !tbaa !14
  %5704 = add nsw i32 %5703, 1
  %5705 = sext i32 %5704 to i64
  %5706 = getelementptr inbounds i8, ptr %5702, i64 %5705
  store i8 %5701, ptr %5706, align 1, !tbaa !15
  %5707 = load ptr, ptr %13, align 8, !tbaa !5
  %5708 = load i32, ptr %19, align 4, !tbaa !14
  %5709 = add nsw i32 %5708, 1
  %5710 = sext i32 %5709 to i64
  %5711 = getelementptr inbounds i8, ptr %5707, i64 %5710
  %5712 = load i8, ptr %5711, align 1, !tbaa !15
  %5713 = zext i8 %5712 to i32
  %5714 = load ptr, ptr %14, align 8, !tbaa !5
  %5715 = load i32, ptr %19, align 4, !tbaa !14
  %5716 = add nsw i32 %5715, 1
  %5717 = sext i32 %5716 to i64
  %5718 = getelementptr inbounds i8, ptr %5714, i64 %5717
  %5719 = load i8, ptr %5718, align 1, !tbaa !15
  %5720 = zext i8 %5719 to i64
  %5721 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5720
  %5722 = load i32, ptr %5721, align 4, !tbaa !14
  %5723 = add nsw i32 %5713, %5722
  store i32 %5723, ptr %18, align 4, !tbaa !14
  %5724 = load i32, ptr %18, align 4, !tbaa !14
  %5725 = icmp slt i32 %5724, 0
  br i1 %5725, label %5726, label %5727

5726:                                             ; preds = %5699
  br label %5735

5727:                                             ; preds = %5699
  %5728 = load i32, ptr %18, align 4, !tbaa !14
  %5729 = icmp sgt i32 %5728, 255
  br i1 %5729, label %5730, label %5731

5730:                                             ; preds = %5727
  br label %5733

5731:                                             ; preds = %5727
  %5732 = load i32, ptr %18, align 4, !tbaa !14
  br label %5733

5733:                                             ; preds = %5731, %5730
  %5734 = phi i32 [ 255, %5730 ], [ %5732, %5731 ]
  br label %5735

5735:                                             ; preds = %5733, %5726
  %5736 = phi i32 [ 0, %5726 ], [ %5734, %5733 ]
  %5737 = trunc i32 %5736 to i8
  %5738 = load ptr, ptr %10, align 8, !tbaa !5
  %5739 = load i32, ptr %19, align 4, !tbaa !14
  %5740 = add nsw i32 %5739, 1
  %5741 = sext i32 %5740 to i64
  %5742 = getelementptr inbounds i8, ptr %5738, i64 %5741
  store i8 %5737, ptr %5742, align 1, !tbaa !15
  %5743 = load ptr, ptr %13, align 8, !tbaa !5
  %5744 = load i32, ptr %19, align 4, !tbaa !14
  %5745 = add nsw i32 %5744, 2
  %5746 = sext i32 %5745 to i64
  %5747 = getelementptr inbounds i8, ptr %5743, i64 %5746
  %5748 = load i8, ptr %5747, align 1, !tbaa !15
  %5749 = zext i8 %5748 to i32
  %5750 = load ptr, ptr %15, align 8, !tbaa !5
  %5751 = load i32, ptr %19, align 4, !tbaa !14
  %5752 = add nsw i32 %5751, 2
  %5753 = sext i32 %5752 to i64
  %5754 = getelementptr inbounds i8, ptr %5750, i64 %5753
  %5755 = load i8, ptr %5754, align 1, !tbaa !15
  %5756 = zext i8 %5755 to i64
  %5757 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5756
  %5758 = load i32, ptr %5757, align 4, !tbaa !14
  %5759 = add nsw i32 %5749, %5758
  store i32 %5759, ptr %16, align 4, !tbaa !14
  %5760 = load i32, ptr %16, align 4, !tbaa !14
  %5761 = icmp slt i32 %5760, 0
  br i1 %5761, label %5762, label %5763

5762:                                             ; preds = %5735
  br label %5771

5763:                                             ; preds = %5735
  %5764 = load i32, ptr %16, align 4, !tbaa !14
  %5765 = icmp sgt i32 %5764, 255
  br i1 %5765, label %5766, label %5767

5766:                                             ; preds = %5763
  br label %5769

5767:                                             ; preds = %5763
  %5768 = load i32, ptr %16, align 4, !tbaa !14
  br label %5769

5769:                                             ; preds = %5767, %5766
  %5770 = phi i32 [ 255, %5766 ], [ %5768, %5767 ]
  br label %5771

5771:                                             ; preds = %5769, %5762
  %5772 = phi i32 [ 0, %5762 ], [ %5770, %5769 ]
  %5773 = trunc i32 %5772 to i8
  %5774 = load ptr, ptr %12, align 8, !tbaa !5
  %5775 = load i32, ptr %19, align 4, !tbaa !14
  %5776 = add nsw i32 %5775, 2
  %5777 = sext i32 %5776 to i64
  %5778 = getelementptr inbounds i8, ptr %5774, i64 %5777
  store i8 %5773, ptr %5778, align 1, !tbaa !15
  %5779 = load ptr, ptr %13, align 8, !tbaa !5
  %5780 = load i32, ptr %19, align 4, !tbaa !14
  %5781 = add nsw i32 %5780, 2
  %5782 = sext i32 %5781 to i64
  %5783 = getelementptr inbounds i8, ptr %5779, i64 %5782
  %5784 = load i8, ptr %5783, align 1, !tbaa !15
  %5785 = zext i8 %5784 to i32
  %5786 = load ptr, ptr %14, align 8, !tbaa !5
  %5787 = load i32, ptr %19, align 4, !tbaa !14
  %5788 = add nsw i32 %5787, 2
  %5789 = sext i32 %5788 to i64
  %5790 = getelementptr inbounds i8, ptr %5786, i64 %5789
  %5791 = load i8, ptr %5790, align 1, !tbaa !15
  %5792 = zext i8 %5791 to i64
  %5793 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5792
  %5794 = load i32, ptr %5793, align 4, !tbaa !14
  %5795 = sub nsw i32 %5785, %5794
  %5796 = load ptr, ptr %15, align 8, !tbaa !5
  %5797 = load i32, ptr %19, align 4, !tbaa !14
  %5798 = add nsw i32 %5797, 2
  %5799 = sext i32 %5798 to i64
  %5800 = getelementptr inbounds i8, ptr %5796, i64 %5799
  %5801 = load i8, ptr %5800, align 1, !tbaa !15
  %5802 = zext i8 %5801 to i64
  %5803 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5802
  %5804 = load i32, ptr %5803, align 4, !tbaa !14
  %5805 = sub nsw i32 %5795, %5804
  store i32 %5805, ptr %17, align 4, !tbaa !14
  %5806 = load i32, ptr %17, align 4, !tbaa !14
  %5807 = icmp slt i32 %5806, 0
  br i1 %5807, label %5808, label %5809

5808:                                             ; preds = %5771
  br label %5817

5809:                                             ; preds = %5771
  %5810 = load i32, ptr %17, align 4, !tbaa !14
  %5811 = icmp sgt i32 %5810, 255
  br i1 %5811, label %5812, label %5813

5812:                                             ; preds = %5809
  br label %5815

5813:                                             ; preds = %5809
  %5814 = load i32, ptr %17, align 4, !tbaa !14
  br label %5815

5815:                                             ; preds = %5813, %5812
  %5816 = phi i32 [ 255, %5812 ], [ %5814, %5813 ]
  br label %5817

5817:                                             ; preds = %5815, %5808
  %5818 = phi i32 [ 0, %5808 ], [ %5816, %5815 ]
  %5819 = trunc i32 %5818 to i8
  %5820 = load ptr, ptr %11, align 8, !tbaa !5
  %5821 = load i32, ptr %19, align 4, !tbaa !14
  %5822 = add nsw i32 %5821, 2
  %5823 = sext i32 %5822 to i64
  %5824 = getelementptr inbounds i8, ptr %5820, i64 %5823
  store i8 %5819, ptr %5824, align 1, !tbaa !15
  %5825 = load ptr, ptr %13, align 8, !tbaa !5
  %5826 = load i32, ptr %19, align 4, !tbaa !14
  %5827 = add nsw i32 %5826, 2
  %5828 = sext i32 %5827 to i64
  %5829 = getelementptr inbounds i8, ptr %5825, i64 %5828
  %5830 = load i8, ptr %5829, align 1, !tbaa !15
  %5831 = zext i8 %5830 to i32
  %5832 = load ptr, ptr %14, align 8, !tbaa !5
  %5833 = load i32, ptr %19, align 4, !tbaa !14
  %5834 = add nsw i32 %5833, 2
  %5835 = sext i32 %5834 to i64
  %5836 = getelementptr inbounds i8, ptr %5832, i64 %5835
  %5837 = load i8, ptr %5836, align 1, !tbaa !15
  %5838 = zext i8 %5837 to i64
  %5839 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5838
  %5840 = load i32, ptr %5839, align 4, !tbaa !14
  %5841 = add nsw i32 %5831, %5840
  store i32 %5841, ptr %18, align 4, !tbaa !14
  %5842 = load i32, ptr %18, align 4, !tbaa !14
  %5843 = icmp slt i32 %5842, 0
  br i1 %5843, label %5844, label %5845

5844:                                             ; preds = %5817
  br label %5853

5845:                                             ; preds = %5817
  %5846 = load i32, ptr %18, align 4, !tbaa !14
  %5847 = icmp sgt i32 %5846, 255
  br i1 %5847, label %5848, label %5849

5848:                                             ; preds = %5845
  br label %5851

5849:                                             ; preds = %5845
  %5850 = load i32, ptr %18, align 4, !tbaa !14
  br label %5851

5851:                                             ; preds = %5849, %5848
  %5852 = phi i32 [ 255, %5848 ], [ %5850, %5849 ]
  br label %5853

5853:                                             ; preds = %5851, %5844
  %5854 = phi i32 [ 0, %5844 ], [ %5852, %5851 ]
  %5855 = trunc i32 %5854 to i8
  %5856 = load ptr, ptr %10, align 8, !tbaa !5
  %5857 = load i32, ptr %19, align 4, !tbaa !14
  %5858 = add nsw i32 %5857, 2
  %5859 = sext i32 %5858 to i64
  %5860 = getelementptr inbounds i8, ptr %5856, i64 %5859
  store i8 %5855, ptr %5860, align 1, !tbaa !15
  %5861 = load ptr, ptr %13, align 8, !tbaa !5
  %5862 = load i32, ptr %19, align 4, !tbaa !14
  %5863 = add nsw i32 %5862, 3
  %5864 = sext i32 %5863 to i64
  %5865 = getelementptr inbounds i8, ptr %5861, i64 %5864
  %5866 = load i8, ptr %5865, align 1, !tbaa !15
  %5867 = zext i8 %5866 to i32
  %5868 = load ptr, ptr %15, align 8, !tbaa !5
  %5869 = load i32, ptr %19, align 4, !tbaa !14
  %5870 = add nsw i32 %5869, 3
  %5871 = sext i32 %5870 to i64
  %5872 = getelementptr inbounds i8, ptr %5868, i64 %5871
  %5873 = load i8, ptr %5872, align 1, !tbaa !15
  %5874 = zext i8 %5873 to i64
  %5875 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5874
  %5876 = load i32, ptr %5875, align 4, !tbaa !14
  %5877 = add nsw i32 %5867, %5876
  store i32 %5877, ptr %16, align 4, !tbaa !14
  %5878 = load i32, ptr %16, align 4, !tbaa !14
  %5879 = icmp slt i32 %5878, 0
  br i1 %5879, label %5880, label %5881

5880:                                             ; preds = %5853
  br label %5889

5881:                                             ; preds = %5853
  %5882 = load i32, ptr %16, align 4, !tbaa !14
  %5883 = icmp sgt i32 %5882, 255
  br i1 %5883, label %5884, label %5885

5884:                                             ; preds = %5881
  br label %5887

5885:                                             ; preds = %5881
  %5886 = load i32, ptr %16, align 4, !tbaa !14
  br label %5887

5887:                                             ; preds = %5885, %5884
  %5888 = phi i32 [ 255, %5884 ], [ %5886, %5885 ]
  br label %5889

5889:                                             ; preds = %5887, %5880
  %5890 = phi i32 [ 0, %5880 ], [ %5888, %5887 ]
  %5891 = trunc i32 %5890 to i8
  %5892 = load ptr, ptr %12, align 8, !tbaa !5
  %5893 = load i32, ptr %19, align 4, !tbaa !14
  %5894 = add nsw i32 %5893, 3
  %5895 = sext i32 %5894 to i64
  %5896 = getelementptr inbounds i8, ptr %5892, i64 %5895
  store i8 %5891, ptr %5896, align 1, !tbaa !15
  %5897 = load ptr, ptr %13, align 8, !tbaa !5
  %5898 = load i32, ptr %19, align 4, !tbaa !14
  %5899 = add nsw i32 %5898, 3
  %5900 = sext i32 %5899 to i64
  %5901 = getelementptr inbounds i8, ptr %5897, i64 %5900
  %5902 = load i8, ptr %5901, align 1, !tbaa !15
  %5903 = zext i8 %5902 to i32
  %5904 = load ptr, ptr %14, align 8, !tbaa !5
  %5905 = load i32, ptr %19, align 4, !tbaa !14
  %5906 = add nsw i32 %5905, 3
  %5907 = sext i32 %5906 to i64
  %5908 = getelementptr inbounds i8, ptr %5904, i64 %5907
  %5909 = load i8, ptr %5908, align 1, !tbaa !15
  %5910 = zext i8 %5909 to i64
  %5911 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %5910
  %5912 = load i32, ptr %5911, align 4, !tbaa !14
  %5913 = sub nsw i32 %5903, %5912
  %5914 = load ptr, ptr %15, align 8, !tbaa !5
  %5915 = load i32, ptr %19, align 4, !tbaa !14
  %5916 = add nsw i32 %5915, 3
  %5917 = sext i32 %5916 to i64
  %5918 = getelementptr inbounds i8, ptr %5914, i64 %5917
  %5919 = load i8, ptr %5918, align 1, !tbaa !15
  %5920 = zext i8 %5919 to i64
  %5921 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %5920
  %5922 = load i32, ptr %5921, align 4, !tbaa !14
  %5923 = sub nsw i32 %5913, %5922
  store i32 %5923, ptr %17, align 4, !tbaa !14
  %5924 = load i32, ptr %17, align 4, !tbaa !14
  %5925 = icmp slt i32 %5924, 0
  br i1 %5925, label %5926, label %5927

5926:                                             ; preds = %5889
  br label %5935

5927:                                             ; preds = %5889
  %5928 = load i32, ptr %17, align 4, !tbaa !14
  %5929 = icmp sgt i32 %5928, 255
  br i1 %5929, label %5930, label %5931

5930:                                             ; preds = %5927
  br label %5933

5931:                                             ; preds = %5927
  %5932 = load i32, ptr %17, align 4, !tbaa !14
  br label %5933

5933:                                             ; preds = %5931, %5930
  %5934 = phi i32 [ 255, %5930 ], [ %5932, %5931 ]
  br label %5935

5935:                                             ; preds = %5933, %5926
  %5936 = phi i32 [ 0, %5926 ], [ %5934, %5933 ]
  %5937 = trunc i32 %5936 to i8
  %5938 = load ptr, ptr %11, align 8, !tbaa !5
  %5939 = load i32, ptr %19, align 4, !tbaa !14
  %5940 = add nsw i32 %5939, 3
  %5941 = sext i32 %5940 to i64
  %5942 = getelementptr inbounds i8, ptr %5938, i64 %5941
  store i8 %5937, ptr %5942, align 1, !tbaa !15
  %5943 = load ptr, ptr %13, align 8, !tbaa !5
  %5944 = load i32, ptr %19, align 4, !tbaa !14
  %5945 = add nsw i32 %5944, 3
  %5946 = sext i32 %5945 to i64
  %5947 = getelementptr inbounds i8, ptr %5943, i64 %5946
  %5948 = load i8, ptr %5947, align 1, !tbaa !15
  %5949 = zext i8 %5948 to i32
  %5950 = load ptr, ptr %14, align 8, !tbaa !5
  %5951 = load i32, ptr %19, align 4, !tbaa !14
  %5952 = add nsw i32 %5951, 3
  %5953 = sext i32 %5952 to i64
  %5954 = getelementptr inbounds i8, ptr %5950, i64 %5953
  %5955 = load i8, ptr %5954, align 1, !tbaa !15
  %5956 = zext i8 %5955 to i64
  %5957 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %5956
  %5958 = load i32, ptr %5957, align 4, !tbaa !14
  %5959 = add nsw i32 %5949, %5958
  store i32 %5959, ptr %18, align 4, !tbaa !14
  %5960 = load i32, ptr %18, align 4, !tbaa !14
  %5961 = icmp slt i32 %5960, 0
  br i1 %5961, label %5962, label %5963

5962:                                             ; preds = %5935
  br label %5971

5963:                                             ; preds = %5935
  %5964 = load i32, ptr %18, align 4, !tbaa !14
  %5965 = icmp sgt i32 %5964, 255
  br i1 %5965, label %5966, label %5967

5966:                                             ; preds = %5963
  br label %5969

5967:                                             ; preds = %5963
  %5968 = load i32, ptr %18, align 4, !tbaa !14
  br label %5969

5969:                                             ; preds = %5967, %5966
  %5970 = phi i32 [ 255, %5966 ], [ %5968, %5967 ]
  br label %5971

5971:                                             ; preds = %5969, %5962
  %5972 = phi i32 [ 0, %5962 ], [ %5970, %5969 ]
  %5973 = trunc i32 %5972 to i8
  %5974 = load ptr, ptr %10, align 8, !tbaa !5
  %5975 = load i32, ptr %19, align 4, !tbaa !14
  %5976 = add nsw i32 %5975, 3
  %5977 = sext i32 %5976 to i64
  %5978 = getelementptr inbounds i8, ptr %5974, i64 %5977
  store i8 %5973, ptr %5978, align 1, !tbaa !15
  %5979 = load ptr, ptr %13, align 8, !tbaa !5
  %5980 = load i32, ptr %19, align 4, !tbaa !14
  %5981 = add nsw i32 %5980, 4
  %5982 = sext i32 %5981 to i64
  %5983 = getelementptr inbounds i8, ptr %5979, i64 %5982
  %5984 = load i8, ptr %5983, align 1, !tbaa !15
  %5985 = zext i8 %5984 to i32
  %5986 = load ptr, ptr %15, align 8, !tbaa !5
  %5987 = load i32, ptr %19, align 4, !tbaa !14
  %5988 = add nsw i32 %5987, 4
  %5989 = sext i32 %5988 to i64
  %5990 = getelementptr inbounds i8, ptr %5986, i64 %5989
  %5991 = load i8, ptr %5990, align 1, !tbaa !15
  %5992 = zext i8 %5991 to i64
  %5993 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %5992
  %5994 = load i32, ptr %5993, align 4, !tbaa !14
  %5995 = add nsw i32 %5985, %5994
  store i32 %5995, ptr %16, align 4, !tbaa !14
  %5996 = load i32, ptr %16, align 4, !tbaa !14
  %5997 = icmp slt i32 %5996, 0
  br i1 %5997, label %5998, label %5999

5998:                                             ; preds = %5971
  br label %6007

5999:                                             ; preds = %5971
  %6000 = load i32, ptr %16, align 4, !tbaa !14
  %6001 = icmp sgt i32 %6000, 255
  br i1 %6001, label %6002, label %6003

6002:                                             ; preds = %5999
  br label %6005

6003:                                             ; preds = %5999
  %6004 = load i32, ptr %16, align 4, !tbaa !14
  br label %6005

6005:                                             ; preds = %6003, %6002
  %6006 = phi i32 [ 255, %6002 ], [ %6004, %6003 ]
  br label %6007

6007:                                             ; preds = %6005, %5998
  %6008 = phi i32 [ 0, %5998 ], [ %6006, %6005 ]
  %6009 = trunc i32 %6008 to i8
  %6010 = load ptr, ptr %12, align 8, !tbaa !5
  %6011 = load i32, ptr %19, align 4, !tbaa !14
  %6012 = add nsw i32 %6011, 4
  %6013 = sext i32 %6012 to i64
  %6014 = getelementptr inbounds i8, ptr %6010, i64 %6013
  store i8 %6009, ptr %6014, align 1, !tbaa !15
  %6015 = load ptr, ptr %13, align 8, !tbaa !5
  %6016 = load i32, ptr %19, align 4, !tbaa !14
  %6017 = add nsw i32 %6016, 4
  %6018 = sext i32 %6017 to i64
  %6019 = getelementptr inbounds i8, ptr %6015, i64 %6018
  %6020 = load i8, ptr %6019, align 1, !tbaa !15
  %6021 = zext i8 %6020 to i32
  %6022 = load ptr, ptr %14, align 8, !tbaa !5
  %6023 = load i32, ptr %19, align 4, !tbaa !14
  %6024 = add nsw i32 %6023, 4
  %6025 = sext i32 %6024 to i64
  %6026 = getelementptr inbounds i8, ptr %6022, i64 %6025
  %6027 = load i8, ptr %6026, align 1, !tbaa !15
  %6028 = zext i8 %6027 to i64
  %6029 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6028
  %6030 = load i32, ptr %6029, align 4, !tbaa !14
  %6031 = sub nsw i32 %6021, %6030
  %6032 = load ptr, ptr %15, align 8, !tbaa !5
  %6033 = load i32, ptr %19, align 4, !tbaa !14
  %6034 = add nsw i32 %6033, 4
  %6035 = sext i32 %6034 to i64
  %6036 = getelementptr inbounds i8, ptr %6032, i64 %6035
  %6037 = load i8, ptr %6036, align 1, !tbaa !15
  %6038 = zext i8 %6037 to i64
  %6039 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6038
  %6040 = load i32, ptr %6039, align 4, !tbaa !14
  %6041 = sub nsw i32 %6031, %6040
  store i32 %6041, ptr %17, align 4, !tbaa !14
  %6042 = load i32, ptr %17, align 4, !tbaa !14
  %6043 = icmp slt i32 %6042, 0
  br i1 %6043, label %6044, label %6045

6044:                                             ; preds = %6007
  br label %6053

6045:                                             ; preds = %6007
  %6046 = load i32, ptr %17, align 4, !tbaa !14
  %6047 = icmp sgt i32 %6046, 255
  br i1 %6047, label %6048, label %6049

6048:                                             ; preds = %6045
  br label %6051

6049:                                             ; preds = %6045
  %6050 = load i32, ptr %17, align 4, !tbaa !14
  br label %6051

6051:                                             ; preds = %6049, %6048
  %6052 = phi i32 [ 255, %6048 ], [ %6050, %6049 ]
  br label %6053

6053:                                             ; preds = %6051, %6044
  %6054 = phi i32 [ 0, %6044 ], [ %6052, %6051 ]
  %6055 = trunc i32 %6054 to i8
  %6056 = load ptr, ptr %11, align 8, !tbaa !5
  %6057 = load i32, ptr %19, align 4, !tbaa !14
  %6058 = add nsw i32 %6057, 4
  %6059 = sext i32 %6058 to i64
  %6060 = getelementptr inbounds i8, ptr %6056, i64 %6059
  store i8 %6055, ptr %6060, align 1, !tbaa !15
  %6061 = load ptr, ptr %13, align 8, !tbaa !5
  %6062 = load i32, ptr %19, align 4, !tbaa !14
  %6063 = add nsw i32 %6062, 4
  %6064 = sext i32 %6063 to i64
  %6065 = getelementptr inbounds i8, ptr %6061, i64 %6064
  %6066 = load i8, ptr %6065, align 1, !tbaa !15
  %6067 = zext i8 %6066 to i32
  %6068 = load ptr, ptr %14, align 8, !tbaa !5
  %6069 = load i32, ptr %19, align 4, !tbaa !14
  %6070 = add nsw i32 %6069, 4
  %6071 = sext i32 %6070 to i64
  %6072 = getelementptr inbounds i8, ptr %6068, i64 %6071
  %6073 = load i8, ptr %6072, align 1, !tbaa !15
  %6074 = zext i8 %6073 to i64
  %6075 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6074
  %6076 = load i32, ptr %6075, align 4, !tbaa !14
  %6077 = add nsw i32 %6067, %6076
  store i32 %6077, ptr %18, align 4, !tbaa !14
  %6078 = load i32, ptr %18, align 4, !tbaa !14
  %6079 = icmp slt i32 %6078, 0
  br i1 %6079, label %6080, label %6081

6080:                                             ; preds = %6053
  br label %6089

6081:                                             ; preds = %6053
  %6082 = load i32, ptr %18, align 4, !tbaa !14
  %6083 = icmp sgt i32 %6082, 255
  br i1 %6083, label %6084, label %6085

6084:                                             ; preds = %6081
  br label %6087

6085:                                             ; preds = %6081
  %6086 = load i32, ptr %18, align 4, !tbaa !14
  br label %6087

6087:                                             ; preds = %6085, %6084
  %6088 = phi i32 [ 255, %6084 ], [ %6086, %6085 ]
  br label %6089

6089:                                             ; preds = %6087, %6080
  %6090 = phi i32 [ 0, %6080 ], [ %6088, %6087 ]
  %6091 = trunc i32 %6090 to i8
  %6092 = load ptr, ptr %10, align 8, !tbaa !5
  %6093 = load i32, ptr %19, align 4, !tbaa !14
  %6094 = add nsw i32 %6093, 4
  %6095 = sext i32 %6094 to i64
  %6096 = getelementptr inbounds i8, ptr %6092, i64 %6095
  store i8 %6091, ptr %6096, align 1, !tbaa !15
  %6097 = load ptr, ptr %13, align 8, !tbaa !5
  %6098 = load i32, ptr %19, align 4, !tbaa !14
  %6099 = add nsw i32 %6098, 5
  %6100 = sext i32 %6099 to i64
  %6101 = getelementptr inbounds i8, ptr %6097, i64 %6100
  %6102 = load i8, ptr %6101, align 1, !tbaa !15
  %6103 = zext i8 %6102 to i32
  %6104 = load ptr, ptr %15, align 8, !tbaa !5
  %6105 = load i32, ptr %19, align 4, !tbaa !14
  %6106 = add nsw i32 %6105, 5
  %6107 = sext i32 %6106 to i64
  %6108 = getelementptr inbounds i8, ptr %6104, i64 %6107
  %6109 = load i8, ptr %6108, align 1, !tbaa !15
  %6110 = zext i8 %6109 to i64
  %6111 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6110
  %6112 = load i32, ptr %6111, align 4, !tbaa !14
  %6113 = add nsw i32 %6103, %6112
  store i32 %6113, ptr %16, align 4, !tbaa !14
  %6114 = load i32, ptr %16, align 4, !tbaa !14
  %6115 = icmp slt i32 %6114, 0
  br i1 %6115, label %6116, label %6117

6116:                                             ; preds = %6089
  br label %6125

6117:                                             ; preds = %6089
  %6118 = load i32, ptr %16, align 4, !tbaa !14
  %6119 = icmp sgt i32 %6118, 255
  br i1 %6119, label %6120, label %6121

6120:                                             ; preds = %6117
  br label %6123

6121:                                             ; preds = %6117
  %6122 = load i32, ptr %16, align 4, !tbaa !14
  br label %6123

6123:                                             ; preds = %6121, %6120
  %6124 = phi i32 [ 255, %6120 ], [ %6122, %6121 ]
  br label %6125

6125:                                             ; preds = %6123, %6116
  %6126 = phi i32 [ 0, %6116 ], [ %6124, %6123 ]
  %6127 = trunc i32 %6126 to i8
  %6128 = load ptr, ptr %12, align 8, !tbaa !5
  %6129 = load i32, ptr %19, align 4, !tbaa !14
  %6130 = add nsw i32 %6129, 5
  %6131 = sext i32 %6130 to i64
  %6132 = getelementptr inbounds i8, ptr %6128, i64 %6131
  store i8 %6127, ptr %6132, align 1, !tbaa !15
  %6133 = load ptr, ptr %13, align 8, !tbaa !5
  %6134 = load i32, ptr %19, align 4, !tbaa !14
  %6135 = add nsw i32 %6134, 5
  %6136 = sext i32 %6135 to i64
  %6137 = getelementptr inbounds i8, ptr %6133, i64 %6136
  %6138 = load i8, ptr %6137, align 1, !tbaa !15
  %6139 = zext i8 %6138 to i32
  %6140 = load ptr, ptr %14, align 8, !tbaa !5
  %6141 = load i32, ptr %19, align 4, !tbaa !14
  %6142 = add nsw i32 %6141, 5
  %6143 = sext i32 %6142 to i64
  %6144 = getelementptr inbounds i8, ptr %6140, i64 %6143
  %6145 = load i8, ptr %6144, align 1, !tbaa !15
  %6146 = zext i8 %6145 to i64
  %6147 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6146
  %6148 = load i32, ptr %6147, align 4, !tbaa !14
  %6149 = sub nsw i32 %6139, %6148
  %6150 = load ptr, ptr %15, align 8, !tbaa !5
  %6151 = load i32, ptr %19, align 4, !tbaa !14
  %6152 = add nsw i32 %6151, 5
  %6153 = sext i32 %6152 to i64
  %6154 = getelementptr inbounds i8, ptr %6150, i64 %6153
  %6155 = load i8, ptr %6154, align 1, !tbaa !15
  %6156 = zext i8 %6155 to i64
  %6157 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6156
  %6158 = load i32, ptr %6157, align 4, !tbaa !14
  %6159 = sub nsw i32 %6149, %6158
  store i32 %6159, ptr %17, align 4, !tbaa !14
  %6160 = load i32, ptr %17, align 4, !tbaa !14
  %6161 = icmp slt i32 %6160, 0
  br i1 %6161, label %6162, label %6163

6162:                                             ; preds = %6125
  br label %6171

6163:                                             ; preds = %6125
  %6164 = load i32, ptr %17, align 4, !tbaa !14
  %6165 = icmp sgt i32 %6164, 255
  br i1 %6165, label %6166, label %6167

6166:                                             ; preds = %6163
  br label %6169

6167:                                             ; preds = %6163
  %6168 = load i32, ptr %17, align 4, !tbaa !14
  br label %6169

6169:                                             ; preds = %6167, %6166
  %6170 = phi i32 [ 255, %6166 ], [ %6168, %6167 ]
  br label %6171

6171:                                             ; preds = %6169, %6162
  %6172 = phi i32 [ 0, %6162 ], [ %6170, %6169 ]
  %6173 = trunc i32 %6172 to i8
  %6174 = load ptr, ptr %11, align 8, !tbaa !5
  %6175 = load i32, ptr %19, align 4, !tbaa !14
  %6176 = add nsw i32 %6175, 5
  %6177 = sext i32 %6176 to i64
  %6178 = getelementptr inbounds i8, ptr %6174, i64 %6177
  store i8 %6173, ptr %6178, align 1, !tbaa !15
  %6179 = load ptr, ptr %13, align 8, !tbaa !5
  %6180 = load i32, ptr %19, align 4, !tbaa !14
  %6181 = add nsw i32 %6180, 5
  %6182 = sext i32 %6181 to i64
  %6183 = getelementptr inbounds i8, ptr %6179, i64 %6182
  %6184 = load i8, ptr %6183, align 1, !tbaa !15
  %6185 = zext i8 %6184 to i32
  %6186 = load ptr, ptr %14, align 8, !tbaa !5
  %6187 = load i32, ptr %19, align 4, !tbaa !14
  %6188 = add nsw i32 %6187, 5
  %6189 = sext i32 %6188 to i64
  %6190 = getelementptr inbounds i8, ptr %6186, i64 %6189
  %6191 = load i8, ptr %6190, align 1, !tbaa !15
  %6192 = zext i8 %6191 to i64
  %6193 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6192
  %6194 = load i32, ptr %6193, align 4, !tbaa !14
  %6195 = add nsw i32 %6185, %6194
  store i32 %6195, ptr %18, align 4, !tbaa !14
  %6196 = load i32, ptr %18, align 4, !tbaa !14
  %6197 = icmp slt i32 %6196, 0
  br i1 %6197, label %6198, label %6199

6198:                                             ; preds = %6171
  br label %6207

6199:                                             ; preds = %6171
  %6200 = load i32, ptr %18, align 4, !tbaa !14
  %6201 = icmp sgt i32 %6200, 255
  br i1 %6201, label %6202, label %6203

6202:                                             ; preds = %6199
  br label %6205

6203:                                             ; preds = %6199
  %6204 = load i32, ptr %18, align 4, !tbaa !14
  br label %6205

6205:                                             ; preds = %6203, %6202
  %6206 = phi i32 [ 255, %6202 ], [ %6204, %6203 ]
  br label %6207

6207:                                             ; preds = %6205, %6198
  %6208 = phi i32 [ 0, %6198 ], [ %6206, %6205 ]
  %6209 = trunc i32 %6208 to i8
  %6210 = load ptr, ptr %10, align 8, !tbaa !5
  %6211 = load i32, ptr %19, align 4, !tbaa !14
  %6212 = add nsw i32 %6211, 5
  %6213 = sext i32 %6212 to i64
  %6214 = getelementptr inbounds i8, ptr %6210, i64 %6213
  store i8 %6209, ptr %6214, align 1, !tbaa !15
  %6215 = load ptr, ptr %13, align 8, !tbaa !5
  %6216 = load i32, ptr %19, align 4, !tbaa !14
  %6217 = add nsw i32 %6216, 6
  %6218 = sext i32 %6217 to i64
  %6219 = getelementptr inbounds i8, ptr %6215, i64 %6218
  %6220 = load i8, ptr %6219, align 1, !tbaa !15
  %6221 = zext i8 %6220 to i32
  %6222 = load ptr, ptr %15, align 8, !tbaa !5
  %6223 = load i32, ptr %19, align 4, !tbaa !14
  %6224 = add nsw i32 %6223, 6
  %6225 = sext i32 %6224 to i64
  %6226 = getelementptr inbounds i8, ptr %6222, i64 %6225
  %6227 = load i8, ptr %6226, align 1, !tbaa !15
  %6228 = zext i8 %6227 to i64
  %6229 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6228
  %6230 = load i32, ptr %6229, align 4, !tbaa !14
  %6231 = add nsw i32 %6221, %6230
  store i32 %6231, ptr %16, align 4, !tbaa !14
  %6232 = load i32, ptr %16, align 4, !tbaa !14
  %6233 = icmp slt i32 %6232, 0
  br i1 %6233, label %6234, label %6235

6234:                                             ; preds = %6207
  br label %6243

6235:                                             ; preds = %6207
  %6236 = load i32, ptr %16, align 4, !tbaa !14
  %6237 = icmp sgt i32 %6236, 255
  br i1 %6237, label %6238, label %6239

6238:                                             ; preds = %6235
  br label %6241

6239:                                             ; preds = %6235
  %6240 = load i32, ptr %16, align 4, !tbaa !14
  br label %6241

6241:                                             ; preds = %6239, %6238
  %6242 = phi i32 [ 255, %6238 ], [ %6240, %6239 ]
  br label %6243

6243:                                             ; preds = %6241, %6234
  %6244 = phi i32 [ 0, %6234 ], [ %6242, %6241 ]
  %6245 = trunc i32 %6244 to i8
  %6246 = load ptr, ptr %12, align 8, !tbaa !5
  %6247 = load i32, ptr %19, align 4, !tbaa !14
  %6248 = add nsw i32 %6247, 6
  %6249 = sext i32 %6248 to i64
  %6250 = getelementptr inbounds i8, ptr %6246, i64 %6249
  store i8 %6245, ptr %6250, align 1, !tbaa !15
  %6251 = load ptr, ptr %13, align 8, !tbaa !5
  %6252 = load i32, ptr %19, align 4, !tbaa !14
  %6253 = add nsw i32 %6252, 6
  %6254 = sext i32 %6253 to i64
  %6255 = getelementptr inbounds i8, ptr %6251, i64 %6254
  %6256 = load i8, ptr %6255, align 1, !tbaa !15
  %6257 = zext i8 %6256 to i32
  %6258 = load ptr, ptr %14, align 8, !tbaa !5
  %6259 = load i32, ptr %19, align 4, !tbaa !14
  %6260 = add nsw i32 %6259, 6
  %6261 = sext i32 %6260 to i64
  %6262 = getelementptr inbounds i8, ptr %6258, i64 %6261
  %6263 = load i8, ptr %6262, align 1, !tbaa !15
  %6264 = zext i8 %6263 to i64
  %6265 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6264
  %6266 = load i32, ptr %6265, align 4, !tbaa !14
  %6267 = sub nsw i32 %6257, %6266
  %6268 = load ptr, ptr %15, align 8, !tbaa !5
  %6269 = load i32, ptr %19, align 4, !tbaa !14
  %6270 = add nsw i32 %6269, 6
  %6271 = sext i32 %6270 to i64
  %6272 = getelementptr inbounds i8, ptr %6268, i64 %6271
  %6273 = load i8, ptr %6272, align 1, !tbaa !15
  %6274 = zext i8 %6273 to i64
  %6275 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6274
  %6276 = load i32, ptr %6275, align 4, !tbaa !14
  %6277 = sub nsw i32 %6267, %6276
  store i32 %6277, ptr %17, align 4, !tbaa !14
  %6278 = load i32, ptr %17, align 4, !tbaa !14
  %6279 = icmp slt i32 %6278, 0
  br i1 %6279, label %6280, label %6281

6280:                                             ; preds = %6243
  br label %6289

6281:                                             ; preds = %6243
  %6282 = load i32, ptr %17, align 4, !tbaa !14
  %6283 = icmp sgt i32 %6282, 255
  br i1 %6283, label %6284, label %6285

6284:                                             ; preds = %6281
  br label %6287

6285:                                             ; preds = %6281
  %6286 = load i32, ptr %17, align 4, !tbaa !14
  br label %6287

6287:                                             ; preds = %6285, %6284
  %6288 = phi i32 [ 255, %6284 ], [ %6286, %6285 ]
  br label %6289

6289:                                             ; preds = %6287, %6280
  %6290 = phi i32 [ 0, %6280 ], [ %6288, %6287 ]
  %6291 = trunc i32 %6290 to i8
  %6292 = load ptr, ptr %11, align 8, !tbaa !5
  %6293 = load i32, ptr %19, align 4, !tbaa !14
  %6294 = add nsw i32 %6293, 6
  %6295 = sext i32 %6294 to i64
  %6296 = getelementptr inbounds i8, ptr %6292, i64 %6295
  store i8 %6291, ptr %6296, align 1, !tbaa !15
  %6297 = load ptr, ptr %13, align 8, !tbaa !5
  %6298 = load i32, ptr %19, align 4, !tbaa !14
  %6299 = add nsw i32 %6298, 6
  %6300 = sext i32 %6299 to i64
  %6301 = getelementptr inbounds i8, ptr %6297, i64 %6300
  %6302 = load i8, ptr %6301, align 1, !tbaa !15
  %6303 = zext i8 %6302 to i32
  %6304 = load ptr, ptr %14, align 8, !tbaa !5
  %6305 = load i32, ptr %19, align 4, !tbaa !14
  %6306 = add nsw i32 %6305, 6
  %6307 = sext i32 %6306 to i64
  %6308 = getelementptr inbounds i8, ptr %6304, i64 %6307
  %6309 = load i8, ptr %6308, align 1, !tbaa !15
  %6310 = zext i8 %6309 to i64
  %6311 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6310
  %6312 = load i32, ptr %6311, align 4, !tbaa !14
  %6313 = add nsw i32 %6303, %6312
  store i32 %6313, ptr %18, align 4, !tbaa !14
  %6314 = load i32, ptr %18, align 4, !tbaa !14
  %6315 = icmp slt i32 %6314, 0
  br i1 %6315, label %6316, label %6317

6316:                                             ; preds = %6289
  br label %6325

6317:                                             ; preds = %6289
  %6318 = load i32, ptr %18, align 4, !tbaa !14
  %6319 = icmp sgt i32 %6318, 255
  br i1 %6319, label %6320, label %6321

6320:                                             ; preds = %6317
  br label %6323

6321:                                             ; preds = %6317
  %6322 = load i32, ptr %18, align 4, !tbaa !14
  br label %6323

6323:                                             ; preds = %6321, %6320
  %6324 = phi i32 [ 255, %6320 ], [ %6322, %6321 ]
  br label %6325

6325:                                             ; preds = %6323, %6316
  %6326 = phi i32 [ 0, %6316 ], [ %6324, %6323 ]
  %6327 = trunc i32 %6326 to i8
  %6328 = load ptr, ptr %10, align 8, !tbaa !5
  %6329 = load i32, ptr %19, align 4, !tbaa !14
  %6330 = add nsw i32 %6329, 6
  %6331 = sext i32 %6330 to i64
  %6332 = getelementptr inbounds i8, ptr %6328, i64 %6331
  store i8 %6327, ptr %6332, align 1, !tbaa !15
  %6333 = load ptr, ptr %13, align 8, !tbaa !5
  %6334 = load i32, ptr %19, align 4, !tbaa !14
  %6335 = add nsw i32 %6334, 7
  %6336 = sext i32 %6335 to i64
  %6337 = getelementptr inbounds i8, ptr %6333, i64 %6336
  %6338 = load i8, ptr %6337, align 1, !tbaa !15
  %6339 = zext i8 %6338 to i32
  %6340 = load ptr, ptr %15, align 8, !tbaa !5
  %6341 = load i32, ptr %19, align 4, !tbaa !14
  %6342 = add nsw i32 %6341, 7
  %6343 = sext i32 %6342 to i64
  %6344 = getelementptr inbounds i8, ptr %6340, i64 %6343
  %6345 = load i8, ptr %6344, align 1, !tbaa !15
  %6346 = zext i8 %6345 to i64
  %6347 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6346
  %6348 = load i32, ptr %6347, align 4, !tbaa !14
  %6349 = add nsw i32 %6339, %6348
  store i32 %6349, ptr %16, align 4, !tbaa !14
  %6350 = load i32, ptr %16, align 4, !tbaa !14
  %6351 = icmp slt i32 %6350, 0
  br i1 %6351, label %6352, label %6353

6352:                                             ; preds = %6325
  br label %6361

6353:                                             ; preds = %6325
  %6354 = load i32, ptr %16, align 4, !tbaa !14
  %6355 = icmp sgt i32 %6354, 255
  br i1 %6355, label %6356, label %6357

6356:                                             ; preds = %6353
  br label %6359

6357:                                             ; preds = %6353
  %6358 = load i32, ptr %16, align 4, !tbaa !14
  br label %6359

6359:                                             ; preds = %6357, %6356
  %6360 = phi i32 [ 255, %6356 ], [ %6358, %6357 ]
  br label %6361

6361:                                             ; preds = %6359, %6352
  %6362 = phi i32 [ 0, %6352 ], [ %6360, %6359 ]
  %6363 = trunc i32 %6362 to i8
  %6364 = load ptr, ptr %12, align 8, !tbaa !5
  %6365 = load i32, ptr %19, align 4, !tbaa !14
  %6366 = add nsw i32 %6365, 7
  %6367 = sext i32 %6366 to i64
  %6368 = getelementptr inbounds i8, ptr %6364, i64 %6367
  store i8 %6363, ptr %6368, align 1, !tbaa !15
  %6369 = load ptr, ptr %13, align 8, !tbaa !5
  %6370 = load i32, ptr %19, align 4, !tbaa !14
  %6371 = add nsw i32 %6370, 7
  %6372 = sext i32 %6371 to i64
  %6373 = getelementptr inbounds i8, ptr %6369, i64 %6372
  %6374 = load i8, ptr %6373, align 1, !tbaa !15
  %6375 = zext i8 %6374 to i32
  %6376 = load ptr, ptr %14, align 8, !tbaa !5
  %6377 = load i32, ptr %19, align 4, !tbaa !14
  %6378 = add nsw i32 %6377, 7
  %6379 = sext i32 %6378 to i64
  %6380 = getelementptr inbounds i8, ptr %6376, i64 %6379
  %6381 = load i8, ptr %6380, align 1, !tbaa !15
  %6382 = zext i8 %6381 to i64
  %6383 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6382
  %6384 = load i32, ptr %6383, align 4, !tbaa !14
  %6385 = sub nsw i32 %6375, %6384
  %6386 = load ptr, ptr %15, align 8, !tbaa !5
  %6387 = load i32, ptr %19, align 4, !tbaa !14
  %6388 = add nsw i32 %6387, 7
  %6389 = sext i32 %6388 to i64
  %6390 = getelementptr inbounds i8, ptr %6386, i64 %6389
  %6391 = load i8, ptr %6390, align 1, !tbaa !15
  %6392 = zext i8 %6391 to i64
  %6393 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6392
  %6394 = load i32, ptr %6393, align 4, !tbaa !14
  %6395 = sub nsw i32 %6385, %6394
  store i32 %6395, ptr %17, align 4, !tbaa !14
  %6396 = load i32, ptr %17, align 4, !tbaa !14
  %6397 = icmp slt i32 %6396, 0
  br i1 %6397, label %6398, label %6399

6398:                                             ; preds = %6361
  br label %6407

6399:                                             ; preds = %6361
  %6400 = load i32, ptr %17, align 4, !tbaa !14
  %6401 = icmp sgt i32 %6400, 255
  br i1 %6401, label %6402, label %6403

6402:                                             ; preds = %6399
  br label %6405

6403:                                             ; preds = %6399
  %6404 = load i32, ptr %17, align 4, !tbaa !14
  br label %6405

6405:                                             ; preds = %6403, %6402
  %6406 = phi i32 [ 255, %6402 ], [ %6404, %6403 ]
  br label %6407

6407:                                             ; preds = %6405, %6398
  %6408 = phi i32 [ 0, %6398 ], [ %6406, %6405 ]
  %6409 = trunc i32 %6408 to i8
  %6410 = load ptr, ptr %11, align 8, !tbaa !5
  %6411 = load i32, ptr %19, align 4, !tbaa !14
  %6412 = add nsw i32 %6411, 7
  %6413 = sext i32 %6412 to i64
  %6414 = getelementptr inbounds i8, ptr %6410, i64 %6413
  store i8 %6409, ptr %6414, align 1, !tbaa !15
  %6415 = load ptr, ptr %13, align 8, !tbaa !5
  %6416 = load i32, ptr %19, align 4, !tbaa !14
  %6417 = add nsw i32 %6416, 7
  %6418 = sext i32 %6417 to i64
  %6419 = getelementptr inbounds i8, ptr %6415, i64 %6418
  %6420 = load i8, ptr %6419, align 1, !tbaa !15
  %6421 = zext i8 %6420 to i32
  %6422 = load ptr, ptr %14, align 8, !tbaa !5
  %6423 = load i32, ptr %19, align 4, !tbaa !14
  %6424 = add nsw i32 %6423, 7
  %6425 = sext i32 %6424 to i64
  %6426 = getelementptr inbounds i8, ptr %6422, i64 %6425
  %6427 = load i8, ptr %6426, align 1, !tbaa !15
  %6428 = zext i8 %6427 to i64
  %6429 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6428
  %6430 = load i32, ptr %6429, align 4, !tbaa !14
  %6431 = add nsw i32 %6421, %6430
  store i32 %6431, ptr %18, align 4, !tbaa !14
  %6432 = load i32, ptr %18, align 4, !tbaa !14
  %6433 = icmp slt i32 %6432, 0
  br i1 %6433, label %6434, label %6435

6434:                                             ; preds = %6407
  br label %6443

6435:                                             ; preds = %6407
  %6436 = load i32, ptr %18, align 4, !tbaa !14
  %6437 = icmp sgt i32 %6436, 255
  br i1 %6437, label %6438, label %6439

6438:                                             ; preds = %6435
  br label %6441

6439:                                             ; preds = %6435
  %6440 = load i32, ptr %18, align 4, !tbaa !14
  br label %6441

6441:                                             ; preds = %6439, %6438
  %6442 = phi i32 [ 255, %6438 ], [ %6440, %6439 ]
  br label %6443

6443:                                             ; preds = %6441, %6434
  %6444 = phi i32 [ 0, %6434 ], [ %6442, %6441 ]
  %6445 = trunc i32 %6444 to i8
  %6446 = load ptr, ptr %10, align 8, !tbaa !5
  %6447 = load i32, ptr %19, align 4, !tbaa !14
  %6448 = add nsw i32 %6447, 7
  %6449 = sext i32 %6448 to i64
  %6450 = getelementptr inbounds i8, ptr %6446, i64 %6449
  store i8 %6445, ptr %6450, align 1, !tbaa !15
  br label %16426

6451:                                             ; preds = %5499
  %6452 = load ptr, ptr %4, align 8, !tbaa !5
  %6453 = getelementptr inbounds %struct.MImage, ptr %6452, i32 0, i32 2
  %6454 = load i32, ptr %6453, align 8, !tbaa !13
  %6455 = load i32, ptr %19, align 4, !tbaa !14
  %6456 = sub nsw i32 %6454, %6455
  %6457 = icmp eq i32 %6456, 9
  br i1 %6457, label %6458, label %7521

6458:                                             ; preds = %6451
  %6459 = load ptr, ptr %13, align 8, !tbaa !5
  %6460 = load i32, ptr %19, align 4, !tbaa !14
  %6461 = add nsw i32 %6460, 0
  %6462 = sext i32 %6461 to i64
  %6463 = getelementptr inbounds i8, ptr %6459, i64 %6462
  %6464 = load i8, ptr %6463, align 1, !tbaa !15
  %6465 = zext i8 %6464 to i32
  %6466 = load ptr, ptr %15, align 8, !tbaa !5
  %6467 = load i32, ptr %19, align 4, !tbaa !14
  %6468 = add nsw i32 %6467, 0
  %6469 = sext i32 %6468 to i64
  %6470 = getelementptr inbounds i8, ptr %6466, i64 %6469
  %6471 = load i8, ptr %6470, align 1, !tbaa !15
  %6472 = zext i8 %6471 to i64
  %6473 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6472
  %6474 = load i32, ptr %6473, align 4, !tbaa !14
  %6475 = add nsw i32 %6465, %6474
  store i32 %6475, ptr %16, align 4, !tbaa !14
  %6476 = load i32, ptr %16, align 4, !tbaa !14
  %6477 = icmp slt i32 %6476, 0
  br i1 %6477, label %6478, label %6479

6478:                                             ; preds = %6458
  br label %6487

6479:                                             ; preds = %6458
  %6480 = load i32, ptr %16, align 4, !tbaa !14
  %6481 = icmp sgt i32 %6480, 255
  br i1 %6481, label %6482, label %6483

6482:                                             ; preds = %6479
  br label %6485

6483:                                             ; preds = %6479
  %6484 = load i32, ptr %16, align 4, !tbaa !14
  br label %6485

6485:                                             ; preds = %6483, %6482
  %6486 = phi i32 [ 255, %6482 ], [ %6484, %6483 ]
  br label %6487

6487:                                             ; preds = %6485, %6478
  %6488 = phi i32 [ 0, %6478 ], [ %6486, %6485 ]
  %6489 = trunc i32 %6488 to i8
  %6490 = load ptr, ptr %12, align 8, !tbaa !5
  %6491 = load i32, ptr %19, align 4, !tbaa !14
  %6492 = add nsw i32 %6491, 0
  %6493 = sext i32 %6492 to i64
  %6494 = getelementptr inbounds i8, ptr %6490, i64 %6493
  store i8 %6489, ptr %6494, align 1, !tbaa !15
  %6495 = load ptr, ptr %13, align 8, !tbaa !5
  %6496 = load i32, ptr %19, align 4, !tbaa !14
  %6497 = add nsw i32 %6496, 0
  %6498 = sext i32 %6497 to i64
  %6499 = getelementptr inbounds i8, ptr %6495, i64 %6498
  %6500 = load i8, ptr %6499, align 1, !tbaa !15
  %6501 = zext i8 %6500 to i32
  %6502 = load ptr, ptr %14, align 8, !tbaa !5
  %6503 = load i32, ptr %19, align 4, !tbaa !14
  %6504 = add nsw i32 %6503, 0
  %6505 = sext i32 %6504 to i64
  %6506 = getelementptr inbounds i8, ptr %6502, i64 %6505
  %6507 = load i8, ptr %6506, align 1, !tbaa !15
  %6508 = zext i8 %6507 to i64
  %6509 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6508
  %6510 = load i32, ptr %6509, align 4, !tbaa !14
  %6511 = sub nsw i32 %6501, %6510
  %6512 = load ptr, ptr %15, align 8, !tbaa !5
  %6513 = load i32, ptr %19, align 4, !tbaa !14
  %6514 = add nsw i32 %6513, 0
  %6515 = sext i32 %6514 to i64
  %6516 = getelementptr inbounds i8, ptr %6512, i64 %6515
  %6517 = load i8, ptr %6516, align 1, !tbaa !15
  %6518 = zext i8 %6517 to i64
  %6519 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6518
  %6520 = load i32, ptr %6519, align 4, !tbaa !14
  %6521 = sub nsw i32 %6511, %6520
  store i32 %6521, ptr %17, align 4, !tbaa !14
  %6522 = load i32, ptr %17, align 4, !tbaa !14
  %6523 = icmp slt i32 %6522, 0
  br i1 %6523, label %6524, label %6525

6524:                                             ; preds = %6487
  br label %6533

6525:                                             ; preds = %6487
  %6526 = load i32, ptr %17, align 4, !tbaa !14
  %6527 = icmp sgt i32 %6526, 255
  br i1 %6527, label %6528, label %6529

6528:                                             ; preds = %6525
  br label %6531

6529:                                             ; preds = %6525
  %6530 = load i32, ptr %17, align 4, !tbaa !14
  br label %6531

6531:                                             ; preds = %6529, %6528
  %6532 = phi i32 [ 255, %6528 ], [ %6530, %6529 ]
  br label %6533

6533:                                             ; preds = %6531, %6524
  %6534 = phi i32 [ 0, %6524 ], [ %6532, %6531 ]
  %6535 = trunc i32 %6534 to i8
  %6536 = load ptr, ptr %11, align 8, !tbaa !5
  %6537 = load i32, ptr %19, align 4, !tbaa !14
  %6538 = add nsw i32 %6537, 0
  %6539 = sext i32 %6538 to i64
  %6540 = getelementptr inbounds i8, ptr %6536, i64 %6539
  store i8 %6535, ptr %6540, align 1, !tbaa !15
  %6541 = load ptr, ptr %13, align 8, !tbaa !5
  %6542 = load i32, ptr %19, align 4, !tbaa !14
  %6543 = add nsw i32 %6542, 0
  %6544 = sext i32 %6543 to i64
  %6545 = getelementptr inbounds i8, ptr %6541, i64 %6544
  %6546 = load i8, ptr %6545, align 1, !tbaa !15
  %6547 = zext i8 %6546 to i32
  %6548 = load ptr, ptr %14, align 8, !tbaa !5
  %6549 = load i32, ptr %19, align 4, !tbaa !14
  %6550 = add nsw i32 %6549, 0
  %6551 = sext i32 %6550 to i64
  %6552 = getelementptr inbounds i8, ptr %6548, i64 %6551
  %6553 = load i8, ptr %6552, align 1, !tbaa !15
  %6554 = zext i8 %6553 to i64
  %6555 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6554
  %6556 = load i32, ptr %6555, align 4, !tbaa !14
  %6557 = add nsw i32 %6547, %6556
  store i32 %6557, ptr %18, align 4, !tbaa !14
  %6558 = load i32, ptr %18, align 4, !tbaa !14
  %6559 = icmp slt i32 %6558, 0
  br i1 %6559, label %6560, label %6561

6560:                                             ; preds = %6533
  br label %6569

6561:                                             ; preds = %6533
  %6562 = load i32, ptr %18, align 4, !tbaa !14
  %6563 = icmp sgt i32 %6562, 255
  br i1 %6563, label %6564, label %6565

6564:                                             ; preds = %6561
  br label %6567

6565:                                             ; preds = %6561
  %6566 = load i32, ptr %18, align 4, !tbaa !14
  br label %6567

6567:                                             ; preds = %6565, %6564
  %6568 = phi i32 [ 255, %6564 ], [ %6566, %6565 ]
  br label %6569

6569:                                             ; preds = %6567, %6560
  %6570 = phi i32 [ 0, %6560 ], [ %6568, %6567 ]
  %6571 = trunc i32 %6570 to i8
  %6572 = load ptr, ptr %10, align 8, !tbaa !5
  %6573 = load i32, ptr %19, align 4, !tbaa !14
  %6574 = add nsw i32 %6573, 0
  %6575 = sext i32 %6574 to i64
  %6576 = getelementptr inbounds i8, ptr %6572, i64 %6575
  store i8 %6571, ptr %6576, align 1, !tbaa !15
  %6577 = load ptr, ptr %13, align 8, !tbaa !5
  %6578 = load i32, ptr %19, align 4, !tbaa !14
  %6579 = add nsw i32 %6578, 1
  %6580 = sext i32 %6579 to i64
  %6581 = getelementptr inbounds i8, ptr %6577, i64 %6580
  %6582 = load i8, ptr %6581, align 1, !tbaa !15
  %6583 = zext i8 %6582 to i32
  %6584 = load ptr, ptr %15, align 8, !tbaa !5
  %6585 = load i32, ptr %19, align 4, !tbaa !14
  %6586 = add nsw i32 %6585, 1
  %6587 = sext i32 %6586 to i64
  %6588 = getelementptr inbounds i8, ptr %6584, i64 %6587
  %6589 = load i8, ptr %6588, align 1, !tbaa !15
  %6590 = zext i8 %6589 to i64
  %6591 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6590
  %6592 = load i32, ptr %6591, align 4, !tbaa !14
  %6593 = add nsw i32 %6583, %6592
  store i32 %6593, ptr %16, align 4, !tbaa !14
  %6594 = load i32, ptr %16, align 4, !tbaa !14
  %6595 = icmp slt i32 %6594, 0
  br i1 %6595, label %6596, label %6597

6596:                                             ; preds = %6569
  br label %6605

6597:                                             ; preds = %6569
  %6598 = load i32, ptr %16, align 4, !tbaa !14
  %6599 = icmp sgt i32 %6598, 255
  br i1 %6599, label %6600, label %6601

6600:                                             ; preds = %6597
  br label %6603

6601:                                             ; preds = %6597
  %6602 = load i32, ptr %16, align 4, !tbaa !14
  br label %6603

6603:                                             ; preds = %6601, %6600
  %6604 = phi i32 [ 255, %6600 ], [ %6602, %6601 ]
  br label %6605

6605:                                             ; preds = %6603, %6596
  %6606 = phi i32 [ 0, %6596 ], [ %6604, %6603 ]
  %6607 = trunc i32 %6606 to i8
  %6608 = load ptr, ptr %12, align 8, !tbaa !5
  %6609 = load i32, ptr %19, align 4, !tbaa !14
  %6610 = add nsw i32 %6609, 1
  %6611 = sext i32 %6610 to i64
  %6612 = getelementptr inbounds i8, ptr %6608, i64 %6611
  store i8 %6607, ptr %6612, align 1, !tbaa !15
  %6613 = load ptr, ptr %13, align 8, !tbaa !5
  %6614 = load i32, ptr %19, align 4, !tbaa !14
  %6615 = add nsw i32 %6614, 1
  %6616 = sext i32 %6615 to i64
  %6617 = getelementptr inbounds i8, ptr %6613, i64 %6616
  %6618 = load i8, ptr %6617, align 1, !tbaa !15
  %6619 = zext i8 %6618 to i32
  %6620 = load ptr, ptr %14, align 8, !tbaa !5
  %6621 = load i32, ptr %19, align 4, !tbaa !14
  %6622 = add nsw i32 %6621, 1
  %6623 = sext i32 %6622 to i64
  %6624 = getelementptr inbounds i8, ptr %6620, i64 %6623
  %6625 = load i8, ptr %6624, align 1, !tbaa !15
  %6626 = zext i8 %6625 to i64
  %6627 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6626
  %6628 = load i32, ptr %6627, align 4, !tbaa !14
  %6629 = sub nsw i32 %6619, %6628
  %6630 = load ptr, ptr %15, align 8, !tbaa !5
  %6631 = load i32, ptr %19, align 4, !tbaa !14
  %6632 = add nsw i32 %6631, 1
  %6633 = sext i32 %6632 to i64
  %6634 = getelementptr inbounds i8, ptr %6630, i64 %6633
  %6635 = load i8, ptr %6634, align 1, !tbaa !15
  %6636 = zext i8 %6635 to i64
  %6637 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6636
  %6638 = load i32, ptr %6637, align 4, !tbaa !14
  %6639 = sub nsw i32 %6629, %6638
  store i32 %6639, ptr %17, align 4, !tbaa !14
  %6640 = load i32, ptr %17, align 4, !tbaa !14
  %6641 = icmp slt i32 %6640, 0
  br i1 %6641, label %6642, label %6643

6642:                                             ; preds = %6605
  br label %6651

6643:                                             ; preds = %6605
  %6644 = load i32, ptr %17, align 4, !tbaa !14
  %6645 = icmp sgt i32 %6644, 255
  br i1 %6645, label %6646, label %6647

6646:                                             ; preds = %6643
  br label %6649

6647:                                             ; preds = %6643
  %6648 = load i32, ptr %17, align 4, !tbaa !14
  br label %6649

6649:                                             ; preds = %6647, %6646
  %6650 = phi i32 [ 255, %6646 ], [ %6648, %6647 ]
  br label %6651

6651:                                             ; preds = %6649, %6642
  %6652 = phi i32 [ 0, %6642 ], [ %6650, %6649 ]
  %6653 = trunc i32 %6652 to i8
  %6654 = load ptr, ptr %11, align 8, !tbaa !5
  %6655 = load i32, ptr %19, align 4, !tbaa !14
  %6656 = add nsw i32 %6655, 1
  %6657 = sext i32 %6656 to i64
  %6658 = getelementptr inbounds i8, ptr %6654, i64 %6657
  store i8 %6653, ptr %6658, align 1, !tbaa !15
  %6659 = load ptr, ptr %13, align 8, !tbaa !5
  %6660 = load i32, ptr %19, align 4, !tbaa !14
  %6661 = add nsw i32 %6660, 1
  %6662 = sext i32 %6661 to i64
  %6663 = getelementptr inbounds i8, ptr %6659, i64 %6662
  %6664 = load i8, ptr %6663, align 1, !tbaa !15
  %6665 = zext i8 %6664 to i32
  %6666 = load ptr, ptr %14, align 8, !tbaa !5
  %6667 = load i32, ptr %19, align 4, !tbaa !14
  %6668 = add nsw i32 %6667, 1
  %6669 = sext i32 %6668 to i64
  %6670 = getelementptr inbounds i8, ptr %6666, i64 %6669
  %6671 = load i8, ptr %6670, align 1, !tbaa !15
  %6672 = zext i8 %6671 to i64
  %6673 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6672
  %6674 = load i32, ptr %6673, align 4, !tbaa !14
  %6675 = add nsw i32 %6665, %6674
  store i32 %6675, ptr %18, align 4, !tbaa !14
  %6676 = load i32, ptr %18, align 4, !tbaa !14
  %6677 = icmp slt i32 %6676, 0
  br i1 %6677, label %6678, label %6679

6678:                                             ; preds = %6651
  br label %6687

6679:                                             ; preds = %6651
  %6680 = load i32, ptr %18, align 4, !tbaa !14
  %6681 = icmp sgt i32 %6680, 255
  br i1 %6681, label %6682, label %6683

6682:                                             ; preds = %6679
  br label %6685

6683:                                             ; preds = %6679
  %6684 = load i32, ptr %18, align 4, !tbaa !14
  br label %6685

6685:                                             ; preds = %6683, %6682
  %6686 = phi i32 [ 255, %6682 ], [ %6684, %6683 ]
  br label %6687

6687:                                             ; preds = %6685, %6678
  %6688 = phi i32 [ 0, %6678 ], [ %6686, %6685 ]
  %6689 = trunc i32 %6688 to i8
  %6690 = load ptr, ptr %10, align 8, !tbaa !5
  %6691 = load i32, ptr %19, align 4, !tbaa !14
  %6692 = add nsw i32 %6691, 1
  %6693 = sext i32 %6692 to i64
  %6694 = getelementptr inbounds i8, ptr %6690, i64 %6693
  store i8 %6689, ptr %6694, align 1, !tbaa !15
  %6695 = load ptr, ptr %13, align 8, !tbaa !5
  %6696 = load i32, ptr %19, align 4, !tbaa !14
  %6697 = add nsw i32 %6696, 2
  %6698 = sext i32 %6697 to i64
  %6699 = getelementptr inbounds i8, ptr %6695, i64 %6698
  %6700 = load i8, ptr %6699, align 1, !tbaa !15
  %6701 = zext i8 %6700 to i32
  %6702 = load ptr, ptr %15, align 8, !tbaa !5
  %6703 = load i32, ptr %19, align 4, !tbaa !14
  %6704 = add nsw i32 %6703, 2
  %6705 = sext i32 %6704 to i64
  %6706 = getelementptr inbounds i8, ptr %6702, i64 %6705
  %6707 = load i8, ptr %6706, align 1, !tbaa !15
  %6708 = zext i8 %6707 to i64
  %6709 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6708
  %6710 = load i32, ptr %6709, align 4, !tbaa !14
  %6711 = add nsw i32 %6701, %6710
  store i32 %6711, ptr %16, align 4, !tbaa !14
  %6712 = load i32, ptr %16, align 4, !tbaa !14
  %6713 = icmp slt i32 %6712, 0
  br i1 %6713, label %6714, label %6715

6714:                                             ; preds = %6687
  br label %6723

6715:                                             ; preds = %6687
  %6716 = load i32, ptr %16, align 4, !tbaa !14
  %6717 = icmp sgt i32 %6716, 255
  br i1 %6717, label %6718, label %6719

6718:                                             ; preds = %6715
  br label %6721

6719:                                             ; preds = %6715
  %6720 = load i32, ptr %16, align 4, !tbaa !14
  br label %6721

6721:                                             ; preds = %6719, %6718
  %6722 = phi i32 [ 255, %6718 ], [ %6720, %6719 ]
  br label %6723

6723:                                             ; preds = %6721, %6714
  %6724 = phi i32 [ 0, %6714 ], [ %6722, %6721 ]
  %6725 = trunc i32 %6724 to i8
  %6726 = load ptr, ptr %12, align 8, !tbaa !5
  %6727 = load i32, ptr %19, align 4, !tbaa !14
  %6728 = add nsw i32 %6727, 2
  %6729 = sext i32 %6728 to i64
  %6730 = getelementptr inbounds i8, ptr %6726, i64 %6729
  store i8 %6725, ptr %6730, align 1, !tbaa !15
  %6731 = load ptr, ptr %13, align 8, !tbaa !5
  %6732 = load i32, ptr %19, align 4, !tbaa !14
  %6733 = add nsw i32 %6732, 2
  %6734 = sext i32 %6733 to i64
  %6735 = getelementptr inbounds i8, ptr %6731, i64 %6734
  %6736 = load i8, ptr %6735, align 1, !tbaa !15
  %6737 = zext i8 %6736 to i32
  %6738 = load ptr, ptr %14, align 8, !tbaa !5
  %6739 = load i32, ptr %19, align 4, !tbaa !14
  %6740 = add nsw i32 %6739, 2
  %6741 = sext i32 %6740 to i64
  %6742 = getelementptr inbounds i8, ptr %6738, i64 %6741
  %6743 = load i8, ptr %6742, align 1, !tbaa !15
  %6744 = zext i8 %6743 to i64
  %6745 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6744
  %6746 = load i32, ptr %6745, align 4, !tbaa !14
  %6747 = sub nsw i32 %6737, %6746
  %6748 = load ptr, ptr %15, align 8, !tbaa !5
  %6749 = load i32, ptr %19, align 4, !tbaa !14
  %6750 = add nsw i32 %6749, 2
  %6751 = sext i32 %6750 to i64
  %6752 = getelementptr inbounds i8, ptr %6748, i64 %6751
  %6753 = load i8, ptr %6752, align 1, !tbaa !15
  %6754 = zext i8 %6753 to i64
  %6755 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6754
  %6756 = load i32, ptr %6755, align 4, !tbaa !14
  %6757 = sub nsw i32 %6747, %6756
  store i32 %6757, ptr %17, align 4, !tbaa !14
  %6758 = load i32, ptr %17, align 4, !tbaa !14
  %6759 = icmp slt i32 %6758, 0
  br i1 %6759, label %6760, label %6761

6760:                                             ; preds = %6723
  br label %6769

6761:                                             ; preds = %6723
  %6762 = load i32, ptr %17, align 4, !tbaa !14
  %6763 = icmp sgt i32 %6762, 255
  br i1 %6763, label %6764, label %6765

6764:                                             ; preds = %6761
  br label %6767

6765:                                             ; preds = %6761
  %6766 = load i32, ptr %17, align 4, !tbaa !14
  br label %6767

6767:                                             ; preds = %6765, %6764
  %6768 = phi i32 [ 255, %6764 ], [ %6766, %6765 ]
  br label %6769

6769:                                             ; preds = %6767, %6760
  %6770 = phi i32 [ 0, %6760 ], [ %6768, %6767 ]
  %6771 = trunc i32 %6770 to i8
  %6772 = load ptr, ptr %11, align 8, !tbaa !5
  %6773 = load i32, ptr %19, align 4, !tbaa !14
  %6774 = add nsw i32 %6773, 2
  %6775 = sext i32 %6774 to i64
  %6776 = getelementptr inbounds i8, ptr %6772, i64 %6775
  store i8 %6771, ptr %6776, align 1, !tbaa !15
  %6777 = load ptr, ptr %13, align 8, !tbaa !5
  %6778 = load i32, ptr %19, align 4, !tbaa !14
  %6779 = add nsw i32 %6778, 2
  %6780 = sext i32 %6779 to i64
  %6781 = getelementptr inbounds i8, ptr %6777, i64 %6780
  %6782 = load i8, ptr %6781, align 1, !tbaa !15
  %6783 = zext i8 %6782 to i32
  %6784 = load ptr, ptr %14, align 8, !tbaa !5
  %6785 = load i32, ptr %19, align 4, !tbaa !14
  %6786 = add nsw i32 %6785, 2
  %6787 = sext i32 %6786 to i64
  %6788 = getelementptr inbounds i8, ptr %6784, i64 %6787
  %6789 = load i8, ptr %6788, align 1, !tbaa !15
  %6790 = zext i8 %6789 to i64
  %6791 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6790
  %6792 = load i32, ptr %6791, align 4, !tbaa !14
  %6793 = add nsw i32 %6783, %6792
  store i32 %6793, ptr %18, align 4, !tbaa !14
  %6794 = load i32, ptr %18, align 4, !tbaa !14
  %6795 = icmp slt i32 %6794, 0
  br i1 %6795, label %6796, label %6797

6796:                                             ; preds = %6769
  br label %6805

6797:                                             ; preds = %6769
  %6798 = load i32, ptr %18, align 4, !tbaa !14
  %6799 = icmp sgt i32 %6798, 255
  br i1 %6799, label %6800, label %6801

6800:                                             ; preds = %6797
  br label %6803

6801:                                             ; preds = %6797
  %6802 = load i32, ptr %18, align 4, !tbaa !14
  br label %6803

6803:                                             ; preds = %6801, %6800
  %6804 = phi i32 [ 255, %6800 ], [ %6802, %6801 ]
  br label %6805

6805:                                             ; preds = %6803, %6796
  %6806 = phi i32 [ 0, %6796 ], [ %6804, %6803 ]
  %6807 = trunc i32 %6806 to i8
  %6808 = load ptr, ptr %10, align 8, !tbaa !5
  %6809 = load i32, ptr %19, align 4, !tbaa !14
  %6810 = add nsw i32 %6809, 2
  %6811 = sext i32 %6810 to i64
  %6812 = getelementptr inbounds i8, ptr %6808, i64 %6811
  store i8 %6807, ptr %6812, align 1, !tbaa !15
  %6813 = load ptr, ptr %13, align 8, !tbaa !5
  %6814 = load i32, ptr %19, align 4, !tbaa !14
  %6815 = add nsw i32 %6814, 3
  %6816 = sext i32 %6815 to i64
  %6817 = getelementptr inbounds i8, ptr %6813, i64 %6816
  %6818 = load i8, ptr %6817, align 1, !tbaa !15
  %6819 = zext i8 %6818 to i32
  %6820 = load ptr, ptr %15, align 8, !tbaa !5
  %6821 = load i32, ptr %19, align 4, !tbaa !14
  %6822 = add nsw i32 %6821, 3
  %6823 = sext i32 %6822 to i64
  %6824 = getelementptr inbounds i8, ptr %6820, i64 %6823
  %6825 = load i8, ptr %6824, align 1, !tbaa !15
  %6826 = zext i8 %6825 to i64
  %6827 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6826
  %6828 = load i32, ptr %6827, align 4, !tbaa !14
  %6829 = add nsw i32 %6819, %6828
  store i32 %6829, ptr %16, align 4, !tbaa !14
  %6830 = load i32, ptr %16, align 4, !tbaa !14
  %6831 = icmp slt i32 %6830, 0
  br i1 %6831, label %6832, label %6833

6832:                                             ; preds = %6805
  br label %6841

6833:                                             ; preds = %6805
  %6834 = load i32, ptr %16, align 4, !tbaa !14
  %6835 = icmp sgt i32 %6834, 255
  br i1 %6835, label %6836, label %6837

6836:                                             ; preds = %6833
  br label %6839

6837:                                             ; preds = %6833
  %6838 = load i32, ptr %16, align 4, !tbaa !14
  br label %6839

6839:                                             ; preds = %6837, %6836
  %6840 = phi i32 [ 255, %6836 ], [ %6838, %6837 ]
  br label %6841

6841:                                             ; preds = %6839, %6832
  %6842 = phi i32 [ 0, %6832 ], [ %6840, %6839 ]
  %6843 = trunc i32 %6842 to i8
  %6844 = load ptr, ptr %12, align 8, !tbaa !5
  %6845 = load i32, ptr %19, align 4, !tbaa !14
  %6846 = add nsw i32 %6845, 3
  %6847 = sext i32 %6846 to i64
  %6848 = getelementptr inbounds i8, ptr %6844, i64 %6847
  store i8 %6843, ptr %6848, align 1, !tbaa !15
  %6849 = load ptr, ptr %13, align 8, !tbaa !5
  %6850 = load i32, ptr %19, align 4, !tbaa !14
  %6851 = add nsw i32 %6850, 3
  %6852 = sext i32 %6851 to i64
  %6853 = getelementptr inbounds i8, ptr %6849, i64 %6852
  %6854 = load i8, ptr %6853, align 1, !tbaa !15
  %6855 = zext i8 %6854 to i32
  %6856 = load ptr, ptr %14, align 8, !tbaa !5
  %6857 = load i32, ptr %19, align 4, !tbaa !14
  %6858 = add nsw i32 %6857, 3
  %6859 = sext i32 %6858 to i64
  %6860 = getelementptr inbounds i8, ptr %6856, i64 %6859
  %6861 = load i8, ptr %6860, align 1, !tbaa !15
  %6862 = zext i8 %6861 to i64
  %6863 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6862
  %6864 = load i32, ptr %6863, align 4, !tbaa !14
  %6865 = sub nsw i32 %6855, %6864
  %6866 = load ptr, ptr %15, align 8, !tbaa !5
  %6867 = load i32, ptr %19, align 4, !tbaa !14
  %6868 = add nsw i32 %6867, 3
  %6869 = sext i32 %6868 to i64
  %6870 = getelementptr inbounds i8, ptr %6866, i64 %6869
  %6871 = load i8, ptr %6870, align 1, !tbaa !15
  %6872 = zext i8 %6871 to i64
  %6873 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6872
  %6874 = load i32, ptr %6873, align 4, !tbaa !14
  %6875 = sub nsw i32 %6865, %6874
  store i32 %6875, ptr %17, align 4, !tbaa !14
  %6876 = load i32, ptr %17, align 4, !tbaa !14
  %6877 = icmp slt i32 %6876, 0
  br i1 %6877, label %6878, label %6879

6878:                                             ; preds = %6841
  br label %6887

6879:                                             ; preds = %6841
  %6880 = load i32, ptr %17, align 4, !tbaa !14
  %6881 = icmp sgt i32 %6880, 255
  br i1 %6881, label %6882, label %6883

6882:                                             ; preds = %6879
  br label %6885

6883:                                             ; preds = %6879
  %6884 = load i32, ptr %17, align 4, !tbaa !14
  br label %6885

6885:                                             ; preds = %6883, %6882
  %6886 = phi i32 [ 255, %6882 ], [ %6884, %6883 ]
  br label %6887

6887:                                             ; preds = %6885, %6878
  %6888 = phi i32 [ 0, %6878 ], [ %6886, %6885 ]
  %6889 = trunc i32 %6888 to i8
  %6890 = load ptr, ptr %11, align 8, !tbaa !5
  %6891 = load i32, ptr %19, align 4, !tbaa !14
  %6892 = add nsw i32 %6891, 3
  %6893 = sext i32 %6892 to i64
  %6894 = getelementptr inbounds i8, ptr %6890, i64 %6893
  store i8 %6889, ptr %6894, align 1, !tbaa !15
  %6895 = load ptr, ptr %13, align 8, !tbaa !5
  %6896 = load i32, ptr %19, align 4, !tbaa !14
  %6897 = add nsw i32 %6896, 3
  %6898 = sext i32 %6897 to i64
  %6899 = getelementptr inbounds i8, ptr %6895, i64 %6898
  %6900 = load i8, ptr %6899, align 1, !tbaa !15
  %6901 = zext i8 %6900 to i32
  %6902 = load ptr, ptr %14, align 8, !tbaa !5
  %6903 = load i32, ptr %19, align 4, !tbaa !14
  %6904 = add nsw i32 %6903, 3
  %6905 = sext i32 %6904 to i64
  %6906 = getelementptr inbounds i8, ptr %6902, i64 %6905
  %6907 = load i8, ptr %6906, align 1, !tbaa !15
  %6908 = zext i8 %6907 to i64
  %6909 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %6908
  %6910 = load i32, ptr %6909, align 4, !tbaa !14
  %6911 = add nsw i32 %6901, %6910
  store i32 %6911, ptr %18, align 4, !tbaa !14
  %6912 = load i32, ptr %18, align 4, !tbaa !14
  %6913 = icmp slt i32 %6912, 0
  br i1 %6913, label %6914, label %6915

6914:                                             ; preds = %6887
  br label %6923

6915:                                             ; preds = %6887
  %6916 = load i32, ptr %18, align 4, !tbaa !14
  %6917 = icmp sgt i32 %6916, 255
  br i1 %6917, label %6918, label %6919

6918:                                             ; preds = %6915
  br label %6921

6919:                                             ; preds = %6915
  %6920 = load i32, ptr %18, align 4, !tbaa !14
  br label %6921

6921:                                             ; preds = %6919, %6918
  %6922 = phi i32 [ 255, %6918 ], [ %6920, %6919 ]
  br label %6923

6923:                                             ; preds = %6921, %6914
  %6924 = phi i32 [ 0, %6914 ], [ %6922, %6921 ]
  %6925 = trunc i32 %6924 to i8
  %6926 = load ptr, ptr %10, align 8, !tbaa !5
  %6927 = load i32, ptr %19, align 4, !tbaa !14
  %6928 = add nsw i32 %6927, 3
  %6929 = sext i32 %6928 to i64
  %6930 = getelementptr inbounds i8, ptr %6926, i64 %6929
  store i8 %6925, ptr %6930, align 1, !tbaa !15
  %6931 = load ptr, ptr %13, align 8, !tbaa !5
  %6932 = load i32, ptr %19, align 4, !tbaa !14
  %6933 = add nsw i32 %6932, 4
  %6934 = sext i32 %6933 to i64
  %6935 = getelementptr inbounds i8, ptr %6931, i64 %6934
  %6936 = load i8, ptr %6935, align 1, !tbaa !15
  %6937 = zext i8 %6936 to i32
  %6938 = load ptr, ptr %15, align 8, !tbaa !5
  %6939 = load i32, ptr %19, align 4, !tbaa !14
  %6940 = add nsw i32 %6939, 4
  %6941 = sext i32 %6940 to i64
  %6942 = getelementptr inbounds i8, ptr %6938, i64 %6941
  %6943 = load i8, ptr %6942, align 1, !tbaa !15
  %6944 = zext i8 %6943 to i64
  %6945 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %6944
  %6946 = load i32, ptr %6945, align 4, !tbaa !14
  %6947 = add nsw i32 %6937, %6946
  store i32 %6947, ptr %16, align 4, !tbaa !14
  %6948 = load i32, ptr %16, align 4, !tbaa !14
  %6949 = icmp slt i32 %6948, 0
  br i1 %6949, label %6950, label %6951

6950:                                             ; preds = %6923
  br label %6959

6951:                                             ; preds = %6923
  %6952 = load i32, ptr %16, align 4, !tbaa !14
  %6953 = icmp sgt i32 %6952, 255
  br i1 %6953, label %6954, label %6955

6954:                                             ; preds = %6951
  br label %6957

6955:                                             ; preds = %6951
  %6956 = load i32, ptr %16, align 4, !tbaa !14
  br label %6957

6957:                                             ; preds = %6955, %6954
  %6958 = phi i32 [ 255, %6954 ], [ %6956, %6955 ]
  br label %6959

6959:                                             ; preds = %6957, %6950
  %6960 = phi i32 [ 0, %6950 ], [ %6958, %6957 ]
  %6961 = trunc i32 %6960 to i8
  %6962 = load ptr, ptr %12, align 8, !tbaa !5
  %6963 = load i32, ptr %19, align 4, !tbaa !14
  %6964 = add nsw i32 %6963, 4
  %6965 = sext i32 %6964 to i64
  %6966 = getelementptr inbounds i8, ptr %6962, i64 %6965
  store i8 %6961, ptr %6966, align 1, !tbaa !15
  %6967 = load ptr, ptr %13, align 8, !tbaa !5
  %6968 = load i32, ptr %19, align 4, !tbaa !14
  %6969 = add nsw i32 %6968, 4
  %6970 = sext i32 %6969 to i64
  %6971 = getelementptr inbounds i8, ptr %6967, i64 %6970
  %6972 = load i8, ptr %6971, align 1, !tbaa !15
  %6973 = zext i8 %6972 to i32
  %6974 = load ptr, ptr %14, align 8, !tbaa !5
  %6975 = load i32, ptr %19, align 4, !tbaa !14
  %6976 = add nsw i32 %6975, 4
  %6977 = sext i32 %6976 to i64
  %6978 = getelementptr inbounds i8, ptr %6974, i64 %6977
  %6979 = load i8, ptr %6978, align 1, !tbaa !15
  %6980 = zext i8 %6979 to i64
  %6981 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %6980
  %6982 = load i32, ptr %6981, align 4, !tbaa !14
  %6983 = sub nsw i32 %6973, %6982
  %6984 = load ptr, ptr %15, align 8, !tbaa !5
  %6985 = load i32, ptr %19, align 4, !tbaa !14
  %6986 = add nsw i32 %6985, 4
  %6987 = sext i32 %6986 to i64
  %6988 = getelementptr inbounds i8, ptr %6984, i64 %6987
  %6989 = load i8, ptr %6988, align 1, !tbaa !15
  %6990 = zext i8 %6989 to i64
  %6991 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %6990
  %6992 = load i32, ptr %6991, align 4, !tbaa !14
  %6993 = sub nsw i32 %6983, %6992
  store i32 %6993, ptr %17, align 4, !tbaa !14
  %6994 = load i32, ptr %17, align 4, !tbaa !14
  %6995 = icmp slt i32 %6994, 0
  br i1 %6995, label %6996, label %6997

6996:                                             ; preds = %6959
  br label %7005

6997:                                             ; preds = %6959
  %6998 = load i32, ptr %17, align 4, !tbaa !14
  %6999 = icmp sgt i32 %6998, 255
  br i1 %6999, label %7000, label %7001

7000:                                             ; preds = %6997
  br label %7003

7001:                                             ; preds = %6997
  %7002 = load i32, ptr %17, align 4, !tbaa !14
  br label %7003

7003:                                             ; preds = %7001, %7000
  %7004 = phi i32 [ 255, %7000 ], [ %7002, %7001 ]
  br label %7005

7005:                                             ; preds = %7003, %6996
  %7006 = phi i32 [ 0, %6996 ], [ %7004, %7003 ]
  %7007 = trunc i32 %7006 to i8
  %7008 = load ptr, ptr %11, align 8, !tbaa !5
  %7009 = load i32, ptr %19, align 4, !tbaa !14
  %7010 = add nsw i32 %7009, 4
  %7011 = sext i32 %7010 to i64
  %7012 = getelementptr inbounds i8, ptr %7008, i64 %7011
  store i8 %7007, ptr %7012, align 1, !tbaa !15
  %7013 = load ptr, ptr %13, align 8, !tbaa !5
  %7014 = load i32, ptr %19, align 4, !tbaa !14
  %7015 = add nsw i32 %7014, 4
  %7016 = sext i32 %7015 to i64
  %7017 = getelementptr inbounds i8, ptr %7013, i64 %7016
  %7018 = load i8, ptr %7017, align 1, !tbaa !15
  %7019 = zext i8 %7018 to i32
  %7020 = load ptr, ptr %14, align 8, !tbaa !5
  %7021 = load i32, ptr %19, align 4, !tbaa !14
  %7022 = add nsw i32 %7021, 4
  %7023 = sext i32 %7022 to i64
  %7024 = getelementptr inbounds i8, ptr %7020, i64 %7023
  %7025 = load i8, ptr %7024, align 1, !tbaa !15
  %7026 = zext i8 %7025 to i64
  %7027 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7026
  %7028 = load i32, ptr %7027, align 4, !tbaa !14
  %7029 = add nsw i32 %7019, %7028
  store i32 %7029, ptr %18, align 4, !tbaa !14
  %7030 = load i32, ptr %18, align 4, !tbaa !14
  %7031 = icmp slt i32 %7030, 0
  br i1 %7031, label %7032, label %7033

7032:                                             ; preds = %7005
  br label %7041

7033:                                             ; preds = %7005
  %7034 = load i32, ptr %18, align 4, !tbaa !14
  %7035 = icmp sgt i32 %7034, 255
  br i1 %7035, label %7036, label %7037

7036:                                             ; preds = %7033
  br label %7039

7037:                                             ; preds = %7033
  %7038 = load i32, ptr %18, align 4, !tbaa !14
  br label %7039

7039:                                             ; preds = %7037, %7036
  %7040 = phi i32 [ 255, %7036 ], [ %7038, %7037 ]
  br label %7041

7041:                                             ; preds = %7039, %7032
  %7042 = phi i32 [ 0, %7032 ], [ %7040, %7039 ]
  %7043 = trunc i32 %7042 to i8
  %7044 = load ptr, ptr %10, align 8, !tbaa !5
  %7045 = load i32, ptr %19, align 4, !tbaa !14
  %7046 = add nsw i32 %7045, 4
  %7047 = sext i32 %7046 to i64
  %7048 = getelementptr inbounds i8, ptr %7044, i64 %7047
  store i8 %7043, ptr %7048, align 1, !tbaa !15
  %7049 = load ptr, ptr %13, align 8, !tbaa !5
  %7050 = load i32, ptr %19, align 4, !tbaa !14
  %7051 = add nsw i32 %7050, 5
  %7052 = sext i32 %7051 to i64
  %7053 = getelementptr inbounds i8, ptr %7049, i64 %7052
  %7054 = load i8, ptr %7053, align 1, !tbaa !15
  %7055 = zext i8 %7054 to i32
  %7056 = load ptr, ptr %15, align 8, !tbaa !5
  %7057 = load i32, ptr %19, align 4, !tbaa !14
  %7058 = add nsw i32 %7057, 5
  %7059 = sext i32 %7058 to i64
  %7060 = getelementptr inbounds i8, ptr %7056, i64 %7059
  %7061 = load i8, ptr %7060, align 1, !tbaa !15
  %7062 = zext i8 %7061 to i64
  %7063 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7062
  %7064 = load i32, ptr %7063, align 4, !tbaa !14
  %7065 = add nsw i32 %7055, %7064
  store i32 %7065, ptr %16, align 4, !tbaa !14
  %7066 = load i32, ptr %16, align 4, !tbaa !14
  %7067 = icmp slt i32 %7066, 0
  br i1 %7067, label %7068, label %7069

7068:                                             ; preds = %7041
  br label %7077

7069:                                             ; preds = %7041
  %7070 = load i32, ptr %16, align 4, !tbaa !14
  %7071 = icmp sgt i32 %7070, 255
  br i1 %7071, label %7072, label %7073

7072:                                             ; preds = %7069
  br label %7075

7073:                                             ; preds = %7069
  %7074 = load i32, ptr %16, align 4, !tbaa !14
  br label %7075

7075:                                             ; preds = %7073, %7072
  %7076 = phi i32 [ 255, %7072 ], [ %7074, %7073 ]
  br label %7077

7077:                                             ; preds = %7075, %7068
  %7078 = phi i32 [ 0, %7068 ], [ %7076, %7075 ]
  %7079 = trunc i32 %7078 to i8
  %7080 = load ptr, ptr %12, align 8, !tbaa !5
  %7081 = load i32, ptr %19, align 4, !tbaa !14
  %7082 = add nsw i32 %7081, 5
  %7083 = sext i32 %7082 to i64
  %7084 = getelementptr inbounds i8, ptr %7080, i64 %7083
  store i8 %7079, ptr %7084, align 1, !tbaa !15
  %7085 = load ptr, ptr %13, align 8, !tbaa !5
  %7086 = load i32, ptr %19, align 4, !tbaa !14
  %7087 = add nsw i32 %7086, 5
  %7088 = sext i32 %7087 to i64
  %7089 = getelementptr inbounds i8, ptr %7085, i64 %7088
  %7090 = load i8, ptr %7089, align 1, !tbaa !15
  %7091 = zext i8 %7090 to i32
  %7092 = load ptr, ptr %14, align 8, !tbaa !5
  %7093 = load i32, ptr %19, align 4, !tbaa !14
  %7094 = add nsw i32 %7093, 5
  %7095 = sext i32 %7094 to i64
  %7096 = getelementptr inbounds i8, ptr %7092, i64 %7095
  %7097 = load i8, ptr %7096, align 1, !tbaa !15
  %7098 = zext i8 %7097 to i64
  %7099 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7098
  %7100 = load i32, ptr %7099, align 4, !tbaa !14
  %7101 = sub nsw i32 %7091, %7100
  %7102 = load ptr, ptr %15, align 8, !tbaa !5
  %7103 = load i32, ptr %19, align 4, !tbaa !14
  %7104 = add nsw i32 %7103, 5
  %7105 = sext i32 %7104 to i64
  %7106 = getelementptr inbounds i8, ptr %7102, i64 %7105
  %7107 = load i8, ptr %7106, align 1, !tbaa !15
  %7108 = zext i8 %7107 to i64
  %7109 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7108
  %7110 = load i32, ptr %7109, align 4, !tbaa !14
  %7111 = sub nsw i32 %7101, %7110
  store i32 %7111, ptr %17, align 4, !tbaa !14
  %7112 = load i32, ptr %17, align 4, !tbaa !14
  %7113 = icmp slt i32 %7112, 0
  br i1 %7113, label %7114, label %7115

7114:                                             ; preds = %7077
  br label %7123

7115:                                             ; preds = %7077
  %7116 = load i32, ptr %17, align 4, !tbaa !14
  %7117 = icmp sgt i32 %7116, 255
  br i1 %7117, label %7118, label %7119

7118:                                             ; preds = %7115
  br label %7121

7119:                                             ; preds = %7115
  %7120 = load i32, ptr %17, align 4, !tbaa !14
  br label %7121

7121:                                             ; preds = %7119, %7118
  %7122 = phi i32 [ 255, %7118 ], [ %7120, %7119 ]
  br label %7123

7123:                                             ; preds = %7121, %7114
  %7124 = phi i32 [ 0, %7114 ], [ %7122, %7121 ]
  %7125 = trunc i32 %7124 to i8
  %7126 = load ptr, ptr %11, align 8, !tbaa !5
  %7127 = load i32, ptr %19, align 4, !tbaa !14
  %7128 = add nsw i32 %7127, 5
  %7129 = sext i32 %7128 to i64
  %7130 = getelementptr inbounds i8, ptr %7126, i64 %7129
  store i8 %7125, ptr %7130, align 1, !tbaa !15
  %7131 = load ptr, ptr %13, align 8, !tbaa !5
  %7132 = load i32, ptr %19, align 4, !tbaa !14
  %7133 = add nsw i32 %7132, 5
  %7134 = sext i32 %7133 to i64
  %7135 = getelementptr inbounds i8, ptr %7131, i64 %7134
  %7136 = load i8, ptr %7135, align 1, !tbaa !15
  %7137 = zext i8 %7136 to i32
  %7138 = load ptr, ptr %14, align 8, !tbaa !5
  %7139 = load i32, ptr %19, align 4, !tbaa !14
  %7140 = add nsw i32 %7139, 5
  %7141 = sext i32 %7140 to i64
  %7142 = getelementptr inbounds i8, ptr %7138, i64 %7141
  %7143 = load i8, ptr %7142, align 1, !tbaa !15
  %7144 = zext i8 %7143 to i64
  %7145 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7144
  %7146 = load i32, ptr %7145, align 4, !tbaa !14
  %7147 = add nsw i32 %7137, %7146
  store i32 %7147, ptr %18, align 4, !tbaa !14
  %7148 = load i32, ptr %18, align 4, !tbaa !14
  %7149 = icmp slt i32 %7148, 0
  br i1 %7149, label %7150, label %7151

7150:                                             ; preds = %7123
  br label %7159

7151:                                             ; preds = %7123
  %7152 = load i32, ptr %18, align 4, !tbaa !14
  %7153 = icmp sgt i32 %7152, 255
  br i1 %7153, label %7154, label %7155

7154:                                             ; preds = %7151
  br label %7157

7155:                                             ; preds = %7151
  %7156 = load i32, ptr %18, align 4, !tbaa !14
  br label %7157

7157:                                             ; preds = %7155, %7154
  %7158 = phi i32 [ 255, %7154 ], [ %7156, %7155 ]
  br label %7159

7159:                                             ; preds = %7157, %7150
  %7160 = phi i32 [ 0, %7150 ], [ %7158, %7157 ]
  %7161 = trunc i32 %7160 to i8
  %7162 = load ptr, ptr %10, align 8, !tbaa !5
  %7163 = load i32, ptr %19, align 4, !tbaa !14
  %7164 = add nsw i32 %7163, 5
  %7165 = sext i32 %7164 to i64
  %7166 = getelementptr inbounds i8, ptr %7162, i64 %7165
  store i8 %7161, ptr %7166, align 1, !tbaa !15
  %7167 = load ptr, ptr %13, align 8, !tbaa !5
  %7168 = load i32, ptr %19, align 4, !tbaa !14
  %7169 = add nsw i32 %7168, 6
  %7170 = sext i32 %7169 to i64
  %7171 = getelementptr inbounds i8, ptr %7167, i64 %7170
  %7172 = load i8, ptr %7171, align 1, !tbaa !15
  %7173 = zext i8 %7172 to i32
  %7174 = load ptr, ptr %15, align 8, !tbaa !5
  %7175 = load i32, ptr %19, align 4, !tbaa !14
  %7176 = add nsw i32 %7175, 6
  %7177 = sext i32 %7176 to i64
  %7178 = getelementptr inbounds i8, ptr %7174, i64 %7177
  %7179 = load i8, ptr %7178, align 1, !tbaa !15
  %7180 = zext i8 %7179 to i64
  %7181 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7180
  %7182 = load i32, ptr %7181, align 4, !tbaa !14
  %7183 = add nsw i32 %7173, %7182
  store i32 %7183, ptr %16, align 4, !tbaa !14
  %7184 = load i32, ptr %16, align 4, !tbaa !14
  %7185 = icmp slt i32 %7184, 0
  br i1 %7185, label %7186, label %7187

7186:                                             ; preds = %7159
  br label %7195

7187:                                             ; preds = %7159
  %7188 = load i32, ptr %16, align 4, !tbaa !14
  %7189 = icmp sgt i32 %7188, 255
  br i1 %7189, label %7190, label %7191

7190:                                             ; preds = %7187
  br label %7193

7191:                                             ; preds = %7187
  %7192 = load i32, ptr %16, align 4, !tbaa !14
  br label %7193

7193:                                             ; preds = %7191, %7190
  %7194 = phi i32 [ 255, %7190 ], [ %7192, %7191 ]
  br label %7195

7195:                                             ; preds = %7193, %7186
  %7196 = phi i32 [ 0, %7186 ], [ %7194, %7193 ]
  %7197 = trunc i32 %7196 to i8
  %7198 = load ptr, ptr %12, align 8, !tbaa !5
  %7199 = load i32, ptr %19, align 4, !tbaa !14
  %7200 = add nsw i32 %7199, 6
  %7201 = sext i32 %7200 to i64
  %7202 = getelementptr inbounds i8, ptr %7198, i64 %7201
  store i8 %7197, ptr %7202, align 1, !tbaa !15
  %7203 = load ptr, ptr %13, align 8, !tbaa !5
  %7204 = load i32, ptr %19, align 4, !tbaa !14
  %7205 = add nsw i32 %7204, 6
  %7206 = sext i32 %7205 to i64
  %7207 = getelementptr inbounds i8, ptr %7203, i64 %7206
  %7208 = load i8, ptr %7207, align 1, !tbaa !15
  %7209 = zext i8 %7208 to i32
  %7210 = load ptr, ptr %14, align 8, !tbaa !5
  %7211 = load i32, ptr %19, align 4, !tbaa !14
  %7212 = add nsw i32 %7211, 6
  %7213 = sext i32 %7212 to i64
  %7214 = getelementptr inbounds i8, ptr %7210, i64 %7213
  %7215 = load i8, ptr %7214, align 1, !tbaa !15
  %7216 = zext i8 %7215 to i64
  %7217 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7216
  %7218 = load i32, ptr %7217, align 4, !tbaa !14
  %7219 = sub nsw i32 %7209, %7218
  %7220 = load ptr, ptr %15, align 8, !tbaa !5
  %7221 = load i32, ptr %19, align 4, !tbaa !14
  %7222 = add nsw i32 %7221, 6
  %7223 = sext i32 %7222 to i64
  %7224 = getelementptr inbounds i8, ptr %7220, i64 %7223
  %7225 = load i8, ptr %7224, align 1, !tbaa !15
  %7226 = zext i8 %7225 to i64
  %7227 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7226
  %7228 = load i32, ptr %7227, align 4, !tbaa !14
  %7229 = sub nsw i32 %7219, %7228
  store i32 %7229, ptr %17, align 4, !tbaa !14
  %7230 = load i32, ptr %17, align 4, !tbaa !14
  %7231 = icmp slt i32 %7230, 0
  br i1 %7231, label %7232, label %7233

7232:                                             ; preds = %7195
  br label %7241

7233:                                             ; preds = %7195
  %7234 = load i32, ptr %17, align 4, !tbaa !14
  %7235 = icmp sgt i32 %7234, 255
  br i1 %7235, label %7236, label %7237

7236:                                             ; preds = %7233
  br label %7239

7237:                                             ; preds = %7233
  %7238 = load i32, ptr %17, align 4, !tbaa !14
  br label %7239

7239:                                             ; preds = %7237, %7236
  %7240 = phi i32 [ 255, %7236 ], [ %7238, %7237 ]
  br label %7241

7241:                                             ; preds = %7239, %7232
  %7242 = phi i32 [ 0, %7232 ], [ %7240, %7239 ]
  %7243 = trunc i32 %7242 to i8
  %7244 = load ptr, ptr %11, align 8, !tbaa !5
  %7245 = load i32, ptr %19, align 4, !tbaa !14
  %7246 = add nsw i32 %7245, 6
  %7247 = sext i32 %7246 to i64
  %7248 = getelementptr inbounds i8, ptr %7244, i64 %7247
  store i8 %7243, ptr %7248, align 1, !tbaa !15
  %7249 = load ptr, ptr %13, align 8, !tbaa !5
  %7250 = load i32, ptr %19, align 4, !tbaa !14
  %7251 = add nsw i32 %7250, 6
  %7252 = sext i32 %7251 to i64
  %7253 = getelementptr inbounds i8, ptr %7249, i64 %7252
  %7254 = load i8, ptr %7253, align 1, !tbaa !15
  %7255 = zext i8 %7254 to i32
  %7256 = load ptr, ptr %14, align 8, !tbaa !5
  %7257 = load i32, ptr %19, align 4, !tbaa !14
  %7258 = add nsw i32 %7257, 6
  %7259 = sext i32 %7258 to i64
  %7260 = getelementptr inbounds i8, ptr %7256, i64 %7259
  %7261 = load i8, ptr %7260, align 1, !tbaa !15
  %7262 = zext i8 %7261 to i64
  %7263 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7262
  %7264 = load i32, ptr %7263, align 4, !tbaa !14
  %7265 = add nsw i32 %7255, %7264
  store i32 %7265, ptr %18, align 4, !tbaa !14
  %7266 = load i32, ptr %18, align 4, !tbaa !14
  %7267 = icmp slt i32 %7266, 0
  br i1 %7267, label %7268, label %7269

7268:                                             ; preds = %7241
  br label %7277

7269:                                             ; preds = %7241
  %7270 = load i32, ptr %18, align 4, !tbaa !14
  %7271 = icmp sgt i32 %7270, 255
  br i1 %7271, label %7272, label %7273

7272:                                             ; preds = %7269
  br label %7275

7273:                                             ; preds = %7269
  %7274 = load i32, ptr %18, align 4, !tbaa !14
  br label %7275

7275:                                             ; preds = %7273, %7272
  %7276 = phi i32 [ 255, %7272 ], [ %7274, %7273 ]
  br label %7277

7277:                                             ; preds = %7275, %7268
  %7278 = phi i32 [ 0, %7268 ], [ %7276, %7275 ]
  %7279 = trunc i32 %7278 to i8
  %7280 = load ptr, ptr %10, align 8, !tbaa !5
  %7281 = load i32, ptr %19, align 4, !tbaa !14
  %7282 = add nsw i32 %7281, 6
  %7283 = sext i32 %7282 to i64
  %7284 = getelementptr inbounds i8, ptr %7280, i64 %7283
  store i8 %7279, ptr %7284, align 1, !tbaa !15
  %7285 = load ptr, ptr %13, align 8, !tbaa !5
  %7286 = load i32, ptr %19, align 4, !tbaa !14
  %7287 = add nsw i32 %7286, 7
  %7288 = sext i32 %7287 to i64
  %7289 = getelementptr inbounds i8, ptr %7285, i64 %7288
  %7290 = load i8, ptr %7289, align 1, !tbaa !15
  %7291 = zext i8 %7290 to i32
  %7292 = load ptr, ptr %15, align 8, !tbaa !5
  %7293 = load i32, ptr %19, align 4, !tbaa !14
  %7294 = add nsw i32 %7293, 7
  %7295 = sext i32 %7294 to i64
  %7296 = getelementptr inbounds i8, ptr %7292, i64 %7295
  %7297 = load i8, ptr %7296, align 1, !tbaa !15
  %7298 = zext i8 %7297 to i64
  %7299 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7298
  %7300 = load i32, ptr %7299, align 4, !tbaa !14
  %7301 = add nsw i32 %7291, %7300
  store i32 %7301, ptr %16, align 4, !tbaa !14
  %7302 = load i32, ptr %16, align 4, !tbaa !14
  %7303 = icmp slt i32 %7302, 0
  br i1 %7303, label %7304, label %7305

7304:                                             ; preds = %7277
  br label %7313

7305:                                             ; preds = %7277
  %7306 = load i32, ptr %16, align 4, !tbaa !14
  %7307 = icmp sgt i32 %7306, 255
  br i1 %7307, label %7308, label %7309

7308:                                             ; preds = %7305
  br label %7311

7309:                                             ; preds = %7305
  %7310 = load i32, ptr %16, align 4, !tbaa !14
  br label %7311

7311:                                             ; preds = %7309, %7308
  %7312 = phi i32 [ 255, %7308 ], [ %7310, %7309 ]
  br label %7313

7313:                                             ; preds = %7311, %7304
  %7314 = phi i32 [ 0, %7304 ], [ %7312, %7311 ]
  %7315 = trunc i32 %7314 to i8
  %7316 = load ptr, ptr %12, align 8, !tbaa !5
  %7317 = load i32, ptr %19, align 4, !tbaa !14
  %7318 = add nsw i32 %7317, 7
  %7319 = sext i32 %7318 to i64
  %7320 = getelementptr inbounds i8, ptr %7316, i64 %7319
  store i8 %7315, ptr %7320, align 1, !tbaa !15
  %7321 = load ptr, ptr %13, align 8, !tbaa !5
  %7322 = load i32, ptr %19, align 4, !tbaa !14
  %7323 = add nsw i32 %7322, 7
  %7324 = sext i32 %7323 to i64
  %7325 = getelementptr inbounds i8, ptr %7321, i64 %7324
  %7326 = load i8, ptr %7325, align 1, !tbaa !15
  %7327 = zext i8 %7326 to i32
  %7328 = load ptr, ptr %14, align 8, !tbaa !5
  %7329 = load i32, ptr %19, align 4, !tbaa !14
  %7330 = add nsw i32 %7329, 7
  %7331 = sext i32 %7330 to i64
  %7332 = getelementptr inbounds i8, ptr %7328, i64 %7331
  %7333 = load i8, ptr %7332, align 1, !tbaa !15
  %7334 = zext i8 %7333 to i64
  %7335 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7334
  %7336 = load i32, ptr %7335, align 4, !tbaa !14
  %7337 = sub nsw i32 %7327, %7336
  %7338 = load ptr, ptr %15, align 8, !tbaa !5
  %7339 = load i32, ptr %19, align 4, !tbaa !14
  %7340 = add nsw i32 %7339, 7
  %7341 = sext i32 %7340 to i64
  %7342 = getelementptr inbounds i8, ptr %7338, i64 %7341
  %7343 = load i8, ptr %7342, align 1, !tbaa !15
  %7344 = zext i8 %7343 to i64
  %7345 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7344
  %7346 = load i32, ptr %7345, align 4, !tbaa !14
  %7347 = sub nsw i32 %7337, %7346
  store i32 %7347, ptr %17, align 4, !tbaa !14
  %7348 = load i32, ptr %17, align 4, !tbaa !14
  %7349 = icmp slt i32 %7348, 0
  br i1 %7349, label %7350, label %7351

7350:                                             ; preds = %7313
  br label %7359

7351:                                             ; preds = %7313
  %7352 = load i32, ptr %17, align 4, !tbaa !14
  %7353 = icmp sgt i32 %7352, 255
  br i1 %7353, label %7354, label %7355

7354:                                             ; preds = %7351
  br label %7357

7355:                                             ; preds = %7351
  %7356 = load i32, ptr %17, align 4, !tbaa !14
  br label %7357

7357:                                             ; preds = %7355, %7354
  %7358 = phi i32 [ 255, %7354 ], [ %7356, %7355 ]
  br label %7359

7359:                                             ; preds = %7357, %7350
  %7360 = phi i32 [ 0, %7350 ], [ %7358, %7357 ]
  %7361 = trunc i32 %7360 to i8
  %7362 = load ptr, ptr %11, align 8, !tbaa !5
  %7363 = load i32, ptr %19, align 4, !tbaa !14
  %7364 = add nsw i32 %7363, 7
  %7365 = sext i32 %7364 to i64
  %7366 = getelementptr inbounds i8, ptr %7362, i64 %7365
  store i8 %7361, ptr %7366, align 1, !tbaa !15
  %7367 = load ptr, ptr %13, align 8, !tbaa !5
  %7368 = load i32, ptr %19, align 4, !tbaa !14
  %7369 = add nsw i32 %7368, 7
  %7370 = sext i32 %7369 to i64
  %7371 = getelementptr inbounds i8, ptr %7367, i64 %7370
  %7372 = load i8, ptr %7371, align 1, !tbaa !15
  %7373 = zext i8 %7372 to i32
  %7374 = load ptr, ptr %14, align 8, !tbaa !5
  %7375 = load i32, ptr %19, align 4, !tbaa !14
  %7376 = add nsw i32 %7375, 7
  %7377 = sext i32 %7376 to i64
  %7378 = getelementptr inbounds i8, ptr %7374, i64 %7377
  %7379 = load i8, ptr %7378, align 1, !tbaa !15
  %7380 = zext i8 %7379 to i64
  %7381 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7380
  %7382 = load i32, ptr %7381, align 4, !tbaa !14
  %7383 = add nsw i32 %7373, %7382
  store i32 %7383, ptr %18, align 4, !tbaa !14
  %7384 = load i32, ptr %18, align 4, !tbaa !14
  %7385 = icmp slt i32 %7384, 0
  br i1 %7385, label %7386, label %7387

7386:                                             ; preds = %7359
  br label %7395

7387:                                             ; preds = %7359
  %7388 = load i32, ptr %18, align 4, !tbaa !14
  %7389 = icmp sgt i32 %7388, 255
  br i1 %7389, label %7390, label %7391

7390:                                             ; preds = %7387
  br label %7393

7391:                                             ; preds = %7387
  %7392 = load i32, ptr %18, align 4, !tbaa !14
  br label %7393

7393:                                             ; preds = %7391, %7390
  %7394 = phi i32 [ 255, %7390 ], [ %7392, %7391 ]
  br label %7395

7395:                                             ; preds = %7393, %7386
  %7396 = phi i32 [ 0, %7386 ], [ %7394, %7393 ]
  %7397 = trunc i32 %7396 to i8
  %7398 = load ptr, ptr %10, align 8, !tbaa !5
  %7399 = load i32, ptr %19, align 4, !tbaa !14
  %7400 = add nsw i32 %7399, 7
  %7401 = sext i32 %7400 to i64
  %7402 = getelementptr inbounds i8, ptr %7398, i64 %7401
  store i8 %7397, ptr %7402, align 1, !tbaa !15
  %7403 = load ptr, ptr %13, align 8, !tbaa !5
  %7404 = load i32, ptr %19, align 4, !tbaa !14
  %7405 = add nsw i32 %7404, 8
  %7406 = sext i32 %7405 to i64
  %7407 = getelementptr inbounds i8, ptr %7403, i64 %7406
  %7408 = load i8, ptr %7407, align 1, !tbaa !15
  %7409 = zext i8 %7408 to i32
  %7410 = load ptr, ptr %15, align 8, !tbaa !5
  %7411 = load i32, ptr %19, align 4, !tbaa !14
  %7412 = add nsw i32 %7411, 8
  %7413 = sext i32 %7412 to i64
  %7414 = getelementptr inbounds i8, ptr %7410, i64 %7413
  %7415 = load i8, ptr %7414, align 1, !tbaa !15
  %7416 = zext i8 %7415 to i64
  %7417 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7416
  %7418 = load i32, ptr %7417, align 4, !tbaa !14
  %7419 = add nsw i32 %7409, %7418
  store i32 %7419, ptr %16, align 4, !tbaa !14
  %7420 = load i32, ptr %16, align 4, !tbaa !14
  %7421 = icmp slt i32 %7420, 0
  br i1 %7421, label %7422, label %7423

7422:                                             ; preds = %7395
  br label %7431

7423:                                             ; preds = %7395
  %7424 = load i32, ptr %16, align 4, !tbaa !14
  %7425 = icmp sgt i32 %7424, 255
  br i1 %7425, label %7426, label %7427

7426:                                             ; preds = %7423
  br label %7429

7427:                                             ; preds = %7423
  %7428 = load i32, ptr %16, align 4, !tbaa !14
  br label %7429

7429:                                             ; preds = %7427, %7426
  %7430 = phi i32 [ 255, %7426 ], [ %7428, %7427 ]
  br label %7431

7431:                                             ; preds = %7429, %7422
  %7432 = phi i32 [ 0, %7422 ], [ %7430, %7429 ]
  %7433 = trunc i32 %7432 to i8
  %7434 = load ptr, ptr %12, align 8, !tbaa !5
  %7435 = load i32, ptr %19, align 4, !tbaa !14
  %7436 = add nsw i32 %7435, 8
  %7437 = sext i32 %7436 to i64
  %7438 = getelementptr inbounds i8, ptr %7434, i64 %7437
  store i8 %7433, ptr %7438, align 1, !tbaa !15
  %7439 = load ptr, ptr %13, align 8, !tbaa !5
  %7440 = load i32, ptr %19, align 4, !tbaa !14
  %7441 = add nsw i32 %7440, 8
  %7442 = sext i32 %7441 to i64
  %7443 = getelementptr inbounds i8, ptr %7439, i64 %7442
  %7444 = load i8, ptr %7443, align 1, !tbaa !15
  %7445 = zext i8 %7444 to i32
  %7446 = load ptr, ptr %14, align 8, !tbaa !5
  %7447 = load i32, ptr %19, align 4, !tbaa !14
  %7448 = add nsw i32 %7447, 8
  %7449 = sext i32 %7448 to i64
  %7450 = getelementptr inbounds i8, ptr %7446, i64 %7449
  %7451 = load i8, ptr %7450, align 1, !tbaa !15
  %7452 = zext i8 %7451 to i64
  %7453 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7452
  %7454 = load i32, ptr %7453, align 4, !tbaa !14
  %7455 = sub nsw i32 %7445, %7454
  %7456 = load ptr, ptr %15, align 8, !tbaa !5
  %7457 = load i32, ptr %19, align 4, !tbaa !14
  %7458 = add nsw i32 %7457, 8
  %7459 = sext i32 %7458 to i64
  %7460 = getelementptr inbounds i8, ptr %7456, i64 %7459
  %7461 = load i8, ptr %7460, align 1, !tbaa !15
  %7462 = zext i8 %7461 to i64
  %7463 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7462
  %7464 = load i32, ptr %7463, align 4, !tbaa !14
  %7465 = sub nsw i32 %7455, %7464
  store i32 %7465, ptr %17, align 4, !tbaa !14
  %7466 = load i32, ptr %17, align 4, !tbaa !14
  %7467 = icmp slt i32 %7466, 0
  br i1 %7467, label %7468, label %7469

7468:                                             ; preds = %7431
  br label %7477

7469:                                             ; preds = %7431
  %7470 = load i32, ptr %17, align 4, !tbaa !14
  %7471 = icmp sgt i32 %7470, 255
  br i1 %7471, label %7472, label %7473

7472:                                             ; preds = %7469
  br label %7475

7473:                                             ; preds = %7469
  %7474 = load i32, ptr %17, align 4, !tbaa !14
  br label %7475

7475:                                             ; preds = %7473, %7472
  %7476 = phi i32 [ 255, %7472 ], [ %7474, %7473 ]
  br label %7477

7477:                                             ; preds = %7475, %7468
  %7478 = phi i32 [ 0, %7468 ], [ %7476, %7475 ]
  %7479 = trunc i32 %7478 to i8
  %7480 = load ptr, ptr %11, align 8, !tbaa !5
  %7481 = load i32, ptr %19, align 4, !tbaa !14
  %7482 = add nsw i32 %7481, 8
  %7483 = sext i32 %7482 to i64
  %7484 = getelementptr inbounds i8, ptr %7480, i64 %7483
  store i8 %7479, ptr %7484, align 1, !tbaa !15
  %7485 = load ptr, ptr %13, align 8, !tbaa !5
  %7486 = load i32, ptr %19, align 4, !tbaa !14
  %7487 = add nsw i32 %7486, 8
  %7488 = sext i32 %7487 to i64
  %7489 = getelementptr inbounds i8, ptr %7485, i64 %7488
  %7490 = load i8, ptr %7489, align 1, !tbaa !15
  %7491 = zext i8 %7490 to i32
  %7492 = load ptr, ptr %14, align 8, !tbaa !5
  %7493 = load i32, ptr %19, align 4, !tbaa !14
  %7494 = add nsw i32 %7493, 8
  %7495 = sext i32 %7494 to i64
  %7496 = getelementptr inbounds i8, ptr %7492, i64 %7495
  %7497 = load i8, ptr %7496, align 1, !tbaa !15
  %7498 = zext i8 %7497 to i64
  %7499 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7498
  %7500 = load i32, ptr %7499, align 4, !tbaa !14
  %7501 = add nsw i32 %7491, %7500
  store i32 %7501, ptr %18, align 4, !tbaa !14
  %7502 = load i32, ptr %18, align 4, !tbaa !14
  %7503 = icmp slt i32 %7502, 0
  br i1 %7503, label %7504, label %7505

7504:                                             ; preds = %7477
  br label %7513

7505:                                             ; preds = %7477
  %7506 = load i32, ptr %18, align 4, !tbaa !14
  %7507 = icmp sgt i32 %7506, 255
  br i1 %7507, label %7508, label %7509

7508:                                             ; preds = %7505
  br label %7511

7509:                                             ; preds = %7505
  %7510 = load i32, ptr %18, align 4, !tbaa !14
  br label %7511

7511:                                             ; preds = %7509, %7508
  %7512 = phi i32 [ 255, %7508 ], [ %7510, %7509 ]
  br label %7513

7513:                                             ; preds = %7511, %7504
  %7514 = phi i32 [ 0, %7504 ], [ %7512, %7511 ]
  %7515 = trunc i32 %7514 to i8
  %7516 = load ptr, ptr %10, align 8, !tbaa !5
  %7517 = load i32, ptr %19, align 4, !tbaa !14
  %7518 = add nsw i32 %7517, 8
  %7519 = sext i32 %7518 to i64
  %7520 = getelementptr inbounds i8, ptr %7516, i64 %7519
  store i8 %7515, ptr %7520, align 1, !tbaa !15
  br label %16425

7521:                                             ; preds = %6451
  %7522 = load ptr, ptr %4, align 8, !tbaa !5
  %7523 = getelementptr inbounds %struct.MImage, ptr %7522, i32 0, i32 2
  %7524 = load i32, ptr %7523, align 8, !tbaa !13
  %7525 = load i32, ptr %19, align 4, !tbaa !14
  %7526 = sub nsw i32 %7524, %7525
  %7527 = icmp eq i32 %7526, 10
  br i1 %7527, label %7528, label %8709

7528:                                             ; preds = %7521
  %7529 = load ptr, ptr %13, align 8, !tbaa !5
  %7530 = load i32, ptr %19, align 4, !tbaa !14
  %7531 = add nsw i32 %7530, 0
  %7532 = sext i32 %7531 to i64
  %7533 = getelementptr inbounds i8, ptr %7529, i64 %7532
  %7534 = load i8, ptr %7533, align 1, !tbaa !15
  %7535 = zext i8 %7534 to i32
  %7536 = load ptr, ptr %15, align 8, !tbaa !5
  %7537 = load i32, ptr %19, align 4, !tbaa !14
  %7538 = add nsw i32 %7537, 0
  %7539 = sext i32 %7538 to i64
  %7540 = getelementptr inbounds i8, ptr %7536, i64 %7539
  %7541 = load i8, ptr %7540, align 1, !tbaa !15
  %7542 = zext i8 %7541 to i64
  %7543 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7542
  %7544 = load i32, ptr %7543, align 4, !tbaa !14
  %7545 = add nsw i32 %7535, %7544
  store i32 %7545, ptr %16, align 4, !tbaa !14
  %7546 = load i32, ptr %16, align 4, !tbaa !14
  %7547 = icmp slt i32 %7546, 0
  br i1 %7547, label %7548, label %7549

7548:                                             ; preds = %7528
  br label %7557

7549:                                             ; preds = %7528
  %7550 = load i32, ptr %16, align 4, !tbaa !14
  %7551 = icmp sgt i32 %7550, 255
  br i1 %7551, label %7552, label %7553

7552:                                             ; preds = %7549
  br label %7555

7553:                                             ; preds = %7549
  %7554 = load i32, ptr %16, align 4, !tbaa !14
  br label %7555

7555:                                             ; preds = %7553, %7552
  %7556 = phi i32 [ 255, %7552 ], [ %7554, %7553 ]
  br label %7557

7557:                                             ; preds = %7555, %7548
  %7558 = phi i32 [ 0, %7548 ], [ %7556, %7555 ]
  %7559 = trunc i32 %7558 to i8
  %7560 = load ptr, ptr %12, align 8, !tbaa !5
  %7561 = load i32, ptr %19, align 4, !tbaa !14
  %7562 = add nsw i32 %7561, 0
  %7563 = sext i32 %7562 to i64
  %7564 = getelementptr inbounds i8, ptr %7560, i64 %7563
  store i8 %7559, ptr %7564, align 1, !tbaa !15
  %7565 = load ptr, ptr %13, align 8, !tbaa !5
  %7566 = load i32, ptr %19, align 4, !tbaa !14
  %7567 = add nsw i32 %7566, 0
  %7568 = sext i32 %7567 to i64
  %7569 = getelementptr inbounds i8, ptr %7565, i64 %7568
  %7570 = load i8, ptr %7569, align 1, !tbaa !15
  %7571 = zext i8 %7570 to i32
  %7572 = load ptr, ptr %14, align 8, !tbaa !5
  %7573 = load i32, ptr %19, align 4, !tbaa !14
  %7574 = add nsw i32 %7573, 0
  %7575 = sext i32 %7574 to i64
  %7576 = getelementptr inbounds i8, ptr %7572, i64 %7575
  %7577 = load i8, ptr %7576, align 1, !tbaa !15
  %7578 = zext i8 %7577 to i64
  %7579 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7578
  %7580 = load i32, ptr %7579, align 4, !tbaa !14
  %7581 = sub nsw i32 %7571, %7580
  %7582 = load ptr, ptr %15, align 8, !tbaa !5
  %7583 = load i32, ptr %19, align 4, !tbaa !14
  %7584 = add nsw i32 %7583, 0
  %7585 = sext i32 %7584 to i64
  %7586 = getelementptr inbounds i8, ptr %7582, i64 %7585
  %7587 = load i8, ptr %7586, align 1, !tbaa !15
  %7588 = zext i8 %7587 to i64
  %7589 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7588
  %7590 = load i32, ptr %7589, align 4, !tbaa !14
  %7591 = sub nsw i32 %7581, %7590
  store i32 %7591, ptr %17, align 4, !tbaa !14
  %7592 = load i32, ptr %17, align 4, !tbaa !14
  %7593 = icmp slt i32 %7592, 0
  br i1 %7593, label %7594, label %7595

7594:                                             ; preds = %7557
  br label %7603

7595:                                             ; preds = %7557
  %7596 = load i32, ptr %17, align 4, !tbaa !14
  %7597 = icmp sgt i32 %7596, 255
  br i1 %7597, label %7598, label %7599

7598:                                             ; preds = %7595
  br label %7601

7599:                                             ; preds = %7595
  %7600 = load i32, ptr %17, align 4, !tbaa !14
  br label %7601

7601:                                             ; preds = %7599, %7598
  %7602 = phi i32 [ 255, %7598 ], [ %7600, %7599 ]
  br label %7603

7603:                                             ; preds = %7601, %7594
  %7604 = phi i32 [ 0, %7594 ], [ %7602, %7601 ]
  %7605 = trunc i32 %7604 to i8
  %7606 = load ptr, ptr %11, align 8, !tbaa !5
  %7607 = load i32, ptr %19, align 4, !tbaa !14
  %7608 = add nsw i32 %7607, 0
  %7609 = sext i32 %7608 to i64
  %7610 = getelementptr inbounds i8, ptr %7606, i64 %7609
  store i8 %7605, ptr %7610, align 1, !tbaa !15
  %7611 = load ptr, ptr %13, align 8, !tbaa !5
  %7612 = load i32, ptr %19, align 4, !tbaa !14
  %7613 = add nsw i32 %7612, 0
  %7614 = sext i32 %7613 to i64
  %7615 = getelementptr inbounds i8, ptr %7611, i64 %7614
  %7616 = load i8, ptr %7615, align 1, !tbaa !15
  %7617 = zext i8 %7616 to i32
  %7618 = load ptr, ptr %14, align 8, !tbaa !5
  %7619 = load i32, ptr %19, align 4, !tbaa !14
  %7620 = add nsw i32 %7619, 0
  %7621 = sext i32 %7620 to i64
  %7622 = getelementptr inbounds i8, ptr %7618, i64 %7621
  %7623 = load i8, ptr %7622, align 1, !tbaa !15
  %7624 = zext i8 %7623 to i64
  %7625 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7624
  %7626 = load i32, ptr %7625, align 4, !tbaa !14
  %7627 = add nsw i32 %7617, %7626
  store i32 %7627, ptr %18, align 4, !tbaa !14
  %7628 = load i32, ptr %18, align 4, !tbaa !14
  %7629 = icmp slt i32 %7628, 0
  br i1 %7629, label %7630, label %7631

7630:                                             ; preds = %7603
  br label %7639

7631:                                             ; preds = %7603
  %7632 = load i32, ptr %18, align 4, !tbaa !14
  %7633 = icmp sgt i32 %7632, 255
  br i1 %7633, label %7634, label %7635

7634:                                             ; preds = %7631
  br label %7637

7635:                                             ; preds = %7631
  %7636 = load i32, ptr %18, align 4, !tbaa !14
  br label %7637

7637:                                             ; preds = %7635, %7634
  %7638 = phi i32 [ 255, %7634 ], [ %7636, %7635 ]
  br label %7639

7639:                                             ; preds = %7637, %7630
  %7640 = phi i32 [ 0, %7630 ], [ %7638, %7637 ]
  %7641 = trunc i32 %7640 to i8
  %7642 = load ptr, ptr %10, align 8, !tbaa !5
  %7643 = load i32, ptr %19, align 4, !tbaa !14
  %7644 = add nsw i32 %7643, 0
  %7645 = sext i32 %7644 to i64
  %7646 = getelementptr inbounds i8, ptr %7642, i64 %7645
  store i8 %7641, ptr %7646, align 1, !tbaa !15
  %7647 = load ptr, ptr %13, align 8, !tbaa !5
  %7648 = load i32, ptr %19, align 4, !tbaa !14
  %7649 = add nsw i32 %7648, 1
  %7650 = sext i32 %7649 to i64
  %7651 = getelementptr inbounds i8, ptr %7647, i64 %7650
  %7652 = load i8, ptr %7651, align 1, !tbaa !15
  %7653 = zext i8 %7652 to i32
  %7654 = load ptr, ptr %15, align 8, !tbaa !5
  %7655 = load i32, ptr %19, align 4, !tbaa !14
  %7656 = add nsw i32 %7655, 1
  %7657 = sext i32 %7656 to i64
  %7658 = getelementptr inbounds i8, ptr %7654, i64 %7657
  %7659 = load i8, ptr %7658, align 1, !tbaa !15
  %7660 = zext i8 %7659 to i64
  %7661 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7660
  %7662 = load i32, ptr %7661, align 4, !tbaa !14
  %7663 = add nsw i32 %7653, %7662
  store i32 %7663, ptr %16, align 4, !tbaa !14
  %7664 = load i32, ptr %16, align 4, !tbaa !14
  %7665 = icmp slt i32 %7664, 0
  br i1 %7665, label %7666, label %7667

7666:                                             ; preds = %7639
  br label %7675

7667:                                             ; preds = %7639
  %7668 = load i32, ptr %16, align 4, !tbaa !14
  %7669 = icmp sgt i32 %7668, 255
  br i1 %7669, label %7670, label %7671

7670:                                             ; preds = %7667
  br label %7673

7671:                                             ; preds = %7667
  %7672 = load i32, ptr %16, align 4, !tbaa !14
  br label %7673

7673:                                             ; preds = %7671, %7670
  %7674 = phi i32 [ 255, %7670 ], [ %7672, %7671 ]
  br label %7675

7675:                                             ; preds = %7673, %7666
  %7676 = phi i32 [ 0, %7666 ], [ %7674, %7673 ]
  %7677 = trunc i32 %7676 to i8
  %7678 = load ptr, ptr %12, align 8, !tbaa !5
  %7679 = load i32, ptr %19, align 4, !tbaa !14
  %7680 = add nsw i32 %7679, 1
  %7681 = sext i32 %7680 to i64
  %7682 = getelementptr inbounds i8, ptr %7678, i64 %7681
  store i8 %7677, ptr %7682, align 1, !tbaa !15
  %7683 = load ptr, ptr %13, align 8, !tbaa !5
  %7684 = load i32, ptr %19, align 4, !tbaa !14
  %7685 = add nsw i32 %7684, 1
  %7686 = sext i32 %7685 to i64
  %7687 = getelementptr inbounds i8, ptr %7683, i64 %7686
  %7688 = load i8, ptr %7687, align 1, !tbaa !15
  %7689 = zext i8 %7688 to i32
  %7690 = load ptr, ptr %14, align 8, !tbaa !5
  %7691 = load i32, ptr %19, align 4, !tbaa !14
  %7692 = add nsw i32 %7691, 1
  %7693 = sext i32 %7692 to i64
  %7694 = getelementptr inbounds i8, ptr %7690, i64 %7693
  %7695 = load i8, ptr %7694, align 1, !tbaa !15
  %7696 = zext i8 %7695 to i64
  %7697 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7696
  %7698 = load i32, ptr %7697, align 4, !tbaa !14
  %7699 = sub nsw i32 %7689, %7698
  %7700 = load ptr, ptr %15, align 8, !tbaa !5
  %7701 = load i32, ptr %19, align 4, !tbaa !14
  %7702 = add nsw i32 %7701, 1
  %7703 = sext i32 %7702 to i64
  %7704 = getelementptr inbounds i8, ptr %7700, i64 %7703
  %7705 = load i8, ptr %7704, align 1, !tbaa !15
  %7706 = zext i8 %7705 to i64
  %7707 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7706
  %7708 = load i32, ptr %7707, align 4, !tbaa !14
  %7709 = sub nsw i32 %7699, %7708
  store i32 %7709, ptr %17, align 4, !tbaa !14
  %7710 = load i32, ptr %17, align 4, !tbaa !14
  %7711 = icmp slt i32 %7710, 0
  br i1 %7711, label %7712, label %7713

7712:                                             ; preds = %7675
  br label %7721

7713:                                             ; preds = %7675
  %7714 = load i32, ptr %17, align 4, !tbaa !14
  %7715 = icmp sgt i32 %7714, 255
  br i1 %7715, label %7716, label %7717

7716:                                             ; preds = %7713
  br label %7719

7717:                                             ; preds = %7713
  %7718 = load i32, ptr %17, align 4, !tbaa !14
  br label %7719

7719:                                             ; preds = %7717, %7716
  %7720 = phi i32 [ 255, %7716 ], [ %7718, %7717 ]
  br label %7721

7721:                                             ; preds = %7719, %7712
  %7722 = phi i32 [ 0, %7712 ], [ %7720, %7719 ]
  %7723 = trunc i32 %7722 to i8
  %7724 = load ptr, ptr %11, align 8, !tbaa !5
  %7725 = load i32, ptr %19, align 4, !tbaa !14
  %7726 = add nsw i32 %7725, 1
  %7727 = sext i32 %7726 to i64
  %7728 = getelementptr inbounds i8, ptr %7724, i64 %7727
  store i8 %7723, ptr %7728, align 1, !tbaa !15
  %7729 = load ptr, ptr %13, align 8, !tbaa !5
  %7730 = load i32, ptr %19, align 4, !tbaa !14
  %7731 = add nsw i32 %7730, 1
  %7732 = sext i32 %7731 to i64
  %7733 = getelementptr inbounds i8, ptr %7729, i64 %7732
  %7734 = load i8, ptr %7733, align 1, !tbaa !15
  %7735 = zext i8 %7734 to i32
  %7736 = load ptr, ptr %14, align 8, !tbaa !5
  %7737 = load i32, ptr %19, align 4, !tbaa !14
  %7738 = add nsw i32 %7737, 1
  %7739 = sext i32 %7738 to i64
  %7740 = getelementptr inbounds i8, ptr %7736, i64 %7739
  %7741 = load i8, ptr %7740, align 1, !tbaa !15
  %7742 = zext i8 %7741 to i64
  %7743 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7742
  %7744 = load i32, ptr %7743, align 4, !tbaa !14
  %7745 = add nsw i32 %7735, %7744
  store i32 %7745, ptr %18, align 4, !tbaa !14
  %7746 = load i32, ptr %18, align 4, !tbaa !14
  %7747 = icmp slt i32 %7746, 0
  br i1 %7747, label %7748, label %7749

7748:                                             ; preds = %7721
  br label %7757

7749:                                             ; preds = %7721
  %7750 = load i32, ptr %18, align 4, !tbaa !14
  %7751 = icmp sgt i32 %7750, 255
  br i1 %7751, label %7752, label %7753

7752:                                             ; preds = %7749
  br label %7755

7753:                                             ; preds = %7749
  %7754 = load i32, ptr %18, align 4, !tbaa !14
  br label %7755

7755:                                             ; preds = %7753, %7752
  %7756 = phi i32 [ 255, %7752 ], [ %7754, %7753 ]
  br label %7757

7757:                                             ; preds = %7755, %7748
  %7758 = phi i32 [ 0, %7748 ], [ %7756, %7755 ]
  %7759 = trunc i32 %7758 to i8
  %7760 = load ptr, ptr %10, align 8, !tbaa !5
  %7761 = load i32, ptr %19, align 4, !tbaa !14
  %7762 = add nsw i32 %7761, 1
  %7763 = sext i32 %7762 to i64
  %7764 = getelementptr inbounds i8, ptr %7760, i64 %7763
  store i8 %7759, ptr %7764, align 1, !tbaa !15
  %7765 = load ptr, ptr %13, align 8, !tbaa !5
  %7766 = load i32, ptr %19, align 4, !tbaa !14
  %7767 = add nsw i32 %7766, 2
  %7768 = sext i32 %7767 to i64
  %7769 = getelementptr inbounds i8, ptr %7765, i64 %7768
  %7770 = load i8, ptr %7769, align 1, !tbaa !15
  %7771 = zext i8 %7770 to i32
  %7772 = load ptr, ptr %15, align 8, !tbaa !5
  %7773 = load i32, ptr %19, align 4, !tbaa !14
  %7774 = add nsw i32 %7773, 2
  %7775 = sext i32 %7774 to i64
  %7776 = getelementptr inbounds i8, ptr %7772, i64 %7775
  %7777 = load i8, ptr %7776, align 1, !tbaa !15
  %7778 = zext i8 %7777 to i64
  %7779 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7778
  %7780 = load i32, ptr %7779, align 4, !tbaa !14
  %7781 = add nsw i32 %7771, %7780
  store i32 %7781, ptr %16, align 4, !tbaa !14
  %7782 = load i32, ptr %16, align 4, !tbaa !14
  %7783 = icmp slt i32 %7782, 0
  br i1 %7783, label %7784, label %7785

7784:                                             ; preds = %7757
  br label %7793

7785:                                             ; preds = %7757
  %7786 = load i32, ptr %16, align 4, !tbaa !14
  %7787 = icmp sgt i32 %7786, 255
  br i1 %7787, label %7788, label %7789

7788:                                             ; preds = %7785
  br label %7791

7789:                                             ; preds = %7785
  %7790 = load i32, ptr %16, align 4, !tbaa !14
  br label %7791

7791:                                             ; preds = %7789, %7788
  %7792 = phi i32 [ 255, %7788 ], [ %7790, %7789 ]
  br label %7793

7793:                                             ; preds = %7791, %7784
  %7794 = phi i32 [ 0, %7784 ], [ %7792, %7791 ]
  %7795 = trunc i32 %7794 to i8
  %7796 = load ptr, ptr %12, align 8, !tbaa !5
  %7797 = load i32, ptr %19, align 4, !tbaa !14
  %7798 = add nsw i32 %7797, 2
  %7799 = sext i32 %7798 to i64
  %7800 = getelementptr inbounds i8, ptr %7796, i64 %7799
  store i8 %7795, ptr %7800, align 1, !tbaa !15
  %7801 = load ptr, ptr %13, align 8, !tbaa !5
  %7802 = load i32, ptr %19, align 4, !tbaa !14
  %7803 = add nsw i32 %7802, 2
  %7804 = sext i32 %7803 to i64
  %7805 = getelementptr inbounds i8, ptr %7801, i64 %7804
  %7806 = load i8, ptr %7805, align 1, !tbaa !15
  %7807 = zext i8 %7806 to i32
  %7808 = load ptr, ptr %14, align 8, !tbaa !5
  %7809 = load i32, ptr %19, align 4, !tbaa !14
  %7810 = add nsw i32 %7809, 2
  %7811 = sext i32 %7810 to i64
  %7812 = getelementptr inbounds i8, ptr %7808, i64 %7811
  %7813 = load i8, ptr %7812, align 1, !tbaa !15
  %7814 = zext i8 %7813 to i64
  %7815 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7814
  %7816 = load i32, ptr %7815, align 4, !tbaa !14
  %7817 = sub nsw i32 %7807, %7816
  %7818 = load ptr, ptr %15, align 8, !tbaa !5
  %7819 = load i32, ptr %19, align 4, !tbaa !14
  %7820 = add nsw i32 %7819, 2
  %7821 = sext i32 %7820 to i64
  %7822 = getelementptr inbounds i8, ptr %7818, i64 %7821
  %7823 = load i8, ptr %7822, align 1, !tbaa !15
  %7824 = zext i8 %7823 to i64
  %7825 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7824
  %7826 = load i32, ptr %7825, align 4, !tbaa !14
  %7827 = sub nsw i32 %7817, %7826
  store i32 %7827, ptr %17, align 4, !tbaa !14
  %7828 = load i32, ptr %17, align 4, !tbaa !14
  %7829 = icmp slt i32 %7828, 0
  br i1 %7829, label %7830, label %7831

7830:                                             ; preds = %7793
  br label %7839

7831:                                             ; preds = %7793
  %7832 = load i32, ptr %17, align 4, !tbaa !14
  %7833 = icmp sgt i32 %7832, 255
  br i1 %7833, label %7834, label %7835

7834:                                             ; preds = %7831
  br label %7837

7835:                                             ; preds = %7831
  %7836 = load i32, ptr %17, align 4, !tbaa !14
  br label %7837

7837:                                             ; preds = %7835, %7834
  %7838 = phi i32 [ 255, %7834 ], [ %7836, %7835 ]
  br label %7839

7839:                                             ; preds = %7837, %7830
  %7840 = phi i32 [ 0, %7830 ], [ %7838, %7837 ]
  %7841 = trunc i32 %7840 to i8
  %7842 = load ptr, ptr %11, align 8, !tbaa !5
  %7843 = load i32, ptr %19, align 4, !tbaa !14
  %7844 = add nsw i32 %7843, 2
  %7845 = sext i32 %7844 to i64
  %7846 = getelementptr inbounds i8, ptr %7842, i64 %7845
  store i8 %7841, ptr %7846, align 1, !tbaa !15
  %7847 = load ptr, ptr %13, align 8, !tbaa !5
  %7848 = load i32, ptr %19, align 4, !tbaa !14
  %7849 = add nsw i32 %7848, 2
  %7850 = sext i32 %7849 to i64
  %7851 = getelementptr inbounds i8, ptr %7847, i64 %7850
  %7852 = load i8, ptr %7851, align 1, !tbaa !15
  %7853 = zext i8 %7852 to i32
  %7854 = load ptr, ptr %14, align 8, !tbaa !5
  %7855 = load i32, ptr %19, align 4, !tbaa !14
  %7856 = add nsw i32 %7855, 2
  %7857 = sext i32 %7856 to i64
  %7858 = getelementptr inbounds i8, ptr %7854, i64 %7857
  %7859 = load i8, ptr %7858, align 1, !tbaa !15
  %7860 = zext i8 %7859 to i64
  %7861 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7860
  %7862 = load i32, ptr %7861, align 4, !tbaa !14
  %7863 = add nsw i32 %7853, %7862
  store i32 %7863, ptr %18, align 4, !tbaa !14
  %7864 = load i32, ptr %18, align 4, !tbaa !14
  %7865 = icmp slt i32 %7864, 0
  br i1 %7865, label %7866, label %7867

7866:                                             ; preds = %7839
  br label %7875

7867:                                             ; preds = %7839
  %7868 = load i32, ptr %18, align 4, !tbaa !14
  %7869 = icmp sgt i32 %7868, 255
  br i1 %7869, label %7870, label %7871

7870:                                             ; preds = %7867
  br label %7873

7871:                                             ; preds = %7867
  %7872 = load i32, ptr %18, align 4, !tbaa !14
  br label %7873

7873:                                             ; preds = %7871, %7870
  %7874 = phi i32 [ 255, %7870 ], [ %7872, %7871 ]
  br label %7875

7875:                                             ; preds = %7873, %7866
  %7876 = phi i32 [ 0, %7866 ], [ %7874, %7873 ]
  %7877 = trunc i32 %7876 to i8
  %7878 = load ptr, ptr %10, align 8, !tbaa !5
  %7879 = load i32, ptr %19, align 4, !tbaa !14
  %7880 = add nsw i32 %7879, 2
  %7881 = sext i32 %7880 to i64
  %7882 = getelementptr inbounds i8, ptr %7878, i64 %7881
  store i8 %7877, ptr %7882, align 1, !tbaa !15
  %7883 = load ptr, ptr %13, align 8, !tbaa !5
  %7884 = load i32, ptr %19, align 4, !tbaa !14
  %7885 = add nsw i32 %7884, 3
  %7886 = sext i32 %7885 to i64
  %7887 = getelementptr inbounds i8, ptr %7883, i64 %7886
  %7888 = load i8, ptr %7887, align 1, !tbaa !15
  %7889 = zext i8 %7888 to i32
  %7890 = load ptr, ptr %15, align 8, !tbaa !5
  %7891 = load i32, ptr %19, align 4, !tbaa !14
  %7892 = add nsw i32 %7891, 3
  %7893 = sext i32 %7892 to i64
  %7894 = getelementptr inbounds i8, ptr %7890, i64 %7893
  %7895 = load i8, ptr %7894, align 1, !tbaa !15
  %7896 = zext i8 %7895 to i64
  %7897 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %7896
  %7898 = load i32, ptr %7897, align 4, !tbaa !14
  %7899 = add nsw i32 %7889, %7898
  store i32 %7899, ptr %16, align 4, !tbaa !14
  %7900 = load i32, ptr %16, align 4, !tbaa !14
  %7901 = icmp slt i32 %7900, 0
  br i1 %7901, label %7902, label %7903

7902:                                             ; preds = %7875
  br label %7911

7903:                                             ; preds = %7875
  %7904 = load i32, ptr %16, align 4, !tbaa !14
  %7905 = icmp sgt i32 %7904, 255
  br i1 %7905, label %7906, label %7907

7906:                                             ; preds = %7903
  br label %7909

7907:                                             ; preds = %7903
  %7908 = load i32, ptr %16, align 4, !tbaa !14
  br label %7909

7909:                                             ; preds = %7907, %7906
  %7910 = phi i32 [ 255, %7906 ], [ %7908, %7907 ]
  br label %7911

7911:                                             ; preds = %7909, %7902
  %7912 = phi i32 [ 0, %7902 ], [ %7910, %7909 ]
  %7913 = trunc i32 %7912 to i8
  %7914 = load ptr, ptr %12, align 8, !tbaa !5
  %7915 = load i32, ptr %19, align 4, !tbaa !14
  %7916 = add nsw i32 %7915, 3
  %7917 = sext i32 %7916 to i64
  %7918 = getelementptr inbounds i8, ptr %7914, i64 %7917
  store i8 %7913, ptr %7918, align 1, !tbaa !15
  %7919 = load ptr, ptr %13, align 8, !tbaa !5
  %7920 = load i32, ptr %19, align 4, !tbaa !14
  %7921 = add nsw i32 %7920, 3
  %7922 = sext i32 %7921 to i64
  %7923 = getelementptr inbounds i8, ptr %7919, i64 %7922
  %7924 = load i8, ptr %7923, align 1, !tbaa !15
  %7925 = zext i8 %7924 to i32
  %7926 = load ptr, ptr %14, align 8, !tbaa !5
  %7927 = load i32, ptr %19, align 4, !tbaa !14
  %7928 = add nsw i32 %7927, 3
  %7929 = sext i32 %7928 to i64
  %7930 = getelementptr inbounds i8, ptr %7926, i64 %7929
  %7931 = load i8, ptr %7930, align 1, !tbaa !15
  %7932 = zext i8 %7931 to i64
  %7933 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %7932
  %7934 = load i32, ptr %7933, align 4, !tbaa !14
  %7935 = sub nsw i32 %7925, %7934
  %7936 = load ptr, ptr %15, align 8, !tbaa !5
  %7937 = load i32, ptr %19, align 4, !tbaa !14
  %7938 = add nsw i32 %7937, 3
  %7939 = sext i32 %7938 to i64
  %7940 = getelementptr inbounds i8, ptr %7936, i64 %7939
  %7941 = load i8, ptr %7940, align 1, !tbaa !15
  %7942 = zext i8 %7941 to i64
  %7943 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %7942
  %7944 = load i32, ptr %7943, align 4, !tbaa !14
  %7945 = sub nsw i32 %7935, %7944
  store i32 %7945, ptr %17, align 4, !tbaa !14
  %7946 = load i32, ptr %17, align 4, !tbaa !14
  %7947 = icmp slt i32 %7946, 0
  br i1 %7947, label %7948, label %7949

7948:                                             ; preds = %7911
  br label %7957

7949:                                             ; preds = %7911
  %7950 = load i32, ptr %17, align 4, !tbaa !14
  %7951 = icmp sgt i32 %7950, 255
  br i1 %7951, label %7952, label %7953

7952:                                             ; preds = %7949
  br label %7955

7953:                                             ; preds = %7949
  %7954 = load i32, ptr %17, align 4, !tbaa !14
  br label %7955

7955:                                             ; preds = %7953, %7952
  %7956 = phi i32 [ 255, %7952 ], [ %7954, %7953 ]
  br label %7957

7957:                                             ; preds = %7955, %7948
  %7958 = phi i32 [ 0, %7948 ], [ %7956, %7955 ]
  %7959 = trunc i32 %7958 to i8
  %7960 = load ptr, ptr %11, align 8, !tbaa !5
  %7961 = load i32, ptr %19, align 4, !tbaa !14
  %7962 = add nsw i32 %7961, 3
  %7963 = sext i32 %7962 to i64
  %7964 = getelementptr inbounds i8, ptr %7960, i64 %7963
  store i8 %7959, ptr %7964, align 1, !tbaa !15
  %7965 = load ptr, ptr %13, align 8, !tbaa !5
  %7966 = load i32, ptr %19, align 4, !tbaa !14
  %7967 = add nsw i32 %7966, 3
  %7968 = sext i32 %7967 to i64
  %7969 = getelementptr inbounds i8, ptr %7965, i64 %7968
  %7970 = load i8, ptr %7969, align 1, !tbaa !15
  %7971 = zext i8 %7970 to i32
  %7972 = load ptr, ptr %14, align 8, !tbaa !5
  %7973 = load i32, ptr %19, align 4, !tbaa !14
  %7974 = add nsw i32 %7973, 3
  %7975 = sext i32 %7974 to i64
  %7976 = getelementptr inbounds i8, ptr %7972, i64 %7975
  %7977 = load i8, ptr %7976, align 1, !tbaa !15
  %7978 = zext i8 %7977 to i64
  %7979 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %7978
  %7980 = load i32, ptr %7979, align 4, !tbaa !14
  %7981 = add nsw i32 %7971, %7980
  store i32 %7981, ptr %18, align 4, !tbaa !14
  %7982 = load i32, ptr %18, align 4, !tbaa !14
  %7983 = icmp slt i32 %7982, 0
  br i1 %7983, label %7984, label %7985

7984:                                             ; preds = %7957
  br label %7993

7985:                                             ; preds = %7957
  %7986 = load i32, ptr %18, align 4, !tbaa !14
  %7987 = icmp sgt i32 %7986, 255
  br i1 %7987, label %7988, label %7989

7988:                                             ; preds = %7985
  br label %7991

7989:                                             ; preds = %7985
  %7990 = load i32, ptr %18, align 4, !tbaa !14
  br label %7991

7991:                                             ; preds = %7989, %7988
  %7992 = phi i32 [ 255, %7988 ], [ %7990, %7989 ]
  br label %7993

7993:                                             ; preds = %7991, %7984
  %7994 = phi i32 [ 0, %7984 ], [ %7992, %7991 ]
  %7995 = trunc i32 %7994 to i8
  %7996 = load ptr, ptr %10, align 8, !tbaa !5
  %7997 = load i32, ptr %19, align 4, !tbaa !14
  %7998 = add nsw i32 %7997, 3
  %7999 = sext i32 %7998 to i64
  %8000 = getelementptr inbounds i8, ptr %7996, i64 %7999
  store i8 %7995, ptr %8000, align 1, !tbaa !15
  %8001 = load ptr, ptr %13, align 8, !tbaa !5
  %8002 = load i32, ptr %19, align 4, !tbaa !14
  %8003 = add nsw i32 %8002, 4
  %8004 = sext i32 %8003 to i64
  %8005 = getelementptr inbounds i8, ptr %8001, i64 %8004
  %8006 = load i8, ptr %8005, align 1, !tbaa !15
  %8007 = zext i8 %8006 to i32
  %8008 = load ptr, ptr %15, align 8, !tbaa !5
  %8009 = load i32, ptr %19, align 4, !tbaa !14
  %8010 = add nsw i32 %8009, 4
  %8011 = sext i32 %8010 to i64
  %8012 = getelementptr inbounds i8, ptr %8008, i64 %8011
  %8013 = load i8, ptr %8012, align 1, !tbaa !15
  %8014 = zext i8 %8013 to i64
  %8015 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8014
  %8016 = load i32, ptr %8015, align 4, !tbaa !14
  %8017 = add nsw i32 %8007, %8016
  store i32 %8017, ptr %16, align 4, !tbaa !14
  %8018 = load i32, ptr %16, align 4, !tbaa !14
  %8019 = icmp slt i32 %8018, 0
  br i1 %8019, label %8020, label %8021

8020:                                             ; preds = %7993
  br label %8029

8021:                                             ; preds = %7993
  %8022 = load i32, ptr %16, align 4, !tbaa !14
  %8023 = icmp sgt i32 %8022, 255
  br i1 %8023, label %8024, label %8025

8024:                                             ; preds = %8021
  br label %8027

8025:                                             ; preds = %8021
  %8026 = load i32, ptr %16, align 4, !tbaa !14
  br label %8027

8027:                                             ; preds = %8025, %8024
  %8028 = phi i32 [ 255, %8024 ], [ %8026, %8025 ]
  br label %8029

8029:                                             ; preds = %8027, %8020
  %8030 = phi i32 [ 0, %8020 ], [ %8028, %8027 ]
  %8031 = trunc i32 %8030 to i8
  %8032 = load ptr, ptr %12, align 8, !tbaa !5
  %8033 = load i32, ptr %19, align 4, !tbaa !14
  %8034 = add nsw i32 %8033, 4
  %8035 = sext i32 %8034 to i64
  %8036 = getelementptr inbounds i8, ptr %8032, i64 %8035
  store i8 %8031, ptr %8036, align 1, !tbaa !15
  %8037 = load ptr, ptr %13, align 8, !tbaa !5
  %8038 = load i32, ptr %19, align 4, !tbaa !14
  %8039 = add nsw i32 %8038, 4
  %8040 = sext i32 %8039 to i64
  %8041 = getelementptr inbounds i8, ptr %8037, i64 %8040
  %8042 = load i8, ptr %8041, align 1, !tbaa !15
  %8043 = zext i8 %8042 to i32
  %8044 = load ptr, ptr %14, align 8, !tbaa !5
  %8045 = load i32, ptr %19, align 4, !tbaa !14
  %8046 = add nsw i32 %8045, 4
  %8047 = sext i32 %8046 to i64
  %8048 = getelementptr inbounds i8, ptr %8044, i64 %8047
  %8049 = load i8, ptr %8048, align 1, !tbaa !15
  %8050 = zext i8 %8049 to i64
  %8051 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8050
  %8052 = load i32, ptr %8051, align 4, !tbaa !14
  %8053 = sub nsw i32 %8043, %8052
  %8054 = load ptr, ptr %15, align 8, !tbaa !5
  %8055 = load i32, ptr %19, align 4, !tbaa !14
  %8056 = add nsw i32 %8055, 4
  %8057 = sext i32 %8056 to i64
  %8058 = getelementptr inbounds i8, ptr %8054, i64 %8057
  %8059 = load i8, ptr %8058, align 1, !tbaa !15
  %8060 = zext i8 %8059 to i64
  %8061 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8060
  %8062 = load i32, ptr %8061, align 4, !tbaa !14
  %8063 = sub nsw i32 %8053, %8062
  store i32 %8063, ptr %17, align 4, !tbaa !14
  %8064 = load i32, ptr %17, align 4, !tbaa !14
  %8065 = icmp slt i32 %8064, 0
  br i1 %8065, label %8066, label %8067

8066:                                             ; preds = %8029
  br label %8075

8067:                                             ; preds = %8029
  %8068 = load i32, ptr %17, align 4, !tbaa !14
  %8069 = icmp sgt i32 %8068, 255
  br i1 %8069, label %8070, label %8071

8070:                                             ; preds = %8067
  br label %8073

8071:                                             ; preds = %8067
  %8072 = load i32, ptr %17, align 4, !tbaa !14
  br label %8073

8073:                                             ; preds = %8071, %8070
  %8074 = phi i32 [ 255, %8070 ], [ %8072, %8071 ]
  br label %8075

8075:                                             ; preds = %8073, %8066
  %8076 = phi i32 [ 0, %8066 ], [ %8074, %8073 ]
  %8077 = trunc i32 %8076 to i8
  %8078 = load ptr, ptr %11, align 8, !tbaa !5
  %8079 = load i32, ptr %19, align 4, !tbaa !14
  %8080 = add nsw i32 %8079, 4
  %8081 = sext i32 %8080 to i64
  %8082 = getelementptr inbounds i8, ptr %8078, i64 %8081
  store i8 %8077, ptr %8082, align 1, !tbaa !15
  %8083 = load ptr, ptr %13, align 8, !tbaa !5
  %8084 = load i32, ptr %19, align 4, !tbaa !14
  %8085 = add nsw i32 %8084, 4
  %8086 = sext i32 %8085 to i64
  %8087 = getelementptr inbounds i8, ptr %8083, i64 %8086
  %8088 = load i8, ptr %8087, align 1, !tbaa !15
  %8089 = zext i8 %8088 to i32
  %8090 = load ptr, ptr %14, align 8, !tbaa !5
  %8091 = load i32, ptr %19, align 4, !tbaa !14
  %8092 = add nsw i32 %8091, 4
  %8093 = sext i32 %8092 to i64
  %8094 = getelementptr inbounds i8, ptr %8090, i64 %8093
  %8095 = load i8, ptr %8094, align 1, !tbaa !15
  %8096 = zext i8 %8095 to i64
  %8097 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8096
  %8098 = load i32, ptr %8097, align 4, !tbaa !14
  %8099 = add nsw i32 %8089, %8098
  store i32 %8099, ptr %18, align 4, !tbaa !14
  %8100 = load i32, ptr %18, align 4, !tbaa !14
  %8101 = icmp slt i32 %8100, 0
  br i1 %8101, label %8102, label %8103

8102:                                             ; preds = %8075
  br label %8111

8103:                                             ; preds = %8075
  %8104 = load i32, ptr %18, align 4, !tbaa !14
  %8105 = icmp sgt i32 %8104, 255
  br i1 %8105, label %8106, label %8107

8106:                                             ; preds = %8103
  br label %8109

8107:                                             ; preds = %8103
  %8108 = load i32, ptr %18, align 4, !tbaa !14
  br label %8109

8109:                                             ; preds = %8107, %8106
  %8110 = phi i32 [ 255, %8106 ], [ %8108, %8107 ]
  br label %8111

8111:                                             ; preds = %8109, %8102
  %8112 = phi i32 [ 0, %8102 ], [ %8110, %8109 ]
  %8113 = trunc i32 %8112 to i8
  %8114 = load ptr, ptr %10, align 8, !tbaa !5
  %8115 = load i32, ptr %19, align 4, !tbaa !14
  %8116 = add nsw i32 %8115, 4
  %8117 = sext i32 %8116 to i64
  %8118 = getelementptr inbounds i8, ptr %8114, i64 %8117
  store i8 %8113, ptr %8118, align 1, !tbaa !15
  %8119 = load ptr, ptr %13, align 8, !tbaa !5
  %8120 = load i32, ptr %19, align 4, !tbaa !14
  %8121 = add nsw i32 %8120, 5
  %8122 = sext i32 %8121 to i64
  %8123 = getelementptr inbounds i8, ptr %8119, i64 %8122
  %8124 = load i8, ptr %8123, align 1, !tbaa !15
  %8125 = zext i8 %8124 to i32
  %8126 = load ptr, ptr %15, align 8, !tbaa !5
  %8127 = load i32, ptr %19, align 4, !tbaa !14
  %8128 = add nsw i32 %8127, 5
  %8129 = sext i32 %8128 to i64
  %8130 = getelementptr inbounds i8, ptr %8126, i64 %8129
  %8131 = load i8, ptr %8130, align 1, !tbaa !15
  %8132 = zext i8 %8131 to i64
  %8133 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8132
  %8134 = load i32, ptr %8133, align 4, !tbaa !14
  %8135 = add nsw i32 %8125, %8134
  store i32 %8135, ptr %16, align 4, !tbaa !14
  %8136 = load i32, ptr %16, align 4, !tbaa !14
  %8137 = icmp slt i32 %8136, 0
  br i1 %8137, label %8138, label %8139

8138:                                             ; preds = %8111
  br label %8147

8139:                                             ; preds = %8111
  %8140 = load i32, ptr %16, align 4, !tbaa !14
  %8141 = icmp sgt i32 %8140, 255
  br i1 %8141, label %8142, label %8143

8142:                                             ; preds = %8139
  br label %8145

8143:                                             ; preds = %8139
  %8144 = load i32, ptr %16, align 4, !tbaa !14
  br label %8145

8145:                                             ; preds = %8143, %8142
  %8146 = phi i32 [ 255, %8142 ], [ %8144, %8143 ]
  br label %8147

8147:                                             ; preds = %8145, %8138
  %8148 = phi i32 [ 0, %8138 ], [ %8146, %8145 ]
  %8149 = trunc i32 %8148 to i8
  %8150 = load ptr, ptr %12, align 8, !tbaa !5
  %8151 = load i32, ptr %19, align 4, !tbaa !14
  %8152 = add nsw i32 %8151, 5
  %8153 = sext i32 %8152 to i64
  %8154 = getelementptr inbounds i8, ptr %8150, i64 %8153
  store i8 %8149, ptr %8154, align 1, !tbaa !15
  %8155 = load ptr, ptr %13, align 8, !tbaa !5
  %8156 = load i32, ptr %19, align 4, !tbaa !14
  %8157 = add nsw i32 %8156, 5
  %8158 = sext i32 %8157 to i64
  %8159 = getelementptr inbounds i8, ptr %8155, i64 %8158
  %8160 = load i8, ptr %8159, align 1, !tbaa !15
  %8161 = zext i8 %8160 to i32
  %8162 = load ptr, ptr %14, align 8, !tbaa !5
  %8163 = load i32, ptr %19, align 4, !tbaa !14
  %8164 = add nsw i32 %8163, 5
  %8165 = sext i32 %8164 to i64
  %8166 = getelementptr inbounds i8, ptr %8162, i64 %8165
  %8167 = load i8, ptr %8166, align 1, !tbaa !15
  %8168 = zext i8 %8167 to i64
  %8169 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8168
  %8170 = load i32, ptr %8169, align 4, !tbaa !14
  %8171 = sub nsw i32 %8161, %8170
  %8172 = load ptr, ptr %15, align 8, !tbaa !5
  %8173 = load i32, ptr %19, align 4, !tbaa !14
  %8174 = add nsw i32 %8173, 5
  %8175 = sext i32 %8174 to i64
  %8176 = getelementptr inbounds i8, ptr %8172, i64 %8175
  %8177 = load i8, ptr %8176, align 1, !tbaa !15
  %8178 = zext i8 %8177 to i64
  %8179 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8178
  %8180 = load i32, ptr %8179, align 4, !tbaa !14
  %8181 = sub nsw i32 %8171, %8180
  store i32 %8181, ptr %17, align 4, !tbaa !14
  %8182 = load i32, ptr %17, align 4, !tbaa !14
  %8183 = icmp slt i32 %8182, 0
  br i1 %8183, label %8184, label %8185

8184:                                             ; preds = %8147
  br label %8193

8185:                                             ; preds = %8147
  %8186 = load i32, ptr %17, align 4, !tbaa !14
  %8187 = icmp sgt i32 %8186, 255
  br i1 %8187, label %8188, label %8189

8188:                                             ; preds = %8185
  br label %8191

8189:                                             ; preds = %8185
  %8190 = load i32, ptr %17, align 4, !tbaa !14
  br label %8191

8191:                                             ; preds = %8189, %8188
  %8192 = phi i32 [ 255, %8188 ], [ %8190, %8189 ]
  br label %8193

8193:                                             ; preds = %8191, %8184
  %8194 = phi i32 [ 0, %8184 ], [ %8192, %8191 ]
  %8195 = trunc i32 %8194 to i8
  %8196 = load ptr, ptr %11, align 8, !tbaa !5
  %8197 = load i32, ptr %19, align 4, !tbaa !14
  %8198 = add nsw i32 %8197, 5
  %8199 = sext i32 %8198 to i64
  %8200 = getelementptr inbounds i8, ptr %8196, i64 %8199
  store i8 %8195, ptr %8200, align 1, !tbaa !15
  %8201 = load ptr, ptr %13, align 8, !tbaa !5
  %8202 = load i32, ptr %19, align 4, !tbaa !14
  %8203 = add nsw i32 %8202, 5
  %8204 = sext i32 %8203 to i64
  %8205 = getelementptr inbounds i8, ptr %8201, i64 %8204
  %8206 = load i8, ptr %8205, align 1, !tbaa !15
  %8207 = zext i8 %8206 to i32
  %8208 = load ptr, ptr %14, align 8, !tbaa !5
  %8209 = load i32, ptr %19, align 4, !tbaa !14
  %8210 = add nsw i32 %8209, 5
  %8211 = sext i32 %8210 to i64
  %8212 = getelementptr inbounds i8, ptr %8208, i64 %8211
  %8213 = load i8, ptr %8212, align 1, !tbaa !15
  %8214 = zext i8 %8213 to i64
  %8215 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8214
  %8216 = load i32, ptr %8215, align 4, !tbaa !14
  %8217 = add nsw i32 %8207, %8216
  store i32 %8217, ptr %18, align 4, !tbaa !14
  %8218 = load i32, ptr %18, align 4, !tbaa !14
  %8219 = icmp slt i32 %8218, 0
  br i1 %8219, label %8220, label %8221

8220:                                             ; preds = %8193
  br label %8229

8221:                                             ; preds = %8193
  %8222 = load i32, ptr %18, align 4, !tbaa !14
  %8223 = icmp sgt i32 %8222, 255
  br i1 %8223, label %8224, label %8225

8224:                                             ; preds = %8221
  br label %8227

8225:                                             ; preds = %8221
  %8226 = load i32, ptr %18, align 4, !tbaa !14
  br label %8227

8227:                                             ; preds = %8225, %8224
  %8228 = phi i32 [ 255, %8224 ], [ %8226, %8225 ]
  br label %8229

8229:                                             ; preds = %8227, %8220
  %8230 = phi i32 [ 0, %8220 ], [ %8228, %8227 ]
  %8231 = trunc i32 %8230 to i8
  %8232 = load ptr, ptr %10, align 8, !tbaa !5
  %8233 = load i32, ptr %19, align 4, !tbaa !14
  %8234 = add nsw i32 %8233, 5
  %8235 = sext i32 %8234 to i64
  %8236 = getelementptr inbounds i8, ptr %8232, i64 %8235
  store i8 %8231, ptr %8236, align 1, !tbaa !15
  %8237 = load ptr, ptr %13, align 8, !tbaa !5
  %8238 = load i32, ptr %19, align 4, !tbaa !14
  %8239 = add nsw i32 %8238, 6
  %8240 = sext i32 %8239 to i64
  %8241 = getelementptr inbounds i8, ptr %8237, i64 %8240
  %8242 = load i8, ptr %8241, align 1, !tbaa !15
  %8243 = zext i8 %8242 to i32
  %8244 = load ptr, ptr %15, align 8, !tbaa !5
  %8245 = load i32, ptr %19, align 4, !tbaa !14
  %8246 = add nsw i32 %8245, 6
  %8247 = sext i32 %8246 to i64
  %8248 = getelementptr inbounds i8, ptr %8244, i64 %8247
  %8249 = load i8, ptr %8248, align 1, !tbaa !15
  %8250 = zext i8 %8249 to i64
  %8251 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8250
  %8252 = load i32, ptr %8251, align 4, !tbaa !14
  %8253 = add nsw i32 %8243, %8252
  store i32 %8253, ptr %16, align 4, !tbaa !14
  %8254 = load i32, ptr %16, align 4, !tbaa !14
  %8255 = icmp slt i32 %8254, 0
  br i1 %8255, label %8256, label %8257

8256:                                             ; preds = %8229
  br label %8265

8257:                                             ; preds = %8229
  %8258 = load i32, ptr %16, align 4, !tbaa !14
  %8259 = icmp sgt i32 %8258, 255
  br i1 %8259, label %8260, label %8261

8260:                                             ; preds = %8257
  br label %8263

8261:                                             ; preds = %8257
  %8262 = load i32, ptr %16, align 4, !tbaa !14
  br label %8263

8263:                                             ; preds = %8261, %8260
  %8264 = phi i32 [ 255, %8260 ], [ %8262, %8261 ]
  br label %8265

8265:                                             ; preds = %8263, %8256
  %8266 = phi i32 [ 0, %8256 ], [ %8264, %8263 ]
  %8267 = trunc i32 %8266 to i8
  %8268 = load ptr, ptr %12, align 8, !tbaa !5
  %8269 = load i32, ptr %19, align 4, !tbaa !14
  %8270 = add nsw i32 %8269, 6
  %8271 = sext i32 %8270 to i64
  %8272 = getelementptr inbounds i8, ptr %8268, i64 %8271
  store i8 %8267, ptr %8272, align 1, !tbaa !15
  %8273 = load ptr, ptr %13, align 8, !tbaa !5
  %8274 = load i32, ptr %19, align 4, !tbaa !14
  %8275 = add nsw i32 %8274, 6
  %8276 = sext i32 %8275 to i64
  %8277 = getelementptr inbounds i8, ptr %8273, i64 %8276
  %8278 = load i8, ptr %8277, align 1, !tbaa !15
  %8279 = zext i8 %8278 to i32
  %8280 = load ptr, ptr %14, align 8, !tbaa !5
  %8281 = load i32, ptr %19, align 4, !tbaa !14
  %8282 = add nsw i32 %8281, 6
  %8283 = sext i32 %8282 to i64
  %8284 = getelementptr inbounds i8, ptr %8280, i64 %8283
  %8285 = load i8, ptr %8284, align 1, !tbaa !15
  %8286 = zext i8 %8285 to i64
  %8287 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8286
  %8288 = load i32, ptr %8287, align 4, !tbaa !14
  %8289 = sub nsw i32 %8279, %8288
  %8290 = load ptr, ptr %15, align 8, !tbaa !5
  %8291 = load i32, ptr %19, align 4, !tbaa !14
  %8292 = add nsw i32 %8291, 6
  %8293 = sext i32 %8292 to i64
  %8294 = getelementptr inbounds i8, ptr %8290, i64 %8293
  %8295 = load i8, ptr %8294, align 1, !tbaa !15
  %8296 = zext i8 %8295 to i64
  %8297 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8296
  %8298 = load i32, ptr %8297, align 4, !tbaa !14
  %8299 = sub nsw i32 %8289, %8298
  store i32 %8299, ptr %17, align 4, !tbaa !14
  %8300 = load i32, ptr %17, align 4, !tbaa !14
  %8301 = icmp slt i32 %8300, 0
  br i1 %8301, label %8302, label %8303

8302:                                             ; preds = %8265
  br label %8311

8303:                                             ; preds = %8265
  %8304 = load i32, ptr %17, align 4, !tbaa !14
  %8305 = icmp sgt i32 %8304, 255
  br i1 %8305, label %8306, label %8307

8306:                                             ; preds = %8303
  br label %8309

8307:                                             ; preds = %8303
  %8308 = load i32, ptr %17, align 4, !tbaa !14
  br label %8309

8309:                                             ; preds = %8307, %8306
  %8310 = phi i32 [ 255, %8306 ], [ %8308, %8307 ]
  br label %8311

8311:                                             ; preds = %8309, %8302
  %8312 = phi i32 [ 0, %8302 ], [ %8310, %8309 ]
  %8313 = trunc i32 %8312 to i8
  %8314 = load ptr, ptr %11, align 8, !tbaa !5
  %8315 = load i32, ptr %19, align 4, !tbaa !14
  %8316 = add nsw i32 %8315, 6
  %8317 = sext i32 %8316 to i64
  %8318 = getelementptr inbounds i8, ptr %8314, i64 %8317
  store i8 %8313, ptr %8318, align 1, !tbaa !15
  %8319 = load ptr, ptr %13, align 8, !tbaa !5
  %8320 = load i32, ptr %19, align 4, !tbaa !14
  %8321 = add nsw i32 %8320, 6
  %8322 = sext i32 %8321 to i64
  %8323 = getelementptr inbounds i8, ptr %8319, i64 %8322
  %8324 = load i8, ptr %8323, align 1, !tbaa !15
  %8325 = zext i8 %8324 to i32
  %8326 = load ptr, ptr %14, align 8, !tbaa !5
  %8327 = load i32, ptr %19, align 4, !tbaa !14
  %8328 = add nsw i32 %8327, 6
  %8329 = sext i32 %8328 to i64
  %8330 = getelementptr inbounds i8, ptr %8326, i64 %8329
  %8331 = load i8, ptr %8330, align 1, !tbaa !15
  %8332 = zext i8 %8331 to i64
  %8333 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8332
  %8334 = load i32, ptr %8333, align 4, !tbaa !14
  %8335 = add nsw i32 %8325, %8334
  store i32 %8335, ptr %18, align 4, !tbaa !14
  %8336 = load i32, ptr %18, align 4, !tbaa !14
  %8337 = icmp slt i32 %8336, 0
  br i1 %8337, label %8338, label %8339

8338:                                             ; preds = %8311
  br label %8347

8339:                                             ; preds = %8311
  %8340 = load i32, ptr %18, align 4, !tbaa !14
  %8341 = icmp sgt i32 %8340, 255
  br i1 %8341, label %8342, label %8343

8342:                                             ; preds = %8339
  br label %8345

8343:                                             ; preds = %8339
  %8344 = load i32, ptr %18, align 4, !tbaa !14
  br label %8345

8345:                                             ; preds = %8343, %8342
  %8346 = phi i32 [ 255, %8342 ], [ %8344, %8343 ]
  br label %8347

8347:                                             ; preds = %8345, %8338
  %8348 = phi i32 [ 0, %8338 ], [ %8346, %8345 ]
  %8349 = trunc i32 %8348 to i8
  %8350 = load ptr, ptr %10, align 8, !tbaa !5
  %8351 = load i32, ptr %19, align 4, !tbaa !14
  %8352 = add nsw i32 %8351, 6
  %8353 = sext i32 %8352 to i64
  %8354 = getelementptr inbounds i8, ptr %8350, i64 %8353
  store i8 %8349, ptr %8354, align 1, !tbaa !15
  %8355 = load ptr, ptr %13, align 8, !tbaa !5
  %8356 = load i32, ptr %19, align 4, !tbaa !14
  %8357 = add nsw i32 %8356, 7
  %8358 = sext i32 %8357 to i64
  %8359 = getelementptr inbounds i8, ptr %8355, i64 %8358
  %8360 = load i8, ptr %8359, align 1, !tbaa !15
  %8361 = zext i8 %8360 to i32
  %8362 = load ptr, ptr %15, align 8, !tbaa !5
  %8363 = load i32, ptr %19, align 4, !tbaa !14
  %8364 = add nsw i32 %8363, 7
  %8365 = sext i32 %8364 to i64
  %8366 = getelementptr inbounds i8, ptr %8362, i64 %8365
  %8367 = load i8, ptr %8366, align 1, !tbaa !15
  %8368 = zext i8 %8367 to i64
  %8369 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8368
  %8370 = load i32, ptr %8369, align 4, !tbaa !14
  %8371 = add nsw i32 %8361, %8370
  store i32 %8371, ptr %16, align 4, !tbaa !14
  %8372 = load i32, ptr %16, align 4, !tbaa !14
  %8373 = icmp slt i32 %8372, 0
  br i1 %8373, label %8374, label %8375

8374:                                             ; preds = %8347
  br label %8383

8375:                                             ; preds = %8347
  %8376 = load i32, ptr %16, align 4, !tbaa !14
  %8377 = icmp sgt i32 %8376, 255
  br i1 %8377, label %8378, label %8379

8378:                                             ; preds = %8375
  br label %8381

8379:                                             ; preds = %8375
  %8380 = load i32, ptr %16, align 4, !tbaa !14
  br label %8381

8381:                                             ; preds = %8379, %8378
  %8382 = phi i32 [ 255, %8378 ], [ %8380, %8379 ]
  br label %8383

8383:                                             ; preds = %8381, %8374
  %8384 = phi i32 [ 0, %8374 ], [ %8382, %8381 ]
  %8385 = trunc i32 %8384 to i8
  %8386 = load ptr, ptr %12, align 8, !tbaa !5
  %8387 = load i32, ptr %19, align 4, !tbaa !14
  %8388 = add nsw i32 %8387, 7
  %8389 = sext i32 %8388 to i64
  %8390 = getelementptr inbounds i8, ptr %8386, i64 %8389
  store i8 %8385, ptr %8390, align 1, !tbaa !15
  %8391 = load ptr, ptr %13, align 8, !tbaa !5
  %8392 = load i32, ptr %19, align 4, !tbaa !14
  %8393 = add nsw i32 %8392, 7
  %8394 = sext i32 %8393 to i64
  %8395 = getelementptr inbounds i8, ptr %8391, i64 %8394
  %8396 = load i8, ptr %8395, align 1, !tbaa !15
  %8397 = zext i8 %8396 to i32
  %8398 = load ptr, ptr %14, align 8, !tbaa !5
  %8399 = load i32, ptr %19, align 4, !tbaa !14
  %8400 = add nsw i32 %8399, 7
  %8401 = sext i32 %8400 to i64
  %8402 = getelementptr inbounds i8, ptr %8398, i64 %8401
  %8403 = load i8, ptr %8402, align 1, !tbaa !15
  %8404 = zext i8 %8403 to i64
  %8405 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8404
  %8406 = load i32, ptr %8405, align 4, !tbaa !14
  %8407 = sub nsw i32 %8397, %8406
  %8408 = load ptr, ptr %15, align 8, !tbaa !5
  %8409 = load i32, ptr %19, align 4, !tbaa !14
  %8410 = add nsw i32 %8409, 7
  %8411 = sext i32 %8410 to i64
  %8412 = getelementptr inbounds i8, ptr %8408, i64 %8411
  %8413 = load i8, ptr %8412, align 1, !tbaa !15
  %8414 = zext i8 %8413 to i64
  %8415 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8414
  %8416 = load i32, ptr %8415, align 4, !tbaa !14
  %8417 = sub nsw i32 %8407, %8416
  store i32 %8417, ptr %17, align 4, !tbaa !14
  %8418 = load i32, ptr %17, align 4, !tbaa !14
  %8419 = icmp slt i32 %8418, 0
  br i1 %8419, label %8420, label %8421

8420:                                             ; preds = %8383
  br label %8429

8421:                                             ; preds = %8383
  %8422 = load i32, ptr %17, align 4, !tbaa !14
  %8423 = icmp sgt i32 %8422, 255
  br i1 %8423, label %8424, label %8425

8424:                                             ; preds = %8421
  br label %8427

8425:                                             ; preds = %8421
  %8426 = load i32, ptr %17, align 4, !tbaa !14
  br label %8427

8427:                                             ; preds = %8425, %8424
  %8428 = phi i32 [ 255, %8424 ], [ %8426, %8425 ]
  br label %8429

8429:                                             ; preds = %8427, %8420
  %8430 = phi i32 [ 0, %8420 ], [ %8428, %8427 ]
  %8431 = trunc i32 %8430 to i8
  %8432 = load ptr, ptr %11, align 8, !tbaa !5
  %8433 = load i32, ptr %19, align 4, !tbaa !14
  %8434 = add nsw i32 %8433, 7
  %8435 = sext i32 %8434 to i64
  %8436 = getelementptr inbounds i8, ptr %8432, i64 %8435
  store i8 %8431, ptr %8436, align 1, !tbaa !15
  %8437 = load ptr, ptr %13, align 8, !tbaa !5
  %8438 = load i32, ptr %19, align 4, !tbaa !14
  %8439 = add nsw i32 %8438, 7
  %8440 = sext i32 %8439 to i64
  %8441 = getelementptr inbounds i8, ptr %8437, i64 %8440
  %8442 = load i8, ptr %8441, align 1, !tbaa !15
  %8443 = zext i8 %8442 to i32
  %8444 = load ptr, ptr %14, align 8, !tbaa !5
  %8445 = load i32, ptr %19, align 4, !tbaa !14
  %8446 = add nsw i32 %8445, 7
  %8447 = sext i32 %8446 to i64
  %8448 = getelementptr inbounds i8, ptr %8444, i64 %8447
  %8449 = load i8, ptr %8448, align 1, !tbaa !15
  %8450 = zext i8 %8449 to i64
  %8451 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8450
  %8452 = load i32, ptr %8451, align 4, !tbaa !14
  %8453 = add nsw i32 %8443, %8452
  store i32 %8453, ptr %18, align 4, !tbaa !14
  %8454 = load i32, ptr %18, align 4, !tbaa !14
  %8455 = icmp slt i32 %8454, 0
  br i1 %8455, label %8456, label %8457

8456:                                             ; preds = %8429
  br label %8465

8457:                                             ; preds = %8429
  %8458 = load i32, ptr %18, align 4, !tbaa !14
  %8459 = icmp sgt i32 %8458, 255
  br i1 %8459, label %8460, label %8461

8460:                                             ; preds = %8457
  br label %8463

8461:                                             ; preds = %8457
  %8462 = load i32, ptr %18, align 4, !tbaa !14
  br label %8463

8463:                                             ; preds = %8461, %8460
  %8464 = phi i32 [ 255, %8460 ], [ %8462, %8461 ]
  br label %8465

8465:                                             ; preds = %8463, %8456
  %8466 = phi i32 [ 0, %8456 ], [ %8464, %8463 ]
  %8467 = trunc i32 %8466 to i8
  %8468 = load ptr, ptr %10, align 8, !tbaa !5
  %8469 = load i32, ptr %19, align 4, !tbaa !14
  %8470 = add nsw i32 %8469, 7
  %8471 = sext i32 %8470 to i64
  %8472 = getelementptr inbounds i8, ptr %8468, i64 %8471
  store i8 %8467, ptr %8472, align 1, !tbaa !15
  %8473 = load ptr, ptr %13, align 8, !tbaa !5
  %8474 = load i32, ptr %19, align 4, !tbaa !14
  %8475 = add nsw i32 %8474, 8
  %8476 = sext i32 %8475 to i64
  %8477 = getelementptr inbounds i8, ptr %8473, i64 %8476
  %8478 = load i8, ptr %8477, align 1, !tbaa !15
  %8479 = zext i8 %8478 to i32
  %8480 = load ptr, ptr %15, align 8, !tbaa !5
  %8481 = load i32, ptr %19, align 4, !tbaa !14
  %8482 = add nsw i32 %8481, 8
  %8483 = sext i32 %8482 to i64
  %8484 = getelementptr inbounds i8, ptr %8480, i64 %8483
  %8485 = load i8, ptr %8484, align 1, !tbaa !15
  %8486 = zext i8 %8485 to i64
  %8487 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8486
  %8488 = load i32, ptr %8487, align 4, !tbaa !14
  %8489 = add nsw i32 %8479, %8488
  store i32 %8489, ptr %16, align 4, !tbaa !14
  %8490 = load i32, ptr %16, align 4, !tbaa !14
  %8491 = icmp slt i32 %8490, 0
  br i1 %8491, label %8492, label %8493

8492:                                             ; preds = %8465
  br label %8501

8493:                                             ; preds = %8465
  %8494 = load i32, ptr %16, align 4, !tbaa !14
  %8495 = icmp sgt i32 %8494, 255
  br i1 %8495, label %8496, label %8497

8496:                                             ; preds = %8493
  br label %8499

8497:                                             ; preds = %8493
  %8498 = load i32, ptr %16, align 4, !tbaa !14
  br label %8499

8499:                                             ; preds = %8497, %8496
  %8500 = phi i32 [ 255, %8496 ], [ %8498, %8497 ]
  br label %8501

8501:                                             ; preds = %8499, %8492
  %8502 = phi i32 [ 0, %8492 ], [ %8500, %8499 ]
  %8503 = trunc i32 %8502 to i8
  %8504 = load ptr, ptr %12, align 8, !tbaa !5
  %8505 = load i32, ptr %19, align 4, !tbaa !14
  %8506 = add nsw i32 %8505, 8
  %8507 = sext i32 %8506 to i64
  %8508 = getelementptr inbounds i8, ptr %8504, i64 %8507
  store i8 %8503, ptr %8508, align 1, !tbaa !15
  %8509 = load ptr, ptr %13, align 8, !tbaa !5
  %8510 = load i32, ptr %19, align 4, !tbaa !14
  %8511 = add nsw i32 %8510, 8
  %8512 = sext i32 %8511 to i64
  %8513 = getelementptr inbounds i8, ptr %8509, i64 %8512
  %8514 = load i8, ptr %8513, align 1, !tbaa !15
  %8515 = zext i8 %8514 to i32
  %8516 = load ptr, ptr %14, align 8, !tbaa !5
  %8517 = load i32, ptr %19, align 4, !tbaa !14
  %8518 = add nsw i32 %8517, 8
  %8519 = sext i32 %8518 to i64
  %8520 = getelementptr inbounds i8, ptr %8516, i64 %8519
  %8521 = load i8, ptr %8520, align 1, !tbaa !15
  %8522 = zext i8 %8521 to i64
  %8523 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8522
  %8524 = load i32, ptr %8523, align 4, !tbaa !14
  %8525 = sub nsw i32 %8515, %8524
  %8526 = load ptr, ptr %15, align 8, !tbaa !5
  %8527 = load i32, ptr %19, align 4, !tbaa !14
  %8528 = add nsw i32 %8527, 8
  %8529 = sext i32 %8528 to i64
  %8530 = getelementptr inbounds i8, ptr %8526, i64 %8529
  %8531 = load i8, ptr %8530, align 1, !tbaa !15
  %8532 = zext i8 %8531 to i64
  %8533 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8532
  %8534 = load i32, ptr %8533, align 4, !tbaa !14
  %8535 = sub nsw i32 %8525, %8534
  store i32 %8535, ptr %17, align 4, !tbaa !14
  %8536 = load i32, ptr %17, align 4, !tbaa !14
  %8537 = icmp slt i32 %8536, 0
  br i1 %8537, label %8538, label %8539

8538:                                             ; preds = %8501
  br label %8547

8539:                                             ; preds = %8501
  %8540 = load i32, ptr %17, align 4, !tbaa !14
  %8541 = icmp sgt i32 %8540, 255
  br i1 %8541, label %8542, label %8543

8542:                                             ; preds = %8539
  br label %8545

8543:                                             ; preds = %8539
  %8544 = load i32, ptr %17, align 4, !tbaa !14
  br label %8545

8545:                                             ; preds = %8543, %8542
  %8546 = phi i32 [ 255, %8542 ], [ %8544, %8543 ]
  br label %8547

8547:                                             ; preds = %8545, %8538
  %8548 = phi i32 [ 0, %8538 ], [ %8546, %8545 ]
  %8549 = trunc i32 %8548 to i8
  %8550 = load ptr, ptr %11, align 8, !tbaa !5
  %8551 = load i32, ptr %19, align 4, !tbaa !14
  %8552 = add nsw i32 %8551, 8
  %8553 = sext i32 %8552 to i64
  %8554 = getelementptr inbounds i8, ptr %8550, i64 %8553
  store i8 %8549, ptr %8554, align 1, !tbaa !15
  %8555 = load ptr, ptr %13, align 8, !tbaa !5
  %8556 = load i32, ptr %19, align 4, !tbaa !14
  %8557 = add nsw i32 %8556, 8
  %8558 = sext i32 %8557 to i64
  %8559 = getelementptr inbounds i8, ptr %8555, i64 %8558
  %8560 = load i8, ptr %8559, align 1, !tbaa !15
  %8561 = zext i8 %8560 to i32
  %8562 = load ptr, ptr %14, align 8, !tbaa !5
  %8563 = load i32, ptr %19, align 4, !tbaa !14
  %8564 = add nsw i32 %8563, 8
  %8565 = sext i32 %8564 to i64
  %8566 = getelementptr inbounds i8, ptr %8562, i64 %8565
  %8567 = load i8, ptr %8566, align 1, !tbaa !15
  %8568 = zext i8 %8567 to i64
  %8569 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8568
  %8570 = load i32, ptr %8569, align 4, !tbaa !14
  %8571 = add nsw i32 %8561, %8570
  store i32 %8571, ptr %18, align 4, !tbaa !14
  %8572 = load i32, ptr %18, align 4, !tbaa !14
  %8573 = icmp slt i32 %8572, 0
  br i1 %8573, label %8574, label %8575

8574:                                             ; preds = %8547
  br label %8583

8575:                                             ; preds = %8547
  %8576 = load i32, ptr %18, align 4, !tbaa !14
  %8577 = icmp sgt i32 %8576, 255
  br i1 %8577, label %8578, label %8579

8578:                                             ; preds = %8575
  br label %8581

8579:                                             ; preds = %8575
  %8580 = load i32, ptr %18, align 4, !tbaa !14
  br label %8581

8581:                                             ; preds = %8579, %8578
  %8582 = phi i32 [ 255, %8578 ], [ %8580, %8579 ]
  br label %8583

8583:                                             ; preds = %8581, %8574
  %8584 = phi i32 [ 0, %8574 ], [ %8582, %8581 ]
  %8585 = trunc i32 %8584 to i8
  %8586 = load ptr, ptr %10, align 8, !tbaa !5
  %8587 = load i32, ptr %19, align 4, !tbaa !14
  %8588 = add nsw i32 %8587, 8
  %8589 = sext i32 %8588 to i64
  %8590 = getelementptr inbounds i8, ptr %8586, i64 %8589
  store i8 %8585, ptr %8590, align 1, !tbaa !15
  %8591 = load ptr, ptr %13, align 8, !tbaa !5
  %8592 = load i32, ptr %19, align 4, !tbaa !14
  %8593 = add nsw i32 %8592, 9
  %8594 = sext i32 %8593 to i64
  %8595 = getelementptr inbounds i8, ptr %8591, i64 %8594
  %8596 = load i8, ptr %8595, align 1, !tbaa !15
  %8597 = zext i8 %8596 to i32
  %8598 = load ptr, ptr %15, align 8, !tbaa !5
  %8599 = load i32, ptr %19, align 4, !tbaa !14
  %8600 = add nsw i32 %8599, 9
  %8601 = sext i32 %8600 to i64
  %8602 = getelementptr inbounds i8, ptr %8598, i64 %8601
  %8603 = load i8, ptr %8602, align 1, !tbaa !15
  %8604 = zext i8 %8603 to i64
  %8605 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8604
  %8606 = load i32, ptr %8605, align 4, !tbaa !14
  %8607 = add nsw i32 %8597, %8606
  store i32 %8607, ptr %16, align 4, !tbaa !14
  %8608 = load i32, ptr %16, align 4, !tbaa !14
  %8609 = icmp slt i32 %8608, 0
  br i1 %8609, label %8610, label %8611

8610:                                             ; preds = %8583
  br label %8619

8611:                                             ; preds = %8583
  %8612 = load i32, ptr %16, align 4, !tbaa !14
  %8613 = icmp sgt i32 %8612, 255
  br i1 %8613, label %8614, label %8615

8614:                                             ; preds = %8611
  br label %8617

8615:                                             ; preds = %8611
  %8616 = load i32, ptr %16, align 4, !tbaa !14
  br label %8617

8617:                                             ; preds = %8615, %8614
  %8618 = phi i32 [ 255, %8614 ], [ %8616, %8615 ]
  br label %8619

8619:                                             ; preds = %8617, %8610
  %8620 = phi i32 [ 0, %8610 ], [ %8618, %8617 ]
  %8621 = trunc i32 %8620 to i8
  %8622 = load ptr, ptr %12, align 8, !tbaa !5
  %8623 = load i32, ptr %19, align 4, !tbaa !14
  %8624 = add nsw i32 %8623, 9
  %8625 = sext i32 %8624 to i64
  %8626 = getelementptr inbounds i8, ptr %8622, i64 %8625
  store i8 %8621, ptr %8626, align 1, !tbaa !15
  %8627 = load ptr, ptr %13, align 8, !tbaa !5
  %8628 = load i32, ptr %19, align 4, !tbaa !14
  %8629 = add nsw i32 %8628, 9
  %8630 = sext i32 %8629 to i64
  %8631 = getelementptr inbounds i8, ptr %8627, i64 %8630
  %8632 = load i8, ptr %8631, align 1, !tbaa !15
  %8633 = zext i8 %8632 to i32
  %8634 = load ptr, ptr %14, align 8, !tbaa !5
  %8635 = load i32, ptr %19, align 4, !tbaa !14
  %8636 = add nsw i32 %8635, 9
  %8637 = sext i32 %8636 to i64
  %8638 = getelementptr inbounds i8, ptr %8634, i64 %8637
  %8639 = load i8, ptr %8638, align 1, !tbaa !15
  %8640 = zext i8 %8639 to i64
  %8641 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8640
  %8642 = load i32, ptr %8641, align 4, !tbaa !14
  %8643 = sub nsw i32 %8633, %8642
  %8644 = load ptr, ptr %15, align 8, !tbaa !5
  %8645 = load i32, ptr %19, align 4, !tbaa !14
  %8646 = add nsw i32 %8645, 9
  %8647 = sext i32 %8646 to i64
  %8648 = getelementptr inbounds i8, ptr %8644, i64 %8647
  %8649 = load i8, ptr %8648, align 1, !tbaa !15
  %8650 = zext i8 %8649 to i64
  %8651 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8650
  %8652 = load i32, ptr %8651, align 4, !tbaa !14
  %8653 = sub nsw i32 %8643, %8652
  store i32 %8653, ptr %17, align 4, !tbaa !14
  %8654 = load i32, ptr %17, align 4, !tbaa !14
  %8655 = icmp slt i32 %8654, 0
  br i1 %8655, label %8656, label %8657

8656:                                             ; preds = %8619
  br label %8665

8657:                                             ; preds = %8619
  %8658 = load i32, ptr %17, align 4, !tbaa !14
  %8659 = icmp sgt i32 %8658, 255
  br i1 %8659, label %8660, label %8661

8660:                                             ; preds = %8657
  br label %8663

8661:                                             ; preds = %8657
  %8662 = load i32, ptr %17, align 4, !tbaa !14
  br label %8663

8663:                                             ; preds = %8661, %8660
  %8664 = phi i32 [ 255, %8660 ], [ %8662, %8661 ]
  br label %8665

8665:                                             ; preds = %8663, %8656
  %8666 = phi i32 [ 0, %8656 ], [ %8664, %8663 ]
  %8667 = trunc i32 %8666 to i8
  %8668 = load ptr, ptr %11, align 8, !tbaa !5
  %8669 = load i32, ptr %19, align 4, !tbaa !14
  %8670 = add nsw i32 %8669, 9
  %8671 = sext i32 %8670 to i64
  %8672 = getelementptr inbounds i8, ptr %8668, i64 %8671
  store i8 %8667, ptr %8672, align 1, !tbaa !15
  %8673 = load ptr, ptr %13, align 8, !tbaa !5
  %8674 = load i32, ptr %19, align 4, !tbaa !14
  %8675 = add nsw i32 %8674, 9
  %8676 = sext i32 %8675 to i64
  %8677 = getelementptr inbounds i8, ptr %8673, i64 %8676
  %8678 = load i8, ptr %8677, align 1, !tbaa !15
  %8679 = zext i8 %8678 to i32
  %8680 = load ptr, ptr %14, align 8, !tbaa !5
  %8681 = load i32, ptr %19, align 4, !tbaa !14
  %8682 = add nsw i32 %8681, 9
  %8683 = sext i32 %8682 to i64
  %8684 = getelementptr inbounds i8, ptr %8680, i64 %8683
  %8685 = load i8, ptr %8684, align 1, !tbaa !15
  %8686 = zext i8 %8685 to i64
  %8687 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8686
  %8688 = load i32, ptr %8687, align 4, !tbaa !14
  %8689 = add nsw i32 %8679, %8688
  store i32 %8689, ptr %18, align 4, !tbaa !14
  %8690 = load i32, ptr %18, align 4, !tbaa !14
  %8691 = icmp slt i32 %8690, 0
  br i1 %8691, label %8692, label %8693

8692:                                             ; preds = %8665
  br label %8701

8693:                                             ; preds = %8665
  %8694 = load i32, ptr %18, align 4, !tbaa !14
  %8695 = icmp sgt i32 %8694, 255
  br i1 %8695, label %8696, label %8697

8696:                                             ; preds = %8693
  br label %8699

8697:                                             ; preds = %8693
  %8698 = load i32, ptr %18, align 4, !tbaa !14
  br label %8699

8699:                                             ; preds = %8697, %8696
  %8700 = phi i32 [ 255, %8696 ], [ %8698, %8697 ]
  br label %8701

8701:                                             ; preds = %8699, %8692
  %8702 = phi i32 [ 0, %8692 ], [ %8700, %8699 ]
  %8703 = trunc i32 %8702 to i8
  %8704 = load ptr, ptr %10, align 8, !tbaa !5
  %8705 = load i32, ptr %19, align 4, !tbaa !14
  %8706 = add nsw i32 %8705, 9
  %8707 = sext i32 %8706 to i64
  %8708 = getelementptr inbounds i8, ptr %8704, i64 %8707
  store i8 %8703, ptr %8708, align 1, !tbaa !15
  br label %16424

8709:                                             ; preds = %7521
  %8710 = load ptr, ptr %4, align 8, !tbaa !5
  %8711 = getelementptr inbounds %struct.MImage, ptr %8710, i32 0, i32 2
  %8712 = load i32, ptr %8711, align 8, !tbaa !13
  %8713 = load i32, ptr %19, align 4, !tbaa !14
  %8714 = sub nsw i32 %8712, %8713
  %8715 = icmp eq i32 %8714, 11
  br i1 %8715, label %8716, label %10015

8716:                                             ; preds = %8709
  %8717 = load ptr, ptr %13, align 8, !tbaa !5
  %8718 = load i32, ptr %19, align 4, !tbaa !14
  %8719 = add nsw i32 %8718, 0
  %8720 = sext i32 %8719 to i64
  %8721 = getelementptr inbounds i8, ptr %8717, i64 %8720
  %8722 = load i8, ptr %8721, align 1, !tbaa !15
  %8723 = zext i8 %8722 to i32
  %8724 = load ptr, ptr %15, align 8, !tbaa !5
  %8725 = load i32, ptr %19, align 4, !tbaa !14
  %8726 = add nsw i32 %8725, 0
  %8727 = sext i32 %8726 to i64
  %8728 = getelementptr inbounds i8, ptr %8724, i64 %8727
  %8729 = load i8, ptr %8728, align 1, !tbaa !15
  %8730 = zext i8 %8729 to i64
  %8731 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8730
  %8732 = load i32, ptr %8731, align 4, !tbaa !14
  %8733 = add nsw i32 %8723, %8732
  store i32 %8733, ptr %16, align 4, !tbaa !14
  %8734 = load i32, ptr %16, align 4, !tbaa !14
  %8735 = icmp slt i32 %8734, 0
  br i1 %8735, label %8736, label %8737

8736:                                             ; preds = %8716
  br label %8745

8737:                                             ; preds = %8716
  %8738 = load i32, ptr %16, align 4, !tbaa !14
  %8739 = icmp sgt i32 %8738, 255
  br i1 %8739, label %8740, label %8741

8740:                                             ; preds = %8737
  br label %8743

8741:                                             ; preds = %8737
  %8742 = load i32, ptr %16, align 4, !tbaa !14
  br label %8743

8743:                                             ; preds = %8741, %8740
  %8744 = phi i32 [ 255, %8740 ], [ %8742, %8741 ]
  br label %8745

8745:                                             ; preds = %8743, %8736
  %8746 = phi i32 [ 0, %8736 ], [ %8744, %8743 ]
  %8747 = trunc i32 %8746 to i8
  %8748 = load ptr, ptr %12, align 8, !tbaa !5
  %8749 = load i32, ptr %19, align 4, !tbaa !14
  %8750 = add nsw i32 %8749, 0
  %8751 = sext i32 %8750 to i64
  %8752 = getelementptr inbounds i8, ptr %8748, i64 %8751
  store i8 %8747, ptr %8752, align 1, !tbaa !15
  %8753 = load ptr, ptr %13, align 8, !tbaa !5
  %8754 = load i32, ptr %19, align 4, !tbaa !14
  %8755 = add nsw i32 %8754, 0
  %8756 = sext i32 %8755 to i64
  %8757 = getelementptr inbounds i8, ptr %8753, i64 %8756
  %8758 = load i8, ptr %8757, align 1, !tbaa !15
  %8759 = zext i8 %8758 to i32
  %8760 = load ptr, ptr %14, align 8, !tbaa !5
  %8761 = load i32, ptr %19, align 4, !tbaa !14
  %8762 = add nsw i32 %8761, 0
  %8763 = sext i32 %8762 to i64
  %8764 = getelementptr inbounds i8, ptr %8760, i64 %8763
  %8765 = load i8, ptr %8764, align 1, !tbaa !15
  %8766 = zext i8 %8765 to i64
  %8767 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8766
  %8768 = load i32, ptr %8767, align 4, !tbaa !14
  %8769 = sub nsw i32 %8759, %8768
  %8770 = load ptr, ptr %15, align 8, !tbaa !5
  %8771 = load i32, ptr %19, align 4, !tbaa !14
  %8772 = add nsw i32 %8771, 0
  %8773 = sext i32 %8772 to i64
  %8774 = getelementptr inbounds i8, ptr %8770, i64 %8773
  %8775 = load i8, ptr %8774, align 1, !tbaa !15
  %8776 = zext i8 %8775 to i64
  %8777 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8776
  %8778 = load i32, ptr %8777, align 4, !tbaa !14
  %8779 = sub nsw i32 %8769, %8778
  store i32 %8779, ptr %17, align 4, !tbaa !14
  %8780 = load i32, ptr %17, align 4, !tbaa !14
  %8781 = icmp slt i32 %8780, 0
  br i1 %8781, label %8782, label %8783

8782:                                             ; preds = %8745
  br label %8791

8783:                                             ; preds = %8745
  %8784 = load i32, ptr %17, align 4, !tbaa !14
  %8785 = icmp sgt i32 %8784, 255
  br i1 %8785, label %8786, label %8787

8786:                                             ; preds = %8783
  br label %8789

8787:                                             ; preds = %8783
  %8788 = load i32, ptr %17, align 4, !tbaa !14
  br label %8789

8789:                                             ; preds = %8787, %8786
  %8790 = phi i32 [ 255, %8786 ], [ %8788, %8787 ]
  br label %8791

8791:                                             ; preds = %8789, %8782
  %8792 = phi i32 [ 0, %8782 ], [ %8790, %8789 ]
  %8793 = trunc i32 %8792 to i8
  %8794 = load ptr, ptr %11, align 8, !tbaa !5
  %8795 = load i32, ptr %19, align 4, !tbaa !14
  %8796 = add nsw i32 %8795, 0
  %8797 = sext i32 %8796 to i64
  %8798 = getelementptr inbounds i8, ptr %8794, i64 %8797
  store i8 %8793, ptr %8798, align 1, !tbaa !15
  %8799 = load ptr, ptr %13, align 8, !tbaa !5
  %8800 = load i32, ptr %19, align 4, !tbaa !14
  %8801 = add nsw i32 %8800, 0
  %8802 = sext i32 %8801 to i64
  %8803 = getelementptr inbounds i8, ptr %8799, i64 %8802
  %8804 = load i8, ptr %8803, align 1, !tbaa !15
  %8805 = zext i8 %8804 to i32
  %8806 = load ptr, ptr %14, align 8, !tbaa !5
  %8807 = load i32, ptr %19, align 4, !tbaa !14
  %8808 = add nsw i32 %8807, 0
  %8809 = sext i32 %8808 to i64
  %8810 = getelementptr inbounds i8, ptr %8806, i64 %8809
  %8811 = load i8, ptr %8810, align 1, !tbaa !15
  %8812 = zext i8 %8811 to i64
  %8813 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8812
  %8814 = load i32, ptr %8813, align 4, !tbaa !14
  %8815 = add nsw i32 %8805, %8814
  store i32 %8815, ptr %18, align 4, !tbaa !14
  %8816 = load i32, ptr %18, align 4, !tbaa !14
  %8817 = icmp slt i32 %8816, 0
  br i1 %8817, label %8818, label %8819

8818:                                             ; preds = %8791
  br label %8827

8819:                                             ; preds = %8791
  %8820 = load i32, ptr %18, align 4, !tbaa !14
  %8821 = icmp sgt i32 %8820, 255
  br i1 %8821, label %8822, label %8823

8822:                                             ; preds = %8819
  br label %8825

8823:                                             ; preds = %8819
  %8824 = load i32, ptr %18, align 4, !tbaa !14
  br label %8825

8825:                                             ; preds = %8823, %8822
  %8826 = phi i32 [ 255, %8822 ], [ %8824, %8823 ]
  br label %8827

8827:                                             ; preds = %8825, %8818
  %8828 = phi i32 [ 0, %8818 ], [ %8826, %8825 ]
  %8829 = trunc i32 %8828 to i8
  %8830 = load ptr, ptr %10, align 8, !tbaa !5
  %8831 = load i32, ptr %19, align 4, !tbaa !14
  %8832 = add nsw i32 %8831, 0
  %8833 = sext i32 %8832 to i64
  %8834 = getelementptr inbounds i8, ptr %8830, i64 %8833
  store i8 %8829, ptr %8834, align 1, !tbaa !15
  %8835 = load ptr, ptr %13, align 8, !tbaa !5
  %8836 = load i32, ptr %19, align 4, !tbaa !14
  %8837 = add nsw i32 %8836, 1
  %8838 = sext i32 %8837 to i64
  %8839 = getelementptr inbounds i8, ptr %8835, i64 %8838
  %8840 = load i8, ptr %8839, align 1, !tbaa !15
  %8841 = zext i8 %8840 to i32
  %8842 = load ptr, ptr %15, align 8, !tbaa !5
  %8843 = load i32, ptr %19, align 4, !tbaa !14
  %8844 = add nsw i32 %8843, 1
  %8845 = sext i32 %8844 to i64
  %8846 = getelementptr inbounds i8, ptr %8842, i64 %8845
  %8847 = load i8, ptr %8846, align 1, !tbaa !15
  %8848 = zext i8 %8847 to i64
  %8849 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8848
  %8850 = load i32, ptr %8849, align 4, !tbaa !14
  %8851 = add nsw i32 %8841, %8850
  store i32 %8851, ptr %16, align 4, !tbaa !14
  %8852 = load i32, ptr %16, align 4, !tbaa !14
  %8853 = icmp slt i32 %8852, 0
  br i1 %8853, label %8854, label %8855

8854:                                             ; preds = %8827
  br label %8863

8855:                                             ; preds = %8827
  %8856 = load i32, ptr %16, align 4, !tbaa !14
  %8857 = icmp sgt i32 %8856, 255
  br i1 %8857, label %8858, label %8859

8858:                                             ; preds = %8855
  br label %8861

8859:                                             ; preds = %8855
  %8860 = load i32, ptr %16, align 4, !tbaa !14
  br label %8861

8861:                                             ; preds = %8859, %8858
  %8862 = phi i32 [ 255, %8858 ], [ %8860, %8859 ]
  br label %8863

8863:                                             ; preds = %8861, %8854
  %8864 = phi i32 [ 0, %8854 ], [ %8862, %8861 ]
  %8865 = trunc i32 %8864 to i8
  %8866 = load ptr, ptr %12, align 8, !tbaa !5
  %8867 = load i32, ptr %19, align 4, !tbaa !14
  %8868 = add nsw i32 %8867, 1
  %8869 = sext i32 %8868 to i64
  %8870 = getelementptr inbounds i8, ptr %8866, i64 %8869
  store i8 %8865, ptr %8870, align 1, !tbaa !15
  %8871 = load ptr, ptr %13, align 8, !tbaa !5
  %8872 = load i32, ptr %19, align 4, !tbaa !14
  %8873 = add nsw i32 %8872, 1
  %8874 = sext i32 %8873 to i64
  %8875 = getelementptr inbounds i8, ptr %8871, i64 %8874
  %8876 = load i8, ptr %8875, align 1, !tbaa !15
  %8877 = zext i8 %8876 to i32
  %8878 = load ptr, ptr %14, align 8, !tbaa !5
  %8879 = load i32, ptr %19, align 4, !tbaa !14
  %8880 = add nsw i32 %8879, 1
  %8881 = sext i32 %8880 to i64
  %8882 = getelementptr inbounds i8, ptr %8878, i64 %8881
  %8883 = load i8, ptr %8882, align 1, !tbaa !15
  %8884 = zext i8 %8883 to i64
  %8885 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %8884
  %8886 = load i32, ptr %8885, align 4, !tbaa !14
  %8887 = sub nsw i32 %8877, %8886
  %8888 = load ptr, ptr %15, align 8, !tbaa !5
  %8889 = load i32, ptr %19, align 4, !tbaa !14
  %8890 = add nsw i32 %8889, 1
  %8891 = sext i32 %8890 to i64
  %8892 = getelementptr inbounds i8, ptr %8888, i64 %8891
  %8893 = load i8, ptr %8892, align 1, !tbaa !15
  %8894 = zext i8 %8893 to i64
  %8895 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %8894
  %8896 = load i32, ptr %8895, align 4, !tbaa !14
  %8897 = sub nsw i32 %8887, %8896
  store i32 %8897, ptr %17, align 4, !tbaa !14
  %8898 = load i32, ptr %17, align 4, !tbaa !14
  %8899 = icmp slt i32 %8898, 0
  br i1 %8899, label %8900, label %8901

8900:                                             ; preds = %8863
  br label %8909

8901:                                             ; preds = %8863
  %8902 = load i32, ptr %17, align 4, !tbaa !14
  %8903 = icmp sgt i32 %8902, 255
  br i1 %8903, label %8904, label %8905

8904:                                             ; preds = %8901
  br label %8907

8905:                                             ; preds = %8901
  %8906 = load i32, ptr %17, align 4, !tbaa !14
  br label %8907

8907:                                             ; preds = %8905, %8904
  %8908 = phi i32 [ 255, %8904 ], [ %8906, %8905 ]
  br label %8909

8909:                                             ; preds = %8907, %8900
  %8910 = phi i32 [ 0, %8900 ], [ %8908, %8907 ]
  %8911 = trunc i32 %8910 to i8
  %8912 = load ptr, ptr %11, align 8, !tbaa !5
  %8913 = load i32, ptr %19, align 4, !tbaa !14
  %8914 = add nsw i32 %8913, 1
  %8915 = sext i32 %8914 to i64
  %8916 = getelementptr inbounds i8, ptr %8912, i64 %8915
  store i8 %8911, ptr %8916, align 1, !tbaa !15
  %8917 = load ptr, ptr %13, align 8, !tbaa !5
  %8918 = load i32, ptr %19, align 4, !tbaa !14
  %8919 = add nsw i32 %8918, 1
  %8920 = sext i32 %8919 to i64
  %8921 = getelementptr inbounds i8, ptr %8917, i64 %8920
  %8922 = load i8, ptr %8921, align 1, !tbaa !15
  %8923 = zext i8 %8922 to i32
  %8924 = load ptr, ptr %14, align 8, !tbaa !5
  %8925 = load i32, ptr %19, align 4, !tbaa !14
  %8926 = add nsw i32 %8925, 1
  %8927 = sext i32 %8926 to i64
  %8928 = getelementptr inbounds i8, ptr %8924, i64 %8927
  %8929 = load i8, ptr %8928, align 1, !tbaa !15
  %8930 = zext i8 %8929 to i64
  %8931 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %8930
  %8932 = load i32, ptr %8931, align 4, !tbaa !14
  %8933 = add nsw i32 %8923, %8932
  store i32 %8933, ptr %18, align 4, !tbaa !14
  %8934 = load i32, ptr %18, align 4, !tbaa !14
  %8935 = icmp slt i32 %8934, 0
  br i1 %8935, label %8936, label %8937

8936:                                             ; preds = %8909
  br label %8945

8937:                                             ; preds = %8909
  %8938 = load i32, ptr %18, align 4, !tbaa !14
  %8939 = icmp sgt i32 %8938, 255
  br i1 %8939, label %8940, label %8941

8940:                                             ; preds = %8937
  br label %8943

8941:                                             ; preds = %8937
  %8942 = load i32, ptr %18, align 4, !tbaa !14
  br label %8943

8943:                                             ; preds = %8941, %8940
  %8944 = phi i32 [ 255, %8940 ], [ %8942, %8941 ]
  br label %8945

8945:                                             ; preds = %8943, %8936
  %8946 = phi i32 [ 0, %8936 ], [ %8944, %8943 ]
  %8947 = trunc i32 %8946 to i8
  %8948 = load ptr, ptr %10, align 8, !tbaa !5
  %8949 = load i32, ptr %19, align 4, !tbaa !14
  %8950 = add nsw i32 %8949, 1
  %8951 = sext i32 %8950 to i64
  %8952 = getelementptr inbounds i8, ptr %8948, i64 %8951
  store i8 %8947, ptr %8952, align 1, !tbaa !15
  %8953 = load ptr, ptr %13, align 8, !tbaa !5
  %8954 = load i32, ptr %19, align 4, !tbaa !14
  %8955 = add nsw i32 %8954, 2
  %8956 = sext i32 %8955 to i64
  %8957 = getelementptr inbounds i8, ptr %8953, i64 %8956
  %8958 = load i8, ptr %8957, align 1, !tbaa !15
  %8959 = zext i8 %8958 to i32
  %8960 = load ptr, ptr %15, align 8, !tbaa !5
  %8961 = load i32, ptr %19, align 4, !tbaa !14
  %8962 = add nsw i32 %8961, 2
  %8963 = sext i32 %8962 to i64
  %8964 = getelementptr inbounds i8, ptr %8960, i64 %8963
  %8965 = load i8, ptr %8964, align 1, !tbaa !15
  %8966 = zext i8 %8965 to i64
  %8967 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %8966
  %8968 = load i32, ptr %8967, align 4, !tbaa !14
  %8969 = add nsw i32 %8959, %8968
  store i32 %8969, ptr %16, align 4, !tbaa !14
  %8970 = load i32, ptr %16, align 4, !tbaa !14
  %8971 = icmp slt i32 %8970, 0
  br i1 %8971, label %8972, label %8973

8972:                                             ; preds = %8945
  br label %8981

8973:                                             ; preds = %8945
  %8974 = load i32, ptr %16, align 4, !tbaa !14
  %8975 = icmp sgt i32 %8974, 255
  br i1 %8975, label %8976, label %8977

8976:                                             ; preds = %8973
  br label %8979

8977:                                             ; preds = %8973
  %8978 = load i32, ptr %16, align 4, !tbaa !14
  br label %8979

8979:                                             ; preds = %8977, %8976
  %8980 = phi i32 [ 255, %8976 ], [ %8978, %8977 ]
  br label %8981

8981:                                             ; preds = %8979, %8972
  %8982 = phi i32 [ 0, %8972 ], [ %8980, %8979 ]
  %8983 = trunc i32 %8982 to i8
  %8984 = load ptr, ptr %12, align 8, !tbaa !5
  %8985 = load i32, ptr %19, align 4, !tbaa !14
  %8986 = add nsw i32 %8985, 2
  %8987 = sext i32 %8986 to i64
  %8988 = getelementptr inbounds i8, ptr %8984, i64 %8987
  store i8 %8983, ptr %8988, align 1, !tbaa !15
  %8989 = load ptr, ptr %13, align 8, !tbaa !5
  %8990 = load i32, ptr %19, align 4, !tbaa !14
  %8991 = add nsw i32 %8990, 2
  %8992 = sext i32 %8991 to i64
  %8993 = getelementptr inbounds i8, ptr %8989, i64 %8992
  %8994 = load i8, ptr %8993, align 1, !tbaa !15
  %8995 = zext i8 %8994 to i32
  %8996 = load ptr, ptr %14, align 8, !tbaa !5
  %8997 = load i32, ptr %19, align 4, !tbaa !14
  %8998 = add nsw i32 %8997, 2
  %8999 = sext i32 %8998 to i64
  %9000 = getelementptr inbounds i8, ptr %8996, i64 %8999
  %9001 = load i8, ptr %9000, align 1, !tbaa !15
  %9002 = zext i8 %9001 to i64
  %9003 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9002
  %9004 = load i32, ptr %9003, align 4, !tbaa !14
  %9005 = sub nsw i32 %8995, %9004
  %9006 = load ptr, ptr %15, align 8, !tbaa !5
  %9007 = load i32, ptr %19, align 4, !tbaa !14
  %9008 = add nsw i32 %9007, 2
  %9009 = sext i32 %9008 to i64
  %9010 = getelementptr inbounds i8, ptr %9006, i64 %9009
  %9011 = load i8, ptr %9010, align 1, !tbaa !15
  %9012 = zext i8 %9011 to i64
  %9013 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9012
  %9014 = load i32, ptr %9013, align 4, !tbaa !14
  %9015 = sub nsw i32 %9005, %9014
  store i32 %9015, ptr %17, align 4, !tbaa !14
  %9016 = load i32, ptr %17, align 4, !tbaa !14
  %9017 = icmp slt i32 %9016, 0
  br i1 %9017, label %9018, label %9019

9018:                                             ; preds = %8981
  br label %9027

9019:                                             ; preds = %8981
  %9020 = load i32, ptr %17, align 4, !tbaa !14
  %9021 = icmp sgt i32 %9020, 255
  br i1 %9021, label %9022, label %9023

9022:                                             ; preds = %9019
  br label %9025

9023:                                             ; preds = %9019
  %9024 = load i32, ptr %17, align 4, !tbaa !14
  br label %9025

9025:                                             ; preds = %9023, %9022
  %9026 = phi i32 [ 255, %9022 ], [ %9024, %9023 ]
  br label %9027

9027:                                             ; preds = %9025, %9018
  %9028 = phi i32 [ 0, %9018 ], [ %9026, %9025 ]
  %9029 = trunc i32 %9028 to i8
  %9030 = load ptr, ptr %11, align 8, !tbaa !5
  %9031 = load i32, ptr %19, align 4, !tbaa !14
  %9032 = add nsw i32 %9031, 2
  %9033 = sext i32 %9032 to i64
  %9034 = getelementptr inbounds i8, ptr %9030, i64 %9033
  store i8 %9029, ptr %9034, align 1, !tbaa !15
  %9035 = load ptr, ptr %13, align 8, !tbaa !5
  %9036 = load i32, ptr %19, align 4, !tbaa !14
  %9037 = add nsw i32 %9036, 2
  %9038 = sext i32 %9037 to i64
  %9039 = getelementptr inbounds i8, ptr %9035, i64 %9038
  %9040 = load i8, ptr %9039, align 1, !tbaa !15
  %9041 = zext i8 %9040 to i32
  %9042 = load ptr, ptr %14, align 8, !tbaa !5
  %9043 = load i32, ptr %19, align 4, !tbaa !14
  %9044 = add nsw i32 %9043, 2
  %9045 = sext i32 %9044 to i64
  %9046 = getelementptr inbounds i8, ptr %9042, i64 %9045
  %9047 = load i8, ptr %9046, align 1, !tbaa !15
  %9048 = zext i8 %9047 to i64
  %9049 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9048
  %9050 = load i32, ptr %9049, align 4, !tbaa !14
  %9051 = add nsw i32 %9041, %9050
  store i32 %9051, ptr %18, align 4, !tbaa !14
  %9052 = load i32, ptr %18, align 4, !tbaa !14
  %9053 = icmp slt i32 %9052, 0
  br i1 %9053, label %9054, label %9055

9054:                                             ; preds = %9027
  br label %9063

9055:                                             ; preds = %9027
  %9056 = load i32, ptr %18, align 4, !tbaa !14
  %9057 = icmp sgt i32 %9056, 255
  br i1 %9057, label %9058, label %9059

9058:                                             ; preds = %9055
  br label %9061

9059:                                             ; preds = %9055
  %9060 = load i32, ptr %18, align 4, !tbaa !14
  br label %9061

9061:                                             ; preds = %9059, %9058
  %9062 = phi i32 [ 255, %9058 ], [ %9060, %9059 ]
  br label %9063

9063:                                             ; preds = %9061, %9054
  %9064 = phi i32 [ 0, %9054 ], [ %9062, %9061 ]
  %9065 = trunc i32 %9064 to i8
  %9066 = load ptr, ptr %10, align 8, !tbaa !5
  %9067 = load i32, ptr %19, align 4, !tbaa !14
  %9068 = add nsw i32 %9067, 2
  %9069 = sext i32 %9068 to i64
  %9070 = getelementptr inbounds i8, ptr %9066, i64 %9069
  store i8 %9065, ptr %9070, align 1, !tbaa !15
  %9071 = load ptr, ptr %13, align 8, !tbaa !5
  %9072 = load i32, ptr %19, align 4, !tbaa !14
  %9073 = add nsw i32 %9072, 3
  %9074 = sext i32 %9073 to i64
  %9075 = getelementptr inbounds i8, ptr %9071, i64 %9074
  %9076 = load i8, ptr %9075, align 1, !tbaa !15
  %9077 = zext i8 %9076 to i32
  %9078 = load ptr, ptr %15, align 8, !tbaa !5
  %9079 = load i32, ptr %19, align 4, !tbaa !14
  %9080 = add nsw i32 %9079, 3
  %9081 = sext i32 %9080 to i64
  %9082 = getelementptr inbounds i8, ptr %9078, i64 %9081
  %9083 = load i8, ptr %9082, align 1, !tbaa !15
  %9084 = zext i8 %9083 to i64
  %9085 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9084
  %9086 = load i32, ptr %9085, align 4, !tbaa !14
  %9087 = add nsw i32 %9077, %9086
  store i32 %9087, ptr %16, align 4, !tbaa !14
  %9088 = load i32, ptr %16, align 4, !tbaa !14
  %9089 = icmp slt i32 %9088, 0
  br i1 %9089, label %9090, label %9091

9090:                                             ; preds = %9063
  br label %9099

9091:                                             ; preds = %9063
  %9092 = load i32, ptr %16, align 4, !tbaa !14
  %9093 = icmp sgt i32 %9092, 255
  br i1 %9093, label %9094, label %9095

9094:                                             ; preds = %9091
  br label %9097

9095:                                             ; preds = %9091
  %9096 = load i32, ptr %16, align 4, !tbaa !14
  br label %9097

9097:                                             ; preds = %9095, %9094
  %9098 = phi i32 [ 255, %9094 ], [ %9096, %9095 ]
  br label %9099

9099:                                             ; preds = %9097, %9090
  %9100 = phi i32 [ 0, %9090 ], [ %9098, %9097 ]
  %9101 = trunc i32 %9100 to i8
  %9102 = load ptr, ptr %12, align 8, !tbaa !5
  %9103 = load i32, ptr %19, align 4, !tbaa !14
  %9104 = add nsw i32 %9103, 3
  %9105 = sext i32 %9104 to i64
  %9106 = getelementptr inbounds i8, ptr %9102, i64 %9105
  store i8 %9101, ptr %9106, align 1, !tbaa !15
  %9107 = load ptr, ptr %13, align 8, !tbaa !5
  %9108 = load i32, ptr %19, align 4, !tbaa !14
  %9109 = add nsw i32 %9108, 3
  %9110 = sext i32 %9109 to i64
  %9111 = getelementptr inbounds i8, ptr %9107, i64 %9110
  %9112 = load i8, ptr %9111, align 1, !tbaa !15
  %9113 = zext i8 %9112 to i32
  %9114 = load ptr, ptr %14, align 8, !tbaa !5
  %9115 = load i32, ptr %19, align 4, !tbaa !14
  %9116 = add nsw i32 %9115, 3
  %9117 = sext i32 %9116 to i64
  %9118 = getelementptr inbounds i8, ptr %9114, i64 %9117
  %9119 = load i8, ptr %9118, align 1, !tbaa !15
  %9120 = zext i8 %9119 to i64
  %9121 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9120
  %9122 = load i32, ptr %9121, align 4, !tbaa !14
  %9123 = sub nsw i32 %9113, %9122
  %9124 = load ptr, ptr %15, align 8, !tbaa !5
  %9125 = load i32, ptr %19, align 4, !tbaa !14
  %9126 = add nsw i32 %9125, 3
  %9127 = sext i32 %9126 to i64
  %9128 = getelementptr inbounds i8, ptr %9124, i64 %9127
  %9129 = load i8, ptr %9128, align 1, !tbaa !15
  %9130 = zext i8 %9129 to i64
  %9131 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9130
  %9132 = load i32, ptr %9131, align 4, !tbaa !14
  %9133 = sub nsw i32 %9123, %9132
  store i32 %9133, ptr %17, align 4, !tbaa !14
  %9134 = load i32, ptr %17, align 4, !tbaa !14
  %9135 = icmp slt i32 %9134, 0
  br i1 %9135, label %9136, label %9137

9136:                                             ; preds = %9099
  br label %9145

9137:                                             ; preds = %9099
  %9138 = load i32, ptr %17, align 4, !tbaa !14
  %9139 = icmp sgt i32 %9138, 255
  br i1 %9139, label %9140, label %9141

9140:                                             ; preds = %9137
  br label %9143

9141:                                             ; preds = %9137
  %9142 = load i32, ptr %17, align 4, !tbaa !14
  br label %9143

9143:                                             ; preds = %9141, %9140
  %9144 = phi i32 [ 255, %9140 ], [ %9142, %9141 ]
  br label %9145

9145:                                             ; preds = %9143, %9136
  %9146 = phi i32 [ 0, %9136 ], [ %9144, %9143 ]
  %9147 = trunc i32 %9146 to i8
  %9148 = load ptr, ptr %11, align 8, !tbaa !5
  %9149 = load i32, ptr %19, align 4, !tbaa !14
  %9150 = add nsw i32 %9149, 3
  %9151 = sext i32 %9150 to i64
  %9152 = getelementptr inbounds i8, ptr %9148, i64 %9151
  store i8 %9147, ptr %9152, align 1, !tbaa !15
  %9153 = load ptr, ptr %13, align 8, !tbaa !5
  %9154 = load i32, ptr %19, align 4, !tbaa !14
  %9155 = add nsw i32 %9154, 3
  %9156 = sext i32 %9155 to i64
  %9157 = getelementptr inbounds i8, ptr %9153, i64 %9156
  %9158 = load i8, ptr %9157, align 1, !tbaa !15
  %9159 = zext i8 %9158 to i32
  %9160 = load ptr, ptr %14, align 8, !tbaa !5
  %9161 = load i32, ptr %19, align 4, !tbaa !14
  %9162 = add nsw i32 %9161, 3
  %9163 = sext i32 %9162 to i64
  %9164 = getelementptr inbounds i8, ptr %9160, i64 %9163
  %9165 = load i8, ptr %9164, align 1, !tbaa !15
  %9166 = zext i8 %9165 to i64
  %9167 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9166
  %9168 = load i32, ptr %9167, align 4, !tbaa !14
  %9169 = add nsw i32 %9159, %9168
  store i32 %9169, ptr %18, align 4, !tbaa !14
  %9170 = load i32, ptr %18, align 4, !tbaa !14
  %9171 = icmp slt i32 %9170, 0
  br i1 %9171, label %9172, label %9173

9172:                                             ; preds = %9145
  br label %9181

9173:                                             ; preds = %9145
  %9174 = load i32, ptr %18, align 4, !tbaa !14
  %9175 = icmp sgt i32 %9174, 255
  br i1 %9175, label %9176, label %9177

9176:                                             ; preds = %9173
  br label %9179

9177:                                             ; preds = %9173
  %9178 = load i32, ptr %18, align 4, !tbaa !14
  br label %9179

9179:                                             ; preds = %9177, %9176
  %9180 = phi i32 [ 255, %9176 ], [ %9178, %9177 ]
  br label %9181

9181:                                             ; preds = %9179, %9172
  %9182 = phi i32 [ 0, %9172 ], [ %9180, %9179 ]
  %9183 = trunc i32 %9182 to i8
  %9184 = load ptr, ptr %10, align 8, !tbaa !5
  %9185 = load i32, ptr %19, align 4, !tbaa !14
  %9186 = add nsw i32 %9185, 3
  %9187 = sext i32 %9186 to i64
  %9188 = getelementptr inbounds i8, ptr %9184, i64 %9187
  store i8 %9183, ptr %9188, align 1, !tbaa !15
  %9189 = load ptr, ptr %13, align 8, !tbaa !5
  %9190 = load i32, ptr %19, align 4, !tbaa !14
  %9191 = add nsw i32 %9190, 4
  %9192 = sext i32 %9191 to i64
  %9193 = getelementptr inbounds i8, ptr %9189, i64 %9192
  %9194 = load i8, ptr %9193, align 1, !tbaa !15
  %9195 = zext i8 %9194 to i32
  %9196 = load ptr, ptr %15, align 8, !tbaa !5
  %9197 = load i32, ptr %19, align 4, !tbaa !14
  %9198 = add nsw i32 %9197, 4
  %9199 = sext i32 %9198 to i64
  %9200 = getelementptr inbounds i8, ptr %9196, i64 %9199
  %9201 = load i8, ptr %9200, align 1, !tbaa !15
  %9202 = zext i8 %9201 to i64
  %9203 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9202
  %9204 = load i32, ptr %9203, align 4, !tbaa !14
  %9205 = add nsw i32 %9195, %9204
  store i32 %9205, ptr %16, align 4, !tbaa !14
  %9206 = load i32, ptr %16, align 4, !tbaa !14
  %9207 = icmp slt i32 %9206, 0
  br i1 %9207, label %9208, label %9209

9208:                                             ; preds = %9181
  br label %9217

9209:                                             ; preds = %9181
  %9210 = load i32, ptr %16, align 4, !tbaa !14
  %9211 = icmp sgt i32 %9210, 255
  br i1 %9211, label %9212, label %9213

9212:                                             ; preds = %9209
  br label %9215

9213:                                             ; preds = %9209
  %9214 = load i32, ptr %16, align 4, !tbaa !14
  br label %9215

9215:                                             ; preds = %9213, %9212
  %9216 = phi i32 [ 255, %9212 ], [ %9214, %9213 ]
  br label %9217

9217:                                             ; preds = %9215, %9208
  %9218 = phi i32 [ 0, %9208 ], [ %9216, %9215 ]
  %9219 = trunc i32 %9218 to i8
  %9220 = load ptr, ptr %12, align 8, !tbaa !5
  %9221 = load i32, ptr %19, align 4, !tbaa !14
  %9222 = add nsw i32 %9221, 4
  %9223 = sext i32 %9222 to i64
  %9224 = getelementptr inbounds i8, ptr %9220, i64 %9223
  store i8 %9219, ptr %9224, align 1, !tbaa !15
  %9225 = load ptr, ptr %13, align 8, !tbaa !5
  %9226 = load i32, ptr %19, align 4, !tbaa !14
  %9227 = add nsw i32 %9226, 4
  %9228 = sext i32 %9227 to i64
  %9229 = getelementptr inbounds i8, ptr %9225, i64 %9228
  %9230 = load i8, ptr %9229, align 1, !tbaa !15
  %9231 = zext i8 %9230 to i32
  %9232 = load ptr, ptr %14, align 8, !tbaa !5
  %9233 = load i32, ptr %19, align 4, !tbaa !14
  %9234 = add nsw i32 %9233, 4
  %9235 = sext i32 %9234 to i64
  %9236 = getelementptr inbounds i8, ptr %9232, i64 %9235
  %9237 = load i8, ptr %9236, align 1, !tbaa !15
  %9238 = zext i8 %9237 to i64
  %9239 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9238
  %9240 = load i32, ptr %9239, align 4, !tbaa !14
  %9241 = sub nsw i32 %9231, %9240
  %9242 = load ptr, ptr %15, align 8, !tbaa !5
  %9243 = load i32, ptr %19, align 4, !tbaa !14
  %9244 = add nsw i32 %9243, 4
  %9245 = sext i32 %9244 to i64
  %9246 = getelementptr inbounds i8, ptr %9242, i64 %9245
  %9247 = load i8, ptr %9246, align 1, !tbaa !15
  %9248 = zext i8 %9247 to i64
  %9249 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9248
  %9250 = load i32, ptr %9249, align 4, !tbaa !14
  %9251 = sub nsw i32 %9241, %9250
  store i32 %9251, ptr %17, align 4, !tbaa !14
  %9252 = load i32, ptr %17, align 4, !tbaa !14
  %9253 = icmp slt i32 %9252, 0
  br i1 %9253, label %9254, label %9255

9254:                                             ; preds = %9217
  br label %9263

9255:                                             ; preds = %9217
  %9256 = load i32, ptr %17, align 4, !tbaa !14
  %9257 = icmp sgt i32 %9256, 255
  br i1 %9257, label %9258, label %9259

9258:                                             ; preds = %9255
  br label %9261

9259:                                             ; preds = %9255
  %9260 = load i32, ptr %17, align 4, !tbaa !14
  br label %9261

9261:                                             ; preds = %9259, %9258
  %9262 = phi i32 [ 255, %9258 ], [ %9260, %9259 ]
  br label %9263

9263:                                             ; preds = %9261, %9254
  %9264 = phi i32 [ 0, %9254 ], [ %9262, %9261 ]
  %9265 = trunc i32 %9264 to i8
  %9266 = load ptr, ptr %11, align 8, !tbaa !5
  %9267 = load i32, ptr %19, align 4, !tbaa !14
  %9268 = add nsw i32 %9267, 4
  %9269 = sext i32 %9268 to i64
  %9270 = getelementptr inbounds i8, ptr %9266, i64 %9269
  store i8 %9265, ptr %9270, align 1, !tbaa !15
  %9271 = load ptr, ptr %13, align 8, !tbaa !5
  %9272 = load i32, ptr %19, align 4, !tbaa !14
  %9273 = add nsw i32 %9272, 4
  %9274 = sext i32 %9273 to i64
  %9275 = getelementptr inbounds i8, ptr %9271, i64 %9274
  %9276 = load i8, ptr %9275, align 1, !tbaa !15
  %9277 = zext i8 %9276 to i32
  %9278 = load ptr, ptr %14, align 8, !tbaa !5
  %9279 = load i32, ptr %19, align 4, !tbaa !14
  %9280 = add nsw i32 %9279, 4
  %9281 = sext i32 %9280 to i64
  %9282 = getelementptr inbounds i8, ptr %9278, i64 %9281
  %9283 = load i8, ptr %9282, align 1, !tbaa !15
  %9284 = zext i8 %9283 to i64
  %9285 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9284
  %9286 = load i32, ptr %9285, align 4, !tbaa !14
  %9287 = add nsw i32 %9277, %9286
  store i32 %9287, ptr %18, align 4, !tbaa !14
  %9288 = load i32, ptr %18, align 4, !tbaa !14
  %9289 = icmp slt i32 %9288, 0
  br i1 %9289, label %9290, label %9291

9290:                                             ; preds = %9263
  br label %9299

9291:                                             ; preds = %9263
  %9292 = load i32, ptr %18, align 4, !tbaa !14
  %9293 = icmp sgt i32 %9292, 255
  br i1 %9293, label %9294, label %9295

9294:                                             ; preds = %9291
  br label %9297

9295:                                             ; preds = %9291
  %9296 = load i32, ptr %18, align 4, !tbaa !14
  br label %9297

9297:                                             ; preds = %9295, %9294
  %9298 = phi i32 [ 255, %9294 ], [ %9296, %9295 ]
  br label %9299

9299:                                             ; preds = %9297, %9290
  %9300 = phi i32 [ 0, %9290 ], [ %9298, %9297 ]
  %9301 = trunc i32 %9300 to i8
  %9302 = load ptr, ptr %10, align 8, !tbaa !5
  %9303 = load i32, ptr %19, align 4, !tbaa !14
  %9304 = add nsw i32 %9303, 4
  %9305 = sext i32 %9304 to i64
  %9306 = getelementptr inbounds i8, ptr %9302, i64 %9305
  store i8 %9301, ptr %9306, align 1, !tbaa !15
  %9307 = load ptr, ptr %13, align 8, !tbaa !5
  %9308 = load i32, ptr %19, align 4, !tbaa !14
  %9309 = add nsw i32 %9308, 5
  %9310 = sext i32 %9309 to i64
  %9311 = getelementptr inbounds i8, ptr %9307, i64 %9310
  %9312 = load i8, ptr %9311, align 1, !tbaa !15
  %9313 = zext i8 %9312 to i32
  %9314 = load ptr, ptr %15, align 8, !tbaa !5
  %9315 = load i32, ptr %19, align 4, !tbaa !14
  %9316 = add nsw i32 %9315, 5
  %9317 = sext i32 %9316 to i64
  %9318 = getelementptr inbounds i8, ptr %9314, i64 %9317
  %9319 = load i8, ptr %9318, align 1, !tbaa !15
  %9320 = zext i8 %9319 to i64
  %9321 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9320
  %9322 = load i32, ptr %9321, align 4, !tbaa !14
  %9323 = add nsw i32 %9313, %9322
  store i32 %9323, ptr %16, align 4, !tbaa !14
  %9324 = load i32, ptr %16, align 4, !tbaa !14
  %9325 = icmp slt i32 %9324, 0
  br i1 %9325, label %9326, label %9327

9326:                                             ; preds = %9299
  br label %9335

9327:                                             ; preds = %9299
  %9328 = load i32, ptr %16, align 4, !tbaa !14
  %9329 = icmp sgt i32 %9328, 255
  br i1 %9329, label %9330, label %9331

9330:                                             ; preds = %9327
  br label %9333

9331:                                             ; preds = %9327
  %9332 = load i32, ptr %16, align 4, !tbaa !14
  br label %9333

9333:                                             ; preds = %9331, %9330
  %9334 = phi i32 [ 255, %9330 ], [ %9332, %9331 ]
  br label %9335

9335:                                             ; preds = %9333, %9326
  %9336 = phi i32 [ 0, %9326 ], [ %9334, %9333 ]
  %9337 = trunc i32 %9336 to i8
  %9338 = load ptr, ptr %12, align 8, !tbaa !5
  %9339 = load i32, ptr %19, align 4, !tbaa !14
  %9340 = add nsw i32 %9339, 5
  %9341 = sext i32 %9340 to i64
  %9342 = getelementptr inbounds i8, ptr %9338, i64 %9341
  store i8 %9337, ptr %9342, align 1, !tbaa !15
  %9343 = load ptr, ptr %13, align 8, !tbaa !5
  %9344 = load i32, ptr %19, align 4, !tbaa !14
  %9345 = add nsw i32 %9344, 5
  %9346 = sext i32 %9345 to i64
  %9347 = getelementptr inbounds i8, ptr %9343, i64 %9346
  %9348 = load i8, ptr %9347, align 1, !tbaa !15
  %9349 = zext i8 %9348 to i32
  %9350 = load ptr, ptr %14, align 8, !tbaa !5
  %9351 = load i32, ptr %19, align 4, !tbaa !14
  %9352 = add nsw i32 %9351, 5
  %9353 = sext i32 %9352 to i64
  %9354 = getelementptr inbounds i8, ptr %9350, i64 %9353
  %9355 = load i8, ptr %9354, align 1, !tbaa !15
  %9356 = zext i8 %9355 to i64
  %9357 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9356
  %9358 = load i32, ptr %9357, align 4, !tbaa !14
  %9359 = sub nsw i32 %9349, %9358
  %9360 = load ptr, ptr %15, align 8, !tbaa !5
  %9361 = load i32, ptr %19, align 4, !tbaa !14
  %9362 = add nsw i32 %9361, 5
  %9363 = sext i32 %9362 to i64
  %9364 = getelementptr inbounds i8, ptr %9360, i64 %9363
  %9365 = load i8, ptr %9364, align 1, !tbaa !15
  %9366 = zext i8 %9365 to i64
  %9367 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9366
  %9368 = load i32, ptr %9367, align 4, !tbaa !14
  %9369 = sub nsw i32 %9359, %9368
  store i32 %9369, ptr %17, align 4, !tbaa !14
  %9370 = load i32, ptr %17, align 4, !tbaa !14
  %9371 = icmp slt i32 %9370, 0
  br i1 %9371, label %9372, label %9373

9372:                                             ; preds = %9335
  br label %9381

9373:                                             ; preds = %9335
  %9374 = load i32, ptr %17, align 4, !tbaa !14
  %9375 = icmp sgt i32 %9374, 255
  br i1 %9375, label %9376, label %9377

9376:                                             ; preds = %9373
  br label %9379

9377:                                             ; preds = %9373
  %9378 = load i32, ptr %17, align 4, !tbaa !14
  br label %9379

9379:                                             ; preds = %9377, %9376
  %9380 = phi i32 [ 255, %9376 ], [ %9378, %9377 ]
  br label %9381

9381:                                             ; preds = %9379, %9372
  %9382 = phi i32 [ 0, %9372 ], [ %9380, %9379 ]
  %9383 = trunc i32 %9382 to i8
  %9384 = load ptr, ptr %11, align 8, !tbaa !5
  %9385 = load i32, ptr %19, align 4, !tbaa !14
  %9386 = add nsw i32 %9385, 5
  %9387 = sext i32 %9386 to i64
  %9388 = getelementptr inbounds i8, ptr %9384, i64 %9387
  store i8 %9383, ptr %9388, align 1, !tbaa !15
  %9389 = load ptr, ptr %13, align 8, !tbaa !5
  %9390 = load i32, ptr %19, align 4, !tbaa !14
  %9391 = add nsw i32 %9390, 5
  %9392 = sext i32 %9391 to i64
  %9393 = getelementptr inbounds i8, ptr %9389, i64 %9392
  %9394 = load i8, ptr %9393, align 1, !tbaa !15
  %9395 = zext i8 %9394 to i32
  %9396 = load ptr, ptr %14, align 8, !tbaa !5
  %9397 = load i32, ptr %19, align 4, !tbaa !14
  %9398 = add nsw i32 %9397, 5
  %9399 = sext i32 %9398 to i64
  %9400 = getelementptr inbounds i8, ptr %9396, i64 %9399
  %9401 = load i8, ptr %9400, align 1, !tbaa !15
  %9402 = zext i8 %9401 to i64
  %9403 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9402
  %9404 = load i32, ptr %9403, align 4, !tbaa !14
  %9405 = add nsw i32 %9395, %9404
  store i32 %9405, ptr %18, align 4, !tbaa !14
  %9406 = load i32, ptr %18, align 4, !tbaa !14
  %9407 = icmp slt i32 %9406, 0
  br i1 %9407, label %9408, label %9409

9408:                                             ; preds = %9381
  br label %9417

9409:                                             ; preds = %9381
  %9410 = load i32, ptr %18, align 4, !tbaa !14
  %9411 = icmp sgt i32 %9410, 255
  br i1 %9411, label %9412, label %9413

9412:                                             ; preds = %9409
  br label %9415

9413:                                             ; preds = %9409
  %9414 = load i32, ptr %18, align 4, !tbaa !14
  br label %9415

9415:                                             ; preds = %9413, %9412
  %9416 = phi i32 [ 255, %9412 ], [ %9414, %9413 ]
  br label %9417

9417:                                             ; preds = %9415, %9408
  %9418 = phi i32 [ 0, %9408 ], [ %9416, %9415 ]
  %9419 = trunc i32 %9418 to i8
  %9420 = load ptr, ptr %10, align 8, !tbaa !5
  %9421 = load i32, ptr %19, align 4, !tbaa !14
  %9422 = add nsw i32 %9421, 5
  %9423 = sext i32 %9422 to i64
  %9424 = getelementptr inbounds i8, ptr %9420, i64 %9423
  store i8 %9419, ptr %9424, align 1, !tbaa !15
  %9425 = load ptr, ptr %13, align 8, !tbaa !5
  %9426 = load i32, ptr %19, align 4, !tbaa !14
  %9427 = add nsw i32 %9426, 6
  %9428 = sext i32 %9427 to i64
  %9429 = getelementptr inbounds i8, ptr %9425, i64 %9428
  %9430 = load i8, ptr %9429, align 1, !tbaa !15
  %9431 = zext i8 %9430 to i32
  %9432 = load ptr, ptr %15, align 8, !tbaa !5
  %9433 = load i32, ptr %19, align 4, !tbaa !14
  %9434 = add nsw i32 %9433, 6
  %9435 = sext i32 %9434 to i64
  %9436 = getelementptr inbounds i8, ptr %9432, i64 %9435
  %9437 = load i8, ptr %9436, align 1, !tbaa !15
  %9438 = zext i8 %9437 to i64
  %9439 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9438
  %9440 = load i32, ptr %9439, align 4, !tbaa !14
  %9441 = add nsw i32 %9431, %9440
  store i32 %9441, ptr %16, align 4, !tbaa !14
  %9442 = load i32, ptr %16, align 4, !tbaa !14
  %9443 = icmp slt i32 %9442, 0
  br i1 %9443, label %9444, label %9445

9444:                                             ; preds = %9417
  br label %9453

9445:                                             ; preds = %9417
  %9446 = load i32, ptr %16, align 4, !tbaa !14
  %9447 = icmp sgt i32 %9446, 255
  br i1 %9447, label %9448, label %9449

9448:                                             ; preds = %9445
  br label %9451

9449:                                             ; preds = %9445
  %9450 = load i32, ptr %16, align 4, !tbaa !14
  br label %9451

9451:                                             ; preds = %9449, %9448
  %9452 = phi i32 [ 255, %9448 ], [ %9450, %9449 ]
  br label %9453

9453:                                             ; preds = %9451, %9444
  %9454 = phi i32 [ 0, %9444 ], [ %9452, %9451 ]
  %9455 = trunc i32 %9454 to i8
  %9456 = load ptr, ptr %12, align 8, !tbaa !5
  %9457 = load i32, ptr %19, align 4, !tbaa !14
  %9458 = add nsw i32 %9457, 6
  %9459 = sext i32 %9458 to i64
  %9460 = getelementptr inbounds i8, ptr %9456, i64 %9459
  store i8 %9455, ptr %9460, align 1, !tbaa !15
  %9461 = load ptr, ptr %13, align 8, !tbaa !5
  %9462 = load i32, ptr %19, align 4, !tbaa !14
  %9463 = add nsw i32 %9462, 6
  %9464 = sext i32 %9463 to i64
  %9465 = getelementptr inbounds i8, ptr %9461, i64 %9464
  %9466 = load i8, ptr %9465, align 1, !tbaa !15
  %9467 = zext i8 %9466 to i32
  %9468 = load ptr, ptr %14, align 8, !tbaa !5
  %9469 = load i32, ptr %19, align 4, !tbaa !14
  %9470 = add nsw i32 %9469, 6
  %9471 = sext i32 %9470 to i64
  %9472 = getelementptr inbounds i8, ptr %9468, i64 %9471
  %9473 = load i8, ptr %9472, align 1, !tbaa !15
  %9474 = zext i8 %9473 to i64
  %9475 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9474
  %9476 = load i32, ptr %9475, align 4, !tbaa !14
  %9477 = sub nsw i32 %9467, %9476
  %9478 = load ptr, ptr %15, align 8, !tbaa !5
  %9479 = load i32, ptr %19, align 4, !tbaa !14
  %9480 = add nsw i32 %9479, 6
  %9481 = sext i32 %9480 to i64
  %9482 = getelementptr inbounds i8, ptr %9478, i64 %9481
  %9483 = load i8, ptr %9482, align 1, !tbaa !15
  %9484 = zext i8 %9483 to i64
  %9485 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9484
  %9486 = load i32, ptr %9485, align 4, !tbaa !14
  %9487 = sub nsw i32 %9477, %9486
  store i32 %9487, ptr %17, align 4, !tbaa !14
  %9488 = load i32, ptr %17, align 4, !tbaa !14
  %9489 = icmp slt i32 %9488, 0
  br i1 %9489, label %9490, label %9491

9490:                                             ; preds = %9453
  br label %9499

9491:                                             ; preds = %9453
  %9492 = load i32, ptr %17, align 4, !tbaa !14
  %9493 = icmp sgt i32 %9492, 255
  br i1 %9493, label %9494, label %9495

9494:                                             ; preds = %9491
  br label %9497

9495:                                             ; preds = %9491
  %9496 = load i32, ptr %17, align 4, !tbaa !14
  br label %9497

9497:                                             ; preds = %9495, %9494
  %9498 = phi i32 [ 255, %9494 ], [ %9496, %9495 ]
  br label %9499

9499:                                             ; preds = %9497, %9490
  %9500 = phi i32 [ 0, %9490 ], [ %9498, %9497 ]
  %9501 = trunc i32 %9500 to i8
  %9502 = load ptr, ptr %11, align 8, !tbaa !5
  %9503 = load i32, ptr %19, align 4, !tbaa !14
  %9504 = add nsw i32 %9503, 6
  %9505 = sext i32 %9504 to i64
  %9506 = getelementptr inbounds i8, ptr %9502, i64 %9505
  store i8 %9501, ptr %9506, align 1, !tbaa !15
  %9507 = load ptr, ptr %13, align 8, !tbaa !5
  %9508 = load i32, ptr %19, align 4, !tbaa !14
  %9509 = add nsw i32 %9508, 6
  %9510 = sext i32 %9509 to i64
  %9511 = getelementptr inbounds i8, ptr %9507, i64 %9510
  %9512 = load i8, ptr %9511, align 1, !tbaa !15
  %9513 = zext i8 %9512 to i32
  %9514 = load ptr, ptr %14, align 8, !tbaa !5
  %9515 = load i32, ptr %19, align 4, !tbaa !14
  %9516 = add nsw i32 %9515, 6
  %9517 = sext i32 %9516 to i64
  %9518 = getelementptr inbounds i8, ptr %9514, i64 %9517
  %9519 = load i8, ptr %9518, align 1, !tbaa !15
  %9520 = zext i8 %9519 to i64
  %9521 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9520
  %9522 = load i32, ptr %9521, align 4, !tbaa !14
  %9523 = add nsw i32 %9513, %9522
  store i32 %9523, ptr %18, align 4, !tbaa !14
  %9524 = load i32, ptr %18, align 4, !tbaa !14
  %9525 = icmp slt i32 %9524, 0
  br i1 %9525, label %9526, label %9527

9526:                                             ; preds = %9499
  br label %9535

9527:                                             ; preds = %9499
  %9528 = load i32, ptr %18, align 4, !tbaa !14
  %9529 = icmp sgt i32 %9528, 255
  br i1 %9529, label %9530, label %9531

9530:                                             ; preds = %9527
  br label %9533

9531:                                             ; preds = %9527
  %9532 = load i32, ptr %18, align 4, !tbaa !14
  br label %9533

9533:                                             ; preds = %9531, %9530
  %9534 = phi i32 [ 255, %9530 ], [ %9532, %9531 ]
  br label %9535

9535:                                             ; preds = %9533, %9526
  %9536 = phi i32 [ 0, %9526 ], [ %9534, %9533 ]
  %9537 = trunc i32 %9536 to i8
  %9538 = load ptr, ptr %10, align 8, !tbaa !5
  %9539 = load i32, ptr %19, align 4, !tbaa !14
  %9540 = add nsw i32 %9539, 6
  %9541 = sext i32 %9540 to i64
  %9542 = getelementptr inbounds i8, ptr %9538, i64 %9541
  store i8 %9537, ptr %9542, align 1, !tbaa !15
  %9543 = load ptr, ptr %13, align 8, !tbaa !5
  %9544 = load i32, ptr %19, align 4, !tbaa !14
  %9545 = add nsw i32 %9544, 7
  %9546 = sext i32 %9545 to i64
  %9547 = getelementptr inbounds i8, ptr %9543, i64 %9546
  %9548 = load i8, ptr %9547, align 1, !tbaa !15
  %9549 = zext i8 %9548 to i32
  %9550 = load ptr, ptr %15, align 8, !tbaa !5
  %9551 = load i32, ptr %19, align 4, !tbaa !14
  %9552 = add nsw i32 %9551, 7
  %9553 = sext i32 %9552 to i64
  %9554 = getelementptr inbounds i8, ptr %9550, i64 %9553
  %9555 = load i8, ptr %9554, align 1, !tbaa !15
  %9556 = zext i8 %9555 to i64
  %9557 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9556
  %9558 = load i32, ptr %9557, align 4, !tbaa !14
  %9559 = add nsw i32 %9549, %9558
  store i32 %9559, ptr %16, align 4, !tbaa !14
  %9560 = load i32, ptr %16, align 4, !tbaa !14
  %9561 = icmp slt i32 %9560, 0
  br i1 %9561, label %9562, label %9563

9562:                                             ; preds = %9535
  br label %9571

9563:                                             ; preds = %9535
  %9564 = load i32, ptr %16, align 4, !tbaa !14
  %9565 = icmp sgt i32 %9564, 255
  br i1 %9565, label %9566, label %9567

9566:                                             ; preds = %9563
  br label %9569

9567:                                             ; preds = %9563
  %9568 = load i32, ptr %16, align 4, !tbaa !14
  br label %9569

9569:                                             ; preds = %9567, %9566
  %9570 = phi i32 [ 255, %9566 ], [ %9568, %9567 ]
  br label %9571

9571:                                             ; preds = %9569, %9562
  %9572 = phi i32 [ 0, %9562 ], [ %9570, %9569 ]
  %9573 = trunc i32 %9572 to i8
  %9574 = load ptr, ptr %12, align 8, !tbaa !5
  %9575 = load i32, ptr %19, align 4, !tbaa !14
  %9576 = add nsw i32 %9575, 7
  %9577 = sext i32 %9576 to i64
  %9578 = getelementptr inbounds i8, ptr %9574, i64 %9577
  store i8 %9573, ptr %9578, align 1, !tbaa !15
  %9579 = load ptr, ptr %13, align 8, !tbaa !5
  %9580 = load i32, ptr %19, align 4, !tbaa !14
  %9581 = add nsw i32 %9580, 7
  %9582 = sext i32 %9581 to i64
  %9583 = getelementptr inbounds i8, ptr %9579, i64 %9582
  %9584 = load i8, ptr %9583, align 1, !tbaa !15
  %9585 = zext i8 %9584 to i32
  %9586 = load ptr, ptr %14, align 8, !tbaa !5
  %9587 = load i32, ptr %19, align 4, !tbaa !14
  %9588 = add nsw i32 %9587, 7
  %9589 = sext i32 %9588 to i64
  %9590 = getelementptr inbounds i8, ptr %9586, i64 %9589
  %9591 = load i8, ptr %9590, align 1, !tbaa !15
  %9592 = zext i8 %9591 to i64
  %9593 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9592
  %9594 = load i32, ptr %9593, align 4, !tbaa !14
  %9595 = sub nsw i32 %9585, %9594
  %9596 = load ptr, ptr %15, align 8, !tbaa !5
  %9597 = load i32, ptr %19, align 4, !tbaa !14
  %9598 = add nsw i32 %9597, 7
  %9599 = sext i32 %9598 to i64
  %9600 = getelementptr inbounds i8, ptr %9596, i64 %9599
  %9601 = load i8, ptr %9600, align 1, !tbaa !15
  %9602 = zext i8 %9601 to i64
  %9603 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9602
  %9604 = load i32, ptr %9603, align 4, !tbaa !14
  %9605 = sub nsw i32 %9595, %9604
  store i32 %9605, ptr %17, align 4, !tbaa !14
  %9606 = load i32, ptr %17, align 4, !tbaa !14
  %9607 = icmp slt i32 %9606, 0
  br i1 %9607, label %9608, label %9609

9608:                                             ; preds = %9571
  br label %9617

9609:                                             ; preds = %9571
  %9610 = load i32, ptr %17, align 4, !tbaa !14
  %9611 = icmp sgt i32 %9610, 255
  br i1 %9611, label %9612, label %9613

9612:                                             ; preds = %9609
  br label %9615

9613:                                             ; preds = %9609
  %9614 = load i32, ptr %17, align 4, !tbaa !14
  br label %9615

9615:                                             ; preds = %9613, %9612
  %9616 = phi i32 [ 255, %9612 ], [ %9614, %9613 ]
  br label %9617

9617:                                             ; preds = %9615, %9608
  %9618 = phi i32 [ 0, %9608 ], [ %9616, %9615 ]
  %9619 = trunc i32 %9618 to i8
  %9620 = load ptr, ptr %11, align 8, !tbaa !5
  %9621 = load i32, ptr %19, align 4, !tbaa !14
  %9622 = add nsw i32 %9621, 7
  %9623 = sext i32 %9622 to i64
  %9624 = getelementptr inbounds i8, ptr %9620, i64 %9623
  store i8 %9619, ptr %9624, align 1, !tbaa !15
  %9625 = load ptr, ptr %13, align 8, !tbaa !5
  %9626 = load i32, ptr %19, align 4, !tbaa !14
  %9627 = add nsw i32 %9626, 7
  %9628 = sext i32 %9627 to i64
  %9629 = getelementptr inbounds i8, ptr %9625, i64 %9628
  %9630 = load i8, ptr %9629, align 1, !tbaa !15
  %9631 = zext i8 %9630 to i32
  %9632 = load ptr, ptr %14, align 8, !tbaa !5
  %9633 = load i32, ptr %19, align 4, !tbaa !14
  %9634 = add nsw i32 %9633, 7
  %9635 = sext i32 %9634 to i64
  %9636 = getelementptr inbounds i8, ptr %9632, i64 %9635
  %9637 = load i8, ptr %9636, align 1, !tbaa !15
  %9638 = zext i8 %9637 to i64
  %9639 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9638
  %9640 = load i32, ptr %9639, align 4, !tbaa !14
  %9641 = add nsw i32 %9631, %9640
  store i32 %9641, ptr %18, align 4, !tbaa !14
  %9642 = load i32, ptr %18, align 4, !tbaa !14
  %9643 = icmp slt i32 %9642, 0
  br i1 %9643, label %9644, label %9645

9644:                                             ; preds = %9617
  br label %9653

9645:                                             ; preds = %9617
  %9646 = load i32, ptr %18, align 4, !tbaa !14
  %9647 = icmp sgt i32 %9646, 255
  br i1 %9647, label %9648, label %9649

9648:                                             ; preds = %9645
  br label %9651

9649:                                             ; preds = %9645
  %9650 = load i32, ptr %18, align 4, !tbaa !14
  br label %9651

9651:                                             ; preds = %9649, %9648
  %9652 = phi i32 [ 255, %9648 ], [ %9650, %9649 ]
  br label %9653

9653:                                             ; preds = %9651, %9644
  %9654 = phi i32 [ 0, %9644 ], [ %9652, %9651 ]
  %9655 = trunc i32 %9654 to i8
  %9656 = load ptr, ptr %10, align 8, !tbaa !5
  %9657 = load i32, ptr %19, align 4, !tbaa !14
  %9658 = add nsw i32 %9657, 7
  %9659 = sext i32 %9658 to i64
  %9660 = getelementptr inbounds i8, ptr %9656, i64 %9659
  store i8 %9655, ptr %9660, align 1, !tbaa !15
  %9661 = load ptr, ptr %13, align 8, !tbaa !5
  %9662 = load i32, ptr %19, align 4, !tbaa !14
  %9663 = add nsw i32 %9662, 8
  %9664 = sext i32 %9663 to i64
  %9665 = getelementptr inbounds i8, ptr %9661, i64 %9664
  %9666 = load i8, ptr %9665, align 1, !tbaa !15
  %9667 = zext i8 %9666 to i32
  %9668 = load ptr, ptr %15, align 8, !tbaa !5
  %9669 = load i32, ptr %19, align 4, !tbaa !14
  %9670 = add nsw i32 %9669, 8
  %9671 = sext i32 %9670 to i64
  %9672 = getelementptr inbounds i8, ptr %9668, i64 %9671
  %9673 = load i8, ptr %9672, align 1, !tbaa !15
  %9674 = zext i8 %9673 to i64
  %9675 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9674
  %9676 = load i32, ptr %9675, align 4, !tbaa !14
  %9677 = add nsw i32 %9667, %9676
  store i32 %9677, ptr %16, align 4, !tbaa !14
  %9678 = load i32, ptr %16, align 4, !tbaa !14
  %9679 = icmp slt i32 %9678, 0
  br i1 %9679, label %9680, label %9681

9680:                                             ; preds = %9653
  br label %9689

9681:                                             ; preds = %9653
  %9682 = load i32, ptr %16, align 4, !tbaa !14
  %9683 = icmp sgt i32 %9682, 255
  br i1 %9683, label %9684, label %9685

9684:                                             ; preds = %9681
  br label %9687

9685:                                             ; preds = %9681
  %9686 = load i32, ptr %16, align 4, !tbaa !14
  br label %9687

9687:                                             ; preds = %9685, %9684
  %9688 = phi i32 [ 255, %9684 ], [ %9686, %9685 ]
  br label %9689

9689:                                             ; preds = %9687, %9680
  %9690 = phi i32 [ 0, %9680 ], [ %9688, %9687 ]
  %9691 = trunc i32 %9690 to i8
  %9692 = load ptr, ptr %12, align 8, !tbaa !5
  %9693 = load i32, ptr %19, align 4, !tbaa !14
  %9694 = add nsw i32 %9693, 8
  %9695 = sext i32 %9694 to i64
  %9696 = getelementptr inbounds i8, ptr %9692, i64 %9695
  store i8 %9691, ptr %9696, align 1, !tbaa !15
  %9697 = load ptr, ptr %13, align 8, !tbaa !5
  %9698 = load i32, ptr %19, align 4, !tbaa !14
  %9699 = add nsw i32 %9698, 8
  %9700 = sext i32 %9699 to i64
  %9701 = getelementptr inbounds i8, ptr %9697, i64 %9700
  %9702 = load i8, ptr %9701, align 1, !tbaa !15
  %9703 = zext i8 %9702 to i32
  %9704 = load ptr, ptr %14, align 8, !tbaa !5
  %9705 = load i32, ptr %19, align 4, !tbaa !14
  %9706 = add nsw i32 %9705, 8
  %9707 = sext i32 %9706 to i64
  %9708 = getelementptr inbounds i8, ptr %9704, i64 %9707
  %9709 = load i8, ptr %9708, align 1, !tbaa !15
  %9710 = zext i8 %9709 to i64
  %9711 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9710
  %9712 = load i32, ptr %9711, align 4, !tbaa !14
  %9713 = sub nsw i32 %9703, %9712
  %9714 = load ptr, ptr %15, align 8, !tbaa !5
  %9715 = load i32, ptr %19, align 4, !tbaa !14
  %9716 = add nsw i32 %9715, 8
  %9717 = sext i32 %9716 to i64
  %9718 = getelementptr inbounds i8, ptr %9714, i64 %9717
  %9719 = load i8, ptr %9718, align 1, !tbaa !15
  %9720 = zext i8 %9719 to i64
  %9721 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9720
  %9722 = load i32, ptr %9721, align 4, !tbaa !14
  %9723 = sub nsw i32 %9713, %9722
  store i32 %9723, ptr %17, align 4, !tbaa !14
  %9724 = load i32, ptr %17, align 4, !tbaa !14
  %9725 = icmp slt i32 %9724, 0
  br i1 %9725, label %9726, label %9727

9726:                                             ; preds = %9689
  br label %9735

9727:                                             ; preds = %9689
  %9728 = load i32, ptr %17, align 4, !tbaa !14
  %9729 = icmp sgt i32 %9728, 255
  br i1 %9729, label %9730, label %9731

9730:                                             ; preds = %9727
  br label %9733

9731:                                             ; preds = %9727
  %9732 = load i32, ptr %17, align 4, !tbaa !14
  br label %9733

9733:                                             ; preds = %9731, %9730
  %9734 = phi i32 [ 255, %9730 ], [ %9732, %9731 ]
  br label %9735

9735:                                             ; preds = %9733, %9726
  %9736 = phi i32 [ 0, %9726 ], [ %9734, %9733 ]
  %9737 = trunc i32 %9736 to i8
  %9738 = load ptr, ptr %11, align 8, !tbaa !5
  %9739 = load i32, ptr %19, align 4, !tbaa !14
  %9740 = add nsw i32 %9739, 8
  %9741 = sext i32 %9740 to i64
  %9742 = getelementptr inbounds i8, ptr %9738, i64 %9741
  store i8 %9737, ptr %9742, align 1, !tbaa !15
  %9743 = load ptr, ptr %13, align 8, !tbaa !5
  %9744 = load i32, ptr %19, align 4, !tbaa !14
  %9745 = add nsw i32 %9744, 8
  %9746 = sext i32 %9745 to i64
  %9747 = getelementptr inbounds i8, ptr %9743, i64 %9746
  %9748 = load i8, ptr %9747, align 1, !tbaa !15
  %9749 = zext i8 %9748 to i32
  %9750 = load ptr, ptr %14, align 8, !tbaa !5
  %9751 = load i32, ptr %19, align 4, !tbaa !14
  %9752 = add nsw i32 %9751, 8
  %9753 = sext i32 %9752 to i64
  %9754 = getelementptr inbounds i8, ptr %9750, i64 %9753
  %9755 = load i8, ptr %9754, align 1, !tbaa !15
  %9756 = zext i8 %9755 to i64
  %9757 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9756
  %9758 = load i32, ptr %9757, align 4, !tbaa !14
  %9759 = add nsw i32 %9749, %9758
  store i32 %9759, ptr %18, align 4, !tbaa !14
  %9760 = load i32, ptr %18, align 4, !tbaa !14
  %9761 = icmp slt i32 %9760, 0
  br i1 %9761, label %9762, label %9763

9762:                                             ; preds = %9735
  br label %9771

9763:                                             ; preds = %9735
  %9764 = load i32, ptr %18, align 4, !tbaa !14
  %9765 = icmp sgt i32 %9764, 255
  br i1 %9765, label %9766, label %9767

9766:                                             ; preds = %9763
  br label %9769

9767:                                             ; preds = %9763
  %9768 = load i32, ptr %18, align 4, !tbaa !14
  br label %9769

9769:                                             ; preds = %9767, %9766
  %9770 = phi i32 [ 255, %9766 ], [ %9768, %9767 ]
  br label %9771

9771:                                             ; preds = %9769, %9762
  %9772 = phi i32 [ 0, %9762 ], [ %9770, %9769 ]
  %9773 = trunc i32 %9772 to i8
  %9774 = load ptr, ptr %10, align 8, !tbaa !5
  %9775 = load i32, ptr %19, align 4, !tbaa !14
  %9776 = add nsw i32 %9775, 8
  %9777 = sext i32 %9776 to i64
  %9778 = getelementptr inbounds i8, ptr %9774, i64 %9777
  store i8 %9773, ptr %9778, align 1, !tbaa !15
  %9779 = load ptr, ptr %13, align 8, !tbaa !5
  %9780 = load i32, ptr %19, align 4, !tbaa !14
  %9781 = add nsw i32 %9780, 9
  %9782 = sext i32 %9781 to i64
  %9783 = getelementptr inbounds i8, ptr %9779, i64 %9782
  %9784 = load i8, ptr %9783, align 1, !tbaa !15
  %9785 = zext i8 %9784 to i32
  %9786 = load ptr, ptr %15, align 8, !tbaa !5
  %9787 = load i32, ptr %19, align 4, !tbaa !14
  %9788 = add nsw i32 %9787, 9
  %9789 = sext i32 %9788 to i64
  %9790 = getelementptr inbounds i8, ptr %9786, i64 %9789
  %9791 = load i8, ptr %9790, align 1, !tbaa !15
  %9792 = zext i8 %9791 to i64
  %9793 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9792
  %9794 = load i32, ptr %9793, align 4, !tbaa !14
  %9795 = add nsw i32 %9785, %9794
  store i32 %9795, ptr %16, align 4, !tbaa !14
  %9796 = load i32, ptr %16, align 4, !tbaa !14
  %9797 = icmp slt i32 %9796, 0
  br i1 %9797, label %9798, label %9799

9798:                                             ; preds = %9771
  br label %9807

9799:                                             ; preds = %9771
  %9800 = load i32, ptr %16, align 4, !tbaa !14
  %9801 = icmp sgt i32 %9800, 255
  br i1 %9801, label %9802, label %9803

9802:                                             ; preds = %9799
  br label %9805

9803:                                             ; preds = %9799
  %9804 = load i32, ptr %16, align 4, !tbaa !14
  br label %9805

9805:                                             ; preds = %9803, %9802
  %9806 = phi i32 [ 255, %9802 ], [ %9804, %9803 ]
  br label %9807

9807:                                             ; preds = %9805, %9798
  %9808 = phi i32 [ 0, %9798 ], [ %9806, %9805 ]
  %9809 = trunc i32 %9808 to i8
  %9810 = load ptr, ptr %12, align 8, !tbaa !5
  %9811 = load i32, ptr %19, align 4, !tbaa !14
  %9812 = add nsw i32 %9811, 9
  %9813 = sext i32 %9812 to i64
  %9814 = getelementptr inbounds i8, ptr %9810, i64 %9813
  store i8 %9809, ptr %9814, align 1, !tbaa !15
  %9815 = load ptr, ptr %13, align 8, !tbaa !5
  %9816 = load i32, ptr %19, align 4, !tbaa !14
  %9817 = add nsw i32 %9816, 9
  %9818 = sext i32 %9817 to i64
  %9819 = getelementptr inbounds i8, ptr %9815, i64 %9818
  %9820 = load i8, ptr %9819, align 1, !tbaa !15
  %9821 = zext i8 %9820 to i32
  %9822 = load ptr, ptr %14, align 8, !tbaa !5
  %9823 = load i32, ptr %19, align 4, !tbaa !14
  %9824 = add nsw i32 %9823, 9
  %9825 = sext i32 %9824 to i64
  %9826 = getelementptr inbounds i8, ptr %9822, i64 %9825
  %9827 = load i8, ptr %9826, align 1, !tbaa !15
  %9828 = zext i8 %9827 to i64
  %9829 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9828
  %9830 = load i32, ptr %9829, align 4, !tbaa !14
  %9831 = sub nsw i32 %9821, %9830
  %9832 = load ptr, ptr %15, align 8, !tbaa !5
  %9833 = load i32, ptr %19, align 4, !tbaa !14
  %9834 = add nsw i32 %9833, 9
  %9835 = sext i32 %9834 to i64
  %9836 = getelementptr inbounds i8, ptr %9832, i64 %9835
  %9837 = load i8, ptr %9836, align 1, !tbaa !15
  %9838 = zext i8 %9837 to i64
  %9839 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9838
  %9840 = load i32, ptr %9839, align 4, !tbaa !14
  %9841 = sub nsw i32 %9831, %9840
  store i32 %9841, ptr %17, align 4, !tbaa !14
  %9842 = load i32, ptr %17, align 4, !tbaa !14
  %9843 = icmp slt i32 %9842, 0
  br i1 %9843, label %9844, label %9845

9844:                                             ; preds = %9807
  br label %9853

9845:                                             ; preds = %9807
  %9846 = load i32, ptr %17, align 4, !tbaa !14
  %9847 = icmp sgt i32 %9846, 255
  br i1 %9847, label %9848, label %9849

9848:                                             ; preds = %9845
  br label %9851

9849:                                             ; preds = %9845
  %9850 = load i32, ptr %17, align 4, !tbaa !14
  br label %9851

9851:                                             ; preds = %9849, %9848
  %9852 = phi i32 [ 255, %9848 ], [ %9850, %9849 ]
  br label %9853

9853:                                             ; preds = %9851, %9844
  %9854 = phi i32 [ 0, %9844 ], [ %9852, %9851 ]
  %9855 = trunc i32 %9854 to i8
  %9856 = load ptr, ptr %11, align 8, !tbaa !5
  %9857 = load i32, ptr %19, align 4, !tbaa !14
  %9858 = add nsw i32 %9857, 9
  %9859 = sext i32 %9858 to i64
  %9860 = getelementptr inbounds i8, ptr %9856, i64 %9859
  store i8 %9855, ptr %9860, align 1, !tbaa !15
  %9861 = load ptr, ptr %13, align 8, !tbaa !5
  %9862 = load i32, ptr %19, align 4, !tbaa !14
  %9863 = add nsw i32 %9862, 9
  %9864 = sext i32 %9863 to i64
  %9865 = getelementptr inbounds i8, ptr %9861, i64 %9864
  %9866 = load i8, ptr %9865, align 1, !tbaa !15
  %9867 = zext i8 %9866 to i32
  %9868 = load ptr, ptr %14, align 8, !tbaa !5
  %9869 = load i32, ptr %19, align 4, !tbaa !14
  %9870 = add nsw i32 %9869, 9
  %9871 = sext i32 %9870 to i64
  %9872 = getelementptr inbounds i8, ptr %9868, i64 %9871
  %9873 = load i8, ptr %9872, align 1, !tbaa !15
  %9874 = zext i8 %9873 to i64
  %9875 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9874
  %9876 = load i32, ptr %9875, align 4, !tbaa !14
  %9877 = add nsw i32 %9867, %9876
  store i32 %9877, ptr %18, align 4, !tbaa !14
  %9878 = load i32, ptr %18, align 4, !tbaa !14
  %9879 = icmp slt i32 %9878, 0
  br i1 %9879, label %9880, label %9881

9880:                                             ; preds = %9853
  br label %9889

9881:                                             ; preds = %9853
  %9882 = load i32, ptr %18, align 4, !tbaa !14
  %9883 = icmp sgt i32 %9882, 255
  br i1 %9883, label %9884, label %9885

9884:                                             ; preds = %9881
  br label %9887

9885:                                             ; preds = %9881
  %9886 = load i32, ptr %18, align 4, !tbaa !14
  br label %9887

9887:                                             ; preds = %9885, %9884
  %9888 = phi i32 [ 255, %9884 ], [ %9886, %9885 ]
  br label %9889

9889:                                             ; preds = %9887, %9880
  %9890 = phi i32 [ 0, %9880 ], [ %9888, %9887 ]
  %9891 = trunc i32 %9890 to i8
  %9892 = load ptr, ptr %10, align 8, !tbaa !5
  %9893 = load i32, ptr %19, align 4, !tbaa !14
  %9894 = add nsw i32 %9893, 9
  %9895 = sext i32 %9894 to i64
  %9896 = getelementptr inbounds i8, ptr %9892, i64 %9895
  store i8 %9891, ptr %9896, align 1, !tbaa !15
  %9897 = load ptr, ptr %13, align 8, !tbaa !5
  %9898 = load i32, ptr %19, align 4, !tbaa !14
  %9899 = add nsw i32 %9898, 10
  %9900 = sext i32 %9899 to i64
  %9901 = getelementptr inbounds i8, ptr %9897, i64 %9900
  %9902 = load i8, ptr %9901, align 1, !tbaa !15
  %9903 = zext i8 %9902 to i32
  %9904 = load ptr, ptr %15, align 8, !tbaa !5
  %9905 = load i32, ptr %19, align 4, !tbaa !14
  %9906 = add nsw i32 %9905, 10
  %9907 = sext i32 %9906 to i64
  %9908 = getelementptr inbounds i8, ptr %9904, i64 %9907
  %9909 = load i8, ptr %9908, align 1, !tbaa !15
  %9910 = zext i8 %9909 to i64
  %9911 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %9910
  %9912 = load i32, ptr %9911, align 4, !tbaa !14
  %9913 = add nsw i32 %9903, %9912
  store i32 %9913, ptr %16, align 4, !tbaa !14
  %9914 = load i32, ptr %16, align 4, !tbaa !14
  %9915 = icmp slt i32 %9914, 0
  br i1 %9915, label %9916, label %9917

9916:                                             ; preds = %9889
  br label %9925

9917:                                             ; preds = %9889
  %9918 = load i32, ptr %16, align 4, !tbaa !14
  %9919 = icmp sgt i32 %9918, 255
  br i1 %9919, label %9920, label %9921

9920:                                             ; preds = %9917
  br label %9923

9921:                                             ; preds = %9917
  %9922 = load i32, ptr %16, align 4, !tbaa !14
  br label %9923

9923:                                             ; preds = %9921, %9920
  %9924 = phi i32 [ 255, %9920 ], [ %9922, %9921 ]
  br label %9925

9925:                                             ; preds = %9923, %9916
  %9926 = phi i32 [ 0, %9916 ], [ %9924, %9923 ]
  %9927 = trunc i32 %9926 to i8
  %9928 = load ptr, ptr %12, align 8, !tbaa !5
  %9929 = load i32, ptr %19, align 4, !tbaa !14
  %9930 = add nsw i32 %9929, 10
  %9931 = sext i32 %9930 to i64
  %9932 = getelementptr inbounds i8, ptr %9928, i64 %9931
  store i8 %9927, ptr %9932, align 1, !tbaa !15
  %9933 = load ptr, ptr %13, align 8, !tbaa !5
  %9934 = load i32, ptr %19, align 4, !tbaa !14
  %9935 = add nsw i32 %9934, 10
  %9936 = sext i32 %9935 to i64
  %9937 = getelementptr inbounds i8, ptr %9933, i64 %9936
  %9938 = load i8, ptr %9937, align 1, !tbaa !15
  %9939 = zext i8 %9938 to i32
  %9940 = load ptr, ptr %14, align 8, !tbaa !5
  %9941 = load i32, ptr %19, align 4, !tbaa !14
  %9942 = add nsw i32 %9941, 10
  %9943 = sext i32 %9942 to i64
  %9944 = getelementptr inbounds i8, ptr %9940, i64 %9943
  %9945 = load i8, ptr %9944, align 1, !tbaa !15
  %9946 = zext i8 %9945 to i64
  %9947 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %9946
  %9948 = load i32, ptr %9947, align 4, !tbaa !14
  %9949 = sub nsw i32 %9939, %9948
  %9950 = load ptr, ptr %15, align 8, !tbaa !5
  %9951 = load i32, ptr %19, align 4, !tbaa !14
  %9952 = add nsw i32 %9951, 10
  %9953 = sext i32 %9952 to i64
  %9954 = getelementptr inbounds i8, ptr %9950, i64 %9953
  %9955 = load i8, ptr %9954, align 1, !tbaa !15
  %9956 = zext i8 %9955 to i64
  %9957 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %9956
  %9958 = load i32, ptr %9957, align 4, !tbaa !14
  %9959 = sub nsw i32 %9949, %9958
  store i32 %9959, ptr %17, align 4, !tbaa !14
  %9960 = load i32, ptr %17, align 4, !tbaa !14
  %9961 = icmp slt i32 %9960, 0
  br i1 %9961, label %9962, label %9963

9962:                                             ; preds = %9925
  br label %9971

9963:                                             ; preds = %9925
  %9964 = load i32, ptr %17, align 4, !tbaa !14
  %9965 = icmp sgt i32 %9964, 255
  br i1 %9965, label %9966, label %9967

9966:                                             ; preds = %9963
  br label %9969

9967:                                             ; preds = %9963
  %9968 = load i32, ptr %17, align 4, !tbaa !14
  br label %9969

9969:                                             ; preds = %9967, %9966
  %9970 = phi i32 [ 255, %9966 ], [ %9968, %9967 ]
  br label %9971

9971:                                             ; preds = %9969, %9962
  %9972 = phi i32 [ 0, %9962 ], [ %9970, %9969 ]
  %9973 = trunc i32 %9972 to i8
  %9974 = load ptr, ptr %11, align 8, !tbaa !5
  %9975 = load i32, ptr %19, align 4, !tbaa !14
  %9976 = add nsw i32 %9975, 10
  %9977 = sext i32 %9976 to i64
  %9978 = getelementptr inbounds i8, ptr %9974, i64 %9977
  store i8 %9973, ptr %9978, align 1, !tbaa !15
  %9979 = load ptr, ptr %13, align 8, !tbaa !5
  %9980 = load i32, ptr %19, align 4, !tbaa !14
  %9981 = add nsw i32 %9980, 10
  %9982 = sext i32 %9981 to i64
  %9983 = getelementptr inbounds i8, ptr %9979, i64 %9982
  %9984 = load i8, ptr %9983, align 1, !tbaa !15
  %9985 = zext i8 %9984 to i32
  %9986 = load ptr, ptr %14, align 8, !tbaa !5
  %9987 = load i32, ptr %19, align 4, !tbaa !14
  %9988 = add nsw i32 %9987, 10
  %9989 = sext i32 %9988 to i64
  %9990 = getelementptr inbounds i8, ptr %9986, i64 %9989
  %9991 = load i8, ptr %9990, align 1, !tbaa !15
  %9992 = zext i8 %9991 to i64
  %9993 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %9992
  %9994 = load i32, ptr %9993, align 4, !tbaa !14
  %9995 = add nsw i32 %9985, %9994
  store i32 %9995, ptr %18, align 4, !tbaa !14
  %9996 = load i32, ptr %18, align 4, !tbaa !14
  %9997 = icmp slt i32 %9996, 0
  br i1 %9997, label %9998, label %9999

9998:                                             ; preds = %9971
  br label %10007

9999:                                             ; preds = %9971
  %10000 = load i32, ptr %18, align 4, !tbaa !14
  %10001 = icmp sgt i32 %10000, 255
  br i1 %10001, label %10002, label %10003

10002:                                            ; preds = %9999
  br label %10005

10003:                                            ; preds = %9999
  %10004 = load i32, ptr %18, align 4, !tbaa !14
  br label %10005

10005:                                            ; preds = %10003, %10002
  %10006 = phi i32 [ 255, %10002 ], [ %10004, %10003 ]
  br label %10007

10007:                                            ; preds = %10005, %9998
  %10008 = phi i32 [ 0, %9998 ], [ %10006, %10005 ]
  %10009 = trunc i32 %10008 to i8
  %10010 = load ptr, ptr %10, align 8, !tbaa !5
  %10011 = load i32, ptr %19, align 4, !tbaa !14
  %10012 = add nsw i32 %10011, 10
  %10013 = sext i32 %10012 to i64
  %10014 = getelementptr inbounds i8, ptr %10010, i64 %10013
  store i8 %10009, ptr %10014, align 1, !tbaa !15
  br label %16423

10015:                                            ; preds = %8709
  %10016 = load ptr, ptr %4, align 8, !tbaa !5
  %10017 = getelementptr inbounds %struct.MImage, ptr %10016, i32 0, i32 2
  %10018 = load i32, ptr %10017, align 8, !tbaa !13
  %10019 = load i32, ptr %19, align 4, !tbaa !14
  %10020 = sub nsw i32 %10018, %10019
  %10021 = icmp eq i32 %10020, 12
  br i1 %10021, label %10022, label %11439

10022:                                            ; preds = %10015
  %10023 = load ptr, ptr %13, align 8, !tbaa !5
  %10024 = load i32, ptr %19, align 4, !tbaa !14
  %10025 = add nsw i32 %10024, 0
  %10026 = sext i32 %10025 to i64
  %10027 = getelementptr inbounds i8, ptr %10023, i64 %10026
  %10028 = load i8, ptr %10027, align 1, !tbaa !15
  %10029 = zext i8 %10028 to i32
  %10030 = load ptr, ptr %15, align 8, !tbaa !5
  %10031 = load i32, ptr %19, align 4, !tbaa !14
  %10032 = add nsw i32 %10031, 0
  %10033 = sext i32 %10032 to i64
  %10034 = getelementptr inbounds i8, ptr %10030, i64 %10033
  %10035 = load i8, ptr %10034, align 1, !tbaa !15
  %10036 = zext i8 %10035 to i64
  %10037 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10036
  %10038 = load i32, ptr %10037, align 4, !tbaa !14
  %10039 = add nsw i32 %10029, %10038
  store i32 %10039, ptr %16, align 4, !tbaa !14
  %10040 = load i32, ptr %16, align 4, !tbaa !14
  %10041 = icmp slt i32 %10040, 0
  br i1 %10041, label %10042, label %10043

10042:                                            ; preds = %10022
  br label %10051

10043:                                            ; preds = %10022
  %10044 = load i32, ptr %16, align 4, !tbaa !14
  %10045 = icmp sgt i32 %10044, 255
  br i1 %10045, label %10046, label %10047

10046:                                            ; preds = %10043
  br label %10049

10047:                                            ; preds = %10043
  %10048 = load i32, ptr %16, align 4, !tbaa !14
  br label %10049

10049:                                            ; preds = %10047, %10046
  %10050 = phi i32 [ 255, %10046 ], [ %10048, %10047 ]
  br label %10051

10051:                                            ; preds = %10049, %10042
  %10052 = phi i32 [ 0, %10042 ], [ %10050, %10049 ]
  %10053 = trunc i32 %10052 to i8
  %10054 = load ptr, ptr %12, align 8, !tbaa !5
  %10055 = load i32, ptr %19, align 4, !tbaa !14
  %10056 = add nsw i32 %10055, 0
  %10057 = sext i32 %10056 to i64
  %10058 = getelementptr inbounds i8, ptr %10054, i64 %10057
  store i8 %10053, ptr %10058, align 1, !tbaa !15
  %10059 = load ptr, ptr %13, align 8, !tbaa !5
  %10060 = load i32, ptr %19, align 4, !tbaa !14
  %10061 = add nsw i32 %10060, 0
  %10062 = sext i32 %10061 to i64
  %10063 = getelementptr inbounds i8, ptr %10059, i64 %10062
  %10064 = load i8, ptr %10063, align 1, !tbaa !15
  %10065 = zext i8 %10064 to i32
  %10066 = load ptr, ptr %14, align 8, !tbaa !5
  %10067 = load i32, ptr %19, align 4, !tbaa !14
  %10068 = add nsw i32 %10067, 0
  %10069 = sext i32 %10068 to i64
  %10070 = getelementptr inbounds i8, ptr %10066, i64 %10069
  %10071 = load i8, ptr %10070, align 1, !tbaa !15
  %10072 = zext i8 %10071 to i64
  %10073 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10072
  %10074 = load i32, ptr %10073, align 4, !tbaa !14
  %10075 = sub nsw i32 %10065, %10074
  %10076 = load ptr, ptr %15, align 8, !tbaa !5
  %10077 = load i32, ptr %19, align 4, !tbaa !14
  %10078 = add nsw i32 %10077, 0
  %10079 = sext i32 %10078 to i64
  %10080 = getelementptr inbounds i8, ptr %10076, i64 %10079
  %10081 = load i8, ptr %10080, align 1, !tbaa !15
  %10082 = zext i8 %10081 to i64
  %10083 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10082
  %10084 = load i32, ptr %10083, align 4, !tbaa !14
  %10085 = sub nsw i32 %10075, %10084
  store i32 %10085, ptr %17, align 4, !tbaa !14
  %10086 = load i32, ptr %17, align 4, !tbaa !14
  %10087 = icmp slt i32 %10086, 0
  br i1 %10087, label %10088, label %10089

10088:                                            ; preds = %10051
  br label %10097

10089:                                            ; preds = %10051
  %10090 = load i32, ptr %17, align 4, !tbaa !14
  %10091 = icmp sgt i32 %10090, 255
  br i1 %10091, label %10092, label %10093

10092:                                            ; preds = %10089
  br label %10095

10093:                                            ; preds = %10089
  %10094 = load i32, ptr %17, align 4, !tbaa !14
  br label %10095

10095:                                            ; preds = %10093, %10092
  %10096 = phi i32 [ 255, %10092 ], [ %10094, %10093 ]
  br label %10097

10097:                                            ; preds = %10095, %10088
  %10098 = phi i32 [ 0, %10088 ], [ %10096, %10095 ]
  %10099 = trunc i32 %10098 to i8
  %10100 = load ptr, ptr %11, align 8, !tbaa !5
  %10101 = load i32, ptr %19, align 4, !tbaa !14
  %10102 = add nsw i32 %10101, 0
  %10103 = sext i32 %10102 to i64
  %10104 = getelementptr inbounds i8, ptr %10100, i64 %10103
  store i8 %10099, ptr %10104, align 1, !tbaa !15
  %10105 = load ptr, ptr %13, align 8, !tbaa !5
  %10106 = load i32, ptr %19, align 4, !tbaa !14
  %10107 = add nsw i32 %10106, 0
  %10108 = sext i32 %10107 to i64
  %10109 = getelementptr inbounds i8, ptr %10105, i64 %10108
  %10110 = load i8, ptr %10109, align 1, !tbaa !15
  %10111 = zext i8 %10110 to i32
  %10112 = load ptr, ptr %14, align 8, !tbaa !5
  %10113 = load i32, ptr %19, align 4, !tbaa !14
  %10114 = add nsw i32 %10113, 0
  %10115 = sext i32 %10114 to i64
  %10116 = getelementptr inbounds i8, ptr %10112, i64 %10115
  %10117 = load i8, ptr %10116, align 1, !tbaa !15
  %10118 = zext i8 %10117 to i64
  %10119 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10118
  %10120 = load i32, ptr %10119, align 4, !tbaa !14
  %10121 = add nsw i32 %10111, %10120
  store i32 %10121, ptr %18, align 4, !tbaa !14
  %10122 = load i32, ptr %18, align 4, !tbaa !14
  %10123 = icmp slt i32 %10122, 0
  br i1 %10123, label %10124, label %10125

10124:                                            ; preds = %10097
  br label %10133

10125:                                            ; preds = %10097
  %10126 = load i32, ptr %18, align 4, !tbaa !14
  %10127 = icmp sgt i32 %10126, 255
  br i1 %10127, label %10128, label %10129

10128:                                            ; preds = %10125
  br label %10131

10129:                                            ; preds = %10125
  %10130 = load i32, ptr %18, align 4, !tbaa !14
  br label %10131

10131:                                            ; preds = %10129, %10128
  %10132 = phi i32 [ 255, %10128 ], [ %10130, %10129 ]
  br label %10133

10133:                                            ; preds = %10131, %10124
  %10134 = phi i32 [ 0, %10124 ], [ %10132, %10131 ]
  %10135 = trunc i32 %10134 to i8
  %10136 = load ptr, ptr %10, align 8, !tbaa !5
  %10137 = load i32, ptr %19, align 4, !tbaa !14
  %10138 = add nsw i32 %10137, 0
  %10139 = sext i32 %10138 to i64
  %10140 = getelementptr inbounds i8, ptr %10136, i64 %10139
  store i8 %10135, ptr %10140, align 1, !tbaa !15
  %10141 = load ptr, ptr %13, align 8, !tbaa !5
  %10142 = load i32, ptr %19, align 4, !tbaa !14
  %10143 = add nsw i32 %10142, 1
  %10144 = sext i32 %10143 to i64
  %10145 = getelementptr inbounds i8, ptr %10141, i64 %10144
  %10146 = load i8, ptr %10145, align 1, !tbaa !15
  %10147 = zext i8 %10146 to i32
  %10148 = load ptr, ptr %15, align 8, !tbaa !5
  %10149 = load i32, ptr %19, align 4, !tbaa !14
  %10150 = add nsw i32 %10149, 1
  %10151 = sext i32 %10150 to i64
  %10152 = getelementptr inbounds i8, ptr %10148, i64 %10151
  %10153 = load i8, ptr %10152, align 1, !tbaa !15
  %10154 = zext i8 %10153 to i64
  %10155 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10154
  %10156 = load i32, ptr %10155, align 4, !tbaa !14
  %10157 = add nsw i32 %10147, %10156
  store i32 %10157, ptr %16, align 4, !tbaa !14
  %10158 = load i32, ptr %16, align 4, !tbaa !14
  %10159 = icmp slt i32 %10158, 0
  br i1 %10159, label %10160, label %10161

10160:                                            ; preds = %10133
  br label %10169

10161:                                            ; preds = %10133
  %10162 = load i32, ptr %16, align 4, !tbaa !14
  %10163 = icmp sgt i32 %10162, 255
  br i1 %10163, label %10164, label %10165

10164:                                            ; preds = %10161
  br label %10167

10165:                                            ; preds = %10161
  %10166 = load i32, ptr %16, align 4, !tbaa !14
  br label %10167

10167:                                            ; preds = %10165, %10164
  %10168 = phi i32 [ 255, %10164 ], [ %10166, %10165 ]
  br label %10169

10169:                                            ; preds = %10167, %10160
  %10170 = phi i32 [ 0, %10160 ], [ %10168, %10167 ]
  %10171 = trunc i32 %10170 to i8
  %10172 = load ptr, ptr %12, align 8, !tbaa !5
  %10173 = load i32, ptr %19, align 4, !tbaa !14
  %10174 = add nsw i32 %10173, 1
  %10175 = sext i32 %10174 to i64
  %10176 = getelementptr inbounds i8, ptr %10172, i64 %10175
  store i8 %10171, ptr %10176, align 1, !tbaa !15
  %10177 = load ptr, ptr %13, align 8, !tbaa !5
  %10178 = load i32, ptr %19, align 4, !tbaa !14
  %10179 = add nsw i32 %10178, 1
  %10180 = sext i32 %10179 to i64
  %10181 = getelementptr inbounds i8, ptr %10177, i64 %10180
  %10182 = load i8, ptr %10181, align 1, !tbaa !15
  %10183 = zext i8 %10182 to i32
  %10184 = load ptr, ptr %14, align 8, !tbaa !5
  %10185 = load i32, ptr %19, align 4, !tbaa !14
  %10186 = add nsw i32 %10185, 1
  %10187 = sext i32 %10186 to i64
  %10188 = getelementptr inbounds i8, ptr %10184, i64 %10187
  %10189 = load i8, ptr %10188, align 1, !tbaa !15
  %10190 = zext i8 %10189 to i64
  %10191 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10190
  %10192 = load i32, ptr %10191, align 4, !tbaa !14
  %10193 = sub nsw i32 %10183, %10192
  %10194 = load ptr, ptr %15, align 8, !tbaa !5
  %10195 = load i32, ptr %19, align 4, !tbaa !14
  %10196 = add nsw i32 %10195, 1
  %10197 = sext i32 %10196 to i64
  %10198 = getelementptr inbounds i8, ptr %10194, i64 %10197
  %10199 = load i8, ptr %10198, align 1, !tbaa !15
  %10200 = zext i8 %10199 to i64
  %10201 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10200
  %10202 = load i32, ptr %10201, align 4, !tbaa !14
  %10203 = sub nsw i32 %10193, %10202
  store i32 %10203, ptr %17, align 4, !tbaa !14
  %10204 = load i32, ptr %17, align 4, !tbaa !14
  %10205 = icmp slt i32 %10204, 0
  br i1 %10205, label %10206, label %10207

10206:                                            ; preds = %10169
  br label %10215

10207:                                            ; preds = %10169
  %10208 = load i32, ptr %17, align 4, !tbaa !14
  %10209 = icmp sgt i32 %10208, 255
  br i1 %10209, label %10210, label %10211

10210:                                            ; preds = %10207
  br label %10213

10211:                                            ; preds = %10207
  %10212 = load i32, ptr %17, align 4, !tbaa !14
  br label %10213

10213:                                            ; preds = %10211, %10210
  %10214 = phi i32 [ 255, %10210 ], [ %10212, %10211 ]
  br label %10215

10215:                                            ; preds = %10213, %10206
  %10216 = phi i32 [ 0, %10206 ], [ %10214, %10213 ]
  %10217 = trunc i32 %10216 to i8
  %10218 = load ptr, ptr %11, align 8, !tbaa !5
  %10219 = load i32, ptr %19, align 4, !tbaa !14
  %10220 = add nsw i32 %10219, 1
  %10221 = sext i32 %10220 to i64
  %10222 = getelementptr inbounds i8, ptr %10218, i64 %10221
  store i8 %10217, ptr %10222, align 1, !tbaa !15
  %10223 = load ptr, ptr %13, align 8, !tbaa !5
  %10224 = load i32, ptr %19, align 4, !tbaa !14
  %10225 = add nsw i32 %10224, 1
  %10226 = sext i32 %10225 to i64
  %10227 = getelementptr inbounds i8, ptr %10223, i64 %10226
  %10228 = load i8, ptr %10227, align 1, !tbaa !15
  %10229 = zext i8 %10228 to i32
  %10230 = load ptr, ptr %14, align 8, !tbaa !5
  %10231 = load i32, ptr %19, align 4, !tbaa !14
  %10232 = add nsw i32 %10231, 1
  %10233 = sext i32 %10232 to i64
  %10234 = getelementptr inbounds i8, ptr %10230, i64 %10233
  %10235 = load i8, ptr %10234, align 1, !tbaa !15
  %10236 = zext i8 %10235 to i64
  %10237 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10236
  %10238 = load i32, ptr %10237, align 4, !tbaa !14
  %10239 = add nsw i32 %10229, %10238
  store i32 %10239, ptr %18, align 4, !tbaa !14
  %10240 = load i32, ptr %18, align 4, !tbaa !14
  %10241 = icmp slt i32 %10240, 0
  br i1 %10241, label %10242, label %10243

10242:                                            ; preds = %10215
  br label %10251

10243:                                            ; preds = %10215
  %10244 = load i32, ptr %18, align 4, !tbaa !14
  %10245 = icmp sgt i32 %10244, 255
  br i1 %10245, label %10246, label %10247

10246:                                            ; preds = %10243
  br label %10249

10247:                                            ; preds = %10243
  %10248 = load i32, ptr %18, align 4, !tbaa !14
  br label %10249

10249:                                            ; preds = %10247, %10246
  %10250 = phi i32 [ 255, %10246 ], [ %10248, %10247 ]
  br label %10251

10251:                                            ; preds = %10249, %10242
  %10252 = phi i32 [ 0, %10242 ], [ %10250, %10249 ]
  %10253 = trunc i32 %10252 to i8
  %10254 = load ptr, ptr %10, align 8, !tbaa !5
  %10255 = load i32, ptr %19, align 4, !tbaa !14
  %10256 = add nsw i32 %10255, 1
  %10257 = sext i32 %10256 to i64
  %10258 = getelementptr inbounds i8, ptr %10254, i64 %10257
  store i8 %10253, ptr %10258, align 1, !tbaa !15
  %10259 = load ptr, ptr %13, align 8, !tbaa !5
  %10260 = load i32, ptr %19, align 4, !tbaa !14
  %10261 = add nsw i32 %10260, 2
  %10262 = sext i32 %10261 to i64
  %10263 = getelementptr inbounds i8, ptr %10259, i64 %10262
  %10264 = load i8, ptr %10263, align 1, !tbaa !15
  %10265 = zext i8 %10264 to i32
  %10266 = load ptr, ptr %15, align 8, !tbaa !5
  %10267 = load i32, ptr %19, align 4, !tbaa !14
  %10268 = add nsw i32 %10267, 2
  %10269 = sext i32 %10268 to i64
  %10270 = getelementptr inbounds i8, ptr %10266, i64 %10269
  %10271 = load i8, ptr %10270, align 1, !tbaa !15
  %10272 = zext i8 %10271 to i64
  %10273 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10272
  %10274 = load i32, ptr %10273, align 4, !tbaa !14
  %10275 = add nsw i32 %10265, %10274
  store i32 %10275, ptr %16, align 4, !tbaa !14
  %10276 = load i32, ptr %16, align 4, !tbaa !14
  %10277 = icmp slt i32 %10276, 0
  br i1 %10277, label %10278, label %10279

10278:                                            ; preds = %10251
  br label %10287

10279:                                            ; preds = %10251
  %10280 = load i32, ptr %16, align 4, !tbaa !14
  %10281 = icmp sgt i32 %10280, 255
  br i1 %10281, label %10282, label %10283

10282:                                            ; preds = %10279
  br label %10285

10283:                                            ; preds = %10279
  %10284 = load i32, ptr %16, align 4, !tbaa !14
  br label %10285

10285:                                            ; preds = %10283, %10282
  %10286 = phi i32 [ 255, %10282 ], [ %10284, %10283 ]
  br label %10287

10287:                                            ; preds = %10285, %10278
  %10288 = phi i32 [ 0, %10278 ], [ %10286, %10285 ]
  %10289 = trunc i32 %10288 to i8
  %10290 = load ptr, ptr %12, align 8, !tbaa !5
  %10291 = load i32, ptr %19, align 4, !tbaa !14
  %10292 = add nsw i32 %10291, 2
  %10293 = sext i32 %10292 to i64
  %10294 = getelementptr inbounds i8, ptr %10290, i64 %10293
  store i8 %10289, ptr %10294, align 1, !tbaa !15
  %10295 = load ptr, ptr %13, align 8, !tbaa !5
  %10296 = load i32, ptr %19, align 4, !tbaa !14
  %10297 = add nsw i32 %10296, 2
  %10298 = sext i32 %10297 to i64
  %10299 = getelementptr inbounds i8, ptr %10295, i64 %10298
  %10300 = load i8, ptr %10299, align 1, !tbaa !15
  %10301 = zext i8 %10300 to i32
  %10302 = load ptr, ptr %14, align 8, !tbaa !5
  %10303 = load i32, ptr %19, align 4, !tbaa !14
  %10304 = add nsw i32 %10303, 2
  %10305 = sext i32 %10304 to i64
  %10306 = getelementptr inbounds i8, ptr %10302, i64 %10305
  %10307 = load i8, ptr %10306, align 1, !tbaa !15
  %10308 = zext i8 %10307 to i64
  %10309 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10308
  %10310 = load i32, ptr %10309, align 4, !tbaa !14
  %10311 = sub nsw i32 %10301, %10310
  %10312 = load ptr, ptr %15, align 8, !tbaa !5
  %10313 = load i32, ptr %19, align 4, !tbaa !14
  %10314 = add nsw i32 %10313, 2
  %10315 = sext i32 %10314 to i64
  %10316 = getelementptr inbounds i8, ptr %10312, i64 %10315
  %10317 = load i8, ptr %10316, align 1, !tbaa !15
  %10318 = zext i8 %10317 to i64
  %10319 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10318
  %10320 = load i32, ptr %10319, align 4, !tbaa !14
  %10321 = sub nsw i32 %10311, %10320
  store i32 %10321, ptr %17, align 4, !tbaa !14
  %10322 = load i32, ptr %17, align 4, !tbaa !14
  %10323 = icmp slt i32 %10322, 0
  br i1 %10323, label %10324, label %10325

10324:                                            ; preds = %10287
  br label %10333

10325:                                            ; preds = %10287
  %10326 = load i32, ptr %17, align 4, !tbaa !14
  %10327 = icmp sgt i32 %10326, 255
  br i1 %10327, label %10328, label %10329

10328:                                            ; preds = %10325
  br label %10331

10329:                                            ; preds = %10325
  %10330 = load i32, ptr %17, align 4, !tbaa !14
  br label %10331

10331:                                            ; preds = %10329, %10328
  %10332 = phi i32 [ 255, %10328 ], [ %10330, %10329 ]
  br label %10333

10333:                                            ; preds = %10331, %10324
  %10334 = phi i32 [ 0, %10324 ], [ %10332, %10331 ]
  %10335 = trunc i32 %10334 to i8
  %10336 = load ptr, ptr %11, align 8, !tbaa !5
  %10337 = load i32, ptr %19, align 4, !tbaa !14
  %10338 = add nsw i32 %10337, 2
  %10339 = sext i32 %10338 to i64
  %10340 = getelementptr inbounds i8, ptr %10336, i64 %10339
  store i8 %10335, ptr %10340, align 1, !tbaa !15
  %10341 = load ptr, ptr %13, align 8, !tbaa !5
  %10342 = load i32, ptr %19, align 4, !tbaa !14
  %10343 = add nsw i32 %10342, 2
  %10344 = sext i32 %10343 to i64
  %10345 = getelementptr inbounds i8, ptr %10341, i64 %10344
  %10346 = load i8, ptr %10345, align 1, !tbaa !15
  %10347 = zext i8 %10346 to i32
  %10348 = load ptr, ptr %14, align 8, !tbaa !5
  %10349 = load i32, ptr %19, align 4, !tbaa !14
  %10350 = add nsw i32 %10349, 2
  %10351 = sext i32 %10350 to i64
  %10352 = getelementptr inbounds i8, ptr %10348, i64 %10351
  %10353 = load i8, ptr %10352, align 1, !tbaa !15
  %10354 = zext i8 %10353 to i64
  %10355 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10354
  %10356 = load i32, ptr %10355, align 4, !tbaa !14
  %10357 = add nsw i32 %10347, %10356
  store i32 %10357, ptr %18, align 4, !tbaa !14
  %10358 = load i32, ptr %18, align 4, !tbaa !14
  %10359 = icmp slt i32 %10358, 0
  br i1 %10359, label %10360, label %10361

10360:                                            ; preds = %10333
  br label %10369

10361:                                            ; preds = %10333
  %10362 = load i32, ptr %18, align 4, !tbaa !14
  %10363 = icmp sgt i32 %10362, 255
  br i1 %10363, label %10364, label %10365

10364:                                            ; preds = %10361
  br label %10367

10365:                                            ; preds = %10361
  %10366 = load i32, ptr %18, align 4, !tbaa !14
  br label %10367

10367:                                            ; preds = %10365, %10364
  %10368 = phi i32 [ 255, %10364 ], [ %10366, %10365 ]
  br label %10369

10369:                                            ; preds = %10367, %10360
  %10370 = phi i32 [ 0, %10360 ], [ %10368, %10367 ]
  %10371 = trunc i32 %10370 to i8
  %10372 = load ptr, ptr %10, align 8, !tbaa !5
  %10373 = load i32, ptr %19, align 4, !tbaa !14
  %10374 = add nsw i32 %10373, 2
  %10375 = sext i32 %10374 to i64
  %10376 = getelementptr inbounds i8, ptr %10372, i64 %10375
  store i8 %10371, ptr %10376, align 1, !tbaa !15
  %10377 = load ptr, ptr %13, align 8, !tbaa !5
  %10378 = load i32, ptr %19, align 4, !tbaa !14
  %10379 = add nsw i32 %10378, 3
  %10380 = sext i32 %10379 to i64
  %10381 = getelementptr inbounds i8, ptr %10377, i64 %10380
  %10382 = load i8, ptr %10381, align 1, !tbaa !15
  %10383 = zext i8 %10382 to i32
  %10384 = load ptr, ptr %15, align 8, !tbaa !5
  %10385 = load i32, ptr %19, align 4, !tbaa !14
  %10386 = add nsw i32 %10385, 3
  %10387 = sext i32 %10386 to i64
  %10388 = getelementptr inbounds i8, ptr %10384, i64 %10387
  %10389 = load i8, ptr %10388, align 1, !tbaa !15
  %10390 = zext i8 %10389 to i64
  %10391 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10390
  %10392 = load i32, ptr %10391, align 4, !tbaa !14
  %10393 = add nsw i32 %10383, %10392
  store i32 %10393, ptr %16, align 4, !tbaa !14
  %10394 = load i32, ptr %16, align 4, !tbaa !14
  %10395 = icmp slt i32 %10394, 0
  br i1 %10395, label %10396, label %10397

10396:                                            ; preds = %10369
  br label %10405

10397:                                            ; preds = %10369
  %10398 = load i32, ptr %16, align 4, !tbaa !14
  %10399 = icmp sgt i32 %10398, 255
  br i1 %10399, label %10400, label %10401

10400:                                            ; preds = %10397
  br label %10403

10401:                                            ; preds = %10397
  %10402 = load i32, ptr %16, align 4, !tbaa !14
  br label %10403

10403:                                            ; preds = %10401, %10400
  %10404 = phi i32 [ 255, %10400 ], [ %10402, %10401 ]
  br label %10405

10405:                                            ; preds = %10403, %10396
  %10406 = phi i32 [ 0, %10396 ], [ %10404, %10403 ]
  %10407 = trunc i32 %10406 to i8
  %10408 = load ptr, ptr %12, align 8, !tbaa !5
  %10409 = load i32, ptr %19, align 4, !tbaa !14
  %10410 = add nsw i32 %10409, 3
  %10411 = sext i32 %10410 to i64
  %10412 = getelementptr inbounds i8, ptr %10408, i64 %10411
  store i8 %10407, ptr %10412, align 1, !tbaa !15
  %10413 = load ptr, ptr %13, align 8, !tbaa !5
  %10414 = load i32, ptr %19, align 4, !tbaa !14
  %10415 = add nsw i32 %10414, 3
  %10416 = sext i32 %10415 to i64
  %10417 = getelementptr inbounds i8, ptr %10413, i64 %10416
  %10418 = load i8, ptr %10417, align 1, !tbaa !15
  %10419 = zext i8 %10418 to i32
  %10420 = load ptr, ptr %14, align 8, !tbaa !5
  %10421 = load i32, ptr %19, align 4, !tbaa !14
  %10422 = add nsw i32 %10421, 3
  %10423 = sext i32 %10422 to i64
  %10424 = getelementptr inbounds i8, ptr %10420, i64 %10423
  %10425 = load i8, ptr %10424, align 1, !tbaa !15
  %10426 = zext i8 %10425 to i64
  %10427 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10426
  %10428 = load i32, ptr %10427, align 4, !tbaa !14
  %10429 = sub nsw i32 %10419, %10428
  %10430 = load ptr, ptr %15, align 8, !tbaa !5
  %10431 = load i32, ptr %19, align 4, !tbaa !14
  %10432 = add nsw i32 %10431, 3
  %10433 = sext i32 %10432 to i64
  %10434 = getelementptr inbounds i8, ptr %10430, i64 %10433
  %10435 = load i8, ptr %10434, align 1, !tbaa !15
  %10436 = zext i8 %10435 to i64
  %10437 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10436
  %10438 = load i32, ptr %10437, align 4, !tbaa !14
  %10439 = sub nsw i32 %10429, %10438
  store i32 %10439, ptr %17, align 4, !tbaa !14
  %10440 = load i32, ptr %17, align 4, !tbaa !14
  %10441 = icmp slt i32 %10440, 0
  br i1 %10441, label %10442, label %10443

10442:                                            ; preds = %10405
  br label %10451

10443:                                            ; preds = %10405
  %10444 = load i32, ptr %17, align 4, !tbaa !14
  %10445 = icmp sgt i32 %10444, 255
  br i1 %10445, label %10446, label %10447

10446:                                            ; preds = %10443
  br label %10449

10447:                                            ; preds = %10443
  %10448 = load i32, ptr %17, align 4, !tbaa !14
  br label %10449

10449:                                            ; preds = %10447, %10446
  %10450 = phi i32 [ 255, %10446 ], [ %10448, %10447 ]
  br label %10451

10451:                                            ; preds = %10449, %10442
  %10452 = phi i32 [ 0, %10442 ], [ %10450, %10449 ]
  %10453 = trunc i32 %10452 to i8
  %10454 = load ptr, ptr %11, align 8, !tbaa !5
  %10455 = load i32, ptr %19, align 4, !tbaa !14
  %10456 = add nsw i32 %10455, 3
  %10457 = sext i32 %10456 to i64
  %10458 = getelementptr inbounds i8, ptr %10454, i64 %10457
  store i8 %10453, ptr %10458, align 1, !tbaa !15
  %10459 = load ptr, ptr %13, align 8, !tbaa !5
  %10460 = load i32, ptr %19, align 4, !tbaa !14
  %10461 = add nsw i32 %10460, 3
  %10462 = sext i32 %10461 to i64
  %10463 = getelementptr inbounds i8, ptr %10459, i64 %10462
  %10464 = load i8, ptr %10463, align 1, !tbaa !15
  %10465 = zext i8 %10464 to i32
  %10466 = load ptr, ptr %14, align 8, !tbaa !5
  %10467 = load i32, ptr %19, align 4, !tbaa !14
  %10468 = add nsw i32 %10467, 3
  %10469 = sext i32 %10468 to i64
  %10470 = getelementptr inbounds i8, ptr %10466, i64 %10469
  %10471 = load i8, ptr %10470, align 1, !tbaa !15
  %10472 = zext i8 %10471 to i64
  %10473 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10472
  %10474 = load i32, ptr %10473, align 4, !tbaa !14
  %10475 = add nsw i32 %10465, %10474
  store i32 %10475, ptr %18, align 4, !tbaa !14
  %10476 = load i32, ptr %18, align 4, !tbaa !14
  %10477 = icmp slt i32 %10476, 0
  br i1 %10477, label %10478, label %10479

10478:                                            ; preds = %10451
  br label %10487

10479:                                            ; preds = %10451
  %10480 = load i32, ptr %18, align 4, !tbaa !14
  %10481 = icmp sgt i32 %10480, 255
  br i1 %10481, label %10482, label %10483

10482:                                            ; preds = %10479
  br label %10485

10483:                                            ; preds = %10479
  %10484 = load i32, ptr %18, align 4, !tbaa !14
  br label %10485

10485:                                            ; preds = %10483, %10482
  %10486 = phi i32 [ 255, %10482 ], [ %10484, %10483 ]
  br label %10487

10487:                                            ; preds = %10485, %10478
  %10488 = phi i32 [ 0, %10478 ], [ %10486, %10485 ]
  %10489 = trunc i32 %10488 to i8
  %10490 = load ptr, ptr %10, align 8, !tbaa !5
  %10491 = load i32, ptr %19, align 4, !tbaa !14
  %10492 = add nsw i32 %10491, 3
  %10493 = sext i32 %10492 to i64
  %10494 = getelementptr inbounds i8, ptr %10490, i64 %10493
  store i8 %10489, ptr %10494, align 1, !tbaa !15
  %10495 = load ptr, ptr %13, align 8, !tbaa !5
  %10496 = load i32, ptr %19, align 4, !tbaa !14
  %10497 = add nsw i32 %10496, 4
  %10498 = sext i32 %10497 to i64
  %10499 = getelementptr inbounds i8, ptr %10495, i64 %10498
  %10500 = load i8, ptr %10499, align 1, !tbaa !15
  %10501 = zext i8 %10500 to i32
  %10502 = load ptr, ptr %15, align 8, !tbaa !5
  %10503 = load i32, ptr %19, align 4, !tbaa !14
  %10504 = add nsw i32 %10503, 4
  %10505 = sext i32 %10504 to i64
  %10506 = getelementptr inbounds i8, ptr %10502, i64 %10505
  %10507 = load i8, ptr %10506, align 1, !tbaa !15
  %10508 = zext i8 %10507 to i64
  %10509 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10508
  %10510 = load i32, ptr %10509, align 4, !tbaa !14
  %10511 = add nsw i32 %10501, %10510
  store i32 %10511, ptr %16, align 4, !tbaa !14
  %10512 = load i32, ptr %16, align 4, !tbaa !14
  %10513 = icmp slt i32 %10512, 0
  br i1 %10513, label %10514, label %10515

10514:                                            ; preds = %10487
  br label %10523

10515:                                            ; preds = %10487
  %10516 = load i32, ptr %16, align 4, !tbaa !14
  %10517 = icmp sgt i32 %10516, 255
  br i1 %10517, label %10518, label %10519

10518:                                            ; preds = %10515
  br label %10521

10519:                                            ; preds = %10515
  %10520 = load i32, ptr %16, align 4, !tbaa !14
  br label %10521

10521:                                            ; preds = %10519, %10518
  %10522 = phi i32 [ 255, %10518 ], [ %10520, %10519 ]
  br label %10523

10523:                                            ; preds = %10521, %10514
  %10524 = phi i32 [ 0, %10514 ], [ %10522, %10521 ]
  %10525 = trunc i32 %10524 to i8
  %10526 = load ptr, ptr %12, align 8, !tbaa !5
  %10527 = load i32, ptr %19, align 4, !tbaa !14
  %10528 = add nsw i32 %10527, 4
  %10529 = sext i32 %10528 to i64
  %10530 = getelementptr inbounds i8, ptr %10526, i64 %10529
  store i8 %10525, ptr %10530, align 1, !tbaa !15
  %10531 = load ptr, ptr %13, align 8, !tbaa !5
  %10532 = load i32, ptr %19, align 4, !tbaa !14
  %10533 = add nsw i32 %10532, 4
  %10534 = sext i32 %10533 to i64
  %10535 = getelementptr inbounds i8, ptr %10531, i64 %10534
  %10536 = load i8, ptr %10535, align 1, !tbaa !15
  %10537 = zext i8 %10536 to i32
  %10538 = load ptr, ptr %14, align 8, !tbaa !5
  %10539 = load i32, ptr %19, align 4, !tbaa !14
  %10540 = add nsw i32 %10539, 4
  %10541 = sext i32 %10540 to i64
  %10542 = getelementptr inbounds i8, ptr %10538, i64 %10541
  %10543 = load i8, ptr %10542, align 1, !tbaa !15
  %10544 = zext i8 %10543 to i64
  %10545 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10544
  %10546 = load i32, ptr %10545, align 4, !tbaa !14
  %10547 = sub nsw i32 %10537, %10546
  %10548 = load ptr, ptr %15, align 8, !tbaa !5
  %10549 = load i32, ptr %19, align 4, !tbaa !14
  %10550 = add nsw i32 %10549, 4
  %10551 = sext i32 %10550 to i64
  %10552 = getelementptr inbounds i8, ptr %10548, i64 %10551
  %10553 = load i8, ptr %10552, align 1, !tbaa !15
  %10554 = zext i8 %10553 to i64
  %10555 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10554
  %10556 = load i32, ptr %10555, align 4, !tbaa !14
  %10557 = sub nsw i32 %10547, %10556
  store i32 %10557, ptr %17, align 4, !tbaa !14
  %10558 = load i32, ptr %17, align 4, !tbaa !14
  %10559 = icmp slt i32 %10558, 0
  br i1 %10559, label %10560, label %10561

10560:                                            ; preds = %10523
  br label %10569

10561:                                            ; preds = %10523
  %10562 = load i32, ptr %17, align 4, !tbaa !14
  %10563 = icmp sgt i32 %10562, 255
  br i1 %10563, label %10564, label %10565

10564:                                            ; preds = %10561
  br label %10567

10565:                                            ; preds = %10561
  %10566 = load i32, ptr %17, align 4, !tbaa !14
  br label %10567

10567:                                            ; preds = %10565, %10564
  %10568 = phi i32 [ 255, %10564 ], [ %10566, %10565 ]
  br label %10569

10569:                                            ; preds = %10567, %10560
  %10570 = phi i32 [ 0, %10560 ], [ %10568, %10567 ]
  %10571 = trunc i32 %10570 to i8
  %10572 = load ptr, ptr %11, align 8, !tbaa !5
  %10573 = load i32, ptr %19, align 4, !tbaa !14
  %10574 = add nsw i32 %10573, 4
  %10575 = sext i32 %10574 to i64
  %10576 = getelementptr inbounds i8, ptr %10572, i64 %10575
  store i8 %10571, ptr %10576, align 1, !tbaa !15
  %10577 = load ptr, ptr %13, align 8, !tbaa !5
  %10578 = load i32, ptr %19, align 4, !tbaa !14
  %10579 = add nsw i32 %10578, 4
  %10580 = sext i32 %10579 to i64
  %10581 = getelementptr inbounds i8, ptr %10577, i64 %10580
  %10582 = load i8, ptr %10581, align 1, !tbaa !15
  %10583 = zext i8 %10582 to i32
  %10584 = load ptr, ptr %14, align 8, !tbaa !5
  %10585 = load i32, ptr %19, align 4, !tbaa !14
  %10586 = add nsw i32 %10585, 4
  %10587 = sext i32 %10586 to i64
  %10588 = getelementptr inbounds i8, ptr %10584, i64 %10587
  %10589 = load i8, ptr %10588, align 1, !tbaa !15
  %10590 = zext i8 %10589 to i64
  %10591 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10590
  %10592 = load i32, ptr %10591, align 4, !tbaa !14
  %10593 = add nsw i32 %10583, %10592
  store i32 %10593, ptr %18, align 4, !tbaa !14
  %10594 = load i32, ptr %18, align 4, !tbaa !14
  %10595 = icmp slt i32 %10594, 0
  br i1 %10595, label %10596, label %10597

10596:                                            ; preds = %10569
  br label %10605

10597:                                            ; preds = %10569
  %10598 = load i32, ptr %18, align 4, !tbaa !14
  %10599 = icmp sgt i32 %10598, 255
  br i1 %10599, label %10600, label %10601

10600:                                            ; preds = %10597
  br label %10603

10601:                                            ; preds = %10597
  %10602 = load i32, ptr %18, align 4, !tbaa !14
  br label %10603

10603:                                            ; preds = %10601, %10600
  %10604 = phi i32 [ 255, %10600 ], [ %10602, %10601 ]
  br label %10605

10605:                                            ; preds = %10603, %10596
  %10606 = phi i32 [ 0, %10596 ], [ %10604, %10603 ]
  %10607 = trunc i32 %10606 to i8
  %10608 = load ptr, ptr %10, align 8, !tbaa !5
  %10609 = load i32, ptr %19, align 4, !tbaa !14
  %10610 = add nsw i32 %10609, 4
  %10611 = sext i32 %10610 to i64
  %10612 = getelementptr inbounds i8, ptr %10608, i64 %10611
  store i8 %10607, ptr %10612, align 1, !tbaa !15
  %10613 = load ptr, ptr %13, align 8, !tbaa !5
  %10614 = load i32, ptr %19, align 4, !tbaa !14
  %10615 = add nsw i32 %10614, 5
  %10616 = sext i32 %10615 to i64
  %10617 = getelementptr inbounds i8, ptr %10613, i64 %10616
  %10618 = load i8, ptr %10617, align 1, !tbaa !15
  %10619 = zext i8 %10618 to i32
  %10620 = load ptr, ptr %15, align 8, !tbaa !5
  %10621 = load i32, ptr %19, align 4, !tbaa !14
  %10622 = add nsw i32 %10621, 5
  %10623 = sext i32 %10622 to i64
  %10624 = getelementptr inbounds i8, ptr %10620, i64 %10623
  %10625 = load i8, ptr %10624, align 1, !tbaa !15
  %10626 = zext i8 %10625 to i64
  %10627 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10626
  %10628 = load i32, ptr %10627, align 4, !tbaa !14
  %10629 = add nsw i32 %10619, %10628
  store i32 %10629, ptr %16, align 4, !tbaa !14
  %10630 = load i32, ptr %16, align 4, !tbaa !14
  %10631 = icmp slt i32 %10630, 0
  br i1 %10631, label %10632, label %10633

10632:                                            ; preds = %10605
  br label %10641

10633:                                            ; preds = %10605
  %10634 = load i32, ptr %16, align 4, !tbaa !14
  %10635 = icmp sgt i32 %10634, 255
  br i1 %10635, label %10636, label %10637

10636:                                            ; preds = %10633
  br label %10639

10637:                                            ; preds = %10633
  %10638 = load i32, ptr %16, align 4, !tbaa !14
  br label %10639

10639:                                            ; preds = %10637, %10636
  %10640 = phi i32 [ 255, %10636 ], [ %10638, %10637 ]
  br label %10641

10641:                                            ; preds = %10639, %10632
  %10642 = phi i32 [ 0, %10632 ], [ %10640, %10639 ]
  %10643 = trunc i32 %10642 to i8
  %10644 = load ptr, ptr %12, align 8, !tbaa !5
  %10645 = load i32, ptr %19, align 4, !tbaa !14
  %10646 = add nsw i32 %10645, 5
  %10647 = sext i32 %10646 to i64
  %10648 = getelementptr inbounds i8, ptr %10644, i64 %10647
  store i8 %10643, ptr %10648, align 1, !tbaa !15
  %10649 = load ptr, ptr %13, align 8, !tbaa !5
  %10650 = load i32, ptr %19, align 4, !tbaa !14
  %10651 = add nsw i32 %10650, 5
  %10652 = sext i32 %10651 to i64
  %10653 = getelementptr inbounds i8, ptr %10649, i64 %10652
  %10654 = load i8, ptr %10653, align 1, !tbaa !15
  %10655 = zext i8 %10654 to i32
  %10656 = load ptr, ptr %14, align 8, !tbaa !5
  %10657 = load i32, ptr %19, align 4, !tbaa !14
  %10658 = add nsw i32 %10657, 5
  %10659 = sext i32 %10658 to i64
  %10660 = getelementptr inbounds i8, ptr %10656, i64 %10659
  %10661 = load i8, ptr %10660, align 1, !tbaa !15
  %10662 = zext i8 %10661 to i64
  %10663 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10662
  %10664 = load i32, ptr %10663, align 4, !tbaa !14
  %10665 = sub nsw i32 %10655, %10664
  %10666 = load ptr, ptr %15, align 8, !tbaa !5
  %10667 = load i32, ptr %19, align 4, !tbaa !14
  %10668 = add nsw i32 %10667, 5
  %10669 = sext i32 %10668 to i64
  %10670 = getelementptr inbounds i8, ptr %10666, i64 %10669
  %10671 = load i8, ptr %10670, align 1, !tbaa !15
  %10672 = zext i8 %10671 to i64
  %10673 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10672
  %10674 = load i32, ptr %10673, align 4, !tbaa !14
  %10675 = sub nsw i32 %10665, %10674
  store i32 %10675, ptr %17, align 4, !tbaa !14
  %10676 = load i32, ptr %17, align 4, !tbaa !14
  %10677 = icmp slt i32 %10676, 0
  br i1 %10677, label %10678, label %10679

10678:                                            ; preds = %10641
  br label %10687

10679:                                            ; preds = %10641
  %10680 = load i32, ptr %17, align 4, !tbaa !14
  %10681 = icmp sgt i32 %10680, 255
  br i1 %10681, label %10682, label %10683

10682:                                            ; preds = %10679
  br label %10685

10683:                                            ; preds = %10679
  %10684 = load i32, ptr %17, align 4, !tbaa !14
  br label %10685

10685:                                            ; preds = %10683, %10682
  %10686 = phi i32 [ 255, %10682 ], [ %10684, %10683 ]
  br label %10687

10687:                                            ; preds = %10685, %10678
  %10688 = phi i32 [ 0, %10678 ], [ %10686, %10685 ]
  %10689 = trunc i32 %10688 to i8
  %10690 = load ptr, ptr %11, align 8, !tbaa !5
  %10691 = load i32, ptr %19, align 4, !tbaa !14
  %10692 = add nsw i32 %10691, 5
  %10693 = sext i32 %10692 to i64
  %10694 = getelementptr inbounds i8, ptr %10690, i64 %10693
  store i8 %10689, ptr %10694, align 1, !tbaa !15
  %10695 = load ptr, ptr %13, align 8, !tbaa !5
  %10696 = load i32, ptr %19, align 4, !tbaa !14
  %10697 = add nsw i32 %10696, 5
  %10698 = sext i32 %10697 to i64
  %10699 = getelementptr inbounds i8, ptr %10695, i64 %10698
  %10700 = load i8, ptr %10699, align 1, !tbaa !15
  %10701 = zext i8 %10700 to i32
  %10702 = load ptr, ptr %14, align 8, !tbaa !5
  %10703 = load i32, ptr %19, align 4, !tbaa !14
  %10704 = add nsw i32 %10703, 5
  %10705 = sext i32 %10704 to i64
  %10706 = getelementptr inbounds i8, ptr %10702, i64 %10705
  %10707 = load i8, ptr %10706, align 1, !tbaa !15
  %10708 = zext i8 %10707 to i64
  %10709 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10708
  %10710 = load i32, ptr %10709, align 4, !tbaa !14
  %10711 = add nsw i32 %10701, %10710
  store i32 %10711, ptr %18, align 4, !tbaa !14
  %10712 = load i32, ptr %18, align 4, !tbaa !14
  %10713 = icmp slt i32 %10712, 0
  br i1 %10713, label %10714, label %10715

10714:                                            ; preds = %10687
  br label %10723

10715:                                            ; preds = %10687
  %10716 = load i32, ptr %18, align 4, !tbaa !14
  %10717 = icmp sgt i32 %10716, 255
  br i1 %10717, label %10718, label %10719

10718:                                            ; preds = %10715
  br label %10721

10719:                                            ; preds = %10715
  %10720 = load i32, ptr %18, align 4, !tbaa !14
  br label %10721

10721:                                            ; preds = %10719, %10718
  %10722 = phi i32 [ 255, %10718 ], [ %10720, %10719 ]
  br label %10723

10723:                                            ; preds = %10721, %10714
  %10724 = phi i32 [ 0, %10714 ], [ %10722, %10721 ]
  %10725 = trunc i32 %10724 to i8
  %10726 = load ptr, ptr %10, align 8, !tbaa !5
  %10727 = load i32, ptr %19, align 4, !tbaa !14
  %10728 = add nsw i32 %10727, 5
  %10729 = sext i32 %10728 to i64
  %10730 = getelementptr inbounds i8, ptr %10726, i64 %10729
  store i8 %10725, ptr %10730, align 1, !tbaa !15
  %10731 = load ptr, ptr %13, align 8, !tbaa !5
  %10732 = load i32, ptr %19, align 4, !tbaa !14
  %10733 = add nsw i32 %10732, 6
  %10734 = sext i32 %10733 to i64
  %10735 = getelementptr inbounds i8, ptr %10731, i64 %10734
  %10736 = load i8, ptr %10735, align 1, !tbaa !15
  %10737 = zext i8 %10736 to i32
  %10738 = load ptr, ptr %15, align 8, !tbaa !5
  %10739 = load i32, ptr %19, align 4, !tbaa !14
  %10740 = add nsw i32 %10739, 6
  %10741 = sext i32 %10740 to i64
  %10742 = getelementptr inbounds i8, ptr %10738, i64 %10741
  %10743 = load i8, ptr %10742, align 1, !tbaa !15
  %10744 = zext i8 %10743 to i64
  %10745 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10744
  %10746 = load i32, ptr %10745, align 4, !tbaa !14
  %10747 = add nsw i32 %10737, %10746
  store i32 %10747, ptr %16, align 4, !tbaa !14
  %10748 = load i32, ptr %16, align 4, !tbaa !14
  %10749 = icmp slt i32 %10748, 0
  br i1 %10749, label %10750, label %10751

10750:                                            ; preds = %10723
  br label %10759

10751:                                            ; preds = %10723
  %10752 = load i32, ptr %16, align 4, !tbaa !14
  %10753 = icmp sgt i32 %10752, 255
  br i1 %10753, label %10754, label %10755

10754:                                            ; preds = %10751
  br label %10757

10755:                                            ; preds = %10751
  %10756 = load i32, ptr %16, align 4, !tbaa !14
  br label %10757

10757:                                            ; preds = %10755, %10754
  %10758 = phi i32 [ 255, %10754 ], [ %10756, %10755 ]
  br label %10759

10759:                                            ; preds = %10757, %10750
  %10760 = phi i32 [ 0, %10750 ], [ %10758, %10757 ]
  %10761 = trunc i32 %10760 to i8
  %10762 = load ptr, ptr %12, align 8, !tbaa !5
  %10763 = load i32, ptr %19, align 4, !tbaa !14
  %10764 = add nsw i32 %10763, 6
  %10765 = sext i32 %10764 to i64
  %10766 = getelementptr inbounds i8, ptr %10762, i64 %10765
  store i8 %10761, ptr %10766, align 1, !tbaa !15
  %10767 = load ptr, ptr %13, align 8, !tbaa !5
  %10768 = load i32, ptr %19, align 4, !tbaa !14
  %10769 = add nsw i32 %10768, 6
  %10770 = sext i32 %10769 to i64
  %10771 = getelementptr inbounds i8, ptr %10767, i64 %10770
  %10772 = load i8, ptr %10771, align 1, !tbaa !15
  %10773 = zext i8 %10772 to i32
  %10774 = load ptr, ptr %14, align 8, !tbaa !5
  %10775 = load i32, ptr %19, align 4, !tbaa !14
  %10776 = add nsw i32 %10775, 6
  %10777 = sext i32 %10776 to i64
  %10778 = getelementptr inbounds i8, ptr %10774, i64 %10777
  %10779 = load i8, ptr %10778, align 1, !tbaa !15
  %10780 = zext i8 %10779 to i64
  %10781 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10780
  %10782 = load i32, ptr %10781, align 4, !tbaa !14
  %10783 = sub nsw i32 %10773, %10782
  %10784 = load ptr, ptr %15, align 8, !tbaa !5
  %10785 = load i32, ptr %19, align 4, !tbaa !14
  %10786 = add nsw i32 %10785, 6
  %10787 = sext i32 %10786 to i64
  %10788 = getelementptr inbounds i8, ptr %10784, i64 %10787
  %10789 = load i8, ptr %10788, align 1, !tbaa !15
  %10790 = zext i8 %10789 to i64
  %10791 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10790
  %10792 = load i32, ptr %10791, align 4, !tbaa !14
  %10793 = sub nsw i32 %10783, %10792
  store i32 %10793, ptr %17, align 4, !tbaa !14
  %10794 = load i32, ptr %17, align 4, !tbaa !14
  %10795 = icmp slt i32 %10794, 0
  br i1 %10795, label %10796, label %10797

10796:                                            ; preds = %10759
  br label %10805

10797:                                            ; preds = %10759
  %10798 = load i32, ptr %17, align 4, !tbaa !14
  %10799 = icmp sgt i32 %10798, 255
  br i1 %10799, label %10800, label %10801

10800:                                            ; preds = %10797
  br label %10803

10801:                                            ; preds = %10797
  %10802 = load i32, ptr %17, align 4, !tbaa !14
  br label %10803

10803:                                            ; preds = %10801, %10800
  %10804 = phi i32 [ 255, %10800 ], [ %10802, %10801 ]
  br label %10805

10805:                                            ; preds = %10803, %10796
  %10806 = phi i32 [ 0, %10796 ], [ %10804, %10803 ]
  %10807 = trunc i32 %10806 to i8
  %10808 = load ptr, ptr %11, align 8, !tbaa !5
  %10809 = load i32, ptr %19, align 4, !tbaa !14
  %10810 = add nsw i32 %10809, 6
  %10811 = sext i32 %10810 to i64
  %10812 = getelementptr inbounds i8, ptr %10808, i64 %10811
  store i8 %10807, ptr %10812, align 1, !tbaa !15
  %10813 = load ptr, ptr %13, align 8, !tbaa !5
  %10814 = load i32, ptr %19, align 4, !tbaa !14
  %10815 = add nsw i32 %10814, 6
  %10816 = sext i32 %10815 to i64
  %10817 = getelementptr inbounds i8, ptr %10813, i64 %10816
  %10818 = load i8, ptr %10817, align 1, !tbaa !15
  %10819 = zext i8 %10818 to i32
  %10820 = load ptr, ptr %14, align 8, !tbaa !5
  %10821 = load i32, ptr %19, align 4, !tbaa !14
  %10822 = add nsw i32 %10821, 6
  %10823 = sext i32 %10822 to i64
  %10824 = getelementptr inbounds i8, ptr %10820, i64 %10823
  %10825 = load i8, ptr %10824, align 1, !tbaa !15
  %10826 = zext i8 %10825 to i64
  %10827 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10826
  %10828 = load i32, ptr %10827, align 4, !tbaa !14
  %10829 = add nsw i32 %10819, %10828
  store i32 %10829, ptr %18, align 4, !tbaa !14
  %10830 = load i32, ptr %18, align 4, !tbaa !14
  %10831 = icmp slt i32 %10830, 0
  br i1 %10831, label %10832, label %10833

10832:                                            ; preds = %10805
  br label %10841

10833:                                            ; preds = %10805
  %10834 = load i32, ptr %18, align 4, !tbaa !14
  %10835 = icmp sgt i32 %10834, 255
  br i1 %10835, label %10836, label %10837

10836:                                            ; preds = %10833
  br label %10839

10837:                                            ; preds = %10833
  %10838 = load i32, ptr %18, align 4, !tbaa !14
  br label %10839

10839:                                            ; preds = %10837, %10836
  %10840 = phi i32 [ 255, %10836 ], [ %10838, %10837 ]
  br label %10841

10841:                                            ; preds = %10839, %10832
  %10842 = phi i32 [ 0, %10832 ], [ %10840, %10839 ]
  %10843 = trunc i32 %10842 to i8
  %10844 = load ptr, ptr %10, align 8, !tbaa !5
  %10845 = load i32, ptr %19, align 4, !tbaa !14
  %10846 = add nsw i32 %10845, 6
  %10847 = sext i32 %10846 to i64
  %10848 = getelementptr inbounds i8, ptr %10844, i64 %10847
  store i8 %10843, ptr %10848, align 1, !tbaa !15
  %10849 = load ptr, ptr %13, align 8, !tbaa !5
  %10850 = load i32, ptr %19, align 4, !tbaa !14
  %10851 = add nsw i32 %10850, 7
  %10852 = sext i32 %10851 to i64
  %10853 = getelementptr inbounds i8, ptr %10849, i64 %10852
  %10854 = load i8, ptr %10853, align 1, !tbaa !15
  %10855 = zext i8 %10854 to i32
  %10856 = load ptr, ptr %15, align 8, !tbaa !5
  %10857 = load i32, ptr %19, align 4, !tbaa !14
  %10858 = add nsw i32 %10857, 7
  %10859 = sext i32 %10858 to i64
  %10860 = getelementptr inbounds i8, ptr %10856, i64 %10859
  %10861 = load i8, ptr %10860, align 1, !tbaa !15
  %10862 = zext i8 %10861 to i64
  %10863 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10862
  %10864 = load i32, ptr %10863, align 4, !tbaa !14
  %10865 = add nsw i32 %10855, %10864
  store i32 %10865, ptr %16, align 4, !tbaa !14
  %10866 = load i32, ptr %16, align 4, !tbaa !14
  %10867 = icmp slt i32 %10866, 0
  br i1 %10867, label %10868, label %10869

10868:                                            ; preds = %10841
  br label %10877

10869:                                            ; preds = %10841
  %10870 = load i32, ptr %16, align 4, !tbaa !14
  %10871 = icmp sgt i32 %10870, 255
  br i1 %10871, label %10872, label %10873

10872:                                            ; preds = %10869
  br label %10875

10873:                                            ; preds = %10869
  %10874 = load i32, ptr %16, align 4, !tbaa !14
  br label %10875

10875:                                            ; preds = %10873, %10872
  %10876 = phi i32 [ 255, %10872 ], [ %10874, %10873 ]
  br label %10877

10877:                                            ; preds = %10875, %10868
  %10878 = phi i32 [ 0, %10868 ], [ %10876, %10875 ]
  %10879 = trunc i32 %10878 to i8
  %10880 = load ptr, ptr %12, align 8, !tbaa !5
  %10881 = load i32, ptr %19, align 4, !tbaa !14
  %10882 = add nsw i32 %10881, 7
  %10883 = sext i32 %10882 to i64
  %10884 = getelementptr inbounds i8, ptr %10880, i64 %10883
  store i8 %10879, ptr %10884, align 1, !tbaa !15
  %10885 = load ptr, ptr %13, align 8, !tbaa !5
  %10886 = load i32, ptr %19, align 4, !tbaa !14
  %10887 = add nsw i32 %10886, 7
  %10888 = sext i32 %10887 to i64
  %10889 = getelementptr inbounds i8, ptr %10885, i64 %10888
  %10890 = load i8, ptr %10889, align 1, !tbaa !15
  %10891 = zext i8 %10890 to i32
  %10892 = load ptr, ptr %14, align 8, !tbaa !5
  %10893 = load i32, ptr %19, align 4, !tbaa !14
  %10894 = add nsw i32 %10893, 7
  %10895 = sext i32 %10894 to i64
  %10896 = getelementptr inbounds i8, ptr %10892, i64 %10895
  %10897 = load i8, ptr %10896, align 1, !tbaa !15
  %10898 = zext i8 %10897 to i64
  %10899 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %10898
  %10900 = load i32, ptr %10899, align 4, !tbaa !14
  %10901 = sub nsw i32 %10891, %10900
  %10902 = load ptr, ptr %15, align 8, !tbaa !5
  %10903 = load i32, ptr %19, align 4, !tbaa !14
  %10904 = add nsw i32 %10903, 7
  %10905 = sext i32 %10904 to i64
  %10906 = getelementptr inbounds i8, ptr %10902, i64 %10905
  %10907 = load i8, ptr %10906, align 1, !tbaa !15
  %10908 = zext i8 %10907 to i64
  %10909 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %10908
  %10910 = load i32, ptr %10909, align 4, !tbaa !14
  %10911 = sub nsw i32 %10901, %10910
  store i32 %10911, ptr %17, align 4, !tbaa !14
  %10912 = load i32, ptr %17, align 4, !tbaa !14
  %10913 = icmp slt i32 %10912, 0
  br i1 %10913, label %10914, label %10915

10914:                                            ; preds = %10877
  br label %10923

10915:                                            ; preds = %10877
  %10916 = load i32, ptr %17, align 4, !tbaa !14
  %10917 = icmp sgt i32 %10916, 255
  br i1 %10917, label %10918, label %10919

10918:                                            ; preds = %10915
  br label %10921

10919:                                            ; preds = %10915
  %10920 = load i32, ptr %17, align 4, !tbaa !14
  br label %10921

10921:                                            ; preds = %10919, %10918
  %10922 = phi i32 [ 255, %10918 ], [ %10920, %10919 ]
  br label %10923

10923:                                            ; preds = %10921, %10914
  %10924 = phi i32 [ 0, %10914 ], [ %10922, %10921 ]
  %10925 = trunc i32 %10924 to i8
  %10926 = load ptr, ptr %11, align 8, !tbaa !5
  %10927 = load i32, ptr %19, align 4, !tbaa !14
  %10928 = add nsw i32 %10927, 7
  %10929 = sext i32 %10928 to i64
  %10930 = getelementptr inbounds i8, ptr %10926, i64 %10929
  store i8 %10925, ptr %10930, align 1, !tbaa !15
  %10931 = load ptr, ptr %13, align 8, !tbaa !5
  %10932 = load i32, ptr %19, align 4, !tbaa !14
  %10933 = add nsw i32 %10932, 7
  %10934 = sext i32 %10933 to i64
  %10935 = getelementptr inbounds i8, ptr %10931, i64 %10934
  %10936 = load i8, ptr %10935, align 1, !tbaa !15
  %10937 = zext i8 %10936 to i32
  %10938 = load ptr, ptr %14, align 8, !tbaa !5
  %10939 = load i32, ptr %19, align 4, !tbaa !14
  %10940 = add nsw i32 %10939, 7
  %10941 = sext i32 %10940 to i64
  %10942 = getelementptr inbounds i8, ptr %10938, i64 %10941
  %10943 = load i8, ptr %10942, align 1, !tbaa !15
  %10944 = zext i8 %10943 to i64
  %10945 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %10944
  %10946 = load i32, ptr %10945, align 4, !tbaa !14
  %10947 = add nsw i32 %10937, %10946
  store i32 %10947, ptr %18, align 4, !tbaa !14
  %10948 = load i32, ptr %18, align 4, !tbaa !14
  %10949 = icmp slt i32 %10948, 0
  br i1 %10949, label %10950, label %10951

10950:                                            ; preds = %10923
  br label %10959

10951:                                            ; preds = %10923
  %10952 = load i32, ptr %18, align 4, !tbaa !14
  %10953 = icmp sgt i32 %10952, 255
  br i1 %10953, label %10954, label %10955

10954:                                            ; preds = %10951
  br label %10957

10955:                                            ; preds = %10951
  %10956 = load i32, ptr %18, align 4, !tbaa !14
  br label %10957

10957:                                            ; preds = %10955, %10954
  %10958 = phi i32 [ 255, %10954 ], [ %10956, %10955 ]
  br label %10959

10959:                                            ; preds = %10957, %10950
  %10960 = phi i32 [ 0, %10950 ], [ %10958, %10957 ]
  %10961 = trunc i32 %10960 to i8
  %10962 = load ptr, ptr %10, align 8, !tbaa !5
  %10963 = load i32, ptr %19, align 4, !tbaa !14
  %10964 = add nsw i32 %10963, 7
  %10965 = sext i32 %10964 to i64
  %10966 = getelementptr inbounds i8, ptr %10962, i64 %10965
  store i8 %10961, ptr %10966, align 1, !tbaa !15
  %10967 = load ptr, ptr %13, align 8, !tbaa !5
  %10968 = load i32, ptr %19, align 4, !tbaa !14
  %10969 = add nsw i32 %10968, 8
  %10970 = sext i32 %10969 to i64
  %10971 = getelementptr inbounds i8, ptr %10967, i64 %10970
  %10972 = load i8, ptr %10971, align 1, !tbaa !15
  %10973 = zext i8 %10972 to i32
  %10974 = load ptr, ptr %15, align 8, !tbaa !5
  %10975 = load i32, ptr %19, align 4, !tbaa !14
  %10976 = add nsw i32 %10975, 8
  %10977 = sext i32 %10976 to i64
  %10978 = getelementptr inbounds i8, ptr %10974, i64 %10977
  %10979 = load i8, ptr %10978, align 1, !tbaa !15
  %10980 = zext i8 %10979 to i64
  %10981 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %10980
  %10982 = load i32, ptr %10981, align 4, !tbaa !14
  %10983 = add nsw i32 %10973, %10982
  store i32 %10983, ptr %16, align 4, !tbaa !14
  %10984 = load i32, ptr %16, align 4, !tbaa !14
  %10985 = icmp slt i32 %10984, 0
  br i1 %10985, label %10986, label %10987

10986:                                            ; preds = %10959
  br label %10995

10987:                                            ; preds = %10959
  %10988 = load i32, ptr %16, align 4, !tbaa !14
  %10989 = icmp sgt i32 %10988, 255
  br i1 %10989, label %10990, label %10991

10990:                                            ; preds = %10987
  br label %10993

10991:                                            ; preds = %10987
  %10992 = load i32, ptr %16, align 4, !tbaa !14
  br label %10993

10993:                                            ; preds = %10991, %10990
  %10994 = phi i32 [ 255, %10990 ], [ %10992, %10991 ]
  br label %10995

10995:                                            ; preds = %10993, %10986
  %10996 = phi i32 [ 0, %10986 ], [ %10994, %10993 ]
  %10997 = trunc i32 %10996 to i8
  %10998 = load ptr, ptr %12, align 8, !tbaa !5
  %10999 = load i32, ptr %19, align 4, !tbaa !14
  %11000 = add nsw i32 %10999, 8
  %11001 = sext i32 %11000 to i64
  %11002 = getelementptr inbounds i8, ptr %10998, i64 %11001
  store i8 %10997, ptr %11002, align 1, !tbaa !15
  %11003 = load ptr, ptr %13, align 8, !tbaa !5
  %11004 = load i32, ptr %19, align 4, !tbaa !14
  %11005 = add nsw i32 %11004, 8
  %11006 = sext i32 %11005 to i64
  %11007 = getelementptr inbounds i8, ptr %11003, i64 %11006
  %11008 = load i8, ptr %11007, align 1, !tbaa !15
  %11009 = zext i8 %11008 to i32
  %11010 = load ptr, ptr %14, align 8, !tbaa !5
  %11011 = load i32, ptr %19, align 4, !tbaa !14
  %11012 = add nsw i32 %11011, 8
  %11013 = sext i32 %11012 to i64
  %11014 = getelementptr inbounds i8, ptr %11010, i64 %11013
  %11015 = load i8, ptr %11014, align 1, !tbaa !15
  %11016 = zext i8 %11015 to i64
  %11017 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11016
  %11018 = load i32, ptr %11017, align 4, !tbaa !14
  %11019 = sub nsw i32 %11009, %11018
  %11020 = load ptr, ptr %15, align 8, !tbaa !5
  %11021 = load i32, ptr %19, align 4, !tbaa !14
  %11022 = add nsw i32 %11021, 8
  %11023 = sext i32 %11022 to i64
  %11024 = getelementptr inbounds i8, ptr %11020, i64 %11023
  %11025 = load i8, ptr %11024, align 1, !tbaa !15
  %11026 = zext i8 %11025 to i64
  %11027 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11026
  %11028 = load i32, ptr %11027, align 4, !tbaa !14
  %11029 = sub nsw i32 %11019, %11028
  store i32 %11029, ptr %17, align 4, !tbaa !14
  %11030 = load i32, ptr %17, align 4, !tbaa !14
  %11031 = icmp slt i32 %11030, 0
  br i1 %11031, label %11032, label %11033

11032:                                            ; preds = %10995
  br label %11041

11033:                                            ; preds = %10995
  %11034 = load i32, ptr %17, align 4, !tbaa !14
  %11035 = icmp sgt i32 %11034, 255
  br i1 %11035, label %11036, label %11037

11036:                                            ; preds = %11033
  br label %11039

11037:                                            ; preds = %11033
  %11038 = load i32, ptr %17, align 4, !tbaa !14
  br label %11039

11039:                                            ; preds = %11037, %11036
  %11040 = phi i32 [ 255, %11036 ], [ %11038, %11037 ]
  br label %11041

11041:                                            ; preds = %11039, %11032
  %11042 = phi i32 [ 0, %11032 ], [ %11040, %11039 ]
  %11043 = trunc i32 %11042 to i8
  %11044 = load ptr, ptr %11, align 8, !tbaa !5
  %11045 = load i32, ptr %19, align 4, !tbaa !14
  %11046 = add nsw i32 %11045, 8
  %11047 = sext i32 %11046 to i64
  %11048 = getelementptr inbounds i8, ptr %11044, i64 %11047
  store i8 %11043, ptr %11048, align 1, !tbaa !15
  %11049 = load ptr, ptr %13, align 8, !tbaa !5
  %11050 = load i32, ptr %19, align 4, !tbaa !14
  %11051 = add nsw i32 %11050, 8
  %11052 = sext i32 %11051 to i64
  %11053 = getelementptr inbounds i8, ptr %11049, i64 %11052
  %11054 = load i8, ptr %11053, align 1, !tbaa !15
  %11055 = zext i8 %11054 to i32
  %11056 = load ptr, ptr %14, align 8, !tbaa !5
  %11057 = load i32, ptr %19, align 4, !tbaa !14
  %11058 = add nsw i32 %11057, 8
  %11059 = sext i32 %11058 to i64
  %11060 = getelementptr inbounds i8, ptr %11056, i64 %11059
  %11061 = load i8, ptr %11060, align 1, !tbaa !15
  %11062 = zext i8 %11061 to i64
  %11063 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11062
  %11064 = load i32, ptr %11063, align 4, !tbaa !14
  %11065 = add nsw i32 %11055, %11064
  store i32 %11065, ptr %18, align 4, !tbaa !14
  %11066 = load i32, ptr %18, align 4, !tbaa !14
  %11067 = icmp slt i32 %11066, 0
  br i1 %11067, label %11068, label %11069

11068:                                            ; preds = %11041
  br label %11077

11069:                                            ; preds = %11041
  %11070 = load i32, ptr %18, align 4, !tbaa !14
  %11071 = icmp sgt i32 %11070, 255
  br i1 %11071, label %11072, label %11073

11072:                                            ; preds = %11069
  br label %11075

11073:                                            ; preds = %11069
  %11074 = load i32, ptr %18, align 4, !tbaa !14
  br label %11075

11075:                                            ; preds = %11073, %11072
  %11076 = phi i32 [ 255, %11072 ], [ %11074, %11073 ]
  br label %11077

11077:                                            ; preds = %11075, %11068
  %11078 = phi i32 [ 0, %11068 ], [ %11076, %11075 ]
  %11079 = trunc i32 %11078 to i8
  %11080 = load ptr, ptr %10, align 8, !tbaa !5
  %11081 = load i32, ptr %19, align 4, !tbaa !14
  %11082 = add nsw i32 %11081, 8
  %11083 = sext i32 %11082 to i64
  %11084 = getelementptr inbounds i8, ptr %11080, i64 %11083
  store i8 %11079, ptr %11084, align 1, !tbaa !15
  %11085 = load ptr, ptr %13, align 8, !tbaa !5
  %11086 = load i32, ptr %19, align 4, !tbaa !14
  %11087 = add nsw i32 %11086, 9
  %11088 = sext i32 %11087 to i64
  %11089 = getelementptr inbounds i8, ptr %11085, i64 %11088
  %11090 = load i8, ptr %11089, align 1, !tbaa !15
  %11091 = zext i8 %11090 to i32
  %11092 = load ptr, ptr %15, align 8, !tbaa !5
  %11093 = load i32, ptr %19, align 4, !tbaa !14
  %11094 = add nsw i32 %11093, 9
  %11095 = sext i32 %11094 to i64
  %11096 = getelementptr inbounds i8, ptr %11092, i64 %11095
  %11097 = load i8, ptr %11096, align 1, !tbaa !15
  %11098 = zext i8 %11097 to i64
  %11099 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11098
  %11100 = load i32, ptr %11099, align 4, !tbaa !14
  %11101 = add nsw i32 %11091, %11100
  store i32 %11101, ptr %16, align 4, !tbaa !14
  %11102 = load i32, ptr %16, align 4, !tbaa !14
  %11103 = icmp slt i32 %11102, 0
  br i1 %11103, label %11104, label %11105

11104:                                            ; preds = %11077
  br label %11113

11105:                                            ; preds = %11077
  %11106 = load i32, ptr %16, align 4, !tbaa !14
  %11107 = icmp sgt i32 %11106, 255
  br i1 %11107, label %11108, label %11109

11108:                                            ; preds = %11105
  br label %11111

11109:                                            ; preds = %11105
  %11110 = load i32, ptr %16, align 4, !tbaa !14
  br label %11111

11111:                                            ; preds = %11109, %11108
  %11112 = phi i32 [ 255, %11108 ], [ %11110, %11109 ]
  br label %11113

11113:                                            ; preds = %11111, %11104
  %11114 = phi i32 [ 0, %11104 ], [ %11112, %11111 ]
  %11115 = trunc i32 %11114 to i8
  %11116 = load ptr, ptr %12, align 8, !tbaa !5
  %11117 = load i32, ptr %19, align 4, !tbaa !14
  %11118 = add nsw i32 %11117, 9
  %11119 = sext i32 %11118 to i64
  %11120 = getelementptr inbounds i8, ptr %11116, i64 %11119
  store i8 %11115, ptr %11120, align 1, !tbaa !15
  %11121 = load ptr, ptr %13, align 8, !tbaa !5
  %11122 = load i32, ptr %19, align 4, !tbaa !14
  %11123 = add nsw i32 %11122, 9
  %11124 = sext i32 %11123 to i64
  %11125 = getelementptr inbounds i8, ptr %11121, i64 %11124
  %11126 = load i8, ptr %11125, align 1, !tbaa !15
  %11127 = zext i8 %11126 to i32
  %11128 = load ptr, ptr %14, align 8, !tbaa !5
  %11129 = load i32, ptr %19, align 4, !tbaa !14
  %11130 = add nsw i32 %11129, 9
  %11131 = sext i32 %11130 to i64
  %11132 = getelementptr inbounds i8, ptr %11128, i64 %11131
  %11133 = load i8, ptr %11132, align 1, !tbaa !15
  %11134 = zext i8 %11133 to i64
  %11135 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11134
  %11136 = load i32, ptr %11135, align 4, !tbaa !14
  %11137 = sub nsw i32 %11127, %11136
  %11138 = load ptr, ptr %15, align 8, !tbaa !5
  %11139 = load i32, ptr %19, align 4, !tbaa !14
  %11140 = add nsw i32 %11139, 9
  %11141 = sext i32 %11140 to i64
  %11142 = getelementptr inbounds i8, ptr %11138, i64 %11141
  %11143 = load i8, ptr %11142, align 1, !tbaa !15
  %11144 = zext i8 %11143 to i64
  %11145 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11144
  %11146 = load i32, ptr %11145, align 4, !tbaa !14
  %11147 = sub nsw i32 %11137, %11146
  store i32 %11147, ptr %17, align 4, !tbaa !14
  %11148 = load i32, ptr %17, align 4, !tbaa !14
  %11149 = icmp slt i32 %11148, 0
  br i1 %11149, label %11150, label %11151

11150:                                            ; preds = %11113
  br label %11159

11151:                                            ; preds = %11113
  %11152 = load i32, ptr %17, align 4, !tbaa !14
  %11153 = icmp sgt i32 %11152, 255
  br i1 %11153, label %11154, label %11155

11154:                                            ; preds = %11151
  br label %11157

11155:                                            ; preds = %11151
  %11156 = load i32, ptr %17, align 4, !tbaa !14
  br label %11157

11157:                                            ; preds = %11155, %11154
  %11158 = phi i32 [ 255, %11154 ], [ %11156, %11155 ]
  br label %11159

11159:                                            ; preds = %11157, %11150
  %11160 = phi i32 [ 0, %11150 ], [ %11158, %11157 ]
  %11161 = trunc i32 %11160 to i8
  %11162 = load ptr, ptr %11, align 8, !tbaa !5
  %11163 = load i32, ptr %19, align 4, !tbaa !14
  %11164 = add nsw i32 %11163, 9
  %11165 = sext i32 %11164 to i64
  %11166 = getelementptr inbounds i8, ptr %11162, i64 %11165
  store i8 %11161, ptr %11166, align 1, !tbaa !15
  %11167 = load ptr, ptr %13, align 8, !tbaa !5
  %11168 = load i32, ptr %19, align 4, !tbaa !14
  %11169 = add nsw i32 %11168, 9
  %11170 = sext i32 %11169 to i64
  %11171 = getelementptr inbounds i8, ptr %11167, i64 %11170
  %11172 = load i8, ptr %11171, align 1, !tbaa !15
  %11173 = zext i8 %11172 to i32
  %11174 = load ptr, ptr %14, align 8, !tbaa !5
  %11175 = load i32, ptr %19, align 4, !tbaa !14
  %11176 = add nsw i32 %11175, 9
  %11177 = sext i32 %11176 to i64
  %11178 = getelementptr inbounds i8, ptr %11174, i64 %11177
  %11179 = load i8, ptr %11178, align 1, !tbaa !15
  %11180 = zext i8 %11179 to i64
  %11181 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11180
  %11182 = load i32, ptr %11181, align 4, !tbaa !14
  %11183 = add nsw i32 %11173, %11182
  store i32 %11183, ptr %18, align 4, !tbaa !14
  %11184 = load i32, ptr %18, align 4, !tbaa !14
  %11185 = icmp slt i32 %11184, 0
  br i1 %11185, label %11186, label %11187

11186:                                            ; preds = %11159
  br label %11195

11187:                                            ; preds = %11159
  %11188 = load i32, ptr %18, align 4, !tbaa !14
  %11189 = icmp sgt i32 %11188, 255
  br i1 %11189, label %11190, label %11191

11190:                                            ; preds = %11187
  br label %11193

11191:                                            ; preds = %11187
  %11192 = load i32, ptr %18, align 4, !tbaa !14
  br label %11193

11193:                                            ; preds = %11191, %11190
  %11194 = phi i32 [ 255, %11190 ], [ %11192, %11191 ]
  br label %11195

11195:                                            ; preds = %11193, %11186
  %11196 = phi i32 [ 0, %11186 ], [ %11194, %11193 ]
  %11197 = trunc i32 %11196 to i8
  %11198 = load ptr, ptr %10, align 8, !tbaa !5
  %11199 = load i32, ptr %19, align 4, !tbaa !14
  %11200 = add nsw i32 %11199, 9
  %11201 = sext i32 %11200 to i64
  %11202 = getelementptr inbounds i8, ptr %11198, i64 %11201
  store i8 %11197, ptr %11202, align 1, !tbaa !15
  %11203 = load ptr, ptr %13, align 8, !tbaa !5
  %11204 = load i32, ptr %19, align 4, !tbaa !14
  %11205 = add nsw i32 %11204, 10
  %11206 = sext i32 %11205 to i64
  %11207 = getelementptr inbounds i8, ptr %11203, i64 %11206
  %11208 = load i8, ptr %11207, align 1, !tbaa !15
  %11209 = zext i8 %11208 to i32
  %11210 = load ptr, ptr %15, align 8, !tbaa !5
  %11211 = load i32, ptr %19, align 4, !tbaa !14
  %11212 = add nsw i32 %11211, 10
  %11213 = sext i32 %11212 to i64
  %11214 = getelementptr inbounds i8, ptr %11210, i64 %11213
  %11215 = load i8, ptr %11214, align 1, !tbaa !15
  %11216 = zext i8 %11215 to i64
  %11217 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11216
  %11218 = load i32, ptr %11217, align 4, !tbaa !14
  %11219 = add nsw i32 %11209, %11218
  store i32 %11219, ptr %16, align 4, !tbaa !14
  %11220 = load i32, ptr %16, align 4, !tbaa !14
  %11221 = icmp slt i32 %11220, 0
  br i1 %11221, label %11222, label %11223

11222:                                            ; preds = %11195
  br label %11231

11223:                                            ; preds = %11195
  %11224 = load i32, ptr %16, align 4, !tbaa !14
  %11225 = icmp sgt i32 %11224, 255
  br i1 %11225, label %11226, label %11227

11226:                                            ; preds = %11223
  br label %11229

11227:                                            ; preds = %11223
  %11228 = load i32, ptr %16, align 4, !tbaa !14
  br label %11229

11229:                                            ; preds = %11227, %11226
  %11230 = phi i32 [ 255, %11226 ], [ %11228, %11227 ]
  br label %11231

11231:                                            ; preds = %11229, %11222
  %11232 = phi i32 [ 0, %11222 ], [ %11230, %11229 ]
  %11233 = trunc i32 %11232 to i8
  %11234 = load ptr, ptr %12, align 8, !tbaa !5
  %11235 = load i32, ptr %19, align 4, !tbaa !14
  %11236 = add nsw i32 %11235, 10
  %11237 = sext i32 %11236 to i64
  %11238 = getelementptr inbounds i8, ptr %11234, i64 %11237
  store i8 %11233, ptr %11238, align 1, !tbaa !15
  %11239 = load ptr, ptr %13, align 8, !tbaa !5
  %11240 = load i32, ptr %19, align 4, !tbaa !14
  %11241 = add nsw i32 %11240, 10
  %11242 = sext i32 %11241 to i64
  %11243 = getelementptr inbounds i8, ptr %11239, i64 %11242
  %11244 = load i8, ptr %11243, align 1, !tbaa !15
  %11245 = zext i8 %11244 to i32
  %11246 = load ptr, ptr %14, align 8, !tbaa !5
  %11247 = load i32, ptr %19, align 4, !tbaa !14
  %11248 = add nsw i32 %11247, 10
  %11249 = sext i32 %11248 to i64
  %11250 = getelementptr inbounds i8, ptr %11246, i64 %11249
  %11251 = load i8, ptr %11250, align 1, !tbaa !15
  %11252 = zext i8 %11251 to i64
  %11253 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11252
  %11254 = load i32, ptr %11253, align 4, !tbaa !14
  %11255 = sub nsw i32 %11245, %11254
  %11256 = load ptr, ptr %15, align 8, !tbaa !5
  %11257 = load i32, ptr %19, align 4, !tbaa !14
  %11258 = add nsw i32 %11257, 10
  %11259 = sext i32 %11258 to i64
  %11260 = getelementptr inbounds i8, ptr %11256, i64 %11259
  %11261 = load i8, ptr %11260, align 1, !tbaa !15
  %11262 = zext i8 %11261 to i64
  %11263 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11262
  %11264 = load i32, ptr %11263, align 4, !tbaa !14
  %11265 = sub nsw i32 %11255, %11264
  store i32 %11265, ptr %17, align 4, !tbaa !14
  %11266 = load i32, ptr %17, align 4, !tbaa !14
  %11267 = icmp slt i32 %11266, 0
  br i1 %11267, label %11268, label %11269

11268:                                            ; preds = %11231
  br label %11277

11269:                                            ; preds = %11231
  %11270 = load i32, ptr %17, align 4, !tbaa !14
  %11271 = icmp sgt i32 %11270, 255
  br i1 %11271, label %11272, label %11273

11272:                                            ; preds = %11269
  br label %11275

11273:                                            ; preds = %11269
  %11274 = load i32, ptr %17, align 4, !tbaa !14
  br label %11275

11275:                                            ; preds = %11273, %11272
  %11276 = phi i32 [ 255, %11272 ], [ %11274, %11273 ]
  br label %11277

11277:                                            ; preds = %11275, %11268
  %11278 = phi i32 [ 0, %11268 ], [ %11276, %11275 ]
  %11279 = trunc i32 %11278 to i8
  %11280 = load ptr, ptr %11, align 8, !tbaa !5
  %11281 = load i32, ptr %19, align 4, !tbaa !14
  %11282 = add nsw i32 %11281, 10
  %11283 = sext i32 %11282 to i64
  %11284 = getelementptr inbounds i8, ptr %11280, i64 %11283
  store i8 %11279, ptr %11284, align 1, !tbaa !15
  %11285 = load ptr, ptr %13, align 8, !tbaa !5
  %11286 = load i32, ptr %19, align 4, !tbaa !14
  %11287 = add nsw i32 %11286, 10
  %11288 = sext i32 %11287 to i64
  %11289 = getelementptr inbounds i8, ptr %11285, i64 %11288
  %11290 = load i8, ptr %11289, align 1, !tbaa !15
  %11291 = zext i8 %11290 to i32
  %11292 = load ptr, ptr %14, align 8, !tbaa !5
  %11293 = load i32, ptr %19, align 4, !tbaa !14
  %11294 = add nsw i32 %11293, 10
  %11295 = sext i32 %11294 to i64
  %11296 = getelementptr inbounds i8, ptr %11292, i64 %11295
  %11297 = load i8, ptr %11296, align 1, !tbaa !15
  %11298 = zext i8 %11297 to i64
  %11299 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11298
  %11300 = load i32, ptr %11299, align 4, !tbaa !14
  %11301 = add nsw i32 %11291, %11300
  store i32 %11301, ptr %18, align 4, !tbaa !14
  %11302 = load i32, ptr %18, align 4, !tbaa !14
  %11303 = icmp slt i32 %11302, 0
  br i1 %11303, label %11304, label %11305

11304:                                            ; preds = %11277
  br label %11313

11305:                                            ; preds = %11277
  %11306 = load i32, ptr %18, align 4, !tbaa !14
  %11307 = icmp sgt i32 %11306, 255
  br i1 %11307, label %11308, label %11309

11308:                                            ; preds = %11305
  br label %11311

11309:                                            ; preds = %11305
  %11310 = load i32, ptr %18, align 4, !tbaa !14
  br label %11311

11311:                                            ; preds = %11309, %11308
  %11312 = phi i32 [ 255, %11308 ], [ %11310, %11309 ]
  br label %11313

11313:                                            ; preds = %11311, %11304
  %11314 = phi i32 [ 0, %11304 ], [ %11312, %11311 ]
  %11315 = trunc i32 %11314 to i8
  %11316 = load ptr, ptr %10, align 8, !tbaa !5
  %11317 = load i32, ptr %19, align 4, !tbaa !14
  %11318 = add nsw i32 %11317, 10
  %11319 = sext i32 %11318 to i64
  %11320 = getelementptr inbounds i8, ptr %11316, i64 %11319
  store i8 %11315, ptr %11320, align 1, !tbaa !15
  %11321 = load ptr, ptr %13, align 8, !tbaa !5
  %11322 = load i32, ptr %19, align 4, !tbaa !14
  %11323 = add nsw i32 %11322, 11
  %11324 = sext i32 %11323 to i64
  %11325 = getelementptr inbounds i8, ptr %11321, i64 %11324
  %11326 = load i8, ptr %11325, align 1, !tbaa !15
  %11327 = zext i8 %11326 to i32
  %11328 = load ptr, ptr %15, align 8, !tbaa !5
  %11329 = load i32, ptr %19, align 4, !tbaa !14
  %11330 = add nsw i32 %11329, 11
  %11331 = sext i32 %11330 to i64
  %11332 = getelementptr inbounds i8, ptr %11328, i64 %11331
  %11333 = load i8, ptr %11332, align 1, !tbaa !15
  %11334 = zext i8 %11333 to i64
  %11335 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11334
  %11336 = load i32, ptr %11335, align 4, !tbaa !14
  %11337 = add nsw i32 %11327, %11336
  store i32 %11337, ptr %16, align 4, !tbaa !14
  %11338 = load i32, ptr %16, align 4, !tbaa !14
  %11339 = icmp slt i32 %11338, 0
  br i1 %11339, label %11340, label %11341

11340:                                            ; preds = %11313
  br label %11349

11341:                                            ; preds = %11313
  %11342 = load i32, ptr %16, align 4, !tbaa !14
  %11343 = icmp sgt i32 %11342, 255
  br i1 %11343, label %11344, label %11345

11344:                                            ; preds = %11341
  br label %11347

11345:                                            ; preds = %11341
  %11346 = load i32, ptr %16, align 4, !tbaa !14
  br label %11347

11347:                                            ; preds = %11345, %11344
  %11348 = phi i32 [ 255, %11344 ], [ %11346, %11345 ]
  br label %11349

11349:                                            ; preds = %11347, %11340
  %11350 = phi i32 [ 0, %11340 ], [ %11348, %11347 ]
  %11351 = trunc i32 %11350 to i8
  %11352 = load ptr, ptr %12, align 8, !tbaa !5
  %11353 = load i32, ptr %19, align 4, !tbaa !14
  %11354 = add nsw i32 %11353, 11
  %11355 = sext i32 %11354 to i64
  %11356 = getelementptr inbounds i8, ptr %11352, i64 %11355
  store i8 %11351, ptr %11356, align 1, !tbaa !15
  %11357 = load ptr, ptr %13, align 8, !tbaa !5
  %11358 = load i32, ptr %19, align 4, !tbaa !14
  %11359 = add nsw i32 %11358, 11
  %11360 = sext i32 %11359 to i64
  %11361 = getelementptr inbounds i8, ptr %11357, i64 %11360
  %11362 = load i8, ptr %11361, align 1, !tbaa !15
  %11363 = zext i8 %11362 to i32
  %11364 = load ptr, ptr %14, align 8, !tbaa !5
  %11365 = load i32, ptr %19, align 4, !tbaa !14
  %11366 = add nsw i32 %11365, 11
  %11367 = sext i32 %11366 to i64
  %11368 = getelementptr inbounds i8, ptr %11364, i64 %11367
  %11369 = load i8, ptr %11368, align 1, !tbaa !15
  %11370 = zext i8 %11369 to i64
  %11371 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11370
  %11372 = load i32, ptr %11371, align 4, !tbaa !14
  %11373 = sub nsw i32 %11363, %11372
  %11374 = load ptr, ptr %15, align 8, !tbaa !5
  %11375 = load i32, ptr %19, align 4, !tbaa !14
  %11376 = add nsw i32 %11375, 11
  %11377 = sext i32 %11376 to i64
  %11378 = getelementptr inbounds i8, ptr %11374, i64 %11377
  %11379 = load i8, ptr %11378, align 1, !tbaa !15
  %11380 = zext i8 %11379 to i64
  %11381 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11380
  %11382 = load i32, ptr %11381, align 4, !tbaa !14
  %11383 = sub nsw i32 %11373, %11382
  store i32 %11383, ptr %17, align 4, !tbaa !14
  %11384 = load i32, ptr %17, align 4, !tbaa !14
  %11385 = icmp slt i32 %11384, 0
  br i1 %11385, label %11386, label %11387

11386:                                            ; preds = %11349
  br label %11395

11387:                                            ; preds = %11349
  %11388 = load i32, ptr %17, align 4, !tbaa !14
  %11389 = icmp sgt i32 %11388, 255
  br i1 %11389, label %11390, label %11391

11390:                                            ; preds = %11387
  br label %11393

11391:                                            ; preds = %11387
  %11392 = load i32, ptr %17, align 4, !tbaa !14
  br label %11393

11393:                                            ; preds = %11391, %11390
  %11394 = phi i32 [ 255, %11390 ], [ %11392, %11391 ]
  br label %11395

11395:                                            ; preds = %11393, %11386
  %11396 = phi i32 [ 0, %11386 ], [ %11394, %11393 ]
  %11397 = trunc i32 %11396 to i8
  %11398 = load ptr, ptr %11, align 8, !tbaa !5
  %11399 = load i32, ptr %19, align 4, !tbaa !14
  %11400 = add nsw i32 %11399, 11
  %11401 = sext i32 %11400 to i64
  %11402 = getelementptr inbounds i8, ptr %11398, i64 %11401
  store i8 %11397, ptr %11402, align 1, !tbaa !15
  %11403 = load ptr, ptr %13, align 8, !tbaa !5
  %11404 = load i32, ptr %19, align 4, !tbaa !14
  %11405 = add nsw i32 %11404, 11
  %11406 = sext i32 %11405 to i64
  %11407 = getelementptr inbounds i8, ptr %11403, i64 %11406
  %11408 = load i8, ptr %11407, align 1, !tbaa !15
  %11409 = zext i8 %11408 to i32
  %11410 = load ptr, ptr %14, align 8, !tbaa !5
  %11411 = load i32, ptr %19, align 4, !tbaa !14
  %11412 = add nsw i32 %11411, 11
  %11413 = sext i32 %11412 to i64
  %11414 = getelementptr inbounds i8, ptr %11410, i64 %11413
  %11415 = load i8, ptr %11414, align 1, !tbaa !15
  %11416 = zext i8 %11415 to i64
  %11417 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11416
  %11418 = load i32, ptr %11417, align 4, !tbaa !14
  %11419 = add nsw i32 %11409, %11418
  store i32 %11419, ptr %18, align 4, !tbaa !14
  %11420 = load i32, ptr %18, align 4, !tbaa !14
  %11421 = icmp slt i32 %11420, 0
  br i1 %11421, label %11422, label %11423

11422:                                            ; preds = %11395
  br label %11431

11423:                                            ; preds = %11395
  %11424 = load i32, ptr %18, align 4, !tbaa !14
  %11425 = icmp sgt i32 %11424, 255
  br i1 %11425, label %11426, label %11427

11426:                                            ; preds = %11423
  br label %11429

11427:                                            ; preds = %11423
  %11428 = load i32, ptr %18, align 4, !tbaa !14
  br label %11429

11429:                                            ; preds = %11427, %11426
  %11430 = phi i32 [ 255, %11426 ], [ %11428, %11427 ]
  br label %11431

11431:                                            ; preds = %11429, %11422
  %11432 = phi i32 [ 0, %11422 ], [ %11430, %11429 ]
  %11433 = trunc i32 %11432 to i8
  %11434 = load ptr, ptr %10, align 8, !tbaa !5
  %11435 = load i32, ptr %19, align 4, !tbaa !14
  %11436 = add nsw i32 %11435, 11
  %11437 = sext i32 %11436 to i64
  %11438 = getelementptr inbounds i8, ptr %11434, i64 %11437
  store i8 %11433, ptr %11438, align 1, !tbaa !15
  br label %16422

11439:                                            ; preds = %10015
  %11440 = load ptr, ptr %4, align 8, !tbaa !5
  %11441 = getelementptr inbounds %struct.MImage, ptr %11440, i32 0, i32 2
  %11442 = load i32, ptr %11441, align 8, !tbaa !13
  %11443 = load i32, ptr %19, align 4, !tbaa !14
  %11444 = sub nsw i32 %11442, %11443
  %11445 = icmp eq i32 %11444, 13
  br i1 %11445, label %11446, label %12981

11446:                                            ; preds = %11439
  %11447 = load ptr, ptr %13, align 8, !tbaa !5
  %11448 = load i32, ptr %19, align 4, !tbaa !14
  %11449 = add nsw i32 %11448, 0
  %11450 = sext i32 %11449 to i64
  %11451 = getelementptr inbounds i8, ptr %11447, i64 %11450
  %11452 = load i8, ptr %11451, align 1, !tbaa !15
  %11453 = zext i8 %11452 to i32
  %11454 = load ptr, ptr %15, align 8, !tbaa !5
  %11455 = load i32, ptr %19, align 4, !tbaa !14
  %11456 = add nsw i32 %11455, 0
  %11457 = sext i32 %11456 to i64
  %11458 = getelementptr inbounds i8, ptr %11454, i64 %11457
  %11459 = load i8, ptr %11458, align 1, !tbaa !15
  %11460 = zext i8 %11459 to i64
  %11461 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11460
  %11462 = load i32, ptr %11461, align 4, !tbaa !14
  %11463 = add nsw i32 %11453, %11462
  store i32 %11463, ptr %16, align 4, !tbaa !14
  %11464 = load i32, ptr %16, align 4, !tbaa !14
  %11465 = icmp slt i32 %11464, 0
  br i1 %11465, label %11466, label %11467

11466:                                            ; preds = %11446
  br label %11475

11467:                                            ; preds = %11446
  %11468 = load i32, ptr %16, align 4, !tbaa !14
  %11469 = icmp sgt i32 %11468, 255
  br i1 %11469, label %11470, label %11471

11470:                                            ; preds = %11467
  br label %11473

11471:                                            ; preds = %11467
  %11472 = load i32, ptr %16, align 4, !tbaa !14
  br label %11473

11473:                                            ; preds = %11471, %11470
  %11474 = phi i32 [ 255, %11470 ], [ %11472, %11471 ]
  br label %11475

11475:                                            ; preds = %11473, %11466
  %11476 = phi i32 [ 0, %11466 ], [ %11474, %11473 ]
  %11477 = trunc i32 %11476 to i8
  %11478 = load ptr, ptr %12, align 8, !tbaa !5
  %11479 = load i32, ptr %19, align 4, !tbaa !14
  %11480 = add nsw i32 %11479, 0
  %11481 = sext i32 %11480 to i64
  %11482 = getelementptr inbounds i8, ptr %11478, i64 %11481
  store i8 %11477, ptr %11482, align 1, !tbaa !15
  %11483 = load ptr, ptr %13, align 8, !tbaa !5
  %11484 = load i32, ptr %19, align 4, !tbaa !14
  %11485 = add nsw i32 %11484, 0
  %11486 = sext i32 %11485 to i64
  %11487 = getelementptr inbounds i8, ptr %11483, i64 %11486
  %11488 = load i8, ptr %11487, align 1, !tbaa !15
  %11489 = zext i8 %11488 to i32
  %11490 = load ptr, ptr %14, align 8, !tbaa !5
  %11491 = load i32, ptr %19, align 4, !tbaa !14
  %11492 = add nsw i32 %11491, 0
  %11493 = sext i32 %11492 to i64
  %11494 = getelementptr inbounds i8, ptr %11490, i64 %11493
  %11495 = load i8, ptr %11494, align 1, !tbaa !15
  %11496 = zext i8 %11495 to i64
  %11497 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11496
  %11498 = load i32, ptr %11497, align 4, !tbaa !14
  %11499 = sub nsw i32 %11489, %11498
  %11500 = load ptr, ptr %15, align 8, !tbaa !5
  %11501 = load i32, ptr %19, align 4, !tbaa !14
  %11502 = add nsw i32 %11501, 0
  %11503 = sext i32 %11502 to i64
  %11504 = getelementptr inbounds i8, ptr %11500, i64 %11503
  %11505 = load i8, ptr %11504, align 1, !tbaa !15
  %11506 = zext i8 %11505 to i64
  %11507 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11506
  %11508 = load i32, ptr %11507, align 4, !tbaa !14
  %11509 = sub nsw i32 %11499, %11508
  store i32 %11509, ptr %17, align 4, !tbaa !14
  %11510 = load i32, ptr %17, align 4, !tbaa !14
  %11511 = icmp slt i32 %11510, 0
  br i1 %11511, label %11512, label %11513

11512:                                            ; preds = %11475
  br label %11521

11513:                                            ; preds = %11475
  %11514 = load i32, ptr %17, align 4, !tbaa !14
  %11515 = icmp sgt i32 %11514, 255
  br i1 %11515, label %11516, label %11517

11516:                                            ; preds = %11513
  br label %11519

11517:                                            ; preds = %11513
  %11518 = load i32, ptr %17, align 4, !tbaa !14
  br label %11519

11519:                                            ; preds = %11517, %11516
  %11520 = phi i32 [ 255, %11516 ], [ %11518, %11517 ]
  br label %11521

11521:                                            ; preds = %11519, %11512
  %11522 = phi i32 [ 0, %11512 ], [ %11520, %11519 ]
  %11523 = trunc i32 %11522 to i8
  %11524 = load ptr, ptr %11, align 8, !tbaa !5
  %11525 = load i32, ptr %19, align 4, !tbaa !14
  %11526 = add nsw i32 %11525, 0
  %11527 = sext i32 %11526 to i64
  %11528 = getelementptr inbounds i8, ptr %11524, i64 %11527
  store i8 %11523, ptr %11528, align 1, !tbaa !15
  %11529 = load ptr, ptr %13, align 8, !tbaa !5
  %11530 = load i32, ptr %19, align 4, !tbaa !14
  %11531 = add nsw i32 %11530, 0
  %11532 = sext i32 %11531 to i64
  %11533 = getelementptr inbounds i8, ptr %11529, i64 %11532
  %11534 = load i8, ptr %11533, align 1, !tbaa !15
  %11535 = zext i8 %11534 to i32
  %11536 = load ptr, ptr %14, align 8, !tbaa !5
  %11537 = load i32, ptr %19, align 4, !tbaa !14
  %11538 = add nsw i32 %11537, 0
  %11539 = sext i32 %11538 to i64
  %11540 = getelementptr inbounds i8, ptr %11536, i64 %11539
  %11541 = load i8, ptr %11540, align 1, !tbaa !15
  %11542 = zext i8 %11541 to i64
  %11543 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11542
  %11544 = load i32, ptr %11543, align 4, !tbaa !14
  %11545 = add nsw i32 %11535, %11544
  store i32 %11545, ptr %18, align 4, !tbaa !14
  %11546 = load i32, ptr %18, align 4, !tbaa !14
  %11547 = icmp slt i32 %11546, 0
  br i1 %11547, label %11548, label %11549

11548:                                            ; preds = %11521
  br label %11557

11549:                                            ; preds = %11521
  %11550 = load i32, ptr %18, align 4, !tbaa !14
  %11551 = icmp sgt i32 %11550, 255
  br i1 %11551, label %11552, label %11553

11552:                                            ; preds = %11549
  br label %11555

11553:                                            ; preds = %11549
  %11554 = load i32, ptr %18, align 4, !tbaa !14
  br label %11555

11555:                                            ; preds = %11553, %11552
  %11556 = phi i32 [ 255, %11552 ], [ %11554, %11553 ]
  br label %11557

11557:                                            ; preds = %11555, %11548
  %11558 = phi i32 [ 0, %11548 ], [ %11556, %11555 ]
  %11559 = trunc i32 %11558 to i8
  %11560 = load ptr, ptr %10, align 8, !tbaa !5
  %11561 = load i32, ptr %19, align 4, !tbaa !14
  %11562 = add nsw i32 %11561, 0
  %11563 = sext i32 %11562 to i64
  %11564 = getelementptr inbounds i8, ptr %11560, i64 %11563
  store i8 %11559, ptr %11564, align 1, !tbaa !15
  %11565 = load ptr, ptr %13, align 8, !tbaa !5
  %11566 = load i32, ptr %19, align 4, !tbaa !14
  %11567 = add nsw i32 %11566, 1
  %11568 = sext i32 %11567 to i64
  %11569 = getelementptr inbounds i8, ptr %11565, i64 %11568
  %11570 = load i8, ptr %11569, align 1, !tbaa !15
  %11571 = zext i8 %11570 to i32
  %11572 = load ptr, ptr %15, align 8, !tbaa !5
  %11573 = load i32, ptr %19, align 4, !tbaa !14
  %11574 = add nsw i32 %11573, 1
  %11575 = sext i32 %11574 to i64
  %11576 = getelementptr inbounds i8, ptr %11572, i64 %11575
  %11577 = load i8, ptr %11576, align 1, !tbaa !15
  %11578 = zext i8 %11577 to i64
  %11579 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11578
  %11580 = load i32, ptr %11579, align 4, !tbaa !14
  %11581 = add nsw i32 %11571, %11580
  store i32 %11581, ptr %16, align 4, !tbaa !14
  %11582 = load i32, ptr %16, align 4, !tbaa !14
  %11583 = icmp slt i32 %11582, 0
  br i1 %11583, label %11584, label %11585

11584:                                            ; preds = %11557
  br label %11593

11585:                                            ; preds = %11557
  %11586 = load i32, ptr %16, align 4, !tbaa !14
  %11587 = icmp sgt i32 %11586, 255
  br i1 %11587, label %11588, label %11589

11588:                                            ; preds = %11585
  br label %11591

11589:                                            ; preds = %11585
  %11590 = load i32, ptr %16, align 4, !tbaa !14
  br label %11591

11591:                                            ; preds = %11589, %11588
  %11592 = phi i32 [ 255, %11588 ], [ %11590, %11589 ]
  br label %11593

11593:                                            ; preds = %11591, %11584
  %11594 = phi i32 [ 0, %11584 ], [ %11592, %11591 ]
  %11595 = trunc i32 %11594 to i8
  %11596 = load ptr, ptr %12, align 8, !tbaa !5
  %11597 = load i32, ptr %19, align 4, !tbaa !14
  %11598 = add nsw i32 %11597, 1
  %11599 = sext i32 %11598 to i64
  %11600 = getelementptr inbounds i8, ptr %11596, i64 %11599
  store i8 %11595, ptr %11600, align 1, !tbaa !15
  %11601 = load ptr, ptr %13, align 8, !tbaa !5
  %11602 = load i32, ptr %19, align 4, !tbaa !14
  %11603 = add nsw i32 %11602, 1
  %11604 = sext i32 %11603 to i64
  %11605 = getelementptr inbounds i8, ptr %11601, i64 %11604
  %11606 = load i8, ptr %11605, align 1, !tbaa !15
  %11607 = zext i8 %11606 to i32
  %11608 = load ptr, ptr %14, align 8, !tbaa !5
  %11609 = load i32, ptr %19, align 4, !tbaa !14
  %11610 = add nsw i32 %11609, 1
  %11611 = sext i32 %11610 to i64
  %11612 = getelementptr inbounds i8, ptr %11608, i64 %11611
  %11613 = load i8, ptr %11612, align 1, !tbaa !15
  %11614 = zext i8 %11613 to i64
  %11615 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11614
  %11616 = load i32, ptr %11615, align 4, !tbaa !14
  %11617 = sub nsw i32 %11607, %11616
  %11618 = load ptr, ptr %15, align 8, !tbaa !5
  %11619 = load i32, ptr %19, align 4, !tbaa !14
  %11620 = add nsw i32 %11619, 1
  %11621 = sext i32 %11620 to i64
  %11622 = getelementptr inbounds i8, ptr %11618, i64 %11621
  %11623 = load i8, ptr %11622, align 1, !tbaa !15
  %11624 = zext i8 %11623 to i64
  %11625 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11624
  %11626 = load i32, ptr %11625, align 4, !tbaa !14
  %11627 = sub nsw i32 %11617, %11626
  store i32 %11627, ptr %17, align 4, !tbaa !14
  %11628 = load i32, ptr %17, align 4, !tbaa !14
  %11629 = icmp slt i32 %11628, 0
  br i1 %11629, label %11630, label %11631

11630:                                            ; preds = %11593
  br label %11639

11631:                                            ; preds = %11593
  %11632 = load i32, ptr %17, align 4, !tbaa !14
  %11633 = icmp sgt i32 %11632, 255
  br i1 %11633, label %11634, label %11635

11634:                                            ; preds = %11631
  br label %11637

11635:                                            ; preds = %11631
  %11636 = load i32, ptr %17, align 4, !tbaa !14
  br label %11637

11637:                                            ; preds = %11635, %11634
  %11638 = phi i32 [ 255, %11634 ], [ %11636, %11635 ]
  br label %11639

11639:                                            ; preds = %11637, %11630
  %11640 = phi i32 [ 0, %11630 ], [ %11638, %11637 ]
  %11641 = trunc i32 %11640 to i8
  %11642 = load ptr, ptr %11, align 8, !tbaa !5
  %11643 = load i32, ptr %19, align 4, !tbaa !14
  %11644 = add nsw i32 %11643, 1
  %11645 = sext i32 %11644 to i64
  %11646 = getelementptr inbounds i8, ptr %11642, i64 %11645
  store i8 %11641, ptr %11646, align 1, !tbaa !15
  %11647 = load ptr, ptr %13, align 8, !tbaa !5
  %11648 = load i32, ptr %19, align 4, !tbaa !14
  %11649 = add nsw i32 %11648, 1
  %11650 = sext i32 %11649 to i64
  %11651 = getelementptr inbounds i8, ptr %11647, i64 %11650
  %11652 = load i8, ptr %11651, align 1, !tbaa !15
  %11653 = zext i8 %11652 to i32
  %11654 = load ptr, ptr %14, align 8, !tbaa !5
  %11655 = load i32, ptr %19, align 4, !tbaa !14
  %11656 = add nsw i32 %11655, 1
  %11657 = sext i32 %11656 to i64
  %11658 = getelementptr inbounds i8, ptr %11654, i64 %11657
  %11659 = load i8, ptr %11658, align 1, !tbaa !15
  %11660 = zext i8 %11659 to i64
  %11661 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11660
  %11662 = load i32, ptr %11661, align 4, !tbaa !14
  %11663 = add nsw i32 %11653, %11662
  store i32 %11663, ptr %18, align 4, !tbaa !14
  %11664 = load i32, ptr %18, align 4, !tbaa !14
  %11665 = icmp slt i32 %11664, 0
  br i1 %11665, label %11666, label %11667

11666:                                            ; preds = %11639
  br label %11675

11667:                                            ; preds = %11639
  %11668 = load i32, ptr %18, align 4, !tbaa !14
  %11669 = icmp sgt i32 %11668, 255
  br i1 %11669, label %11670, label %11671

11670:                                            ; preds = %11667
  br label %11673

11671:                                            ; preds = %11667
  %11672 = load i32, ptr %18, align 4, !tbaa !14
  br label %11673

11673:                                            ; preds = %11671, %11670
  %11674 = phi i32 [ 255, %11670 ], [ %11672, %11671 ]
  br label %11675

11675:                                            ; preds = %11673, %11666
  %11676 = phi i32 [ 0, %11666 ], [ %11674, %11673 ]
  %11677 = trunc i32 %11676 to i8
  %11678 = load ptr, ptr %10, align 8, !tbaa !5
  %11679 = load i32, ptr %19, align 4, !tbaa !14
  %11680 = add nsw i32 %11679, 1
  %11681 = sext i32 %11680 to i64
  %11682 = getelementptr inbounds i8, ptr %11678, i64 %11681
  store i8 %11677, ptr %11682, align 1, !tbaa !15
  %11683 = load ptr, ptr %13, align 8, !tbaa !5
  %11684 = load i32, ptr %19, align 4, !tbaa !14
  %11685 = add nsw i32 %11684, 2
  %11686 = sext i32 %11685 to i64
  %11687 = getelementptr inbounds i8, ptr %11683, i64 %11686
  %11688 = load i8, ptr %11687, align 1, !tbaa !15
  %11689 = zext i8 %11688 to i32
  %11690 = load ptr, ptr %15, align 8, !tbaa !5
  %11691 = load i32, ptr %19, align 4, !tbaa !14
  %11692 = add nsw i32 %11691, 2
  %11693 = sext i32 %11692 to i64
  %11694 = getelementptr inbounds i8, ptr %11690, i64 %11693
  %11695 = load i8, ptr %11694, align 1, !tbaa !15
  %11696 = zext i8 %11695 to i64
  %11697 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11696
  %11698 = load i32, ptr %11697, align 4, !tbaa !14
  %11699 = add nsw i32 %11689, %11698
  store i32 %11699, ptr %16, align 4, !tbaa !14
  %11700 = load i32, ptr %16, align 4, !tbaa !14
  %11701 = icmp slt i32 %11700, 0
  br i1 %11701, label %11702, label %11703

11702:                                            ; preds = %11675
  br label %11711

11703:                                            ; preds = %11675
  %11704 = load i32, ptr %16, align 4, !tbaa !14
  %11705 = icmp sgt i32 %11704, 255
  br i1 %11705, label %11706, label %11707

11706:                                            ; preds = %11703
  br label %11709

11707:                                            ; preds = %11703
  %11708 = load i32, ptr %16, align 4, !tbaa !14
  br label %11709

11709:                                            ; preds = %11707, %11706
  %11710 = phi i32 [ 255, %11706 ], [ %11708, %11707 ]
  br label %11711

11711:                                            ; preds = %11709, %11702
  %11712 = phi i32 [ 0, %11702 ], [ %11710, %11709 ]
  %11713 = trunc i32 %11712 to i8
  %11714 = load ptr, ptr %12, align 8, !tbaa !5
  %11715 = load i32, ptr %19, align 4, !tbaa !14
  %11716 = add nsw i32 %11715, 2
  %11717 = sext i32 %11716 to i64
  %11718 = getelementptr inbounds i8, ptr %11714, i64 %11717
  store i8 %11713, ptr %11718, align 1, !tbaa !15
  %11719 = load ptr, ptr %13, align 8, !tbaa !5
  %11720 = load i32, ptr %19, align 4, !tbaa !14
  %11721 = add nsw i32 %11720, 2
  %11722 = sext i32 %11721 to i64
  %11723 = getelementptr inbounds i8, ptr %11719, i64 %11722
  %11724 = load i8, ptr %11723, align 1, !tbaa !15
  %11725 = zext i8 %11724 to i32
  %11726 = load ptr, ptr %14, align 8, !tbaa !5
  %11727 = load i32, ptr %19, align 4, !tbaa !14
  %11728 = add nsw i32 %11727, 2
  %11729 = sext i32 %11728 to i64
  %11730 = getelementptr inbounds i8, ptr %11726, i64 %11729
  %11731 = load i8, ptr %11730, align 1, !tbaa !15
  %11732 = zext i8 %11731 to i64
  %11733 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11732
  %11734 = load i32, ptr %11733, align 4, !tbaa !14
  %11735 = sub nsw i32 %11725, %11734
  %11736 = load ptr, ptr %15, align 8, !tbaa !5
  %11737 = load i32, ptr %19, align 4, !tbaa !14
  %11738 = add nsw i32 %11737, 2
  %11739 = sext i32 %11738 to i64
  %11740 = getelementptr inbounds i8, ptr %11736, i64 %11739
  %11741 = load i8, ptr %11740, align 1, !tbaa !15
  %11742 = zext i8 %11741 to i64
  %11743 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11742
  %11744 = load i32, ptr %11743, align 4, !tbaa !14
  %11745 = sub nsw i32 %11735, %11744
  store i32 %11745, ptr %17, align 4, !tbaa !14
  %11746 = load i32, ptr %17, align 4, !tbaa !14
  %11747 = icmp slt i32 %11746, 0
  br i1 %11747, label %11748, label %11749

11748:                                            ; preds = %11711
  br label %11757

11749:                                            ; preds = %11711
  %11750 = load i32, ptr %17, align 4, !tbaa !14
  %11751 = icmp sgt i32 %11750, 255
  br i1 %11751, label %11752, label %11753

11752:                                            ; preds = %11749
  br label %11755

11753:                                            ; preds = %11749
  %11754 = load i32, ptr %17, align 4, !tbaa !14
  br label %11755

11755:                                            ; preds = %11753, %11752
  %11756 = phi i32 [ 255, %11752 ], [ %11754, %11753 ]
  br label %11757

11757:                                            ; preds = %11755, %11748
  %11758 = phi i32 [ 0, %11748 ], [ %11756, %11755 ]
  %11759 = trunc i32 %11758 to i8
  %11760 = load ptr, ptr %11, align 8, !tbaa !5
  %11761 = load i32, ptr %19, align 4, !tbaa !14
  %11762 = add nsw i32 %11761, 2
  %11763 = sext i32 %11762 to i64
  %11764 = getelementptr inbounds i8, ptr %11760, i64 %11763
  store i8 %11759, ptr %11764, align 1, !tbaa !15
  %11765 = load ptr, ptr %13, align 8, !tbaa !5
  %11766 = load i32, ptr %19, align 4, !tbaa !14
  %11767 = add nsw i32 %11766, 2
  %11768 = sext i32 %11767 to i64
  %11769 = getelementptr inbounds i8, ptr %11765, i64 %11768
  %11770 = load i8, ptr %11769, align 1, !tbaa !15
  %11771 = zext i8 %11770 to i32
  %11772 = load ptr, ptr %14, align 8, !tbaa !5
  %11773 = load i32, ptr %19, align 4, !tbaa !14
  %11774 = add nsw i32 %11773, 2
  %11775 = sext i32 %11774 to i64
  %11776 = getelementptr inbounds i8, ptr %11772, i64 %11775
  %11777 = load i8, ptr %11776, align 1, !tbaa !15
  %11778 = zext i8 %11777 to i64
  %11779 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11778
  %11780 = load i32, ptr %11779, align 4, !tbaa !14
  %11781 = add nsw i32 %11771, %11780
  store i32 %11781, ptr %18, align 4, !tbaa !14
  %11782 = load i32, ptr %18, align 4, !tbaa !14
  %11783 = icmp slt i32 %11782, 0
  br i1 %11783, label %11784, label %11785

11784:                                            ; preds = %11757
  br label %11793

11785:                                            ; preds = %11757
  %11786 = load i32, ptr %18, align 4, !tbaa !14
  %11787 = icmp sgt i32 %11786, 255
  br i1 %11787, label %11788, label %11789

11788:                                            ; preds = %11785
  br label %11791

11789:                                            ; preds = %11785
  %11790 = load i32, ptr %18, align 4, !tbaa !14
  br label %11791

11791:                                            ; preds = %11789, %11788
  %11792 = phi i32 [ 255, %11788 ], [ %11790, %11789 ]
  br label %11793

11793:                                            ; preds = %11791, %11784
  %11794 = phi i32 [ 0, %11784 ], [ %11792, %11791 ]
  %11795 = trunc i32 %11794 to i8
  %11796 = load ptr, ptr %10, align 8, !tbaa !5
  %11797 = load i32, ptr %19, align 4, !tbaa !14
  %11798 = add nsw i32 %11797, 2
  %11799 = sext i32 %11798 to i64
  %11800 = getelementptr inbounds i8, ptr %11796, i64 %11799
  store i8 %11795, ptr %11800, align 1, !tbaa !15
  %11801 = load ptr, ptr %13, align 8, !tbaa !5
  %11802 = load i32, ptr %19, align 4, !tbaa !14
  %11803 = add nsw i32 %11802, 3
  %11804 = sext i32 %11803 to i64
  %11805 = getelementptr inbounds i8, ptr %11801, i64 %11804
  %11806 = load i8, ptr %11805, align 1, !tbaa !15
  %11807 = zext i8 %11806 to i32
  %11808 = load ptr, ptr %15, align 8, !tbaa !5
  %11809 = load i32, ptr %19, align 4, !tbaa !14
  %11810 = add nsw i32 %11809, 3
  %11811 = sext i32 %11810 to i64
  %11812 = getelementptr inbounds i8, ptr %11808, i64 %11811
  %11813 = load i8, ptr %11812, align 1, !tbaa !15
  %11814 = zext i8 %11813 to i64
  %11815 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11814
  %11816 = load i32, ptr %11815, align 4, !tbaa !14
  %11817 = add nsw i32 %11807, %11816
  store i32 %11817, ptr %16, align 4, !tbaa !14
  %11818 = load i32, ptr %16, align 4, !tbaa !14
  %11819 = icmp slt i32 %11818, 0
  br i1 %11819, label %11820, label %11821

11820:                                            ; preds = %11793
  br label %11829

11821:                                            ; preds = %11793
  %11822 = load i32, ptr %16, align 4, !tbaa !14
  %11823 = icmp sgt i32 %11822, 255
  br i1 %11823, label %11824, label %11825

11824:                                            ; preds = %11821
  br label %11827

11825:                                            ; preds = %11821
  %11826 = load i32, ptr %16, align 4, !tbaa !14
  br label %11827

11827:                                            ; preds = %11825, %11824
  %11828 = phi i32 [ 255, %11824 ], [ %11826, %11825 ]
  br label %11829

11829:                                            ; preds = %11827, %11820
  %11830 = phi i32 [ 0, %11820 ], [ %11828, %11827 ]
  %11831 = trunc i32 %11830 to i8
  %11832 = load ptr, ptr %12, align 8, !tbaa !5
  %11833 = load i32, ptr %19, align 4, !tbaa !14
  %11834 = add nsw i32 %11833, 3
  %11835 = sext i32 %11834 to i64
  %11836 = getelementptr inbounds i8, ptr %11832, i64 %11835
  store i8 %11831, ptr %11836, align 1, !tbaa !15
  %11837 = load ptr, ptr %13, align 8, !tbaa !5
  %11838 = load i32, ptr %19, align 4, !tbaa !14
  %11839 = add nsw i32 %11838, 3
  %11840 = sext i32 %11839 to i64
  %11841 = getelementptr inbounds i8, ptr %11837, i64 %11840
  %11842 = load i8, ptr %11841, align 1, !tbaa !15
  %11843 = zext i8 %11842 to i32
  %11844 = load ptr, ptr %14, align 8, !tbaa !5
  %11845 = load i32, ptr %19, align 4, !tbaa !14
  %11846 = add nsw i32 %11845, 3
  %11847 = sext i32 %11846 to i64
  %11848 = getelementptr inbounds i8, ptr %11844, i64 %11847
  %11849 = load i8, ptr %11848, align 1, !tbaa !15
  %11850 = zext i8 %11849 to i64
  %11851 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11850
  %11852 = load i32, ptr %11851, align 4, !tbaa !14
  %11853 = sub nsw i32 %11843, %11852
  %11854 = load ptr, ptr %15, align 8, !tbaa !5
  %11855 = load i32, ptr %19, align 4, !tbaa !14
  %11856 = add nsw i32 %11855, 3
  %11857 = sext i32 %11856 to i64
  %11858 = getelementptr inbounds i8, ptr %11854, i64 %11857
  %11859 = load i8, ptr %11858, align 1, !tbaa !15
  %11860 = zext i8 %11859 to i64
  %11861 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11860
  %11862 = load i32, ptr %11861, align 4, !tbaa !14
  %11863 = sub nsw i32 %11853, %11862
  store i32 %11863, ptr %17, align 4, !tbaa !14
  %11864 = load i32, ptr %17, align 4, !tbaa !14
  %11865 = icmp slt i32 %11864, 0
  br i1 %11865, label %11866, label %11867

11866:                                            ; preds = %11829
  br label %11875

11867:                                            ; preds = %11829
  %11868 = load i32, ptr %17, align 4, !tbaa !14
  %11869 = icmp sgt i32 %11868, 255
  br i1 %11869, label %11870, label %11871

11870:                                            ; preds = %11867
  br label %11873

11871:                                            ; preds = %11867
  %11872 = load i32, ptr %17, align 4, !tbaa !14
  br label %11873

11873:                                            ; preds = %11871, %11870
  %11874 = phi i32 [ 255, %11870 ], [ %11872, %11871 ]
  br label %11875

11875:                                            ; preds = %11873, %11866
  %11876 = phi i32 [ 0, %11866 ], [ %11874, %11873 ]
  %11877 = trunc i32 %11876 to i8
  %11878 = load ptr, ptr %11, align 8, !tbaa !5
  %11879 = load i32, ptr %19, align 4, !tbaa !14
  %11880 = add nsw i32 %11879, 3
  %11881 = sext i32 %11880 to i64
  %11882 = getelementptr inbounds i8, ptr %11878, i64 %11881
  store i8 %11877, ptr %11882, align 1, !tbaa !15
  %11883 = load ptr, ptr %13, align 8, !tbaa !5
  %11884 = load i32, ptr %19, align 4, !tbaa !14
  %11885 = add nsw i32 %11884, 3
  %11886 = sext i32 %11885 to i64
  %11887 = getelementptr inbounds i8, ptr %11883, i64 %11886
  %11888 = load i8, ptr %11887, align 1, !tbaa !15
  %11889 = zext i8 %11888 to i32
  %11890 = load ptr, ptr %14, align 8, !tbaa !5
  %11891 = load i32, ptr %19, align 4, !tbaa !14
  %11892 = add nsw i32 %11891, 3
  %11893 = sext i32 %11892 to i64
  %11894 = getelementptr inbounds i8, ptr %11890, i64 %11893
  %11895 = load i8, ptr %11894, align 1, !tbaa !15
  %11896 = zext i8 %11895 to i64
  %11897 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %11896
  %11898 = load i32, ptr %11897, align 4, !tbaa !14
  %11899 = add nsw i32 %11889, %11898
  store i32 %11899, ptr %18, align 4, !tbaa !14
  %11900 = load i32, ptr %18, align 4, !tbaa !14
  %11901 = icmp slt i32 %11900, 0
  br i1 %11901, label %11902, label %11903

11902:                                            ; preds = %11875
  br label %11911

11903:                                            ; preds = %11875
  %11904 = load i32, ptr %18, align 4, !tbaa !14
  %11905 = icmp sgt i32 %11904, 255
  br i1 %11905, label %11906, label %11907

11906:                                            ; preds = %11903
  br label %11909

11907:                                            ; preds = %11903
  %11908 = load i32, ptr %18, align 4, !tbaa !14
  br label %11909

11909:                                            ; preds = %11907, %11906
  %11910 = phi i32 [ 255, %11906 ], [ %11908, %11907 ]
  br label %11911

11911:                                            ; preds = %11909, %11902
  %11912 = phi i32 [ 0, %11902 ], [ %11910, %11909 ]
  %11913 = trunc i32 %11912 to i8
  %11914 = load ptr, ptr %10, align 8, !tbaa !5
  %11915 = load i32, ptr %19, align 4, !tbaa !14
  %11916 = add nsw i32 %11915, 3
  %11917 = sext i32 %11916 to i64
  %11918 = getelementptr inbounds i8, ptr %11914, i64 %11917
  store i8 %11913, ptr %11918, align 1, !tbaa !15
  %11919 = load ptr, ptr %13, align 8, !tbaa !5
  %11920 = load i32, ptr %19, align 4, !tbaa !14
  %11921 = add nsw i32 %11920, 4
  %11922 = sext i32 %11921 to i64
  %11923 = getelementptr inbounds i8, ptr %11919, i64 %11922
  %11924 = load i8, ptr %11923, align 1, !tbaa !15
  %11925 = zext i8 %11924 to i32
  %11926 = load ptr, ptr %15, align 8, !tbaa !5
  %11927 = load i32, ptr %19, align 4, !tbaa !14
  %11928 = add nsw i32 %11927, 4
  %11929 = sext i32 %11928 to i64
  %11930 = getelementptr inbounds i8, ptr %11926, i64 %11929
  %11931 = load i8, ptr %11930, align 1, !tbaa !15
  %11932 = zext i8 %11931 to i64
  %11933 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %11932
  %11934 = load i32, ptr %11933, align 4, !tbaa !14
  %11935 = add nsw i32 %11925, %11934
  store i32 %11935, ptr %16, align 4, !tbaa !14
  %11936 = load i32, ptr %16, align 4, !tbaa !14
  %11937 = icmp slt i32 %11936, 0
  br i1 %11937, label %11938, label %11939

11938:                                            ; preds = %11911
  br label %11947

11939:                                            ; preds = %11911
  %11940 = load i32, ptr %16, align 4, !tbaa !14
  %11941 = icmp sgt i32 %11940, 255
  br i1 %11941, label %11942, label %11943

11942:                                            ; preds = %11939
  br label %11945

11943:                                            ; preds = %11939
  %11944 = load i32, ptr %16, align 4, !tbaa !14
  br label %11945

11945:                                            ; preds = %11943, %11942
  %11946 = phi i32 [ 255, %11942 ], [ %11944, %11943 ]
  br label %11947

11947:                                            ; preds = %11945, %11938
  %11948 = phi i32 [ 0, %11938 ], [ %11946, %11945 ]
  %11949 = trunc i32 %11948 to i8
  %11950 = load ptr, ptr %12, align 8, !tbaa !5
  %11951 = load i32, ptr %19, align 4, !tbaa !14
  %11952 = add nsw i32 %11951, 4
  %11953 = sext i32 %11952 to i64
  %11954 = getelementptr inbounds i8, ptr %11950, i64 %11953
  store i8 %11949, ptr %11954, align 1, !tbaa !15
  %11955 = load ptr, ptr %13, align 8, !tbaa !5
  %11956 = load i32, ptr %19, align 4, !tbaa !14
  %11957 = add nsw i32 %11956, 4
  %11958 = sext i32 %11957 to i64
  %11959 = getelementptr inbounds i8, ptr %11955, i64 %11958
  %11960 = load i8, ptr %11959, align 1, !tbaa !15
  %11961 = zext i8 %11960 to i32
  %11962 = load ptr, ptr %14, align 8, !tbaa !5
  %11963 = load i32, ptr %19, align 4, !tbaa !14
  %11964 = add nsw i32 %11963, 4
  %11965 = sext i32 %11964 to i64
  %11966 = getelementptr inbounds i8, ptr %11962, i64 %11965
  %11967 = load i8, ptr %11966, align 1, !tbaa !15
  %11968 = zext i8 %11967 to i64
  %11969 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %11968
  %11970 = load i32, ptr %11969, align 4, !tbaa !14
  %11971 = sub nsw i32 %11961, %11970
  %11972 = load ptr, ptr %15, align 8, !tbaa !5
  %11973 = load i32, ptr %19, align 4, !tbaa !14
  %11974 = add nsw i32 %11973, 4
  %11975 = sext i32 %11974 to i64
  %11976 = getelementptr inbounds i8, ptr %11972, i64 %11975
  %11977 = load i8, ptr %11976, align 1, !tbaa !15
  %11978 = zext i8 %11977 to i64
  %11979 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %11978
  %11980 = load i32, ptr %11979, align 4, !tbaa !14
  %11981 = sub nsw i32 %11971, %11980
  store i32 %11981, ptr %17, align 4, !tbaa !14
  %11982 = load i32, ptr %17, align 4, !tbaa !14
  %11983 = icmp slt i32 %11982, 0
  br i1 %11983, label %11984, label %11985

11984:                                            ; preds = %11947
  br label %11993

11985:                                            ; preds = %11947
  %11986 = load i32, ptr %17, align 4, !tbaa !14
  %11987 = icmp sgt i32 %11986, 255
  br i1 %11987, label %11988, label %11989

11988:                                            ; preds = %11985
  br label %11991

11989:                                            ; preds = %11985
  %11990 = load i32, ptr %17, align 4, !tbaa !14
  br label %11991

11991:                                            ; preds = %11989, %11988
  %11992 = phi i32 [ 255, %11988 ], [ %11990, %11989 ]
  br label %11993

11993:                                            ; preds = %11991, %11984
  %11994 = phi i32 [ 0, %11984 ], [ %11992, %11991 ]
  %11995 = trunc i32 %11994 to i8
  %11996 = load ptr, ptr %11, align 8, !tbaa !5
  %11997 = load i32, ptr %19, align 4, !tbaa !14
  %11998 = add nsw i32 %11997, 4
  %11999 = sext i32 %11998 to i64
  %12000 = getelementptr inbounds i8, ptr %11996, i64 %11999
  store i8 %11995, ptr %12000, align 1, !tbaa !15
  %12001 = load ptr, ptr %13, align 8, !tbaa !5
  %12002 = load i32, ptr %19, align 4, !tbaa !14
  %12003 = add nsw i32 %12002, 4
  %12004 = sext i32 %12003 to i64
  %12005 = getelementptr inbounds i8, ptr %12001, i64 %12004
  %12006 = load i8, ptr %12005, align 1, !tbaa !15
  %12007 = zext i8 %12006 to i32
  %12008 = load ptr, ptr %14, align 8, !tbaa !5
  %12009 = load i32, ptr %19, align 4, !tbaa !14
  %12010 = add nsw i32 %12009, 4
  %12011 = sext i32 %12010 to i64
  %12012 = getelementptr inbounds i8, ptr %12008, i64 %12011
  %12013 = load i8, ptr %12012, align 1, !tbaa !15
  %12014 = zext i8 %12013 to i64
  %12015 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12014
  %12016 = load i32, ptr %12015, align 4, !tbaa !14
  %12017 = add nsw i32 %12007, %12016
  store i32 %12017, ptr %18, align 4, !tbaa !14
  %12018 = load i32, ptr %18, align 4, !tbaa !14
  %12019 = icmp slt i32 %12018, 0
  br i1 %12019, label %12020, label %12021

12020:                                            ; preds = %11993
  br label %12029

12021:                                            ; preds = %11993
  %12022 = load i32, ptr %18, align 4, !tbaa !14
  %12023 = icmp sgt i32 %12022, 255
  br i1 %12023, label %12024, label %12025

12024:                                            ; preds = %12021
  br label %12027

12025:                                            ; preds = %12021
  %12026 = load i32, ptr %18, align 4, !tbaa !14
  br label %12027

12027:                                            ; preds = %12025, %12024
  %12028 = phi i32 [ 255, %12024 ], [ %12026, %12025 ]
  br label %12029

12029:                                            ; preds = %12027, %12020
  %12030 = phi i32 [ 0, %12020 ], [ %12028, %12027 ]
  %12031 = trunc i32 %12030 to i8
  %12032 = load ptr, ptr %10, align 8, !tbaa !5
  %12033 = load i32, ptr %19, align 4, !tbaa !14
  %12034 = add nsw i32 %12033, 4
  %12035 = sext i32 %12034 to i64
  %12036 = getelementptr inbounds i8, ptr %12032, i64 %12035
  store i8 %12031, ptr %12036, align 1, !tbaa !15
  %12037 = load ptr, ptr %13, align 8, !tbaa !5
  %12038 = load i32, ptr %19, align 4, !tbaa !14
  %12039 = add nsw i32 %12038, 5
  %12040 = sext i32 %12039 to i64
  %12041 = getelementptr inbounds i8, ptr %12037, i64 %12040
  %12042 = load i8, ptr %12041, align 1, !tbaa !15
  %12043 = zext i8 %12042 to i32
  %12044 = load ptr, ptr %15, align 8, !tbaa !5
  %12045 = load i32, ptr %19, align 4, !tbaa !14
  %12046 = add nsw i32 %12045, 5
  %12047 = sext i32 %12046 to i64
  %12048 = getelementptr inbounds i8, ptr %12044, i64 %12047
  %12049 = load i8, ptr %12048, align 1, !tbaa !15
  %12050 = zext i8 %12049 to i64
  %12051 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12050
  %12052 = load i32, ptr %12051, align 4, !tbaa !14
  %12053 = add nsw i32 %12043, %12052
  store i32 %12053, ptr %16, align 4, !tbaa !14
  %12054 = load i32, ptr %16, align 4, !tbaa !14
  %12055 = icmp slt i32 %12054, 0
  br i1 %12055, label %12056, label %12057

12056:                                            ; preds = %12029
  br label %12065

12057:                                            ; preds = %12029
  %12058 = load i32, ptr %16, align 4, !tbaa !14
  %12059 = icmp sgt i32 %12058, 255
  br i1 %12059, label %12060, label %12061

12060:                                            ; preds = %12057
  br label %12063

12061:                                            ; preds = %12057
  %12062 = load i32, ptr %16, align 4, !tbaa !14
  br label %12063

12063:                                            ; preds = %12061, %12060
  %12064 = phi i32 [ 255, %12060 ], [ %12062, %12061 ]
  br label %12065

12065:                                            ; preds = %12063, %12056
  %12066 = phi i32 [ 0, %12056 ], [ %12064, %12063 ]
  %12067 = trunc i32 %12066 to i8
  %12068 = load ptr, ptr %12, align 8, !tbaa !5
  %12069 = load i32, ptr %19, align 4, !tbaa !14
  %12070 = add nsw i32 %12069, 5
  %12071 = sext i32 %12070 to i64
  %12072 = getelementptr inbounds i8, ptr %12068, i64 %12071
  store i8 %12067, ptr %12072, align 1, !tbaa !15
  %12073 = load ptr, ptr %13, align 8, !tbaa !5
  %12074 = load i32, ptr %19, align 4, !tbaa !14
  %12075 = add nsw i32 %12074, 5
  %12076 = sext i32 %12075 to i64
  %12077 = getelementptr inbounds i8, ptr %12073, i64 %12076
  %12078 = load i8, ptr %12077, align 1, !tbaa !15
  %12079 = zext i8 %12078 to i32
  %12080 = load ptr, ptr %14, align 8, !tbaa !5
  %12081 = load i32, ptr %19, align 4, !tbaa !14
  %12082 = add nsw i32 %12081, 5
  %12083 = sext i32 %12082 to i64
  %12084 = getelementptr inbounds i8, ptr %12080, i64 %12083
  %12085 = load i8, ptr %12084, align 1, !tbaa !15
  %12086 = zext i8 %12085 to i64
  %12087 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12086
  %12088 = load i32, ptr %12087, align 4, !tbaa !14
  %12089 = sub nsw i32 %12079, %12088
  %12090 = load ptr, ptr %15, align 8, !tbaa !5
  %12091 = load i32, ptr %19, align 4, !tbaa !14
  %12092 = add nsw i32 %12091, 5
  %12093 = sext i32 %12092 to i64
  %12094 = getelementptr inbounds i8, ptr %12090, i64 %12093
  %12095 = load i8, ptr %12094, align 1, !tbaa !15
  %12096 = zext i8 %12095 to i64
  %12097 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12096
  %12098 = load i32, ptr %12097, align 4, !tbaa !14
  %12099 = sub nsw i32 %12089, %12098
  store i32 %12099, ptr %17, align 4, !tbaa !14
  %12100 = load i32, ptr %17, align 4, !tbaa !14
  %12101 = icmp slt i32 %12100, 0
  br i1 %12101, label %12102, label %12103

12102:                                            ; preds = %12065
  br label %12111

12103:                                            ; preds = %12065
  %12104 = load i32, ptr %17, align 4, !tbaa !14
  %12105 = icmp sgt i32 %12104, 255
  br i1 %12105, label %12106, label %12107

12106:                                            ; preds = %12103
  br label %12109

12107:                                            ; preds = %12103
  %12108 = load i32, ptr %17, align 4, !tbaa !14
  br label %12109

12109:                                            ; preds = %12107, %12106
  %12110 = phi i32 [ 255, %12106 ], [ %12108, %12107 ]
  br label %12111

12111:                                            ; preds = %12109, %12102
  %12112 = phi i32 [ 0, %12102 ], [ %12110, %12109 ]
  %12113 = trunc i32 %12112 to i8
  %12114 = load ptr, ptr %11, align 8, !tbaa !5
  %12115 = load i32, ptr %19, align 4, !tbaa !14
  %12116 = add nsw i32 %12115, 5
  %12117 = sext i32 %12116 to i64
  %12118 = getelementptr inbounds i8, ptr %12114, i64 %12117
  store i8 %12113, ptr %12118, align 1, !tbaa !15
  %12119 = load ptr, ptr %13, align 8, !tbaa !5
  %12120 = load i32, ptr %19, align 4, !tbaa !14
  %12121 = add nsw i32 %12120, 5
  %12122 = sext i32 %12121 to i64
  %12123 = getelementptr inbounds i8, ptr %12119, i64 %12122
  %12124 = load i8, ptr %12123, align 1, !tbaa !15
  %12125 = zext i8 %12124 to i32
  %12126 = load ptr, ptr %14, align 8, !tbaa !5
  %12127 = load i32, ptr %19, align 4, !tbaa !14
  %12128 = add nsw i32 %12127, 5
  %12129 = sext i32 %12128 to i64
  %12130 = getelementptr inbounds i8, ptr %12126, i64 %12129
  %12131 = load i8, ptr %12130, align 1, !tbaa !15
  %12132 = zext i8 %12131 to i64
  %12133 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12132
  %12134 = load i32, ptr %12133, align 4, !tbaa !14
  %12135 = add nsw i32 %12125, %12134
  store i32 %12135, ptr %18, align 4, !tbaa !14
  %12136 = load i32, ptr %18, align 4, !tbaa !14
  %12137 = icmp slt i32 %12136, 0
  br i1 %12137, label %12138, label %12139

12138:                                            ; preds = %12111
  br label %12147

12139:                                            ; preds = %12111
  %12140 = load i32, ptr %18, align 4, !tbaa !14
  %12141 = icmp sgt i32 %12140, 255
  br i1 %12141, label %12142, label %12143

12142:                                            ; preds = %12139
  br label %12145

12143:                                            ; preds = %12139
  %12144 = load i32, ptr %18, align 4, !tbaa !14
  br label %12145

12145:                                            ; preds = %12143, %12142
  %12146 = phi i32 [ 255, %12142 ], [ %12144, %12143 ]
  br label %12147

12147:                                            ; preds = %12145, %12138
  %12148 = phi i32 [ 0, %12138 ], [ %12146, %12145 ]
  %12149 = trunc i32 %12148 to i8
  %12150 = load ptr, ptr %10, align 8, !tbaa !5
  %12151 = load i32, ptr %19, align 4, !tbaa !14
  %12152 = add nsw i32 %12151, 5
  %12153 = sext i32 %12152 to i64
  %12154 = getelementptr inbounds i8, ptr %12150, i64 %12153
  store i8 %12149, ptr %12154, align 1, !tbaa !15
  %12155 = load ptr, ptr %13, align 8, !tbaa !5
  %12156 = load i32, ptr %19, align 4, !tbaa !14
  %12157 = add nsw i32 %12156, 6
  %12158 = sext i32 %12157 to i64
  %12159 = getelementptr inbounds i8, ptr %12155, i64 %12158
  %12160 = load i8, ptr %12159, align 1, !tbaa !15
  %12161 = zext i8 %12160 to i32
  %12162 = load ptr, ptr %15, align 8, !tbaa !5
  %12163 = load i32, ptr %19, align 4, !tbaa !14
  %12164 = add nsw i32 %12163, 6
  %12165 = sext i32 %12164 to i64
  %12166 = getelementptr inbounds i8, ptr %12162, i64 %12165
  %12167 = load i8, ptr %12166, align 1, !tbaa !15
  %12168 = zext i8 %12167 to i64
  %12169 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12168
  %12170 = load i32, ptr %12169, align 4, !tbaa !14
  %12171 = add nsw i32 %12161, %12170
  store i32 %12171, ptr %16, align 4, !tbaa !14
  %12172 = load i32, ptr %16, align 4, !tbaa !14
  %12173 = icmp slt i32 %12172, 0
  br i1 %12173, label %12174, label %12175

12174:                                            ; preds = %12147
  br label %12183

12175:                                            ; preds = %12147
  %12176 = load i32, ptr %16, align 4, !tbaa !14
  %12177 = icmp sgt i32 %12176, 255
  br i1 %12177, label %12178, label %12179

12178:                                            ; preds = %12175
  br label %12181

12179:                                            ; preds = %12175
  %12180 = load i32, ptr %16, align 4, !tbaa !14
  br label %12181

12181:                                            ; preds = %12179, %12178
  %12182 = phi i32 [ 255, %12178 ], [ %12180, %12179 ]
  br label %12183

12183:                                            ; preds = %12181, %12174
  %12184 = phi i32 [ 0, %12174 ], [ %12182, %12181 ]
  %12185 = trunc i32 %12184 to i8
  %12186 = load ptr, ptr %12, align 8, !tbaa !5
  %12187 = load i32, ptr %19, align 4, !tbaa !14
  %12188 = add nsw i32 %12187, 6
  %12189 = sext i32 %12188 to i64
  %12190 = getelementptr inbounds i8, ptr %12186, i64 %12189
  store i8 %12185, ptr %12190, align 1, !tbaa !15
  %12191 = load ptr, ptr %13, align 8, !tbaa !5
  %12192 = load i32, ptr %19, align 4, !tbaa !14
  %12193 = add nsw i32 %12192, 6
  %12194 = sext i32 %12193 to i64
  %12195 = getelementptr inbounds i8, ptr %12191, i64 %12194
  %12196 = load i8, ptr %12195, align 1, !tbaa !15
  %12197 = zext i8 %12196 to i32
  %12198 = load ptr, ptr %14, align 8, !tbaa !5
  %12199 = load i32, ptr %19, align 4, !tbaa !14
  %12200 = add nsw i32 %12199, 6
  %12201 = sext i32 %12200 to i64
  %12202 = getelementptr inbounds i8, ptr %12198, i64 %12201
  %12203 = load i8, ptr %12202, align 1, !tbaa !15
  %12204 = zext i8 %12203 to i64
  %12205 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12204
  %12206 = load i32, ptr %12205, align 4, !tbaa !14
  %12207 = sub nsw i32 %12197, %12206
  %12208 = load ptr, ptr %15, align 8, !tbaa !5
  %12209 = load i32, ptr %19, align 4, !tbaa !14
  %12210 = add nsw i32 %12209, 6
  %12211 = sext i32 %12210 to i64
  %12212 = getelementptr inbounds i8, ptr %12208, i64 %12211
  %12213 = load i8, ptr %12212, align 1, !tbaa !15
  %12214 = zext i8 %12213 to i64
  %12215 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12214
  %12216 = load i32, ptr %12215, align 4, !tbaa !14
  %12217 = sub nsw i32 %12207, %12216
  store i32 %12217, ptr %17, align 4, !tbaa !14
  %12218 = load i32, ptr %17, align 4, !tbaa !14
  %12219 = icmp slt i32 %12218, 0
  br i1 %12219, label %12220, label %12221

12220:                                            ; preds = %12183
  br label %12229

12221:                                            ; preds = %12183
  %12222 = load i32, ptr %17, align 4, !tbaa !14
  %12223 = icmp sgt i32 %12222, 255
  br i1 %12223, label %12224, label %12225

12224:                                            ; preds = %12221
  br label %12227

12225:                                            ; preds = %12221
  %12226 = load i32, ptr %17, align 4, !tbaa !14
  br label %12227

12227:                                            ; preds = %12225, %12224
  %12228 = phi i32 [ 255, %12224 ], [ %12226, %12225 ]
  br label %12229

12229:                                            ; preds = %12227, %12220
  %12230 = phi i32 [ 0, %12220 ], [ %12228, %12227 ]
  %12231 = trunc i32 %12230 to i8
  %12232 = load ptr, ptr %11, align 8, !tbaa !5
  %12233 = load i32, ptr %19, align 4, !tbaa !14
  %12234 = add nsw i32 %12233, 6
  %12235 = sext i32 %12234 to i64
  %12236 = getelementptr inbounds i8, ptr %12232, i64 %12235
  store i8 %12231, ptr %12236, align 1, !tbaa !15
  %12237 = load ptr, ptr %13, align 8, !tbaa !5
  %12238 = load i32, ptr %19, align 4, !tbaa !14
  %12239 = add nsw i32 %12238, 6
  %12240 = sext i32 %12239 to i64
  %12241 = getelementptr inbounds i8, ptr %12237, i64 %12240
  %12242 = load i8, ptr %12241, align 1, !tbaa !15
  %12243 = zext i8 %12242 to i32
  %12244 = load ptr, ptr %14, align 8, !tbaa !5
  %12245 = load i32, ptr %19, align 4, !tbaa !14
  %12246 = add nsw i32 %12245, 6
  %12247 = sext i32 %12246 to i64
  %12248 = getelementptr inbounds i8, ptr %12244, i64 %12247
  %12249 = load i8, ptr %12248, align 1, !tbaa !15
  %12250 = zext i8 %12249 to i64
  %12251 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12250
  %12252 = load i32, ptr %12251, align 4, !tbaa !14
  %12253 = add nsw i32 %12243, %12252
  store i32 %12253, ptr %18, align 4, !tbaa !14
  %12254 = load i32, ptr %18, align 4, !tbaa !14
  %12255 = icmp slt i32 %12254, 0
  br i1 %12255, label %12256, label %12257

12256:                                            ; preds = %12229
  br label %12265

12257:                                            ; preds = %12229
  %12258 = load i32, ptr %18, align 4, !tbaa !14
  %12259 = icmp sgt i32 %12258, 255
  br i1 %12259, label %12260, label %12261

12260:                                            ; preds = %12257
  br label %12263

12261:                                            ; preds = %12257
  %12262 = load i32, ptr %18, align 4, !tbaa !14
  br label %12263

12263:                                            ; preds = %12261, %12260
  %12264 = phi i32 [ 255, %12260 ], [ %12262, %12261 ]
  br label %12265

12265:                                            ; preds = %12263, %12256
  %12266 = phi i32 [ 0, %12256 ], [ %12264, %12263 ]
  %12267 = trunc i32 %12266 to i8
  %12268 = load ptr, ptr %10, align 8, !tbaa !5
  %12269 = load i32, ptr %19, align 4, !tbaa !14
  %12270 = add nsw i32 %12269, 6
  %12271 = sext i32 %12270 to i64
  %12272 = getelementptr inbounds i8, ptr %12268, i64 %12271
  store i8 %12267, ptr %12272, align 1, !tbaa !15
  %12273 = load ptr, ptr %13, align 8, !tbaa !5
  %12274 = load i32, ptr %19, align 4, !tbaa !14
  %12275 = add nsw i32 %12274, 7
  %12276 = sext i32 %12275 to i64
  %12277 = getelementptr inbounds i8, ptr %12273, i64 %12276
  %12278 = load i8, ptr %12277, align 1, !tbaa !15
  %12279 = zext i8 %12278 to i32
  %12280 = load ptr, ptr %15, align 8, !tbaa !5
  %12281 = load i32, ptr %19, align 4, !tbaa !14
  %12282 = add nsw i32 %12281, 7
  %12283 = sext i32 %12282 to i64
  %12284 = getelementptr inbounds i8, ptr %12280, i64 %12283
  %12285 = load i8, ptr %12284, align 1, !tbaa !15
  %12286 = zext i8 %12285 to i64
  %12287 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12286
  %12288 = load i32, ptr %12287, align 4, !tbaa !14
  %12289 = add nsw i32 %12279, %12288
  store i32 %12289, ptr %16, align 4, !tbaa !14
  %12290 = load i32, ptr %16, align 4, !tbaa !14
  %12291 = icmp slt i32 %12290, 0
  br i1 %12291, label %12292, label %12293

12292:                                            ; preds = %12265
  br label %12301

12293:                                            ; preds = %12265
  %12294 = load i32, ptr %16, align 4, !tbaa !14
  %12295 = icmp sgt i32 %12294, 255
  br i1 %12295, label %12296, label %12297

12296:                                            ; preds = %12293
  br label %12299

12297:                                            ; preds = %12293
  %12298 = load i32, ptr %16, align 4, !tbaa !14
  br label %12299

12299:                                            ; preds = %12297, %12296
  %12300 = phi i32 [ 255, %12296 ], [ %12298, %12297 ]
  br label %12301

12301:                                            ; preds = %12299, %12292
  %12302 = phi i32 [ 0, %12292 ], [ %12300, %12299 ]
  %12303 = trunc i32 %12302 to i8
  %12304 = load ptr, ptr %12, align 8, !tbaa !5
  %12305 = load i32, ptr %19, align 4, !tbaa !14
  %12306 = add nsw i32 %12305, 7
  %12307 = sext i32 %12306 to i64
  %12308 = getelementptr inbounds i8, ptr %12304, i64 %12307
  store i8 %12303, ptr %12308, align 1, !tbaa !15
  %12309 = load ptr, ptr %13, align 8, !tbaa !5
  %12310 = load i32, ptr %19, align 4, !tbaa !14
  %12311 = add nsw i32 %12310, 7
  %12312 = sext i32 %12311 to i64
  %12313 = getelementptr inbounds i8, ptr %12309, i64 %12312
  %12314 = load i8, ptr %12313, align 1, !tbaa !15
  %12315 = zext i8 %12314 to i32
  %12316 = load ptr, ptr %14, align 8, !tbaa !5
  %12317 = load i32, ptr %19, align 4, !tbaa !14
  %12318 = add nsw i32 %12317, 7
  %12319 = sext i32 %12318 to i64
  %12320 = getelementptr inbounds i8, ptr %12316, i64 %12319
  %12321 = load i8, ptr %12320, align 1, !tbaa !15
  %12322 = zext i8 %12321 to i64
  %12323 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12322
  %12324 = load i32, ptr %12323, align 4, !tbaa !14
  %12325 = sub nsw i32 %12315, %12324
  %12326 = load ptr, ptr %15, align 8, !tbaa !5
  %12327 = load i32, ptr %19, align 4, !tbaa !14
  %12328 = add nsw i32 %12327, 7
  %12329 = sext i32 %12328 to i64
  %12330 = getelementptr inbounds i8, ptr %12326, i64 %12329
  %12331 = load i8, ptr %12330, align 1, !tbaa !15
  %12332 = zext i8 %12331 to i64
  %12333 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12332
  %12334 = load i32, ptr %12333, align 4, !tbaa !14
  %12335 = sub nsw i32 %12325, %12334
  store i32 %12335, ptr %17, align 4, !tbaa !14
  %12336 = load i32, ptr %17, align 4, !tbaa !14
  %12337 = icmp slt i32 %12336, 0
  br i1 %12337, label %12338, label %12339

12338:                                            ; preds = %12301
  br label %12347

12339:                                            ; preds = %12301
  %12340 = load i32, ptr %17, align 4, !tbaa !14
  %12341 = icmp sgt i32 %12340, 255
  br i1 %12341, label %12342, label %12343

12342:                                            ; preds = %12339
  br label %12345

12343:                                            ; preds = %12339
  %12344 = load i32, ptr %17, align 4, !tbaa !14
  br label %12345

12345:                                            ; preds = %12343, %12342
  %12346 = phi i32 [ 255, %12342 ], [ %12344, %12343 ]
  br label %12347

12347:                                            ; preds = %12345, %12338
  %12348 = phi i32 [ 0, %12338 ], [ %12346, %12345 ]
  %12349 = trunc i32 %12348 to i8
  %12350 = load ptr, ptr %11, align 8, !tbaa !5
  %12351 = load i32, ptr %19, align 4, !tbaa !14
  %12352 = add nsw i32 %12351, 7
  %12353 = sext i32 %12352 to i64
  %12354 = getelementptr inbounds i8, ptr %12350, i64 %12353
  store i8 %12349, ptr %12354, align 1, !tbaa !15
  %12355 = load ptr, ptr %13, align 8, !tbaa !5
  %12356 = load i32, ptr %19, align 4, !tbaa !14
  %12357 = add nsw i32 %12356, 7
  %12358 = sext i32 %12357 to i64
  %12359 = getelementptr inbounds i8, ptr %12355, i64 %12358
  %12360 = load i8, ptr %12359, align 1, !tbaa !15
  %12361 = zext i8 %12360 to i32
  %12362 = load ptr, ptr %14, align 8, !tbaa !5
  %12363 = load i32, ptr %19, align 4, !tbaa !14
  %12364 = add nsw i32 %12363, 7
  %12365 = sext i32 %12364 to i64
  %12366 = getelementptr inbounds i8, ptr %12362, i64 %12365
  %12367 = load i8, ptr %12366, align 1, !tbaa !15
  %12368 = zext i8 %12367 to i64
  %12369 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12368
  %12370 = load i32, ptr %12369, align 4, !tbaa !14
  %12371 = add nsw i32 %12361, %12370
  store i32 %12371, ptr %18, align 4, !tbaa !14
  %12372 = load i32, ptr %18, align 4, !tbaa !14
  %12373 = icmp slt i32 %12372, 0
  br i1 %12373, label %12374, label %12375

12374:                                            ; preds = %12347
  br label %12383

12375:                                            ; preds = %12347
  %12376 = load i32, ptr %18, align 4, !tbaa !14
  %12377 = icmp sgt i32 %12376, 255
  br i1 %12377, label %12378, label %12379

12378:                                            ; preds = %12375
  br label %12381

12379:                                            ; preds = %12375
  %12380 = load i32, ptr %18, align 4, !tbaa !14
  br label %12381

12381:                                            ; preds = %12379, %12378
  %12382 = phi i32 [ 255, %12378 ], [ %12380, %12379 ]
  br label %12383

12383:                                            ; preds = %12381, %12374
  %12384 = phi i32 [ 0, %12374 ], [ %12382, %12381 ]
  %12385 = trunc i32 %12384 to i8
  %12386 = load ptr, ptr %10, align 8, !tbaa !5
  %12387 = load i32, ptr %19, align 4, !tbaa !14
  %12388 = add nsw i32 %12387, 7
  %12389 = sext i32 %12388 to i64
  %12390 = getelementptr inbounds i8, ptr %12386, i64 %12389
  store i8 %12385, ptr %12390, align 1, !tbaa !15
  %12391 = load ptr, ptr %13, align 8, !tbaa !5
  %12392 = load i32, ptr %19, align 4, !tbaa !14
  %12393 = add nsw i32 %12392, 8
  %12394 = sext i32 %12393 to i64
  %12395 = getelementptr inbounds i8, ptr %12391, i64 %12394
  %12396 = load i8, ptr %12395, align 1, !tbaa !15
  %12397 = zext i8 %12396 to i32
  %12398 = load ptr, ptr %15, align 8, !tbaa !5
  %12399 = load i32, ptr %19, align 4, !tbaa !14
  %12400 = add nsw i32 %12399, 8
  %12401 = sext i32 %12400 to i64
  %12402 = getelementptr inbounds i8, ptr %12398, i64 %12401
  %12403 = load i8, ptr %12402, align 1, !tbaa !15
  %12404 = zext i8 %12403 to i64
  %12405 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12404
  %12406 = load i32, ptr %12405, align 4, !tbaa !14
  %12407 = add nsw i32 %12397, %12406
  store i32 %12407, ptr %16, align 4, !tbaa !14
  %12408 = load i32, ptr %16, align 4, !tbaa !14
  %12409 = icmp slt i32 %12408, 0
  br i1 %12409, label %12410, label %12411

12410:                                            ; preds = %12383
  br label %12419

12411:                                            ; preds = %12383
  %12412 = load i32, ptr %16, align 4, !tbaa !14
  %12413 = icmp sgt i32 %12412, 255
  br i1 %12413, label %12414, label %12415

12414:                                            ; preds = %12411
  br label %12417

12415:                                            ; preds = %12411
  %12416 = load i32, ptr %16, align 4, !tbaa !14
  br label %12417

12417:                                            ; preds = %12415, %12414
  %12418 = phi i32 [ 255, %12414 ], [ %12416, %12415 ]
  br label %12419

12419:                                            ; preds = %12417, %12410
  %12420 = phi i32 [ 0, %12410 ], [ %12418, %12417 ]
  %12421 = trunc i32 %12420 to i8
  %12422 = load ptr, ptr %12, align 8, !tbaa !5
  %12423 = load i32, ptr %19, align 4, !tbaa !14
  %12424 = add nsw i32 %12423, 8
  %12425 = sext i32 %12424 to i64
  %12426 = getelementptr inbounds i8, ptr %12422, i64 %12425
  store i8 %12421, ptr %12426, align 1, !tbaa !15
  %12427 = load ptr, ptr %13, align 8, !tbaa !5
  %12428 = load i32, ptr %19, align 4, !tbaa !14
  %12429 = add nsw i32 %12428, 8
  %12430 = sext i32 %12429 to i64
  %12431 = getelementptr inbounds i8, ptr %12427, i64 %12430
  %12432 = load i8, ptr %12431, align 1, !tbaa !15
  %12433 = zext i8 %12432 to i32
  %12434 = load ptr, ptr %14, align 8, !tbaa !5
  %12435 = load i32, ptr %19, align 4, !tbaa !14
  %12436 = add nsw i32 %12435, 8
  %12437 = sext i32 %12436 to i64
  %12438 = getelementptr inbounds i8, ptr %12434, i64 %12437
  %12439 = load i8, ptr %12438, align 1, !tbaa !15
  %12440 = zext i8 %12439 to i64
  %12441 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12440
  %12442 = load i32, ptr %12441, align 4, !tbaa !14
  %12443 = sub nsw i32 %12433, %12442
  %12444 = load ptr, ptr %15, align 8, !tbaa !5
  %12445 = load i32, ptr %19, align 4, !tbaa !14
  %12446 = add nsw i32 %12445, 8
  %12447 = sext i32 %12446 to i64
  %12448 = getelementptr inbounds i8, ptr %12444, i64 %12447
  %12449 = load i8, ptr %12448, align 1, !tbaa !15
  %12450 = zext i8 %12449 to i64
  %12451 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12450
  %12452 = load i32, ptr %12451, align 4, !tbaa !14
  %12453 = sub nsw i32 %12443, %12452
  store i32 %12453, ptr %17, align 4, !tbaa !14
  %12454 = load i32, ptr %17, align 4, !tbaa !14
  %12455 = icmp slt i32 %12454, 0
  br i1 %12455, label %12456, label %12457

12456:                                            ; preds = %12419
  br label %12465

12457:                                            ; preds = %12419
  %12458 = load i32, ptr %17, align 4, !tbaa !14
  %12459 = icmp sgt i32 %12458, 255
  br i1 %12459, label %12460, label %12461

12460:                                            ; preds = %12457
  br label %12463

12461:                                            ; preds = %12457
  %12462 = load i32, ptr %17, align 4, !tbaa !14
  br label %12463

12463:                                            ; preds = %12461, %12460
  %12464 = phi i32 [ 255, %12460 ], [ %12462, %12461 ]
  br label %12465

12465:                                            ; preds = %12463, %12456
  %12466 = phi i32 [ 0, %12456 ], [ %12464, %12463 ]
  %12467 = trunc i32 %12466 to i8
  %12468 = load ptr, ptr %11, align 8, !tbaa !5
  %12469 = load i32, ptr %19, align 4, !tbaa !14
  %12470 = add nsw i32 %12469, 8
  %12471 = sext i32 %12470 to i64
  %12472 = getelementptr inbounds i8, ptr %12468, i64 %12471
  store i8 %12467, ptr %12472, align 1, !tbaa !15
  %12473 = load ptr, ptr %13, align 8, !tbaa !5
  %12474 = load i32, ptr %19, align 4, !tbaa !14
  %12475 = add nsw i32 %12474, 8
  %12476 = sext i32 %12475 to i64
  %12477 = getelementptr inbounds i8, ptr %12473, i64 %12476
  %12478 = load i8, ptr %12477, align 1, !tbaa !15
  %12479 = zext i8 %12478 to i32
  %12480 = load ptr, ptr %14, align 8, !tbaa !5
  %12481 = load i32, ptr %19, align 4, !tbaa !14
  %12482 = add nsw i32 %12481, 8
  %12483 = sext i32 %12482 to i64
  %12484 = getelementptr inbounds i8, ptr %12480, i64 %12483
  %12485 = load i8, ptr %12484, align 1, !tbaa !15
  %12486 = zext i8 %12485 to i64
  %12487 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12486
  %12488 = load i32, ptr %12487, align 4, !tbaa !14
  %12489 = add nsw i32 %12479, %12488
  store i32 %12489, ptr %18, align 4, !tbaa !14
  %12490 = load i32, ptr %18, align 4, !tbaa !14
  %12491 = icmp slt i32 %12490, 0
  br i1 %12491, label %12492, label %12493

12492:                                            ; preds = %12465
  br label %12501

12493:                                            ; preds = %12465
  %12494 = load i32, ptr %18, align 4, !tbaa !14
  %12495 = icmp sgt i32 %12494, 255
  br i1 %12495, label %12496, label %12497

12496:                                            ; preds = %12493
  br label %12499

12497:                                            ; preds = %12493
  %12498 = load i32, ptr %18, align 4, !tbaa !14
  br label %12499

12499:                                            ; preds = %12497, %12496
  %12500 = phi i32 [ 255, %12496 ], [ %12498, %12497 ]
  br label %12501

12501:                                            ; preds = %12499, %12492
  %12502 = phi i32 [ 0, %12492 ], [ %12500, %12499 ]
  %12503 = trunc i32 %12502 to i8
  %12504 = load ptr, ptr %10, align 8, !tbaa !5
  %12505 = load i32, ptr %19, align 4, !tbaa !14
  %12506 = add nsw i32 %12505, 8
  %12507 = sext i32 %12506 to i64
  %12508 = getelementptr inbounds i8, ptr %12504, i64 %12507
  store i8 %12503, ptr %12508, align 1, !tbaa !15
  %12509 = load ptr, ptr %13, align 8, !tbaa !5
  %12510 = load i32, ptr %19, align 4, !tbaa !14
  %12511 = add nsw i32 %12510, 9
  %12512 = sext i32 %12511 to i64
  %12513 = getelementptr inbounds i8, ptr %12509, i64 %12512
  %12514 = load i8, ptr %12513, align 1, !tbaa !15
  %12515 = zext i8 %12514 to i32
  %12516 = load ptr, ptr %15, align 8, !tbaa !5
  %12517 = load i32, ptr %19, align 4, !tbaa !14
  %12518 = add nsw i32 %12517, 9
  %12519 = sext i32 %12518 to i64
  %12520 = getelementptr inbounds i8, ptr %12516, i64 %12519
  %12521 = load i8, ptr %12520, align 1, !tbaa !15
  %12522 = zext i8 %12521 to i64
  %12523 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12522
  %12524 = load i32, ptr %12523, align 4, !tbaa !14
  %12525 = add nsw i32 %12515, %12524
  store i32 %12525, ptr %16, align 4, !tbaa !14
  %12526 = load i32, ptr %16, align 4, !tbaa !14
  %12527 = icmp slt i32 %12526, 0
  br i1 %12527, label %12528, label %12529

12528:                                            ; preds = %12501
  br label %12537

12529:                                            ; preds = %12501
  %12530 = load i32, ptr %16, align 4, !tbaa !14
  %12531 = icmp sgt i32 %12530, 255
  br i1 %12531, label %12532, label %12533

12532:                                            ; preds = %12529
  br label %12535

12533:                                            ; preds = %12529
  %12534 = load i32, ptr %16, align 4, !tbaa !14
  br label %12535

12535:                                            ; preds = %12533, %12532
  %12536 = phi i32 [ 255, %12532 ], [ %12534, %12533 ]
  br label %12537

12537:                                            ; preds = %12535, %12528
  %12538 = phi i32 [ 0, %12528 ], [ %12536, %12535 ]
  %12539 = trunc i32 %12538 to i8
  %12540 = load ptr, ptr %12, align 8, !tbaa !5
  %12541 = load i32, ptr %19, align 4, !tbaa !14
  %12542 = add nsw i32 %12541, 9
  %12543 = sext i32 %12542 to i64
  %12544 = getelementptr inbounds i8, ptr %12540, i64 %12543
  store i8 %12539, ptr %12544, align 1, !tbaa !15
  %12545 = load ptr, ptr %13, align 8, !tbaa !5
  %12546 = load i32, ptr %19, align 4, !tbaa !14
  %12547 = add nsw i32 %12546, 9
  %12548 = sext i32 %12547 to i64
  %12549 = getelementptr inbounds i8, ptr %12545, i64 %12548
  %12550 = load i8, ptr %12549, align 1, !tbaa !15
  %12551 = zext i8 %12550 to i32
  %12552 = load ptr, ptr %14, align 8, !tbaa !5
  %12553 = load i32, ptr %19, align 4, !tbaa !14
  %12554 = add nsw i32 %12553, 9
  %12555 = sext i32 %12554 to i64
  %12556 = getelementptr inbounds i8, ptr %12552, i64 %12555
  %12557 = load i8, ptr %12556, align 1, !tbaa !15
  %12558 = zext i8 %12557 to i64
  %12559 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12558
  %12560 = load i32, ptr %12559, align 4, !tbaa !14
  %12561 = sub nsw i32 %12551, %12560
  %12562 = load ptr, ptr %15, align 8, !tbaa !5
  %12563 = load i32, ptr %19, align 4, !tbaa !14
  %12564 = add nsw i32 %12563, 9
  %12565 = sext i32 %12564 to i64
  %12566 = getelementptr inbounds i8, ptr %12562, i64 %12565
  %12567 = load i8, ptr %12566, align 1, !tbaa !15
  %12568 = zext i8 %12567 to i64
  %12569 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12568
  %12570 = load i32, ptr %12569, align 4, !tbaa !14
  %12571 = sub nsw i32 %12561, %12570
  store i32 %12571, ptr %17, align 4, !tbaa !14
  %12572 = load i32, ptr %17, align 4, !tbaa !14
  %12573 = icmp slt i32 %12572, 0
  br i1 %12573, label %12574, label %12575

12574:                                            ; preds = %12537
  br label %12583

12575:                                            ; preds = %12537
  %12576 = load i32, ptr %17, align 4, !tbaa !14
  %12577 = icmp sgt i32 %12576, 255
  br i1 %12577, label %12578, label %12579

12578:                                            ; preds = %12575
  br label %12581

12579:                                            ; preds = %12575
  %12580 = load i32, ptr %17, align 4, !tbaa !14
  br label %12581

12581:                                            ; preds = %12579, %12578
  %12582 = phi i32 [ 255, %12578 ], [ %12580, %12579 ]
  br label %12583

12583:                                            ; preds = %12581, %12574
  %12584 = phi i32 [ 0, %12574 ], [ %12582, %12581 ]
  %12585 = trunc i32 %12584 to i8
  %12586 = load ptr, ptr %11, align 8, !tbaa !5
  %12587 = load i32, ptr %19, align 4, !tbaa !14
  %12588 = add nsw i32 %12587, 9
  %12589 = sext i32 %12588 to i64
  %12590 = getelementptr inbounds i8, ptr %12586, i64 %12589
  store i8 %12585, ptr %12590, align 1, !tbaa !15
  %12591 = load ptr, ptr %13, align 8, !tbaa !5
  %12592 = load i32, ptr %19, align 4, !tbaa !14
  %12593 = add nsw i32 %12592, 9
  %12594 = sext i32 %12593 to i64
  %12595 = getelementptr inbounds i8, ptr %12591, i64 %12594
  %12596 = load i8, ptr %12595, align 1, !tbaa !15
  %12597 = zext i8 %12596 to i32
  %12598 = load ptr, ptr %14, align 8, !tbaa !5
  %12599 = load i32, ptr %19, align 4, !tbaa !14
  %12600 = add nsw i32 %12599, 9
  %12601 = sext i32 %12600 to i64
  %12602 = getelementptr inbounds i8, ptr %12598, i64 %12601
  %12603 = load i8, ptr %12602, align 1, !tbaa !15
  %12604 = zext i8 %12603 to i64
  %12605 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12604
  %12606 = load i32, ptr %12605, align 4, !tbaa !14
  %12607 = add nsw i32 %12597, %12606
  store i32 %12607, ptr %18, align 4, !tbaa !14
  %12608 = load i32, ptr %18, align 4, !tbaa !14
  %12609 = icmp slt i32 %12608, 0
  br i1 %12609, label %12610, label %12611

12610:                                            ; preds = %12583
  br label %12619

12611:                                            ; preds = %12583
  %12612 = load i32, ptr %18, align 4, !tbaa !14
  %12613 = icmp sgt i32 %12612, 255
  br i1 %12613, label %12614, label %12615

12614:                                            ; preds = %12611
  br label %12617

12615:                                            ; preds = %12611
  %12616 = load i32, ptr %18, align 4, !tbaa !14
  br label %12617

12617:                                            ; preds = %12615, %12614
  %12618 = phi i32 [ 255, %12614 ], [ %12616, %12615 ]
  br label %12619

12619:                                            ; preds = %12617, %12610
  %12620 = phi i32 [ 0, %12610 ], [ %12618, %12617 ]
  %12621 = trunc i32 %12620 to i8
  %12622 = load ptr, ptr %10, align 8, !tbaa !5
  %12623 = load i32, ptr %19, align 4, !tbaa !14
  %12624 = add nsw i32 %12623, 9
  %12625 = sext i32 %12624 to i64
  %12626 = getelementptr inbounds i8, ptr %12622, i64 %12625
  store i8 %12621, ptr %12626, align 1, !tbaa !15
  %12627 = load ptr, ptr %13, align 8, !tbaa !5
  %12628 = load i32, ptr %19, align 4, !tbaa !14
  %12629 = add nsw i32 %12628, 10
  %12630 = sext i32 %12629 to i64
  %12631 = getelementptr inbounds i8, ptr %12627, i64 %12630
  %12632 = load i8, ptr %12631, align 1, !tbaa !15
  %12633 = zext i8 %12632 to i32
  %12634 = load ptr, ptr %15, align 8, !tbaa !5
  %12635 = load i32, ptr %19, align 4, !tbaa !14
  %12636 = add nsw i32 %12635, 10
  %12637 = sext i32 %12636 to i64
  %12638 = getelementptr inbounds i8, ptr %12634, i64 %12637
  %12639 = load i8, ptr %12638, align 1, !tbaa !15
  %12640 = zext i8 %12639 to i64
  %12641 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12640
  %12642 = load i32, ptr %12641, align 4, !tbaa !14
  %12643 = add nsw i32 %12633, %12642
  store i32 %12643, ptr %16, align 4, !tbaa !14
  %12644 = load i32, ptr %16, align 4, !tbaa !14
  %12645 = icmp slt i32 %12644, 0
  br i1 %12645, label %12646, label %12647

12646:                                            ; preds = %12619
  br label %12655

12647:                                            ; preds = %12619
  %12648 = load i32, ptr %16, align 4, !tbaa !14
  %12649 = icmp sgt i32 %12648, 255
  br i1 %12649, label %12650, label %12651

12650:                                            ; preds = %12647
  br label %12653

12651:                                            ; preds = %12647
  %12652 = load i32, ptr %16, align 4, !tbaa !14
  br label %12653

12653:                                            ; preds = %12651, %12650
  %12654 = phi i32 [ 255, %12650 ], [ %12652, %12651 ]
  br label %12655

12655:                                            ; preds = %12653, %12646
  %12656 = phi i32 [ 0, %12646 ], [ %12654, %12653 ]
  %12657 = trunc i32 %12656 to i8
  %12658 = load ptr, ptr %12, align 8, !tbaa !5
  %12659 = load i32, ptr %19, align 4, !tbaa !14
  %12660 = add nsw i32 %12659, 10
  %12661 = sext i32 %12660 to i64
  %12662 = getelementptr inbounds i8, ptr %12658, i64 %12661
  store i8 %12657, ptr %12662, align 1, !tbaa !15
  %12663 = load ptr, ptr %13, align 8, !tbaa !5
  %12664 = load i32, ptr %19, align 4, !tbaa !14
  %12665 = add nsw i32 %12664, 10
  %12666 = sext i32 %12665 to i64
  %12667 = getelementptr inbounds i8, ptr %12663, i64 %12666
  %12668 = load i8, ptr %12667, align 1, !tbaa !15
  %12669 = zext i8 %12668 to i32
  %12670 = load ptr, ptr %14, align 8, !tbaa !5
  %12671 = load i32, ptr %19, align 4, !tbaa !14
  %12672 = add nsw i32 %12671, 10
  %12673 = sext i32 %12672 to i64
  %12674 = getelementptr inbounds i8, ptr %12670, i64 %12673
  %12675 = load i8, ptr %12674, align 1, !tbaa !15
  %12676 = zext i8 %12675 to i64
  %12677 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12676
  %12678 = load i32, ptr %12677, align 4, !tbaa !14
  %12679 = sub nsw i32 %12669, %12678
  %12680 = load ptr, ptr %15, align 8, !tbaa !5
  %12681 = load i32, ptr %19, align 4, !tbaa !14
  %12682 = add nsw i32 %12681, 10
  %12683 = sext i32 %12682 to i64
  %12684 = getelementptr inbounds i8, ptr %12680, i64 %12683
  %12685 = load i8, ptr %12684, align 1, !tbaa !15
  %12686 = zext i8 %12685 to i64
  %12687 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12686
  %12688 = load i32, ptr %12687, align 4, !tbaa !14
  %12689 = sub nsw i32 %12679, %12688
  store i32 %12689, ptr %17, align 4, !tbaa !14
  %12690 = load i32, ptr %17, align 4, !tbaa !14
  %12691 = icmp slt i32 %12690, 0
  br i1 %12691, label %12692, label %12693

12692:                                            ; preds = %12655
  br label %12701

12693:                                            ; preds = %12655
  %12694 = load i32, ptr %17, align 4, !tbaa !14
  %12695 = icmp sgt i32 %12694, 255
  br i1 %12695, label %12696, label %12697

12696:                                            ; preds = %12693
  br label %12699

12697:                                            ; preds = %12693
  %12698 = load i32, ptr %17, align 4, !tbaa !14
  br label %12699

12699:                                            ; preds = %12697, %12696
  %12700 = phi i32 [ 255, %12696 ], [ %12698, %12697 ]
  br label %12701

12701:                                            ; preds = %12699, %12692
  %12702 = phi i32 [ 0, %12692 ], [ %12700, %12699 ]
  %12703 = trunc i32 %12702 to i8
  %12704 = load ptr, ptr %11, align 8, !tbaa !5
  %12705 = load i32, ptr %19, align 4, !tbaa !14
  %12706 = add nsw i32 %12705, 10
  %12707 = sext i32 %12706 to i64
  %12708 = getelementptr inbounds i8, ptr %12704, i64 %12707
  store i8 %12703, ptr %12708, align 1, !tbaa !15
  %12709 = load ptr, ptr %13, align 8, !tbaa !5
  %12710 = load i32, ptr %19, align 4, !tbaa !14
  %12711 = add nsw i32 %12710, 10
  %12712 = sext i32 %12711 to i64
  %12713 = getelementptr inbounds i8, ptr %12709, i64 %12712
  %12714 = load i8, ptr %12713, align 1, !tbaa !15
  %12715 = zext i8 %12714 to i32
  %12716 = load ptr, ptr %14, align 8, !tbaa !5
  %12717 = load i32, ptr %19, align 4, !tbaa !14
  %12718 = add nsw i32 %12717, 10
  %12719 = sext i32 %12718 to i64
  %12720 = getelementptr inbounds i8, ptr %12716, i64 %12719
  %12721 = load i8, ptr %12720, align 1, !tbaa !15
  %12722 = zext i8 %12721 to i64
  %12723 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12722
  %12724 = load i32, ptr %12723, align 4, !tbaa !14
  %12725 = add nsw i32 %12715, %12724
  store i32 %12725, ptr %18, align 4, !tbaa !14
  %12726 = load i32, ptr %18, align 4, !tbaa !14
  %12727 = icmp slt i32 %12726, 0
  br i1 %12727, label %12728, label %12729

12728:                                            ; preds = %12701
  br label %12737

12729:                                            ; preds = %12701
  %12730 = load i32, ptr %18, align 4, !tbaa !14
  %12731 = icmp sgt i32 %12730, 255
  br i1 %12731, label %12732, label %12733

12732:                                            ; preds = %12729
  br label %12735

12733:                                            ; preds = %12729
  %12734 = load i32, ptr %18, align 4, !tbaa !14
  br label %12735

12735:                                            ; preds = %12733, %12732
  %12736 = phi i32 [ 255, %12732 ], [ %12734, %12733 ]
  br label %12737

12737:                                            ; preds = %12735, %12728
  %12738 = phi i32 [ 0, %12728 ], [ %12736, %12735 ]
  %12739 = trunc i32 %12738 to i8
  %12740 = load ptr, ptr %10, align 8, !tbaa !5
  %12741 = load i32, ptr %19, align 4, !tbaa !14
  %12742 = add nsw i32 %12741, 10
  %12743 = sext i32 %12742 to i64
  %12744 = getelementptr inbounds i8, ptr %12740, i64 %12743
  store i8 %12739, ptr %12744, align 1, !tbaa !15
  %12745 = load ptr, ptr %13, align 8, !tbaa !5
  %12746 = load i32, ptr %19, align 4, !tbaa !14
  %12747 = add nsw i32 %12746, 11
  %12748 = sext i32 %12747 to i64
  %12749 = getelementptr inbounds i8, ptr %12745, i64 %12748
  %12750 = load i8, ptr %12749, align 1, !tbaa !15
  %12751 = zext i8 %12750 to i32
  %12752 = load ptr, ptr %15, align 8, !tbaa !5
  %12753 = load i32, ptr %19, align 4, !tbaa !14
  %12754 = add nsw i32 %12753, 11
  %12755 = sext i32 %12754 to i64
  %12756 = getelementptr inbounds i8, ptr %12752, i64 %12755
  %12757 = load i8, ptr %12756, align 1, !tbaa !15
  %12758 = zext i8 %12757 to i64
  %12759 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12758
  %12760 = load i32, ptr %12759, align 4, !tbaa !14
  %12761 = add nsw i32 %12751, %12760
  store i32 %12761, ptr %16, align 4, !tbaa !14
  %12762 = load i32, ptr %16, align 4, !tbaa !14
  %12763 = icmp slt i32 %12762, 0
  br i1 %12763, label %12764, label %12765

12764:                                            ; preds = %12737
  br label %12773

12765:                                            ; preds = %12737
  %12766 = load i32, ptr %16, align 4, !tbaa !14
  %12767 = icmp sgt i32 %12766, 255
  br i1 %12767, label %12768, label %12769

12768:                                            ; preds = %12765
  br label %12771

12769:                                            ; preds = %12765
  %12770 = load i32, ptr %16, align 4, !tbaa !14
  br label %12771

12771:                                            ; preds = %12769, %12768
  %12772 = phi i32 [ 255, %12768 ], [ %12770, %12769 ]
  br label %12773

12773:                                            ; preds = %12771, %12764
  %12774 = phi i32 [ 0, %12764 ], [ %12772, %12771 ]
  %12775 = trunc i32 %12774 to i8
  %12776 = load ptr, ptr %12, align 8, !tbaa !5
  %12777 = load i32, ptr %19, align 4, !tbaa !14
  %12778 = add nsw i32 %12777, 11
  %12779 = sext i32 %12778 to i64
  %12780 = getelementptr inbounds i8, ptr %12776, i64 %12779
  store i8 %12775, ptr %12780, align 1, !tbaa !15
  %12781 = load ptr, ptr %13, align 8, !tbaa !5
  %12782 = load i32, ptr %19, align 4, !tbaa !14
  %12783 = add nsw i32 %12782, 11
  %12784 = sext i32 %12783 to i64
  %12785 = getelementptr inbounds i8, ptr %12781, i64 %12784
  %12786 = load i8, ptr %12785, align 1, !tbaa !15
  %12787 = zext i8 %12786 to i32
  %12788 = load ptr, ptr %14, align 8, !tbaa !5
  %12789 = load i32, ptr %19, align 4, !tbaa !14
  %12790 = add nsw i32 %12789, 11
  %12791 = sext i32 %12790 to i64
  %12792 = getelementptr inbounds i8, ptr %12788, i64 %12791
  %12793 = load i8, ptr %12792, align 1, !tbaa !15
  %12794 = zext i8 %12793 to i64
  %12795 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12794
  %12796 = load i32, ptr %12795, align 4, !tbaa !14
  %12797 = sub nsw i32 %12787, %12796
  %12798 = load ptr, ptr %15, align 8, !tbaa !5
  %12799 = load i32, ptr %19, align 4, !tbaa !14
  %12800 = add nsw i32 %12799, 11
  %12801 = sext i32 %12800 to i64
  %12802 = getelementptr inbounds i8, ptr %12798, i64 %12801
  %12803 = load i8, ptr %12802, align 1, !tbaa !15
  %12804 = zext i8 %12803 to i64
  %12805 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12804
  %12806 = load i32, ptr %12805, align 4, !tbaa !14
  %12807 = sub nsw i32 %12797, %12806
  store i32 %12807, ptr %17, align 4, !tbaa !14
  %12808 = load i32, ptr %17, align 4, !tbaa !14
  %12809 = icmp slt i32 %12808, 0
  br i1 %12809, label %12810, label %12811

12810:                                            ; preds = %12773
  br label %12819

12811:                                            ; preds = %12773
  %12812 = load i32, ptr %17, align 4, !tbaa !14
  %12813 = icmp sgt i32 %12812, 255
  br i1 %12813, label %12814, label %12815

12814:                                            ; preds = %12811
  br label %12817

12815:                                            ; preds = %12811
  %12816 = load i32, ptr %17, align 4, !tbaa !14
  br label %12817

12817:                                            ; preds = %12815, %12814
  %12818 = phi i32 [ 255, %12814 ], [ %12816, %12815 ]
  br label %12819

12819:                                            ; preds = %12817, %12810
  %12820 = phi i32 [ 0, %12810 ], [ %12818, %12817 ]
  %12821 = trunc i32 %12820 to i8
  %12822 = load ptr, ptr %11, align 8, !tbaa !5
  %12823 = load i32, ptr %19, align 4, !tbaa !14
  %12824 = add nsw i32 %12823, 11
  %12825 = sext i32 %12824 to i64
  %12826 = getelementptr inbounds i8, ptr %12822, i64 %12825
  store i8 %12821, ptr %12826, align 1, !tbaa !15
  %12827 = load ptr, ptr %13, align 8, !tbaa !5
  %12828 = load i32, ptr %19, align 4, !tbaa !14
  %12829 = add nsw i32 %12828, 11
  %12830 = sext i32 %12829 to i64
  %12831 = getelementptr inbounds i8, ptr %12827, i64 %12830
  %12832 = load i8, ptr %12831, align 1, !tbaa !15
  %12833 = zext i8 %12832 to i32
  %12834 = load ptr, ptr %14, align 8, !tbaa !5
  %12835 = load i32, ptr %19, align 4, !tbaa !14
  %12836 = add nsw i32 %12835, 11
  %12837 = sext i32 %12836 to i64
  %12838 = getelementptr inbounds i8, ptr %12834, i64 %12837
  %12839 = load i8, ptr %12838, align 1, !tbaa !15
  %12840 = zext i8 %12839 to i64
  %12841 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12840
  %12842 = load i32, ptr %12841, align 4, !tbaa !14
  %12843 = add nsw i32 %12833, %12842
  store i32 %12843, ptr %18, align 4, !tbaa !14
  %12844 = load i32, ptr %18, align 4, !tbaa !14
  %12845 = icmp slt i32 %12844, 0
  br i1 %12845, label %12846, label %12847

12846:                                            ; preds = %12819
  br label %12855

12847:                                            ; preds = %12819
  %12848 = load i32, ptr %18, align 4, !tbaa !14
  %12849 = icmp sgt i32 %12848, 255
  br i1 %12849, label %12850, label %12851

12850:                                            ; preds = %12847
  br label %12853

12851:                                            ; preds = %12847
  %12852 = load i32, ptr %18, align 4, !tbaa !14
  br label %12853

12853:                                            ; preds = %12851, %12850
  %12854 = phi i32 [ 255, %12850 ], [ %12852, %12851 ]
  br label %12855

12855:                                            ; preds = %12853, %12846
  %12856 = phi i32 [ 0, %12846 ], [ %12854, %12853 ]
  %12857 = trunc i32 %12856 to i8
  %12858 = load ptr, ptr %10, align 8, !tbaa !5
  %12859 = load i32, ptr %19, align 4, !tbaa !14
  %12860 = add nsw i32 %12859, 11
  %12861 = sext i32 %12860 to i64
  %12862 = getelementptr inbounds i8, ptr %12858, i64 %12861
  store i8 %12857, ptr %12862, align 1, !tbaa !15
  %12863 = load ptr, ptr %13, align 8, !tbaa !5
  %12864 = load i32, ptr %19, align 4, !tbaa !14
  %12865 = add nsw i32 %12864, 12
  %12866 = sext i32 %12865 to i64
  %12867 = getelementptr inbounds i8, ptr %12863, i64 %12866
  %12868 = load i8, ptr %12867, align 1, !tbaa !15
  %12869 = zext i8 %12868 to i32
  %12870 = load ptr, ptr %15, align 8, !tbaa !5
  %12871 = load i32, ptr %19, align 4, !tbaa !14
  %12872 = add nsw i32 %12871, 12
  %12873 = sext i32 %12872 to i64
  %12874 = getelementptr inbounds i8, ptr %12870, i64 %12873
  %12875 = load i8, ptr %12874, align 1, !tbaa !15
  %12876 = zext i8 %12875 to i64
  %12877 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %12876
  %12878 = load i32, ptr %12877, align 4, !tbaa !14
  %12879 = add nsw i32 %12869, %12878
  store i32 %12879, ptr %16, align 4, !tbaa !14
  %12880 = load i32, ptr %16, align 4, !tbaa !14
  %12881 = icmp slt i32 %12880, 0
  br i1 %12881, label %12882, label %12883

12882:                                            ; preds = %12855
  br label %12891

12883:                                            ; preds = %12855
  %12884 = load i32, ptr %16, align 4, !tbaa !14
  %12885 = icmp sgt i32 %12884, 255
  br i1 %12885, label %12886, label %12887

12886:                                            ; preds = %12883
  br label %12889

12887:                                            ; preds = %12883
  %12888 = load i32, ptr %16, align 4, !tbaa !14
  br label %12889

12889:                                            ; preds = %12887, %12886
  %12890 = phi i32 [ 255, %12886 ], [ %12888, %12887 ]
  br label %12891

12891:                                            ; preds = %12889, %12882
  %12892 = phi i32 [ 0, %12882 ], [ %12890, %12889 ]
  %12893 = trunc i32 %12892 to i8
  %12894 = load ptr, ptr %12, align 8, !tbaa !5
  %12895 = load i32, ptr %19, align 4, !tbaa !14
  %12896 = add nsw i32 %12895, 12
  %12897 = sext i32 %12896 to i64
  %12898 = getelementptr inbounds i8, ptr %12894, i64 %12897
  store i8 %12893, ptr %12898, align 1, !tbaa !15
  %12899 = load ptr, ptr %13, align 8, !tbaa !5
  %12900 = load i32, ptr %19, align 4, !tbaa !14
  %12901 = add nsw i32 %12900, 12
  %12902 = sext i32 %12901 to i64
  %12903 = getelementptr inbounds i8, ptr %12899, i64 %12902
  %12904 = load i8, ptr %12903, align 1, !tbaa !15
  %12905 = zext i8 %12904 to i32
  %12906 = load ptr, ptr %14, align 8, !tbaa !5
  %12907 = load i32, ptr %19, align 4, !tbaa !14
  %12908 = add nsw i32 %12907, 12
  %12909 = sext i32 %12908 to i64
  %12910 = getelementptr inbounds i8, ptr %12906, i64 %12909
  %12911 = load i8, ptr %12910, align 1, !tbaa !15
  %12912 = zext i8 %12911 to i64
  %12913 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %12912
  %12914 = load i32, ptr %12913, align 4, !tbaa !14
  %12915 = sub nsw i32 %12905, %12914
  %12916 = load ptr, ptr %15, align 8, !tbaa !5
  %12917 = load i32, ptr %19, align 4, !tbaa !14
  %12918 = add nsw i32 %12917, 12
  %12919 = sext i32 %12918 to i64
  %12920 = getelementptr inbounds i8, ptr %12916, i64 %12919
  %12921 = load i8, ptr %12920, align 1, !tbaa !15
  %12922 = zext i8 %12921 to i64
  %12923 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %12922
  %12924 = load i32, ptr %12923, align 4, !tbaa !14
  %12925 = sub nsw i32 %12915, %12924
  store i32 %12925, ptr %17, align 4, !tbaa !14
  %12926 = load i32, ptr %17, align 4, !tbaa !14
  %12927 = icmp slt i32 %12926, 0
  br i1 %12927, label %12928, label %12929

12928:                                            ; preds = %12891
  br label %12937

12929:                                            ; preds = %12891
  %12930 = load i32, ptr %17, align 4, !tbaa !14
  %12931 = icmp sgt i32 %12930, 255
  br i1 %12931, label %12932, label %12933

12932:                                            ; preds = %12929
  br label %12935

12933:                                            ; preds = %12929
  %12934 = load i32, ptr %17, align 4, !tbaa !14
  br label %12935

12935:                                            ; preds = %12933, %12932
  %12936 = phi i32 [ 255, %12932 ], [ %12934, %12933 ]
  br label %12937

12937:                                            ; preds = %12935, %12928
  %12938 = phi i32 [ 0, %12928 ], [ %12936, %12935 ]
  %12939 = trunc i32 %12938 to i8
  %12940 = load ptr, ptr %11, align 8, !tbaa !5
  %12941 = load i32, ptr %19, align 4, !tbaa !14
  %12942 = add nsw i32 %12941, 12
  %12943 = sext i32 %12942 to i64
  %12944 = getelementptr inbounds i8, ptr %12940, i64 %12943
  store i8 %12939, ptr %12944, align 1, !tbaa !15
  %12945 = load ptr, ptr %13, align 8, !tbaa !5
  %12946 = load i32, ptr %19, align 4, !tbaa !14
  %12947 = add nsw i32 %12946, 12
  %12948 = sext i32 %12947 to i64
  %12949 = getelementptr inbounds i8, ptr %12945, i64 %12948
  %12950 = load i8, ptr %12949, align 1, !tbaa !15
  %12951 = zext i8 %12950 to i32
  %12952 = load ptr, ptr %14, align 8, !tbaa !5
  %12953 = load i32, ptr %19, align 4, !tbaa !14
  %12954 = add nsw i32 %12953, 12
  %12955 = sext i32 %12954 to i64
  %12956 = getelementptr inbounds i8, ptr %12952, i64 %12955
  %12957 = load i8, ptr %12956, align 1, !tbaa !15
  %12958 = zext i8 %12957 to i64
  %12959 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %12958
  %12960 = load i32, ptr %12959, align 4, !tbaa !14
  %12961 = add nsw i32 %12951, %12960
  store i32 %12961, ptr %18, align 4, !tbaa !14
  %12962 = load i32, ptr %18, align 4, !tbaa !14
  %12963 = icmp slt i32 %12962, 0
  br i1 %12963, label %12964, label %12965

12964:                                            ; preds = %12937
  br label %12973

12965:                                            ; preds = %12937
  %12966 = load i32, ptr %18, align 4, !tbaa !14
  %12967 = icmp sgt i32 %12966, 255
  br i1 %12967, label %12968, label %12969

12968:                                            ; preds = %12965
  br label %12971

12969:                                            ; preds = %12965
  %12970 = load i32, ptr %18, align 4, !tbaa !14
  br label %12971

12971:                                            ; preds = %12969, %12968
  %12972 = phi i32 [ 255, %12968 ], [ %12970, %12969 ]
  br label %12973

12973:                                            ; preds = %12971, %12964
  %12974 = phi i32 [ 0, %12964 ], [ %12972, %12971 ]
  %12975 = trunc i32 %12974 to i8
  %12976 = load ptr, ptr %10, align 8, !tbaa !5
  %12977 = load i32, ptr %19, align 4, !tbaa !14
  %12978 = add nsw i32 %12977, 12
  %12979 = sext i32 %12978 to i64
  %12980 = getelementptr inbounds i8, ptr %12976, i64 %12979
  store i8 %12975, ptr %12980, align 1, !tbaa !15
  br label %16421

12981:                                            ; preds = %11439
  %12982 = load ptr, ptr %4, align 8, !tbaa !5
  %12983 = getelementptr inbounds %struct.MImage, ptr %12982, i32 0, i32 2
  %12984 = load i32, ptr %12983, align 8, !tbaa !13
  %12985 = load i32, ptr %19, align 4, !tbaa !14
  %12986 = sub nsw i32 %12984, %12985
  %12987 = icmp eq i32 %12986, 14
  br i1 %12987, label %12988, label %14641

12988:                                            ; preds = %12981
  %12989 = load ptr, ptr %13, align 8, !tbaa !5
  %12990 = load i32, ptr %19, align 4, !tbaa !14
  %12991 = add nsw i32 %12990, 0
  %12992 = sext i32 %12991 to i64
  %12993 = getelementptr inbounds i8, ptr %12989, i64 %12992
  %12994 = load i8, ptr %12993, align 1, !tbaa !15
  %12995 = zext i8 %12994 to i32
  %12996 = load ptr, ptr %15, align 8, !tbaa !5
  %12997 = load i32, ptr %19, align 4, !tbaa !14
  %12998 = add nsw i32 %12997, 0
  %12999 = sext i32 %12998 to i64
  %13000 = getelementptr inbounds i8, ptr %12996, i64 %12999
  %13001 = load i8, ptr %13000, align 1, !tbaa !15
  %13002 = zext i8 %13001 to i64
  %13003 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13002
  %13004 = load i32, ptr %13003, align 4, !tbaa !14
  %13005 = add nsw i32 %12995, %13004
  store i32 %13005, ptr %16, align 4, !tbaa !14
  %13006 = load i32, ptr %16, align 4, !tbaa !14
  %13007 = icmp slt i32 %13006, 0
  br i1 %13007, label %13008, label %13009

13008:                                            ; preds = %12988
  br label %13017

13009:                                            ; preds = %12988
  %13010 = load i32, ptr %16, align 4, !tbaa !14
  %13011 = icmp sgt i32 %13010, 255
  br i1 %13011, label %13012, label %13013

13012:                                            ; preds = %13009
  br label %13015

13013:                                            ; preds = %13009
  %13014 = load i32, ptr %16, align 4, !tbaa !14
  br label %13015

13015:                                            ; preds = %13013, %13012
  %13016 = phi i32 [ 255, %13012 ], [ %13014, %13013 ]
  br label %13017

13017:                                            ; preds = %13015, %13008
  %13018 = phi i32 [ 0, %13008 ], [ %13016, %13015 ]
  %13019 = trunc i32 %13018 to i8
  %13020 = load ptr, ptr %12, align 8, !tbaa !5
  %13021 = load i32, ptr %19, align 4, !tbaa !14
  %13022 = add nsw i32 %13021, 0
  %13023 = sext i32 %13022 to i64
  %13024 = getelementptr inbounds i8, ptr %13020, i64 %13023
  store i8 %13019, ptr %13024, align 1, !tbaa !15
  %13025 = load ptr, ptr %13, align 8, !tbaa !5
  %13026 = load i32, ptr %19, align 4, !tbaa !14
  %13027 = add nsw i32 %13026, 0
  %13028 = sext i32 %13027 to i64
  %13029 = getelementptr inbounds i8, ptr %13025, i64 %13028
  %13030 = load i8, ptr %13029, align 1, !tbaa !15
  %13031 = zext i8 %13030 to i32
  %13032 = load ptr, ptr %14, align 8, !tbaa !5
  %13033 = load i32, ptr %19, align 4, !tbaa !14
  %13034 = add nsw i32 %13033, 0
  %13035 = sext i32 %13034 to i64
  %13036 = getelementptr inbounds i8, ptr %13032, i64 %13035
  %13037 = load i8, ptr %13036, align 1, !tbaa !15
  %13038 = zext i8 %13037 to i64
  %13039 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13038
  %13040 = load i32, ptr %13039, align 4, !tbaa !14
  %13041 = sub nsw i32 %13031, %13040
  %13042 = load ptr, ptr %15, align 8, !tbaa !5
  %13043 = load i32, ptr %19, align 4, !tbaa !14
  %13044 = add nsw i32 %13043, 0
  %13045 = sext i32 %13044 to i64
  %13046 = getelementptr inbounds i8, ptr %13042, i64 %13045
  %13047 = load i8, ptr %13046, align 1, !tbaa !15
  %13048 = zext i8 %13047 to i64
  %13049 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13048
  %13050 = load i32, ptr %13049, align 4, !tbaa !14
  %13051 = sub nsw i32 %13041, %13050
  store i32 %13051, ptr %17, align 4, !tbaa !14
  %13052 = load i32, ptr %17, align 4, !tbaa !14
  %13053 = icmp slt i32 %13052, 0
  br i1 %13053, label %13054, label %13055

13054:                                            ; preds = %13017
  br label %13063

13055:                                            ; preds = %13017
  %13056 = load i32, ptr %17, align 4, !tbaa !14
  %13057 = icmp sgt i32 %13056, 255
  br i1 %13057, label %13058, label %13059

13058:                                            ; preds = %13055
  br label %13061

13059:                                            ; preds = %13055
  %13060 = load i32, ptr %17, align 4, !tbaa !14
  br label %13061

13061:                                            ; preds = %13059, %13058
  %13062 = phi i32 [ 255, %13058 ], [ %13060, %13059 ]
  br label %13063

13063:                                            ; preds = %13061, %13054
  %13064 = phi i32 [ 0, %13054 ], [ %13062, %13061 ]
  %13065 = trunc i32 %13064 to i8
  %13066 = load ptr, ptr %11, align 8, !tbaa !5
  %13067 = load i32, ptr %19, align 4, !tbaa !14
  %13068 = add nsw i32 %13067, 0
  %13069 = sext i32 %13068 to i64
  %13070 = getelementptr inbounds i8, ptr %13066, i64 %13069
  store i8 %13065, ptr %13070, align 1, !tbaa !15
  %13071 = load ptr, ptr %13, align 8, !tbaa !5
  %13072 = load i32, ptr %19, align 4, !tbaa !14
  %13073 = add nsw i32 %13072, 0
  %13074 = sext i32 %13073 to i64
  %13075 = getelementptr inbounds i8, ptr %13071, i64 %13074
  %13076 = load i8, ptr %13075, align 1, !tbaa !15
  %13077 = zext i8 %13076 to i32
  %13078 = load ptr, ptr %14, align 8, !tbaa !5
  %13079 = load i32, ptr %19, align 4, !tbaa !14
  %13080 = add nsw i32 %13079, 0
  %13081 = sext i32 %13080 to i64
  %13082 = getelementptr inbounds i8, ptr %13078, i64 %13081
  %13083 = load i8, ptr %13082, align 1, !tbaa !15
  %13084 = zext i8 %13083 to i64
  %13085 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13084
  %13086 = load i32, ptr %13085, align 4, !tbaa !14
  %13087 = add nsw i32 %13077, %13086
  store i32 %13087, ptr %18, align 4, !tbaa !14
  %13088 = load i32, ptr %18, align 4, !tbaa !14
  %13089 = icmp slt i32 %13088, 0
  br i1 %13089, label %13090, label %13091

13090:                                            ; preds = %13063
  br label %13099

13091:                                            ; preds = %13063
  %13092 = load i32, ptr %18, align 4, !tbaa !14
  %13093 = icmp sgt i32 %13092, 255
  br i1 %13093, label %13094, label %13095

13094:                                            ; preds = %13091
  br label %13097

13095:                                            ; preds = %13091
  %13096 = load i32, ptr %18, align 4, !tbaa !14
  br label %13097

13097:                                            ; preds = %13095, %13094
  %13098 = phi i32 [ 255, %13094 ], [ %13096, %13095 ]
  br label %13099

13099:                                            ; preds = %13097, %13090
  %13100 = phi i32 [ 0, %13090 ], [ %13098, %13097 ]
  %13101 = trunc i32 %13100 to i8
  %13102 = load ptr, ptr %10, align 8, !tbaa !5
  %13103 = load i32, ptr %19, align 4, !tbaa !14
  %13104 = add nsw i32 %13103, 0
  %13105 = sext i32 %13104 to i64
  %13106 = getelementptr inbounds i8, ptr %13102, i64 %13105
  store i8 %13101, ptr %13106, align 1, !tbaa !15
  %13107 = load ptr, ptr %13, align 8, !tbaa !5
  %13108 = load i32, ptr %19, align 4, !tbaa !14
  %13109 = add nsw i32 %13108, 1
  %13110 = sext i32 %13109 to i64
  %13111 = getelementptr inbounds i8, ptr %13107, i64 %13110
  %13112 = load i8, ptr %13111, align 1, !tbaa !15
  %13113 = zext i8 %13112 to i32
  %13114 = load ptr, ptr %15, align 8, !tbaa !5
  %13115 = load i32, ptr %19, align 4, !tbaa !14
  %13116 = add nsw i32 %13115, 1
  %13117 = sext i32 %13116 to i64
  %13118 = getelementptr inbounds i8, ptr %13114, i64 %13117
  %13119 = load i8, ptr %13118, align 1, !tbaa !15
  %13120 = zext i8 %13119 to i64
  %13121 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13120
  %13122 = load i32, ptr %13121, align 4, !tbaa !14
  %13123 = add nsw i32 %13113, %13122
  store i32 %13123, ptr %16, align 4, !tbaa !14
  %13124 = load i32, ptr %16, align 4, !tbaa !14
  %13125 = icmp slt i32 %13124, 0
  br i1 %13125, label %13126, label %13127

13126:                                            ; preds = %13099
  br label %13135

13127:                                            ; preds = %13099
  %13128 = load i32, ptr %16, align 4, !tbaa !14
  %13129 = icmp sgt i32 %13128, 255
  br i1 %13129, label %13130, label %13131

13130:                                            ; preds = %13127
  br label %13133

13131:                                            ; preds = %13127
  %13132 = load i32, ptr %16, align 4, !tbaa !14
  br label %13133

13133:                                            ; preds = %13131, %13130
  %13134 = phi i32 [ 255, %13130 ], [ %13132, %13131 ]
  br label %13135

13135:                                            ; preds = %13133, %13126
  %13136 = phi i32 [ 0, %13126 ], [ %13134, %13133 ]
  %13137 = trunc i32 %13136 to i8
  %13138 = load ptr, ptr %12, align 8, !tbaa !5
  %13139 = load i32, ptr %19, align 4, !tbaa !14
  %13140 = add nsw i32 %13139, 1
  %13141 = sext i32 %13140 to i64
  %13142 = getelementptr inbounds i8, ptr %13138, i64 %13141
  store i8 %13137, ptr %13142, align 1, !tbaa !15
  %13143 = load ptr, ptr %13, align 8, !tbaa !5
  %13144 = load i32, ptr %19, align 4, !tbaa !14
  %13145 = add nsw i32 %13144, 1
  %13146 = sext i32 %13145 to i64
  %13147 = getelementptr inbounds i8, ptr %13143, i64 %13146
  %13148 = load i8, ptr %13147, align 1, !tbaa !15
  %13149 = zext i8 %13148 to i32
  %13150 = load ptr, ptr %14, align 8, !tbaa !5
  %13151 = load i32, ptr %19, align 4, !tbaa !14
  %13152 = add nsw i32 %13151, 1
  %13153 = sext i32 %13152 to i64
  %13154 = getelementptr inbounds i8, ptr %13150, i64 %13153
  %13155 = load i8, ptr %13154, align 1, !tbaa !15
  %13156 = zext i8 %13155 to i64
  %13157 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13156
  %13158 = load i32, ptr %13157, align 4, !tbaa !14
  %13159 = sub nsw i32 %13149, %13158
  %13160 = load ptr, ptr %15, align 8, !tbaa !5
  %13161 = load i32, ptr %19, align 4, !tbaa !14
  %13162 = add nsw i32 %13161, 1
  %13163 = sext i32 %13162 to i64
  %13164 = getelementptr inbounds i8, ptr %13160, i64 %13163
  %13165 = load i8, ptr %13164, align 1, !tbaa !15
  %13166 = zext i8 %13165 to i64
  %13167 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13166
  %13168 = load i32, ptr %13167, align 4, !tbaa !14
  %13169 = sub nsw i32 %13159, %13168
  store i32 %13169, ptr %17, align 4, !tbaa !14
  %13170 = load i32, ptr %17, align 4, !tbaa !14
  %13171 = icmp slt i32 %13170, 0
  br i1 %13171, label %13172, label %13173

13172:                                            ; preds = %13135
  br label %13181

13173:                                            ; preds = %13135
  %13174 = load i32, ptr %17, align 4, !tbaa !14
  %13175 = icmp sgt i32 %13174, 255
  br i1 %13175, label %13176, label %13177

13176:                                            ; preds = %13173
  br label %13179

13177:                                            ; preds = %13173
  %13178 = load i32, ptr %17, align 4, !tbaa !14
  br label %13179

13179:                                            ; preds = %13177, %13176
  %13180 = phi i32 [ 255, %13176 ], [ %13178, %13177 ]
  br label %13181

13181:                                            ; preds = %13179, %13172
  %13182 = phi i32 [ 0, %13172 ], [ %13180, %13179 ]
  %13183 = trunc i32 %13182 to i8
  %13184 = load ptr, ptr %11, align 8, !tbaa !5
  %13185 = load i32, ptr %19, align 4, !tbaa !14
  %13186 = add nsw i32 %13185, 1
  %13187 = sext i32 %13186 to i64
  %13188 = getelementptr inbounds i8, ptr %13184, i64 %13187
  store i8 %13183, ptr %13188, align 1, !tbaa !15
  %13189 = load ptr, ptr %13, align 8, !tbaa !5
  %13190 = load i32, ptr %19, align 4, !tbaa !14
  %13191 = add nsw i32 %13190, 1
  %13192 = sext i32 %13191 to i64
  %13193 = getelementptr inbounds i8, ptr %13189, i64 %13192
  %13194 = load i8, ptr %13193, align 1, !tbaa !15
  %13195 = zext i8 %13194 to i32
  %13196 = load ptr, ptr %14, align 8, !tbaa !5
  %13197 = load i32, ptr %19, align 4, !tbaa !14
  %13198 = add nsw i32 %13197, 1
  %13199 = sext i32 %13198 to i64
  %13200 = getelementptr inbounds i8, ptr %13196, i64 %13199
  %13201 = load i8, ptr %13200, align 1, !tbaa !15
  %13202 = zext i8 %13201 to i64
  %13203 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13202
  %13204 = load i32, ptr %13203, align 4, !tbaa !14
  %13205 = add nsw i32 %13195, %13204
  store i32 %13205, ptr %18, align 4, !tbaa !14
  %13206 = load i32, ptr %18, align 4, !tbaa !14
  %13207 = icmp slt i32 %13206, 0
  br i1 %13207, label %13208, label %13209

13208:                                            ; preds = %13181
  br label %13217

13209:                                            ; preds = %13181
  %13210 = load i32, ptr %18, align 4, !tbaa !14
  %13211 = icmp sgt i32 %13210, 255
  br i1 %13211, label %13212, label %13213

13212:                                            ; preds = %13209
  br label %13215

13213:                                            ; preds = %13209
  %13214 = load i32, ptr %18, align 4, !tbaa !14
  br label %13215

13215:                                            ; preds = %13213, %13212
  %13216 = phi i32 [ 255, %13212 ], [ %13214, %13213 ]
  br label %13217

13217:                                            ; preds = %13215, %13208
  %13218 = phi i32 [ 0, %13208 ], [ %13216, %13215 ]
  %13219 = trunc i32 %13218 to i8
  %13220 = load ptr, ptr %10, align 8, !tbaa !5
  %13221 = load i32, ptr %19, align 4, !tbaa !14
  %13222 = add nsw i32 %13221, 1
  %13223 = sext i32 %13222 to i64
  %13224 = getelementptr inbounds i8, ptr %13220, i64 %13223
  store i8 %13219, ptr %13224, align 1, !tbaa !15
  %13225 = load ptr, ptr %13, align 8, !tbaa !5
  %13226 = load i32, ptr %19, align 4, !tbaa !14
  %13227 = add nsw i32 %13226, 2
  %13228 = sext i32 %13227 to i64
  %13229 = getelementptr inbounds i8, ptr %13225, i64 %13228
  %13230 = load i8, ptr %13229, align 1, !tbaa !15
  %13231 = zext i8 %13230 to i32
  %13232 = load ptr, ptr %15, align 8, !tbaa !5
  %13233 = load i32, ptr %19, align 4, !tbaa !14
  %13234 = add nsw i32 %13233, 2
  %13235 = sext i32 %13234 to i64
  %13236 = getelementptr inbounds i8, ptr %13232, i64 %13235
  %13237 = load i8, ptr %13236, align 1, !tbaa !15
  %13238 = zext i8 %13237 to i64
  %13239 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13238
  %13240 = load i32, ptr %13239, align 4, !tbaa !14
  %13241 = add nsw i32 %13231, %13240
  store i32 %13241, ptr %16, align 4, !tbaa !14
  %13242 = load i32, ptr %16, align 4, !tbaa !14
  %13243 = icmp slt i32 %13242, 0
  br i1 %13243, label %13244, label %13245

13244:                                            ; preds = %13217
  br label %13253

13245:                                            ; preds = %13217
  %13246 = load i32, ptr %16, align 4, !tbaa !14
  %13247 = icmp sgt i32 %13246, 255
  br i1 %13247, label %13248, label %13249

13248:                                            ; preds = %13245
  br label %13251

13249:                                            ; preds = %13245
  %13250 = load i32, ptr %16, align 4, !tbaa !14
  br label %13251

13251:                                            ; preds = %13249, %13248
  %13252 = phi i32 [ 255, %13248 ], [ %13250, %13249 ]
  br label %13253

13253:                                            ; preds = %13251, %13244
  %13254 = phi i32 [ 0, %13244 ], [ %13252, %13251 ]
  %13255 = trunc i32 %13254 to i8
  %13256 = load ptr, ptr %12, align 8, !tbaa !5
  %13257 = load i32, ptr %19, align 4, !tbaa !14
  %13258 = add nsw i32 %13257, 2
  %13259 = sext i32 %13258 to i64
  %13260 = getelementptr inbounds i8, ptr %13256, i64 %13259
  store i8 %13255, ptr %13260, align 1, !tbaa !15
  %13261 = load ptr, ptr %13, align 8, !tbaa !5
  %13262 = load i32, ptr %19, align 4, !tbaa !14
  %13263 = add nsw i32 %13262, 2
  %13264 = sext i32 %13263 to i64
  %13265 = getelementptr inbounds i8, ptr %13261, i64 %13264
  %13266 = load i8, ptr %13265, align 1, !tbaa !15
  %13267 = zext i8 %13266 to i32
  %13268 = load ptr, ptr %14, align 8, !tbaa !5
  %13269 = load i32, ptr %19, align 4, !tbaa !14
  %13270 = add nsw i32 %13269, 2
  %13271 = sext i32 %13270 to i64
  %13272 = getelementptr inbounds i8, ptr %13268, i64 %13271
  %13273 = load i8, ptr %13272, align 1, !tbaa !15
  %13274 = zext i8 %13273 to i64
  %13275 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13274
  %13276 = load i32, ptr %13275, align 4, !tbaa !14
  %13277 = sub nsw i32 %13267, %13276
  %13278 = load ptr, ptr %15, align 8, !tbaa !5
  %13279 = load i32, ptr %19, align 4, !tbaa !14
  %13280 = add nsw i32 %13279, 2
  %13281 = sext i32 %13280 to i64
  %13282 = getelementptr inbounds i8, ptr %13278, i64 %13281
  %13283 = load i8, ptr %13282, align 1, !tbaa !15
  %13284 = zext i8 %13283 to i64
  %13285 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13284
  %13286 = load i32, ptr %13285, align 4, !tbaa !14
  %13287 = sub nsw i32 %13277, %13286
  store i32 %13287, ptr %17, align 4, !tbaa !14
  %13288 = load i32, ptr %17, align 4, !tbaa !14
  %13289 = icmp slt i32 %13288, 0
  br i1 %13289, label %13290, label %13291

13290:                                            ; preds = %13253
  br label %13299

13291:                                            ; preds = %13253
  %13292 = load i32, ptr %17, align 4, !tbaa !14
  %13293 = icmp sgt i32 %13292, 255
  br i1 %13293, label %13294, label %13295

13294:                                            ; preds = %13291
  br label %13297

13295:                                            ; preds = %13291
  %13296 = load i32, ptr %17, align 4, !tbaa !14
  br label %13297

13297:                                            ; preds = %13295, %13294
  %13298 = phi i32 [ 255, %13294 ], [ %13296, %13295 ]
  br label %13299

13299:                                            ; preds = %13297, %13290
  %13300 = phi i32 [ 0, %13290 ], [ %13298, %13297 ]
  %13301 = trunc i32 %13300 to i8
  %13302 = load ptr, ptr %11, align 8, !tbaa !5
  %13303 = load i32, ptr %19, align 4, !tbaa !14
  %13304 = add nsw i32 %13303, 2
  %13305 = sext i32 %13304 to i64
  %13306 = getelementptr inbounds i8, ptr %13302, i64 %13305
  store i8 %13301, ptr %13306, align 1, !tbaa !15
  %13307 = load ptr, ptr %13, align 8, !tbaa !5
  %13308 = load i32, ptr %19, align 4, !tbaa !14
  %13309 = add nsw i32 %13308, 2
  %13310 = sext i32 %13309 to i64
  %13311 = getelementptr inbounds i8, ptr %13307, i64 %13310
  %13312 = load i8, ptr %13311, align 1, !tbaa !15
  %13313 = zext i8 %13312 to i32
  %13314 = load ptr, ptr %14, align 8, !tbaa !5
  %13315 = load i32, ptr %19, align 4, !tbaa !14
  %13316 = add nsw i32 %13315, 2
  %13317 = sext i32 %13316 to i64
  %13318 = getelementptr inbounds i8, ptr %13314, i64 %13317
  %13319 = load i8, ptr %13318, align 1, !tbaa !15
  %13320 = zext i8 %13319 to i64
  %13321 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13320
  %13322 = load i32, ptr %13321, align 4, !tbaa !14
  %13323 = add nsw i32 %13313, %13322
  store i32 %13323, ptr %18, align 4, !tbaa !14
  %13324 = load i32, ptr %18, align 4, !tbaa !14
  %13325 = icmp slt i32 %13324, 0
  br i1 %13325, label %13326, label %13327

13326:                                            ; preds = %13299
  br label %13335

13327:                                            ; preds = %13299
  %13328 = load i32, ptr %18, align 4, !tbaa !14
  %13329 = icmp sgt i32 %13328, 255
  br i1 %13329, label %13330, label %13331

13330:                                            ; preds = %13327
  br label %13333

13331:                                            ; preds = %13327
  %13332 = load i32, ptr %18, align 4, !tbaa !14
  br label %13333

13333:                                            ; preds = %13331, %13330
  %13334 = phi i32 [ 255, %13330 ], [ %13332, %13331 ]
  br label %13335

13335:                                            ; preds = %13333, %13326
  %13336 = phi i32 [ 0, %13326 ], [ %13334, %13333 ]
  %13337 = trunc i32 %13336 to i8
  %13338 = load ptr, ptr %10, align 8, !tbaa !5
  %13339 = load i32, ptr %19, align 4, !tbaa !14
  %13340 = add nsw i32 %13339, 2
  %13341 = sext i32 %13340 to i64
  %13342 = getelementptr inbounds i8, ptr %13338, i64 %13341
  store i8 %13337, ptr %13342, align 1, !tbaa !15
  %13343 = load ptr, ptr %13, align 8, !tbaa !5
  %13344 = load i32, ptr %19, align 4, !tbaa !14
  %13345 = add nsw i32 %13344, 3
  %13346 = sext i32 %13345 to i64
  %13347 = getelementptr inbounds i8, ptr %13343, i64 %13346
  %13348 = load i8, ptr %13347, align 1, !tbaa !15
  %13349 = zext i8 %13348 to i32
  %13350 = load ptr, ptr %15, align 8, !tbaa !5
  %13351 = load i32, ptr %19, align 4, !tbaa !14
  %13352 = add nsw i32 %13351, 3
  %13353 = sext i32 %13352 to i64
  %13354 = getelementptr inbounds i8, ptr %13350, i64 %13353
  %13355 = load i8, ptr %13354, align 1, !tbaa !15
  %13356 = zext i8 %13355 to i64
  %13357 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13356
  %13358 = load i32, ptr %13357, align 4, !tbaa !14
  %13359 = add nsw i32 %13349, %13358
  store i32 %13359, ptr %16, align 4, !tbaa !14
  %13360 = load i32, ptr %16, align 4, !tbaa !14
  %13361 = icmp slt i32 %13360, 0
  br i1 %13361, label %13362, label %13363

13362:                                            ; preds = %13335
  br label %13371

13363:                                            ; preds = %13335
  %13364 = load i32, ptr %16, align 4, !tbaa !14
  %13365 = icmp sgt i32 %13364, 255
  br i1 %13365, label %13366, label %13367

13366:                                            ; preds = %13363
  br label %13369

13367:                                            ; preds = %13363
  %13368 = load i32, ptr %16, align 4, !tbaa !14
  br label %13369

13369:                                            ; preds = %13367, %13366
  %13370 = phi i32 [ 255, %13366 ], [ %13368, %13367 ]
  br label %13371

13371:                                            ; preds = %13369, %13362
  %13372 = phi i32 [ 0, %13362 ], [ %13370, %13369 ]
  %13373 = trunc i32 %13372 to i8
  %13374 = load ptr, ptr %12, align 8, !tbaa !5
  %13375 = load i32, ptr %19, align 4, !tbaa !14
  %13376 = add nsw i32 %13375, 3
  %13377 = sext i32 %13376 to i64
  %13378 = getelementptr inbounds i8, ptr %13374, i64 %13377
  store i8 %13373, ptr %13378, align 1, !tbaa !15
  %13379 = load ptr, ptr %13, align 8, !tbaa !5
  %13380 = load i32, ptr %19, align 4, !tbaa !14
  %13381 = add nsw i32 %13380, 3
  %13382 = sext i32 %13381 to i64
  %13383 = getelementptr inbounds i8, ptr %13379, i64 %13382
  %13384 = load i8, ptr %13383, align 1, !tbaa !15
  %13385 = zext i8 %13384 to i32
  %13386 = load ptr, ptr %14, align 8, !tbaa !5
  %13387 = load i32, ptr %19, align 4, !tbaa !14
  %13388 = add nsw i32 %13387, 3
  %13389 = sext i32 %13388 to i64
  %13390 = getelementptr inbounds i8, ptr %13386, i64 %13389
  %13391 = load i8, ptr %13390, align 1, !tbaa !15
  %13392 = zext i8 %13391 to i64
  %13393 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13392
  %13394 = load i32, ptr %13393, align 4, !tbaa !14
  %13395 = sub nsw i32 %13385, %13394
  %13396 = load ptr, ptr %15, align 8, !tbaa !5
  %13397 = load i32, ptr %19, align 4, !tbaa !14
  %13398 = add nsw i32 %13397, 3
  %13399 = sext i32 %13398 to i64
  %13400 = getelementptr inbounds i8, ptr %13396, i64 %13399
  %13401 = load i8, ptr %13400, align 1, !tbaa !15
  %13402 = zext i8 %13401 to i64
  %13403 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13402
  %13404 = load i32, ptr %13403, align 4, !tbaa !14
  %13405 = sub nsw i32 %13395, %13404
  store i32 %13405, ptr %17, align 4, !tbaa !14
  %13406 = load i32, ptr %17, align 4, !tbaa !14
  %13407 = icmp slt i32 %13406, 0
  br i1 %13407, label %13408, label %13409

13408:                                            ; preds = %13371
  br label %13417

13409:                                            ; preds = %13371
  %13410 = load i32, ptr %17, align 4, !tbaa !14
  %13411 = icmp sgt i32 %13410, 255
  br i1 %13411, label %13412, label %13413

13412:                                            ; preds = %13409
  br label %13415

13413:                                            ; preds = %13409
  %13414 = load i32, ptr %17, align 4, !tbaa !14
  br label %13415

13415:                                            ; preds = %13413, %13412
  %13416 = phi i32 [ 255, %13412 ], [ %13414, %13413 ]
  br label %13417

13417:                                            ; preds = %13415, %13408
  %13418 = phi i32 [ 0, %13408 ], [ %13416, %13415 ]
  %13419 = trunc i32 %13418 to i8
  %13420 = load ptr, ptr %11, align 8, !tbaa !5
  %13421 = load i32, ptr %19, align 4, !tbaa !14
  %13422 = add nsw i32 %13421, 3
  %13423 = sext i32 %13422 to i64
  %13424 = getelementptr inbounds i8, ptr %13420, i64 %13423
  store i8 %13419, ptr %13424, align 1, !tbaa !15
  %13425 = load ptr, ptr %13, align 8, !tbaa !5
  %13426 = load i32, ptr %19, align 4, !tbaa !14
  %13427 = add nsw i32 %13426, 3
  %13428 = sext i32 %13427 to i64
  %13429 = getelementptr inbounds i8, ptr %13425, i64 %13428
  %13430 = load i8, ptr %13429, align 1, !tbaa !15
  %13431 = zext i8 %13430 to i32
  %13432 = load ptr, ptr %14, align 8, !tbaa !5
  %13433 = load i32, ptr %19, align 4, !tbaa !14
  %13434 = add nsw i32 %13433, 3
  %13435 = sext i32 %13434 to i64
  %13436 = getelementptr inbounds i8, ptr %13432, i64 %13435
  %13437 = load i8, ptr %13436, align 1, !tbaa !15
  %13438 = zext i8 %13437 to i64
  %13439 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13438
  %13440 = load i32, ptr %13439, align 4, !tbaa !14
  %13441 = add nsw i32 %13431, %13440
  store i32 %13441, ptr %18, align 4, !tbaa !14
  %13442 = load i32, ptr %18, align 4, !tbaa !14
  %13443 = icmp slt i32 %13442, 0
  br i1 %13443, label %13444, label %13445

13444:                                            ; preds = %13417
  br label %13453

13445:                                            ; preds = %13417
  %13446 = load i32, ptr %18, align 4, !tbaa !14
  %13447 = icmp sgt i32 %13446, 255
  br i1 %13447, label %13448, label %13449

13448:                                            ; preds = %13445
  br label %13451

13449:                                            ; preds = %13445
  %13450 = load i32, ptr %18, align 4, !tbaa !14
  br label %13451

13451:                                            ; preds = %13449, %13448
  %13452 = phi i32 [ 255, %13448 ], [ %13450, %13449 ]
  br label %13453

13453:                                            ; preds = %13451, %13444
  %13454 = phi i32 [ 0, %13444 ], [ %13452, %13451 ]
  %13455 = trunc i32 %13454 to i8
  %13456 = load ptr, ptr %10, align 8, !tbaa !5
  %13457 = load i32, ptr %19, align 4, !tbaa !14
  %13458 = add nsw i32 %13457, 3
  %13459 = sext i32 %13458 to i64
  %13460 = getelementptr inbounds i8, ptr %13456, i64 %13459
  store i8 %13455, ptr %13460, align 1, !tbaa !15
  %13461 = load ptr, ptr %13, align 8, !tbaa !5
  %13462 = load i32, ptr %19, align 4, !tbaa !14
  %13463 = add nsw i32 %13462, 4
  %13464 = sext i32 %13463 to i64
  %13465 = getelementptr inbounds i8, ptr %13461, i64 %13464
  %13466 = load i8, ptr %13465, align 1, !tbaa !15
  %13467 = zext i8 %13466 to i32
  %13468 = load ptr, ptr %15, align 8, !tbaa !5
  %13469 = load i32, ptr %19, align 4, !tbaa !14
  %13470 = add nsw i32 %13469, 4
  %13471 = sext i32 %13470 to i64
  %13472 = getelementptr inbounds i8, ptr %13468, i64 %13471
  %13473 = load i8, ptr %13472, align 1, !tbaa !15
  %13474 = zext i8 %13473 to i64
  %13475 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13474
  %13476 = load i32, ptr %13475, align 4, !tbaa !14
  %13477 = add nsw i32 %13467, %13476
  store i32 %13477, ptr %16, align 4, !tbaa !14
  %13478 = load i32, ptr %16, align 4, !tbaa !14
  %13479 = icmp slt i32 %13478, 0
  br i1 %13479, label %13480, label %13481

13480:                                            ; preds = %13453
  br label %13489

13481:                                            ; preds = %13453
  %13482 = load i32, ptr %16, align 4, !tbaa !14
  %13483 = icmp sgt i32 %13482, 255
  br i1 %13483, label %13484, label %13485

13484:                                            ; preds = %13481
  br label %13487

13485:                                            ; preds = %13481
  %13486 = load i32, ptr %16, align 4, !tbaa !14
  br label %13487

13487:                                            ; preds = %13485, %13484
  %13488 = phi i32 [ 255, %13484 ], [ %13486, %13485 ]
  br label %13489

13489:                                            ; preds = %13487, %13480
  %13490 = phi i32 [ 0, %13480 ], [ %13488, %13487 ]
  %13491 = trunc i32 %13490 to i8
  %13492 = load ptr, ptr %12, align 8, !tbaa !5
  %13493 = load i32, ptr %19, align 4, !tbaa !14
  %13494 = add nsw i32 %13493, 4
  %13495 = sext i32 %13494 to i64
  %13496 = getelementptr inbounds i8, ptr %13492, i64 %13495
  store i8 %13491, ptr %13496, align 1, !tbaa !15
  %13497 = load ptr, ptr %13, align 8, !tbaa !5
  %13498 = load i32, ptr %19, align 4, !tbaa !14
  %13499 = add nsw i32 %13498, 4
  %13500 = sext i32 %13499 to i64
  %13501 = getelementptr inbounds i8, ptr %13497, i64 %13500
  %13502 = load i8, ptr %13501, align 1, !tbaa !15
  %13503 = zext i8 %13502 to i32
  %13504 = load ptr, ptr %14, align 8, !tbaa !5
  %13505 = load i32, ptr %19, align 4, !tbaa !14
  %13506 = add nsw i32 %13505, 4
  %13507 = sext i32 %13506 to i64
  %13508 = getelementptr inbounds i8, ptr %13504, i64 %13507
  %13509 = load i8, ptr %13508, align 1, !tbaa !15
  %13510 = zext i8 %13509 to i64
  %13511 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13510
  %13512 = load i32, ptr %13511, align 4, !tbaa !14
  %13513 = sub nsw i32 %13503, %13512
  %13514 = load ptr, ptr %15, align 8, !tbaa !5
  %13515 = load i32, ptr %19, align 4, !tbaa !14
  %13516 = add nsw i32 %13515, 4
  %13517 = sext i32 %13516 to i64
  %13518 = getelementptr inbounds i8, ptr %13514, i64 %13517
  %13519 = load i8, ptr %13518, align 1, !tbaa !15
  %13520 = zext i8 %13519 to i64
  %13521 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13520
  %13522 = load i32, ptr %13521, align 4, !tbaa !14
  %13523 = sub nsw i32 %13513, %13522
  store i32 %13523, ptr %17, align 4, !tbaa !14
  %13524 = load i32, ptr %17, align 4, !tbaa !14
  %13525 = icmp slt i32 %13524, 0
  br i1 %13525, label %13526, label %13527

13526:                                            ; preds = %13489
  br label %13535

13527:                                            ; preds = %13489
  %13528 = load i32, ptr %17, align 4, !tbaa !14
  %13529 = icmp sgt i32 %13528, 255
  br i1 %13529, label %13530, label %13531

13530:                                            ; preds = %13527
  br label %13533

13531:                                            ; preds = %13527
  %13532 = load i32, ptr %17, align 4, !tbaa !14
  br label %13533

13533:                                            ; preds = %13531, %13530
  %13534 = phi i32 [ 255, %13530 ], [ %13532, %13531 ]
  br label %13535

13535:                                            ; preds = %13533, %13526
  %13536 = phi i32 [ 0, %13526 ], [ %13534, %13533 ]
  %13537 = trunc i32 %13536 to i8
  %13538 = load ptr, ptr %11, align 8, !tbaa !5
  %13539 = load i32, ptr %19, align 4, !tbaa !14
  %13540 = add nsw i32 %13539, 4
  %13541 = sext i32 %13540 to i64
  %13542 = getelementptr inbounds i8, ptr %13538, i64 %13541
  store i8 %13537, ptr %13542, align 1, !tbaa !15
  %13543 = load ptr, ptr %13, align 8, !tbaa !5
  %13544 = load i32, ptr %19, align 4, !tbaa !14
  %13545 = add nsw i32 %13544, 4
  %13546 = sext i32 %13545 to i64
  %13547 = getelementptr inbounds i8, ptr %13543, i64 %13546
  %13548 = load i8, ptr %13547, align 1, !tbaa !15
  %13549 = zext i8 %13548 to i32
  %13550 = load ptr, ptr %14, align 8, !tbaa !5
  %13551 = load i32, ptr %19, align 4, !tbaa !14
  %13552 = add nsw i32 %13551, 4
  %13553 = sext i32 %13552 to i64
  %13554 = getelementptr inbounds i8, ptr %13550, i64 %13553
  %13555 = load i8, ptr %13554, align 1, !tbaa !15
  %13556 = zext i8 %13555 to i64
  %13557 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13556
  %13558 = load i32, ptr %13557, align 4, !tbaa !14
  %13559 = add nsw i32 %13549, %13558
  store i32 %13559, ptr %18, align 4, !tbaa !14
  %13560 = load i32, ptr %18, align 4, !tbaa !14
  %13561 = icmp slt i32 %13560, 0
  br i1 %13561, label %13562, label %13563

13562:                                            ; preds = %13535
  br label %13571

13563:                                            ; preds = %13535
  %13564 = load i32, ptr %18, align 4, !tbaa !14
  %13565 = icmp sgt i32 %13564, 255
  br i1 %13565, label %13566, label %13567

13566:                                            ; preds = %13563
  br label %13569

13567:                                            ; preds = %13563
  %13568 = load i32, ptr %18, align 4, !tbaa !14
  br label %13569

13569:                                            ; preds = %13567, %13566
  %13570 = phi i32 [ 255, %13566 ], [ %13568, %13567 ]
  br label %13571

13571:                                            ; preds = %13569, %13562
  %13572 = phi i32 [ 0, %13562 ], [ %13570, %13569 ]
  %13573 = trunc i32 %13572 to i8
  %13574 = load ptr, ptr %10, align 8, !tbaa !5
  %13575 = load i32, ptr %19, align 4, !tbaa !14
  %13576 = add nsw i32 %13575, 4
  %13577 = sext i32 %13576 to i64
  %13578 = getelementptr inbounds i8, ptr %13574, i64 %13577
  store i8 %13573, ptr %13578, align 1, !tbaa !15
  %13579 = load ptr, ptr %13, align 8, !tbaa !5
  %13580 = load i32, ptr %19, align 4, !tbaa !14
  %13581 = add nsw i32 %13580, 5
  %13582 = sext i32 %13581 to i64
  %13583 = getelementptr inbounds i8, ptr %13579, i64 %13582
  %13584 = load i8, ptr %13583, align 1, !tbaa !15
  %13585 = zext i8 %13584 to i32
  %13586 = load ptr, ptr %15, align 8, !tbaa !5
  %13587 = load i32, ptr %19, align 4, !tbaa !14
  %13588 = add nsw i32 %13587, 5
  %13589 = sext i32 %13588 to i64
  %13590 = getelementptr inbounds i8, ptr %13586, i64 %13589
  %13591 = load i8, ptr %13590, align 1, !tbaa !15
  %13592 = zext i8 %13591 to i64
  %13593 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13592
  %13594 = load i32, ptr %13593, align 4, !tbaa !14
  %13595 = add nsw i32 %13585, %13594
  store i32 %13595, ptr %16, align 4, !tbaa !14
  %13596 = load i32, ptr %16, align 4, !tbaa !14
  %13597 = icmp slt i32 %13596, 0
  br i1 %13597, label %13598, label %13599

13598:                                            ; preds = %13571
  br label %13607

13599:                                            ; preds = %13571
  %13600 = load i32, ptr %16, align 4, !tbaa !14
  %13601 = icmp sgt i32 %13600, 255
  br i1 %13601, label %13602, label %13603

13602:                                            ; preds = %13599
  br label %13605

13603:                                            ; preds = %13599
  %13604 = load i32, ptr %16, align 4, !tbaa !14
  br label %13605

13605:                                            ; preds = %13603, %13602
  %13606 = phi i32 [ 255, %13602 ], [ %13604, %13603 ]
  br label %13607

13607:                                            ; preds = %13605, %13598
  %13608 = phi i32 [ 0, %13598 ], [ %13606, %13605 ]
  %13609 = trunc i32 %13608 to i8
  %13610 = load ptr, ptr %12, align 8, !tbaa !5
  %13611 = load i32, ptr %19, align 4, !tbaa !14
  %13612 = add nsw i32 %13611, 5
  %13613 = sext i32 %13612 to i64
  %13614 = getelementptr inbounds i8, ptr %13610, i64 %13613
  store i8 %13609, ptr %13614, align 1, !tbaa !15
  %13615 = load ptr, ptr %13, align 8, !tbaa !5
  %13616 = load i32, ptr %19, align 4, !tbaa !14
  %13617 = add nsw i32 %13616, 5
  %13618 = sext i32 %13617 to i64
  %13619 = getelementptr inbounds i8, ptr %13615, i64 %13618
  %13620 = load i8, ptr %13619, align 1, !tbaa !15
  %13621 = zext i8 %13620 to i32
  %13622 = load ptr, ptr %14, align 8, !tbaa !5
  %13623 = load i32, ptr %19, align 4, !tbaa !14
  %13624 = add nsw i32 %13623, 5
  %13625 = sext i32 %13624 to i64
  %13626 = getelementptr inbounds i8, ptr %13622, i64 %13625
  %13627 = load i8, ptr %13626, align 1, !tbaa !15
  %13628 = zext i8 %13627 to i64
  %13629 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13628
  %13630 = load i32, ptr %13629, align 4, !tbaa !14
  %13631 = sub nsw i32 %13621, %13630
  %13632 = load ptr, ptr %15, align 8, !tbaa !5
  %13633 = load i32, ptr %19, align 4, !tbaa !14
  %13634 = add nsw i32 %13633, 5
  %13635 = sext i32 %13634 to i64
  %13636 = getelementptr inbounds i8, ptr %13632, i64 %13635
  %13637 = load i8, ptr %13636, align 1, !tbaa !15
  %13638 = zext i8 %13637 to i64
  %13639 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13638
  %13640 = load i32, ptr %13639, align 4, !tbaa !14
  %13641 = sub nsw i32 %13631, %13640
  store i32 %13641, ptr %17, align 4, !tbaa !14
  %13642 = load i32, ptr %17, align 4, !tbaa !14
  %13643 = icmp slt i32 %13642, 0
  br i1 %13643, label %13644, label %13645

13644:                                            ; preds = %13607
  br label %13653

13645:                                            ; preds = %13607
  %13646 = load i32, ptr %17, align 4, !tbaa !14
  %13647 = icmp sgt i32 %13646, 255
  br i1 %13647, label %13648, label %13649

13648:                                            ; preds = %13645
  br label %13651

13649:                                            ; preds = %13645
  %13650 = load i32, ptr %17, align 4, !tbaa !14
  br label %13651

13651:                                            ; preds = %13649, %13648
  %13652 = phi i32 [ 255, %13648 ], [ %13650, %13649 ]
  br label %13653

13653:                                            ; preds = %13651, %13644
  %13654 = phi i32 [ 0, %13644 ], [ %13652, %13651 ]
  %13655 = trunc i32 %13654 to i8
  %13656 = load ptr, ptr %11, align 8, !tbaa !5
  %13657 = load i32, ptr %19, align 4, !tbaa !14
  %13658 = add nsw i32 %13657, 5
  %13659 = sext i32 %13658 to i64
  %13660 = getelementptr inbounds i8, ptr %13656, i64 %13659
  store i8 %13655, ptr %13660, align 1, !tbaa !15
  %13661 = load ptr, ptr %13, align 8, !tbaa !5
  %13662 = load i32, ptr %19, align 4, !tbaa !14
  %13663 = add nsw i32 %13662, 5
  %13664 = sext i32 %13663 to i64
  %13665 = getelementptr inbounds i8, ptr %13661, i64 %13664
  %13666 = load i8, ptr %13665, align 1, !tbaa !15
  %13667 = zext i8 %13666 to i32
  %13668 = load ptr, ptr %14, align 8, !tbaa !5
  %13669 = load i32, ptr %19, align 4, !tbaa !14
  %13670 = add nsw i32 %13669, 5
  %13671 = sext i32 %13670 to i64
  %13672 = getelementptr inbounds i8, ptr %13668, i64 %13671
  %13673 = load i8, ptr %13672, align 1, !tbaa !15
  %13674 = zext i8 %13673 to i64
  %13675 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13674
  %13676 = load i32, ptr %13675, align 4, !tbaa !14
  %13677 = add nsw i32 %13667, %13676
  store i32 %13677, ptr %18, align 4, !tbaa !14
  %13678 = load i32, ptr %18, align 4, !tbaa !14
  %13679 = icmp slt i32 %13678, 0
  br i1 %13679, label %13680, label %13681

13680:                                            ; preds = %13653
  br label %13689

13681:                                            ; preds = %13653
  %13682 = load i32, ptr %18, align 4, !tbaa !14
  %13683 = icmp sgt i32 %13682, 255
  br i1 %13683, label %13684, label %13685

13684:                                            ; preds = %13681
  br label %13687

13685:                                            ; preds = %13681
  %13686 = load i32, ptr %18, align 4, !tbaa !14
  br label %13687

13687:                                            ; preds = %13685, %13684
  %13688 = phi i32 [ 255, %13684 ], [ %13686, %13685 ]
  br label %13689

13689:                                            ; preds = %13687, %13680
  %13690 = phi i32 [ 0, %13680 ], [ %13688, %13687 ]
  %13691 = trunc i32 %13690 to i8
  %13692 = load ptr, ptr %10, align 8, !tbaa !5
  %13693 = load i32, ptr %19, align 4, !tbaa !14
  %13694 = add nsw i32 %13693, 5
  %13695 = sext i32 %13694 to i64
  %13696 = getelementptr inbounds i8, ptr %13692, i64 %13695
  store i8 %13691, ptr %13696, align 1, !tbaa !15
  %13697 = load ptr, ptr %13, align 8, !tbaa !5
  %13698 = load i32, ptr %19, align 4, !tbaa !14
  %13699 = add nsw i32 %13698, 6
  %13700 = sext i32 %13699 to i64
  %13701 = getelementptr inbounds i8, ptr %13697, i64 %13700
  %13702 = load i8, ptr %13701, align 1, !tbaa !15
  %13703 = zext i8 %13702 to i32
  %13704 = load ptr, ptr %15, align 8, !tbaa !5
  %13705 = load i32, ptr %19, align 4, !tbaa !14
  %13706 = add nsw i32 %13705, 6
  %13707 = sext i32 %13706 to i64
  %13708 = getelementptr inbounds i8, ptr %13704, i64 %13707
  %13709 = load i8, ptr %13708, align 1, !tbaa !15
  %13710 = zext i8 %13709 to i64
  %13711 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13710
  %13712 = load i32, ptr %13711, align 4, !tbaa !14
  %13713 = add nsw i32 %13703, %13712
  store i32 %13713, ptr %16, align 4, !tbaa !14
  %13714 = load i32, ptr %16, align 4, !tbaa !14
  %13715 = icmp slt i32 %13714, 0
  br i1 %13715, label %13716, label %13717

13716:                                            ; preds = %13689
  br label %13725

13717:                                            ; preds = %13689
  %13718 = load i32, ptr %16, align 4, !tbaa !14
  %13719 = icmp sgt i32 %13718, 255
  br i1 %13719, label %13720, label %13721

13720:                                            ; preds = %13717
  br label %13723

13721:                                            ; preds = %13717
  %13722 = load i32, ptr %16, align 4, !tbaa !14
  br label %13723

13723:                                            ; preds = %13721, %13720
  %13724 = phi i32 [ 255, %13720 ], [ %13722, %13721 ]
  br label %13725

13725:                                            ; preds = %13723, %13716
  %13726 = phi i32 [ 0, %13716 ], [ %13724, %13723 ]
  %13727 = trunc i32 %13726 to i8
  %13728 = load ptr, ptr %12, align 8, !tbaa !5
  %13729 = load i32, ptr %19, align 4, !tbaa !14
  %13730 = add nsw i32 %13729, 6
  %13731 = sext i32 %13730 to i64
  %13732 = getelementptr inbounds i8, ptr %13728, i64 %13731
  store i8 %13727, ptr %13732, align 1, !tbaa !15
  %13733 = load ptr, ptr %13, align 8, !tbaa !5
  %13734 = load i32, ptr %19, align 4, !tbaa !14
  %13735 = add nsw i32 %13734, 6
  %13736 = sext i32 %13735 to i64
  %13737 = getelementptr inbounds i8, ptr %13733, i64 %13736
  %13738 = load i8, ptr %13737, align 1, !tbaa !15
  %13739 = zext i8 %13738 to i32
  %13740 = load ptr, ptr %14, align 8, !tbaa !5
  %13741 = load i32, ptr %19, align 4, !tbaa !14
  %13742 = add nsw i32 %13741, 6
  %13743 = sext i32 %13742 to i64
  %13744 = getelementptr inbounds i8, ptr %13740, i64 %13743
  %13745 = load i8, ptr %13744, align 1, !tbaa !15
  %13746 = zext i8 %13745 to i64
  %13747 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13746
  %13748 = load i32, ptr %13747, align 4, !tbaa !14
  %13749 = sub nsw i32 %13739, %13748
  %13750 = load ptr, ptr %15, align 8, !tbaa !5
  %13751 = load i32, ptr %19, align 4, !tbaa !14
  %13752 = add nsw i32 %13751, 6
  %13753 = sext i32 %13752 to i64
  %13754 = getelementptr inbounds i8, ptr %13750, i64 %13753
  %13755 = load i8, ptr %13754, align 1, !tbaa !15
  %13756 = zext i8 %13755 to i64
  %13757 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13756
  %13758 = load i32, ptr %13757, align 4, !tbaa !14
  %13759 = sub nsw i32 %13749, %13758
  store i32 %13759, ptr %17, align 4, !tbaa !14
  %13760 = load i32, ptr %17, align 4, !tbaa !14
  %13761 = icmp slt i32 %13760, 0
  br i1 %13761, label %13762, label %13763

13762:                                            ; preds = %13725
  br label %13771

13763:                                            ; preds = %13725
  %13764 = load i32, ptr %17, align 4, !tbaa !14
  %13765 = icmp sgt i32 %13764, 255
  br i1 %13765, label %13766, label %13767

13766:                                            ; preds = %13763
  br label %13769

13767:                                            ; preds = %13763
  %13768 = load i32, ptr %17, align 4, !tbaa !14
  br label %13769

13769:                                            ; preds = %13767, %13766
  %13770 = phi i32 [ 255, %13766 ], [ %13768, %13767 ]
  br label %13771

13771:                                            ; preds = %13769, %13762
  %13772 = phi i32 [ 0, %13762 ], [ %13770, %13769 ]
  %13773 = trunc i32 %13772 to i8
  %13774 = load ptr, ptr %11, align 8, !tbaa !5
  %13775 = load i32, ptr %19, align 4, !tbaa !14
  %13776 = add nsw i32 %13775, 6
  %13777 = sext i32 %13776 to i64
  %13778 = getelementptr inbounds i8, ptr %13774, i64 %13777
  store i8 %13773, ptr %13778, align 1, !tbaa !15
  %13779 = load ptr, ptr %13, align 8, !tbaa !5
  %13780 = load i32, ptr %19, align 4, !tbaa !14
  %13781 = add nsw i32 %13780, 6
  %13782 = sext i32 %13781 to i64
  %13783 = getelementptr inbounds i8, ptr %13779, i64 %13782
  %13784 = load i8, ptr %13783, align 1, !tbaa !15
  %13785 = zext i8 %13784 to i32
  %13786 = load ptr, ptr %14, align 8, !tbaa !5
  %13787 = load i32, ptr %19, align 4, !tbaa !14
  %13788 = add nsw i32 %13787, 6
  %13789 = sext i32 %13788 to i64
  %13790 = getelementptr inbounds i8, ptr %13786, i64 %13789
  %13791 = load i8, ptr %13790, align 1, !tbaa !15
  %13792 = zext i8 %13791 to i64
  %13793 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13792
  %13794 = load i32, ptr %13793, align 4, !tbaa !14
  %13795 = add nsw i32 %13785, %13794
  store i32 %13795, ptr %18, align 4, !tbaa !14
  %13796 = load i32, ptr %18, align 4, !tbaa !14
  %13797 = icmp slt i32 %13796, 0
  br i1 %13797, label %13798, label %13799

13798:                                            ; preds = %13771
  br label %13807

13799:                                            ; preds = %13771
  %13800 = load i32, ptr %18, align 4, !tbaa !14
  %13801 = icmp sgt i32 %13800, 255
  br i1 %13801, label %13802, label %13803

13802:                                            ; preds = %13799
  br label %13805

13803:                                            ; preds = %13799
  %13804 = load i32, ptr %18, align 4, !tbaa !14
  br label %13805

13805:                                            ; preds = %13803, %13802
  %13806 = phi i32 [ 255, %13802 ], [ %13804, %13803 ]
  br label %13807

13807:                                            ; preds = %13805, %13798
  %13808 = phi i32 [ 0, %13798 ], [ %13806, %13805 ]
  %13809 = trunc i32 %13808 to i8
  %13810 = load ptr, ptr %10, align 8, !tbaa !5
  %13811 = load i32, ptr %19, align 4, !tbaa !14
  %13812 = add nsw i32 %13811, 6
  %13813 = sext i32 %13812 to i64
  %13814 = getelementptr inbounds i8, ptr %13810, i64 %13813
  store i8 %13809, ptr %13814, align 1, !tbaa !15
  %13815 = load ptr, ptr %13, align 8, !tbaa !5
  %13816 = load i32, ptr %19, align 4, !tbaa !14
  %13817 = add nsw i32 %13816, 7
  %13818 = sext i32 %13817 to i64
  %13819 = getelementptr inbounds i8, ptr %13815, i64 %13818
  %13820 = load i8, ptr %13819, align 1, !tbaa !15
  %13821 = zext i8 %13820 to i32
  %13822 = load ptr, ptr %15, align 8, !tbaa !5
  %13823 = load i32, ptr %19, align 4, !tbaa !14
  %13824 = add nsw i32 %13823, 7
  %13825 = sext i32 %13824 to i64
  %13826 = getelementptr inbounds i8, ptr %13822, i64 %13825
  %13827 = load i8, ptr %13826, align 1, !tbaa !15
  %13828 = zext i8 %13827 to i64
  %13829 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13828
  %13830 = load i32, ptr %13829, align 4, !tbaa !14
  %13831 = add nsw i32 %13821, %13830
  store i32 %13831, ptr %16, align 4, !tbaa !14
  %13832 = load i32, ptr %16, align 4, !tbaa !14
  %13833 = icmp slt i32 %13832, 0
  br i1 %13833, label %13834, label %13835

13834:                                            ; preds = %13807
  br label %13843

13835:                                            ; preds = %13807
  %13836 = load i32, ptr %16, align 4, !tbaa !14
  %13837 = icmp sgt i32 %13836, 255
  br i1 %13837, label %13838, label %13839

13838:                                            ; preds = %13835
  br label %13841

13839:                                            ; preds = %13835
  %13840 = load i32, ptr %16, align 4, !tbaa !14
  br label %13841

13841:                                            ; preds = %13839, %13838
  %13842 = phi i32 [ 255, %13838 ], [ %13840, %13839 ]
  br label %13843

13843:                                            ; preds = %13841, %13834
  %13844 = phi i32 [ 0, %13834 ], [ %13842, %13841 ]
  %13845 = trunc i32 %13844 to i8
  %13846 = load ptr, ptr %12, align 8, !tbaa !5
  %13847 = load i32, ptr %19, align 4, !tbaa !14
  %13848 = add nsw i32 %13847, 7
  %13849 = sext i32 %13848 to i64
  %13850 = getelementptr inbounds i8, ptr %13846, i64 %13849
  store i8 %13845, ptr %13850, align 1, !tbaa !15
  %13851 = load ptr, ptr %13, align 8, !tbaa !5
  %13852 = load i32, ptr %19, align 4, !tbaa !14
  %13853 = add nsw i32 %13852, 7
  %13854 = sext i32 %13853 to i64
  %13855 = getelementptr inbounds i8, ptr %13851, i64 %13854
  %13856 = load i8, ptr %13855, align 1, !tbaa !15
  %13857 = zext i8 %13856 to i32
  %13858 = load ptr, ptr %14, align 8, !tbaa !5
  %13859 = load i32, ptr %19, align 4, !tbaa !14
  %13860 = add nsw i32 %13859, 7
  %13861 = sext i32 %13860 to i64
  %13862 = getelementptr inbounds i8, ptr %13858, i64 %13861
  %13863 = load i8, ptr %13862, align 1, !tbaa !15
  %13864 = zext i8 %13863 to i64
  %13865 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13864
  %13866 = load i32, ptr %13865, align 4, !tbaa !14
  %13867 = sub nsw i32 %13857, %13866
  %13868 = load ptr, ptr %15, align 8, !tbaa !5
  %13869 = load i32, ptr %19, align 4, !tbaa !14
  %13870 = add nsw i32 %13869, 7
  %13871 = sext i32 %13870 to i64
  %13872 = getelementptr inbounds i8, ptr %13868, i64 %13871
  %13873 = load i8, ptr %13872, align 1, !tbaa !15
  %13874 = zext i8 %13873 to i64
  %13875 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13874
  %13876 = load i32, ptr %13875, align 4, !tbaa !14
  %13877 = sub nsw i32 %13867, %13876
  store i32 %13877, ptr %17, align 4, !tbaa !14
  %13878 = load i32, ptr %17, align 4, !tbaa !14
  %13879 = icmp slt i32 %13878, 0
  br i1 %13879, label %13880, label %13881

13880:                                            ; preds = %13843
  br label %13889

13881:                                            ; preds = %13843
  %13882 = load i32, ptr %17, align 4, !tbaa !14
  %13883 = icmp sgt i32 %13882, 255
  br i1 %13883, label %13884, label %13885

13884:                                            ; preds = %13881
  br label %13887

13885:                                            ; preds = %13881
  %13886 = load i32, ptr %17, align 4, !tbaa !14
  br label %13887

13887:                                            ; preds = %13885, %13884
  %13888 = phi i32 [ 255, %13884 ], [ %13886, %13885 ]
  br label %13889

13889:                                            ; preds = %13887, %13880
  %13890 = phi i32 [ 0, %13880 ], [ %13888, %13887 ]
  %13891 = trunc i32 %13890 to i8
  %13892 = load ptr, ptr %11, align 8, !tbaa !5
  %13893 = load i32, ptr %19, align 4, !tbaa !14
  %13894 = add nsw i32 %13893, 7
  %13895 = sext i32 %13894 to i64
  %13896 = getelementptr inbounds i8, ptr %13892, i64 %13895
  store i8 %13891, ptr %13896, align 1, !tbaa !15
  %13897 = load ptr, ptr %13, align 8, !tbaa !5
  %13898 = load i32, ptr %19, align 4, !tbaa !14
  %13899 = add nsw i32 %13898, 7
  %13900 = sext i32 %13899 to i64
  %13901 = getelementptr inbounds i8, ptr %13897, i64 %13900
  %13902 = load i8, ptr %13901, align 1, !tbaa !15
  %13903 = zext i8 %13902 to i32
  %13904 = load ptr, ptr %14, align 8, !tbaa !5
  %13905 = load i32, ptr %19, align 4, !tbaa !14
  %13906 = add nsw i32 %13905, 7
  %13907 = sext i32 %13906 to i64
  %13908 = getelementptr inbounds i8, ptr %13904, i64 %13907
  %13909 = load i8, ptr %13908, align 1, !tbaa !15
  %13910 = zext i8 %13909 to i64
  %13911 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %13910
  %13912 = load i32, ptr %13911, align 4, !tbaa !14
  %13913 = add nsw i32 %13903, %13912
  store i32 %13913, ptr %18, align 4, !tbaa !14
  %13914 = load i32, ptr %18, align 4, !tbaa !14
  %13915 = icmp slt i32 %13914, 0
  br i1 %13915, label %13916, label %13917

13916:                                            ; preds = %13889
  br label %13925

13917:                                            ; preds = %13889
  %13918 = load i32, ptr %18, align 4, !tbaa !14
  %13919 = icmp sgt i32 %13918, 255
  br i1 %13919, label %13920, label %13921

13920:                                            ; preds = %13917
  br label %13923

13921:                                            ; preds = %13917
  %13922 = load i32, ptr %18, align 4, !tbaa !14
  br label %13923

13923:                                            ; preds = %13921, %13920
  %13924 = phi i32 [ 255, %13920 ], [ %13922, %13921 ]
  br label %13925

13925:                                            ; preds = %13923, %13916
  %13926 = phi i32 [ 0, %13916 ], [ %13924, %13923 ]
  %13927 = trunc i32 %13926 to i8
  %13928 = load ptr, ptr %10, align 8, !tbaa !5
  %13929 = load i32, ptr %19, align 4, !tbaa !14
  %13930 = add nsw i32 %13929, 7
  %13931 = sext i32 %13930 to i64
  %13932 = getelementptr inbounds i8, ptr %13928, i64 %13931
  store i8 %13927, ptr %13932, align 1, !tbaa !15
  %13933 = load ptr, ptr %13, align 8, !tbaa !5
  %13934 = load i32, ptr %19, align 4, !tbaa !14
  %13935 = add nsw i32 %13934, 8
  %13936 = sext i32 %13935 to i64
  %13937 = getelementptr inbounds i8, ptr %13933, i64 %13936
  %13938 = load i8, ptr %13937, align 1, !tbaa !15
  %13939 = zext i8 %13938 to i32
  %13940 = load ptr, ptr %15, align 8, !tbaa !5
  %13941 = load i32, ptr %19, align 4, !tbaa !14
  %13942 = add nsw i32 %13941, 8
  %13943 = sext i32 %13942 to i64
  %13944 = getelementptr inbounds i8, ptr %13940, i64 %13943
  %13945 = load i8, ptr %13944, align 1, !tbaa !15
  %13946 = zext i8 %13945 to i64
  %13947 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %13946
  %13948 = load i32, ptr %13947, align 4, !tbaa !14
  %13949 = add nsw i32 %13939, %13948
  store i32 %13949, ptr %16, align 4, !tbaa !14
  %13950 = load i32, ptr %16, align 4, !tbaa !14
  %13951 = icmp slt i32 %13950, 0
  br i1 %13951, label %13952, label %13953

13952:                                            ; preds = %13925
  br label %13961

13953:                                            ; preds = %13925
  %13954 = load i32, ptr %16, align 4, !tbaa !14
  %13955 = icmp sgt i32 %13954, 255
  br i1 %13955, label %13956, label %13957

13956:                                            ; preds = %13953
  br label %13959

13957:                                            ; preds = %13953
  %13958 = load i32, ptr %16, align 4, !tbaa !14
  br label %13959

13959:                                            ; preds = %13957, %13956
  %13960 = phi i32 [ 255, %13956 ], [ %13958, %13957 ]
  br label %13961

13961:                                            ; preds = %13959, %13952
  %13962 = phi i32 [ 0, %13952 ], [ %13960, %13959 ]
  %13963 = trunc i32 %13962 to i8
  %13964 = load ptr, ptr %12, align 8, !tbaa !5
  %13965 = load i32, ptr %19, align 4, !tbaa !14
  %13966 = add nsw i32 %13965, 8
  %13967 = sext i32 %13966 to i64
  %13968 = getelementptr inbounds i8, ptr %13964, i64 %13967
  store i8 %13963, ptr %13968, align 1, !tbaa !15
  %13969 = load ptr, ptr %13, align 8, !tbaa !5
  %13970 = load i32, ptr %19, align 4, !tbaa !14
  %13971 = add nsw i32 %13970, 8
  %13972 = sext i32 %13971 to i64
  %13973 = getelementptr inbounds i8, ptr %13969, i64 %13972
  %13974 = load i8, ptr %13973, align 1, !tbaa !15
  %13975 = zext i8 %13974 to i32
  %13976 = load ptr, ptr %14, align 8, !tbaa !5
  %13977 = load i32, ptr %19, align 4, !tbaa !14
  %13978 = add nsw i32 %13977, 8
  %13979 = sext i32 %13978 to i64
  %13980 = getelementptr inbounds i8, ptr %13976, i64 %13979
  %13981 = load i8, ptr %13980, align 1, !tbaa !15
  %13982 = zext i8 %13981 to i64
  %13983 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %13982
  %13984 = load i32, ptr %13983, align 4, !tbaa !14
  %13985 = sub nsw i32 %13975, %13984
  %13986 = load ptr, ptr %15, align 8, !tbaa !5
  %13987 = load i32, ptr %19, align 4, !tbaa !14
  %13988 = add nsw i32 %13987, 8
  %13989 = sext i32 %13988 to i64
  %13990 = getelementptr inbounds i8, ptr %13986, i64 %13989
  %13991 = load i8, ptr %13990, align 1, !tbaa !15
  %13992 = zext i8 %13991 to i64
  %13993 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %13992
  %13994 = load i32, ptr %13993, align 4, !tbaa !14
  %13995 = sub nsw i32 %13985, %13994
  store i32 %13995, ptr %17, align 4, !tbaa !14
  %13996 = load i32, ptr %17, align 4, !tbaa !14
  %13997 = icmp slt i32 %13996, 0
  br i1 %13997, label %13998, label %13999

13998:                                            ; preds = %13961
  br label %14007

13999:                                            ; preds = %13961
  %14000 = load i32, ptr %17, align 4, !tbaa !14
  %14001 = icmp sgt i32 %14000, 255
  br i1 %14001, label %14002, label %14003

14002:                                            ; preds = %13999
  br label %14005

14003:                                            ; preds = %13999
  %14004 = load i32, ptr %17, align 4, !tbaa !14
  br label %14005

14005:                                            ; preds = %14003, %14002
  %14006 = phi i32 [ 255, %14002 ], [ %14004, %14003 ]
  br label %14007

14007:                                            ; preds = %14005, %13998
  %14008 = phi i32 [ 0, %13998 ], [ %14006, %14005 ]
  %14009 = trunc i32 %14008 to i8
  %14010 = load ptr, ptr %11, align 8, !tbaa !5
  %14011 = load i32, ptr %19, align 4, !tbaa !14
  %14012 = add nsw i32 %14011, 8
  %14013 = sext i32 %14012 to i64
  %14014 = getelementptr inbounds i8, ptr %14010, i64 %14013
  store i8 %14009, ptr %14014, align 1, !tbaa !15
  %14015 = load ptr, ptr %13, align 8, !tbaa !5
  %14016 = load i32, ptr %19, align 4, !tbaa !14
  %14017 = add nsw i32 %14016, 8
  %14018 = sext i32 %14017 to i64
  %14019 = getelementptr inbounds i8, ptr %14015, i64 %14018
  %14020 = load i8, ptr %14019, align 1, !tbaa !15
  %14021 = zext i8 %14020 to i32
  %14022 = load ptr, ptr %14, align 8, !tbaa !5
  %14023 = load i32, ptr %19, align 4, !tbaa !14
  %14024 = add nsw i32 %14023, 8
  %14025 = sext i32 %14024 to i64
  %14026 = getelementptr inbounds i8, ptr %14022, i64 %14025
  %14027 = load i8, ptr %14026, align 1, !tbaa !15
  %14028 = zext i8 %14027 to i64
  %14029 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14028
  %14030 = load i32, ptr %14029, align 4, !tbaa !14
  %14031 = add nsw i32 %14021, %14030
  store i32 %14031, ptr %18, align 4, !tbaa !14
  %14032 = load i32, ptr %18, align 4, !tbaa !14
  %14033 = icmp slt i32 %14032, 0
  br i1 %14033, label %14034, label %14035

14034:                                            ; preds = %14007
  br label %14043

14035:                                            ; preds = %14007
  %14036 = load i32, ptr %18, align 4, !tbaa !14
  %14037 = icmp sgt i32 %14036, 255
  br i1 %14037, label %14038, label %14039

14038:                                            ; preds = %14035
  br label %14041

14039:                                            ; preds = %14035
  %14040 = load i32, ptr %18, align 4, !tbaa !14
  br label %14041

14041:                                            ; preds = %14039, %14038
  %14042 = phi i32 [ 255, %14038 ], [ %14040, %14039 ]
  br label %14043

14043:                                            ; preds = %14041, %14034
  %14044 = phi i32 [ 0, %14034 ], [ %14042, %14041 ]
  %14045 = trunc i32 %14044 to i8
  %14046 = load ptr, ptr %10, align 8, !tbaa !5
  %14047 = load i32, ptr %19, align 4, !tbaa !14
  %14048 = add nsw i32 %14047, 8
  %14049 = sext i32 %14048 to i64
  %14050 = getelementptr inbounds i8, ptr %14046, i64 %14049
  store i8 %14045, ptr %14050, align 1, !tbaa !15
  %14051 = load ptr, ptr %13, align 8, !tbaa !5
  %14052 = load i32, ptr %19, align 4, !tbaa !14
  %14053 = add nsw i32 %14052, 9
  %14054 = sext i32 %14053 to i64
  %14055 = getelementptr inbounds i8, ptr %14051, i64 %14054
  %14056 = load i8, ptr %14055, align 1, !tbaa !15
  %14057 = zext i8 %14056 to i32
  %14058 = load ptr, ptr %15, align 8, !tbaa !5
  %14059 = load i32, ptr %19, align 4, !tbaa !14
  %14060 = add nsw i32 %14059, 9
  %14061 = sext i32 %14060 to i64
  %14062 = getelementptr inbounds i8, ptr %14058, i64 %14061
  %14063 = load i8, ptr %14062, align 1, !tbaa !15
  %14064 = zext i8 %14063 to i64
  %14065 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14064
  %14066 = load i32, ptr %14065, align 4, !tbaa !14
  %14067 = add nsw i32 %14057, %14066
  store i32 %14067, ptr %16, align 4, !tbaa !14
  %14068 = load i32, ptr %16, align 4, !tbaa !14
  %14069 = icmp slt i32 %14068, 0
  br i1 %14069, label %14070, label %14071

14070:                                            ; preds = %14043
  br label %14079

14071:                                            ; preds = %14043
  %14072 = load i32, ptr %16, align 4, !tbaa !14
  %14073 = icmp sgt i32 %14072, 255
  br i1 %14073, label %14074, label %14075

14074:                                            ; preds = %14071
  br label %14077

14075:                                            ; preds = %14071
  %14076 = load i32, ptr %16, align 4, !tbaa !14
  br label %14077

14077:                                            ; preds = %14075, %14074
  %14078 = phi i32 [ 255, %14074 ], [ %14076, %14075 ]
  br label %14079

14079:                                            ; preds = %14077, %14070
  %14080 = phi i32 [ 0, %14070 ], [ %14078, %14077 ]
  %14081 = trunc i32 %14080 to i8
  %14082 = load ptr, ptr %12, align 8, !tbaa !5
  %14083 = load i32, ptr %19, align 4, !tbaa !14
  %14084 = add nsw i32 %14083, 9
  %14085 = sext i32 %14084 to i64
  %14086 = getelementptr inbounds i8, ptr %14082, i64 %14085
  store i8 %14081, ptr %14086, align 1, !tbaa !15
  %14087 = load ptr, ptr %13, align 8, !tbaa !5
  %14088 = load i32, ptr %19, align 4, !tbaa !14
  %14089 = add nsw i32 %14088, 9
  %14090 = sext i32 %14089 to i64
  %14091 = getelementptr inbounds i8, ptr %14087, i64 %14090
  %14092 = load i8, ptr %14091, align 1, !tbaa !15
  %14093 = zext i8 %14092 to i32
  %14094 = load ptr, ptr %14, align 8, !tbaa !5
  %14095 = load i32, ptr %19, align 4, !tbaa !14
  %14096 = add nsw i32 %14095, 9
  %14097 = sext i32 %14096 to i64
  %14098 = getelementptr inbounds i8, ptr %14094, i64 %14097
  %14099 = load i8, ptr %14098, align 1, !tbaa !15
  %14100 = zext i8 %14099 to i64
  %14101 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14100
  %14102 = load i32, ptr %14101, align 4, !tbaa !14
  %14103 = sub nsw i32 %14093, %14102
  %14104 = load ptr, ptr %15, align 8, !tbaa !5
  %14105 = load i32, ptr %19, align 4, !tbaa !14
  %14106 = add nsw i32 %14105, 9
  %14107 = sext i32 %14106 to i64
  %14108 = getelementptr inbounds i8, ptr %14104, i64 %14107
  %14109 = load i8, ptr %14108, align 1, !tbaa !15
  %14110 = zext i8 %14109 to i64
  %14111 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14110
  %14112 = load i32, ptr %14111, align 4, !tbaa !14
  %14113 = sub nsw i32 %14103, %14112
  store i32 %14113, ptr %17, align 4, !tbaa !14
  %14114 = load i32, ptr %17, align 4, !tbaa !14
  %14115 = icmp slt i32 %14114, 0
  br i1 %14115, label %14116, label %14117

14116:                                            ; preds = %14079
  br label %14125

14117:                                            ; preds = %14079
  %14118 = load i32, ptr %17, align 4, !tbaa !14
  %14119 = icmp sgt i32 %14118, 255
  br i1 %14119, label %14120, label %14121

14120:                                            ; preds = %14117
  br label %14123

14121:                                            ; preds = %14117
  %14122 = load i32, ptr %17, align 4, !tbaa !14
  br label %14123

14123:                                            ; preds = %14121, %14120
  %14124 = phi i32 [ 255, %14120 ], [ %14122, %14121 ]
  br label %14125

14125:                                            ; preds = %14123, %14116
  %14126 = phi i32 [ 0, %14116 ], [ %14124, %14123 ]
  %14127 = trunc i32 %14126 to i8
  %14128 = load ptr, ptr %11, align 8, !tbaa !5
  %14129 = load i32, ptr %19, align 4, !tbaa !14
  %14130 = add nsw i32 %14129, 9
  %14131 = sext i32 %14130 to i64
  %14132 = getelementptr inbounds i8, ptr %14128, i64 %14131
  store i8 %14127, ptr %14132, align 1, !tbaa !15
  %14133 = load ptr, ptr %13, align 8, !tbaa !5
  %14134 = load i32, ptr %19, align 4, !tbaa !14
  %14135 = add nsw i32 %14134, 9
  %14136 = sext i32 %14135 to i64
  %14137 = getelementptr inbounds i8, ptr %14133, i64 %14136
  %14138 = load i8, ptr %14137, align 1, !tbaa !15
  %14139 = zext i8 %14138 to i32
  %14140 = load ptr, ptr %14, align 8, !tbaa !5
  %14141 = load i32, ptr %19, align 4, !tbaa !14
  %14142 = add nsw i32 %14141, 9
  %14143 = sext i32 %14142 to i64
  %14144 = getelementptr inbounds i8, ptr %14140, i64 %14143
  %14145 = load i8, ptr %14144, align 1, !tbaa !15
  %14146 = zext i8 %14145 to i64
  %14147 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14146
  %14148 = load i32, ptr %14147, align 4, !tbaa !14
  %14149 = add nsw i32 %14139, %14148
  store i32 %14149, ptr %18, align 4, !tbaa !14
  %14150 = load i32, ptr %18, align 4, !tbaa !14
  %14151 = icmp slt i32 %14150, 0
  br i1 %14151, label %14152, label %14153

14152:                                            ; preds = %14125
  br label %14161

14153:                                            ; preds = %14125
  %14154 = load i32, ptr %18, align 4, !tbaa !14
  %14155 = icmp sgt i32 %14154, 255
  br i1 %14155, label %14156, label %14157

14156:                                            ; preds = %14153
  br label %14159

14157:                                            ; preds = %14153
  %14158 = load i32, ptr %18, align 4, !tbaa !14
  br label %14159

14159:                                            ; preds = %14157, %14156
  %14160 = phi i32 [ 255, %14156 ], [ %14158, %14157 ]
  br label %14161

14161:                                            ; preds = %14159, %14152
  %14162 = phi i32 [ 0, %14152 ], [ %14160, %14159 ]
  %14163 = trunc i32 %14162 to i8
  %14164 = load ptr, ptr %10, align 8, !tbaa !5
  %14165 = load i32, ptr %19, align 4, !tbaa !14
  %14166 = add nsw i32 %14165, 9
  %14167 = sext i32 %14166 to i64
  %14168 = getelementptr inbounds i8, ptr %14164, i64 %14167
  store i8 %14163, ptr %14168, align 1, !tbaa !15
  %14169 = load ptr, ptr %13, align 8, !tbaa !5
  %14170 = load i32, ptr %19, align 4, !tbaa !14
  %14171 = add nsw i32 %14170, 10
  %14172 = sext i32 %14171 to i64
  %14173 = getelementptr inbounds i8, ptr %14169, i64 %14172
  %14174 = load i8, ptr %14173, align 1, !tbaa !15
  %14175 = zext i8 %14174 to i32
  %14176 = load ptr, ptr %15, align 8, !tbaa !5
  %14177 = load i32, ptr %19, align 4, !tbaa !14
  %14178 = add nsw i32 %14177, 10
  %14179 = sext i32 %14178 to i64
  %14180 = getelementptr inbounds i8, ptr %14176, i64 %14179
  %14181 = load i8, ptr %14180, align 1, !tbaa !15
  %14182 = zext i8 %14181 to i64
  %14183 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14182
  %14184 = load i32, ptr %14183, align 4, !tbaa !14
  %14185 = add nsw i32 %14175, %14184
  store i32 %14185, ptr %16, align 4, !tbaa !14
  %14186 = load i32, ptr %16, align 4, !tbaa !14
  %14187 = icmp slt i32 %14186, 0
  br i1 %14187, label %14188, label %14189

14188:                                            ; preds = %14161
  br label %14197

14189:                                            ; preds = %14161
  %14190 = load i32, ptr %16, align 4, !tbaa !14
  %14191 = icmp sgt i32 %14190, 255
  br i1 %14191, label %14192, label %14193

14192:                                            ; preds = %14189
  br label %14195

14193:                                            ; preds = %14189
  %14194 = load i32, ptr %16, align 4, !tbaa !14
  br label %14195

14195:                                            ; preds = %14193, %14192
  %14196 = phi i32 [ 255, %14192 ], [ %14194, %14193 ]
  br label %14197

14197:                                            ; preds = %14195, %14188
  %14198 = phi i32 [ 0, %14188 ], [ %14196, %14195 ]
  %14199 = trunc i32 %14198 to i8
  %14200 = load ptr, ptr %12, align 8, !tbaa !5
  %14201 = load i32, ptr %19, align 4, !tbaa !14
  %14202 = add nsw i32 %14201, 10
  %14203 = sext i32 %14202 to i64
  %14204 = getelementptr inbounds i8, ptr %14200, i64 %14203
  store i8 %14199, ptr %14204, align 1, !tbaa !15
  %14205 = load ptr, ptr %13, align 8, !tbaa !5
  %14206 = load i32, ptr %19, align 4, !tbaa !14
  %14207 = add nsw i32 %14206, 10
  %14208 = sext i32 %14207 to i64
  %14209 = getelementptr inbounds i8, ptr %14205, i64 %14208
  %14210 = load i8, ptr %14209, align 1, !tbaa !15
  %14211 = zext i8 %14210 to i32
  %14212 = load ptr, ptr %14, align 8, !tbaa !5
  %14213 = load i32, ptr %19, align 4, !tbaa !14
  %14214 = add nsw i32 %14213, 10
  %14215 = sext i32 %14214 to i64
  %14216 = getelementptr inbounds i8, ptr %14212, i64 %14215
  %14217 = load i8, ptr %14216, align 1, !tbaa !15
  %14218 = zext i8 %14217 to i64
  %14219 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14218
  %14220 = load i32, ptr %14219, align 4, !tbaa !14
  %14221 = sub nsw i32 %14211, %14220
  %14222 = load ptr, ptr %15, align 8, !tbaa !5
  %14223 = load i32, ptr %19, align 4, !tbaa !14
  %14224 = add nsw i32 %14223, 10
  %14225 = sext i32 %14224 to i64
  %14226 = getelementptr inbounds i8, ptr %14222, i64 %14225
  %14227 = load i8, ptr %14226, align 1, !tbaa !15
  %14228 = zext i8 %14227 to i64
  %14229 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14228
  %14230 = load i32, ptr %14229, align 4, !tbaa !14
  %14231 = sub nsw i32 %14221, %14230
  store i32 %14231, ptr %17, align 4, !tbaa !14
  %14232 = load i32, ptr %17, align 4, !tbaa !14
  %14233 = icmp slt i32 %14232, 0
  br i1 %14233, label %14234, label %14235

14234:                                            ; preds = %14197
  br label %14243

14235:                                            ; preds = %14197
  %14236 = load i32, ptr %17, align 4, !tbaa !14
  %14237 = icmp sgt i32 %14236, 255
  br i1 %14237, label %14238, label %14239

14238:                                            ; preds = %14235
  br label %14241

14239:                                            ; preds = %14235
  %14240 = load i32, ptr %17, align 4, !tbaa !14
  br label %14241

14241:                                            ; preds = %14239, %14238
  %14242 = phi i32 [ 255, %14238 ], [ %14240, %14239 ]
  br label %14243

14243:                                            ; preds = %14241, %14234
  %14244 = phi i32 [ 0, %14234 ], [ %14242, %14241 ]
  %14245 = trunc i32 %14244 to i8
  %14246 = load ptr, ptr %11, align 8, !tbaa !5
  %14247 = load i32, ptr %19, align 4, !tbaa !14
  %14248 = add nsw i32 %14247, 10
  %14249 = sext i32 %14248 to i64
  %14250 = getelementptr inbounds i8, ptr %14246, i64 %14249
  store i8 %14245, ptr %14250, align 1, !tbaa !15
  %14251 = load ptr, ptr %13, align 8, !tbaa !5
  %14252 = load i32, ptr %19, align 4, !tbaa !14
  %14253 = add nsw i32 %14252, 10
  %14254 = sext i32 %14253 to i64
  %14255 = getelementptr inbounds i8, ptr %14251, i64 %14254
  %14256 = load i8, ptr %14255, align 1, !tbaa !15
  %14257 = zext i8 %14256 to i32
  %14258 = load ptr, ptr %14, align 8, !tbaa !5
  %14259 = load i32, ptr %19, align 4, !tbaa !14
  %14260 = add nsw i32 %14259, 10
  %14261 = sext i32 %14260 to i64
  %14262 = getelementptr inbounds i8, ptr %14258, i64 %14261
  %14263 = load i8, ptr %14262, align 1, !tbaa !15
  %14264 = zext i8 %14263 to i64
  %14265 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14264
  %14266 = load i32, ptr %14265, align 4, !tbaa !14
  %14267 = add nsw i32 %14257, %14266
  store i32 %14267, ptr %18, align 4, !tbaa !14
  %14268 = load i32, ptr %18, align 4, !tbaa !14
  %14269 = icmp slt i32 %14268, 0
  br i1 %14269, label %14270, label %14271

14270:                                            ; preds = %14243
  br label %14279

14271:                                            ; preds = %14243
  %14272 = load i32, ptr %18, align 4, !tbaa !14
  %14273 = icmp sgt i32 %14272, 255
  br i1 %14273, label %14274, label %14275

14274:                                            ; preds = %14271
  br label %14277

14275:                                            ; preds = %14271
  %14276 = load i32, ptr %18, align 4, !tbaa !14
  br label %14277

14277:                                            ; preds = %14275, %14274
  %14278 = phi i32 [ 255, %14274 ], [ %14276, %14275 ]
  br label %14279

14279:                                            ; preds = %14277, %14270
  %14280 = phi i32 [ 0, %14270 ], [ %14278, %14277 ]
  %14281 = trunc i32 %14280 to i8
  %14282 = load ptr, ptr %10, align 8, !tbaa !5
  %14283 = load i32, ptr %19, align 4, !tbaa !14
  %14284 = add nsw i32 %14283, 10
  %14285 = sext i32 %14284 to i64
  %14286 = getelementptr inbounds i8, ptr %14282, i64 %14285
  store i8 %14281, ptr %14286, align 1, !tbaa !15
  %14287 = load ptr, ptr %13, align 8, !tbaa !5
  %14288 = load i32, ptr %19, align 4, !tbaa !14
  %14289 = add nsw i32 %14288, 11
  %14290 = sext i32 %14289 to i64
  %14291 = getelementptr inbounds i8, ptr %14287, i64 %14290
  %14292 = load i8, ptr %14291, align 1, !tbaa !15
  %14293 = zext i8 %14292 to i32
  %14294 = load ptr, ptr %15, align 8, !tbaa !5
  %14295 = load i32, ptr %19, align 4, !tbaa !14
  %14296 = add nsw i32 %14295, 11
  %14297 = sext i32 %14296 to i64
  %14298 = getelementptr inbounds i8, ptr %14294, i64 %14297
  %14299 = load i8, ptr %14298, align 1, !tbaa !15
  %14300 = zext i8 %14299 to i64
  %14301 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14300
  %14302 = load i32, ptr %14301, align 4, !tbaa !14
  %14303 = add nsw i32 %14293, %14302
  store i32 %14303, ptr %16, align 4, !tbaa !14
  %14304 = load i32, ptr %16, align 4, !tbaa !14
  %14305 = icmp slt i32 %14304, 0
  br i1 %14305, label %14306, label %14307

14306:                                            ; preds = %14279
  br label %14315

14307:                                            ; preds = %14279
  %14308 = load i32, ptr %16, align 4, !tbaa !14
  %14309 = icmp sgt i32 %14308, 255
  br i1 %14309, label %14310, label %14311

14310:                                            ; preds = %14307
  br label %14313

14311:                                            ; preds = %14307
  %14312 = load i32, ptr %16, align 4, !tbaa !14
  br label %14313

14313:                                            ; preds = %14311, %14310
  %14314 = phi i32 [ 255, %14310 ], [ %14312, %14311 ]
  br label %14315

14315:                                            ; preds = %14313, %14306
  %14316 = phi i32 [ 0, %14306 ], [ %14314, %14313 ]
  %14317 = trunc i32 %14316 to i8
  %14318 = load ptr, ptr %12, align 8, !tbaa !5
  %14319 = load i32, ptr %19, align 4, !tbaa !14
  %14320 = add nsw i32 %14319, 11
  %14321 = sext i32 %14320 to i64
  %14322 = getelementptr inbounds i8, ptr %14318, i64 %14321
  store i8 %14317, ptr %14322, align 1, !tbaa !15
  %14323 = load ptr, ptr %13, align 8, !tbaa !5
  %14324 = load i32, ptr %19, align 4, !tbaa !14
  %14325 = add nsw i32 %14324, 11
  %14326 = sext i32 %14325 to i64
  %14327 = getelementptr inbounds i8, ptr %14323, i64 %14326
  %14328 = load i8, ptr %14327, align 1, !tbaa !15
  %14329 = zext i8 %14328 to i32
  %14330 = load ptr, ptr %14, align 8, !tbaa !5
  %14331 = load i32, ptr %19, align 4, !tbaa !14
  %14332 = add nsw i32 %14331, 11
  %14333 = sext i32 %14332 to i64
  %14334 = getelementptr inbounds i8, ptr %14330, i64 %14333
  %14335 = load i8, ptr %14334, align 1, !tbaa !15
  %14336 = zext i8 %14335 to i64
  %14337 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14336
  %14338 = load i32, ptr %14337, align 4, !tbaa !14
  %14339 = sub nsw i32 %14329, %14338
  %14340 = load ptr, ptr %15, align 8, !tbaa !5
  %14341 = load i32, ptr %19, align 4, !tbaa !14
  %14342 = add nsw i32 %14341, 11
  %14343 = sext i32 %14342 to i64
  %14344 = getelementptr inbounds i8, ptr %14340, i64 %14343
  %14345 = load i8, ptr %14344, align 1, !tbaa !15
  %14346 = zext i8 %14345 to i64
  %14347 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14346
  %14348 = load i32, ptr %14347, align 4, !tbaa !14
  %14349 = sub nsw i32 %14339, %14348
  store i32 %14349, ptr %17, align 4, !tbaa !14
  %14350 = load i32, ptr %17, align 4, !tbaa !14
  %14351 = icmp slt i32 %14350, 0
  br i1 %14351, label %14352, label %14353

14352:                                            ; preds = %14315
  br label %14361

14353:                                            ; preds = %14315
  %14354 = load i32, ptr %17, align 4, !tbaa !14
  %14355 = icmp sgt i32 %14354, 255
  br i1 %14355, label %14356, label %14357

14356:                                            ; preds = %14353
  br label %14359

14357:                                            ; preds = %14353
  %14358 = load i32, ptr %17, align 4, !tbaa !14
  br label %14359

14359:                                            ; preds = %14357, %14356
  %14360 = phi i32 [ 255, %14356 ], [ %14358, %14357 ]
  br label %14361

14361:                                            ; preds = %14359, %14352
  %14362 = phi i32 [ 0, %14352 ], [ %14360, %14359 ]
  %14363 = trunc i32 %14362 to i8
  %14364 = load ptr, ptr %11, align 8, !tbaa !5
  %14365 = load i32, ptr %19, align 4, !tbaa !14
  %14366 = add nsw i32 %14365, 11
  %14367 = sext i32 %14366 to i64
  %14368 = getelementptr inbounds i8, ptr %14364, i64 %14367
  store i8 %14363, ptr %14368, align 1, !tbaa !15
  %14369 = load ptr, ptr %13, align 8, !tbaa !5
  %14370 = load i32, ptr %19, align 4, !tbaa !14
  %14371 = add nsw i32 %14370, 11
  %14372 = sext i32 %14371 to i64
  %14373 = getelementptr inbounds i8, ptr %14369, i64 %14372
  %14374 = load i8, ptr %14373, align 1, !tbaa !15
  %14375 = zext i8 %14374 to i32
  %14376 = load ptr, ptr %14, align 8, !tbaa !5
  %14377 = load i32, ptr %19, align 4, !tbaa !14
  %14378 = add nsw i32 %14377, 11
  %14379 = sext i32 %14378 to i64
  %14380 = getelementptr inbounds i8, ptr %14376, i64 %14379
  %14381 = load i8, ptr %14380, align 1, !tbaa !15
  %14382 = zext i8 %14381 to i64
  %14383 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14382
  %14384 = load i32, ptr %14383, align 4, !tbaa !14
  %14385 = add nsw i32 %14375, %14384
  store i32 %14385, ptr %18, align 4, !tbaa !14
  %14386 = load i32, ptr %18, align 4, !tbaa !14
  %14387 = icmp slt i32 %14386, 0
  br i1 %14387, label %14388, label %14389

14388:                                            ; preds = %14361
  br label %14397

14389:                                            ; preds = %14361
  %14390 = load i32, ptr %18, align 4, !tbaa !14
  %14391 = icmp sgt i32 %14390, 255
  br i1 %14391, label %14392, label %14393

14392:                                            ; preds = %14389
  br label %14395

14393:                                            ; preds = %14389
  %14394 = load i32, ptr %18, align 4, !tbaa !14
  br label %14395

14395:                                            ; preds = %14393, %14392
  %14396 = phi i32 [ 255, %14392 ], [ %14394, %14393 ]
  br label %14397

14397:                                            ; preds = %14395, %14388
  %14398 = phi i32 [ 0, %14388 ], [ %14396, %14395 ]
  %14399 = trunc i32 %14398 to i8
  %14400 = load ptr, ptr %10, align 8, !tbaa !5
  %14401 = load i32, ptr %19, align 4, !tbaa !14
  %14402 = add nsw i32 %14401, 11
  %14403 = sext i32 %14402 to i64
  %14404 = getelementptr inbounds i8, ptr %14400, i64 %14403
  store i8 %14399, ptr %14404, align 1, !tbaa !15
  %14405 = load ptr, ptr %13, align 8, !tbaa !5
  %14406 = load i32, ptr %19, align 4, !tbaa !14
  %14407 = add nsw i32 %14406, 12
  %14408 = sext i32 %14407 to i64
  %14409 = getelementptr inbounds i8, ptr %14405, i64 %14408
  %14410 = load i8, ptr %14409, align 1, !tbaa !15
  %14411 = zext i8 %14410 to i32
  %14412 = load ptr, ptr %15, align 8, !tbaa !5
  %14413 = load i32, ptr %19, align 4, !tbaa !14
  %14414 = add nsw i32 %14413, 12
  %14415 = sext i32 %14414 to i64
  %14416 = getelementptr inbounds i8, ptr %14412, i64 %14415
  %14417 = load i8, ptr %14416, align 1, !tbaa !15
  %14418 = zext i8 %14417 to i64
  %14419 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14418
  %14420 = load i32, ptr %14419, align 4, !tbaa !14
  %14421 = add nsw i32 %14411, %14420
  store i32 %14421, ptr %16, align 4, !tbaa !14
  %14422 = load i32, ptr %16, align 4, !tbaa !14
  %14423 = icmp slt i32 %14422, 0
  br i1 %14423, label %14424, label %14425

14424:                                            ; preds = %14397
  br label %14433

14425:                                            ; preds = %14397
  %14426 = load i32, ptr %16, align 4, !tbaa !14
  %14427 = icmp sgt i32 %14426, 255
  br i1 %14427, label %14428, label %14429

14428:                                            ; preds = %14425
  br label %14431

14429:                                            ; preds = %14425
  %14430 = load i32, ptr %16, align 4, !tbaa !14
  br label %14431

14431:                                            ; preds = %14429, %14428
  %14432 = phi i32 [ 255, %14428 ], [ %14430, %14429 ]
  br label %14433

14433:                                            ; preds = %14431, %14424
  %14434 = phi i32 [ 0, %14424 ], [ %14432, %14431 ]
  %14435 = trunc i32 %14434 to i8
  %14436 = load ptr, ptr %12, align 8, !tbaa !5
  %14437 = load i32, ptr %19, align 4, !tbaa !14
  %14438 = add nsw i32 %14437, 12
  %14439 = sext i32 %14438 to i64
  %14440 = getelementptr inbounds i8, ptr %14436, i64 %14439
  store i8 %14435, ptr %14440, align 1, !tbaa !15
  %14441 = load ptr, ptr %13, align 8, !tbaa !5
  %14442 = load i32, ptr %19, align 4, !tbaa !14
  %14443 = add nsw i32 %14442, 12
  %14444 = sext i32 %14443 to i64
  %14445 = getelementptr inbounds i8, ptr %14441, i64 %14444
  %14446 = load i8, ptr %14445, align 1, !tbaa !15
  %14447 = zext i8 %14446 to i32
  %14448 = load ptr, ptr %14, align 8, !tbaa !5
  %14449 = load i32, ptr %19, align 4, !tbaa !14
  %14450 = add nsw i32 %14449, 12
  %14451 = sext i32 %14450 to i64
  %14452 = getelementptr inbounds i8, ptr %14448, i64 %14451
  %14453 = load i8, ptr %14452, align 1, !tbaa !15
  %14454 = zext i8 %14453 to i64
  %14455 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14454
  %14456 = load i32, ptr %14455, align 4, !tbaa !14
  %14457 = sub nsw i32 %14447, %14456
  %14458 = load ptr, ptr %15, align 8, !tbaa !5
  %14459 = load i32, ptr %19, align 4, !tbaa !14
  %14460 = add nsw i32 %14459, 12
  %14461 = sext i32 %14460 to i64
  %14462 = getelementptr inbounds i8, ptr %14458, i64 %14461
  %14463 = load i8, ptr %14462, align 1, !tbaa !15
  %14464 = zext i8 %14463 to i64
  %14465 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14464
  %14466 = load i32, ptr %14465, align 4, !tbaa !14
  %14467 = sub nsw i32 %14457, %14466
  store i32 %14467, ptr %17, align 4, !tbaa !14
  %14468 = load i32, ptr %17, align 4, !tbaa !14
  %14469 = icmp slt i32 %14468, 0
  br i1 %14469, label %14470, label %14471

14470:                                            ; preds = %14433
  br label %14479

14471:                                            ; preds = %14433
  %14472 = load i32, ptr %17, align 4, !tbaa !14
  %14473 = icmp sgt i32 %14472, 255
  br i1 %14473, label %14474, label %14475

14474:                                            ; preds = %14471
  br label %14477

14475:                                            ; preds = %14471
  %14476 = load i32, ptr %17, align 4, !tbaa !14
  br label %14477

14477:                                            ; preds = %14475, %14474
  %14478 = phi i32 [ 255, %14474 ], [ %14476, %14475 ]
  br label %14479

14479:                                            ; preds = %14477, %14470
  %14480 = phi i32 [ 0, %14470 ], [ %14478, %14477 ]
  %14481 = trunc i32 %14480 to i8
  %14482 = load ptr, ptr %11, align 8, !tbaa !5
  %14483 = load i32, ptr %19, align 4, !tbaa !14
  %14484 = add nsw i32 %14483, 12
  %14485 = sext i32 %14484 to i64
  %14486 = getelementptr inbounds i8, ptr %14482, i64 %14485
  store i8 %14481, ptr %14486, align 1, !tbaa !15
  %14487 = load ptr, ptr %13, align 8, !tbaa !5
  %14488 = load i32, ptr %19, align 4, !tbaa !14
  %14489 = add nsw i32 %14488, 12
  %14490 = sext i32 %14489 to i64
  %14491 = getelementptr inbounds i8, ptr %14487, i64 %14490
  %14492 = load i8, ptr %14491, align 1, !tbaa !15
  %14493 = zext i8 %14492 to i32
  %14494 = load ptr, ptr %14, align 8, !tbaa !5
  %14495 = load i32, ptr %19, align 4, !tbaa !14
  %14496 = add nsw i32 %14495, 12
  %14497 = sext i32 %14496 to i64
  %14498 = getelementptr inbounds i8, ptr %14494, i64 %14497
  %14499 = load i8, ptr %14498, align 1, !tbaa !15
  %14500 = zext i8 %14499 to i64
  %14501 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14500
  %14502 = load i32, ptr %14501, align 4, !tbaa !14
  %14503 = add nsw i32 %14493, %14502
  store i32 %14503, ptr %18, align 4, !tbaa !14
  %14504 = load i32, ptr %18, align 4, !tbaa !14
  %14505 = icmp slt i32 %14504, 0
  br i1 %14505, label %14506, label %14507

14506:                                            ; preds = %14479
  br label %14515

14507:                                            ; preds = %14479
  %14508 = load i32, ptr %18, align 4, !tbaa !14
  %14509 = icmp sgt i32 %14508, 255
  br i1 %14509, label %14510, label %14511

14510:                                            ; preds = %14507
  br label %14513

14511:                                            ; preds = %14507
  %14512 = load i32, ptr %18, align 4, !tbaa !14
  br label %14513

14513:                                            ; preds = %14511, %14510
  %14514 = phi i32 [ 255, %14510 ], [ %14512, %14511 ]
  br label %14515

14515:                                            ; preds = %14513, %14506
  %14516 = phi i32 [ 0, %14506 ], [ %14514, %14513 ]
  %14517 = trunc i32 %14516 to i8
  %14518 = load ptr, ptr %10, align 8, !tbaa !5
  %14519 = load i32, ptr %19, align 4, !tbaa !14
  %14520 = add nsw i32 %14519, 12
  %14521 = sext i32 %14520 to i64
  %14522 = getelementptr inbounds i8, ptr %14518, i64 %14521
  store i8 %14517, ptr %14522, align 1, !tbaa !15
  %14523 = load ptr, ptr %13, align 8, !tbaa !5
  %14524 = load i32, ptr %19, align 4, !tbaa !14
  %14525 = add nsw i32 %14524, 13
  %14526 = sext i32 %14525 to i64
  %14527 = getelementptr inbounds i8, ptr %14523, i64 %14526
  %14528 = load i8, ptr %14527, align 1, !tbaa !15
  %14529 = zext i8 %14528 to i32
  %14530 = load ptr, ptr %15, align 8, !tbaa !5
  %14531 = load i32, ptr %19, align 4, !tbaa !14
  %14532 = add nsw i32 %14531, 13
  %14533 = sext i32 %14532 to i64
  %14534 = getelementptr inbounds i8, ptr %14530, i64 %14533
  %14535 = load i8, ptr %14534, align 1, !tbaa !15
  %14536 = zext i8 %14535 to i64
  %14537 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14536
  %14538 = load i32, ptr %14537, align 4, !tbaa !14
  %14539 = add nsw i32 %14529, %14538
  store i32 %14539, ptr %16, align 4, !tbaa !14
  %14540 = load i32, ptr %16, align 4, !tbaa !14
  %14541 = icmp slt i32 %14540, 0
  br i1 %14541, label %14542, label %14543

14542:                                            ; preds = %14515
  br label %14551

14543:                                            ; preds = %14515
  %14544 = load i32, ptr %16, align 4, !tbaa !14
  %14545 = icmp sgt i32 %14544, 255
  br i1 %14545, label %14546, label %14547

14546:                                            ; preds = %14543
  br label %14549

14547:                                            ; preds = %14543
  %14548 = load i32, ptr %16, align 4, !tbaa !14
  br label %14549

14549:                                            ; preds = %14547, %14546
  %14550 = phi i32 [ 255, %14546 ], [ %14548, %14547 ]
  br label %14551

14551:                                            ; preds = %14549, %14542
  %14552 = phi i32 [ 0, %14542 ], [ %14550, %14549 ]
  %14553 = trunc i32 %14552 to i8
  %14554 = load ptr, ptr %12, align 8, !tbaa !5
  %14555 = load i32, ptr %19, align 4, !tbaa !14
  %14556 = add nsw i32 %14555, 13
  %14557 = sext i32 %14556 to i64
  %14558 = getelementptr inbounds i8, ptr %14554, i64 %14557
  store i8 %14553, ptr %14558, align 1, !tbaa !15
  %14559 = load ptr, ptr %13, align 8, !tbaa !5
  %14560 = load i32, ptr %19, align 4, !tbaa !14
  %14561 = add nsw i32 %14560, 13
  %14562 = sext i32 %14561 to i64
  %14563 = getelementptr inbounds i8, ptr %14559, i64 %14562
  %14564 = load i8, ptr %14563, align 1, !tbaa !15
  %14565 = zext i8 %14564 to i32
  %14566 = load ptr, ptr %14, align 8, !tbaa !5
  %14567 = load i32, ptr %19, align 4, !tbaa !14
  %14568 = add nsw i32 %14567, 13
  %14569 = sext i32 %14568 to i64
  %14570 = getelementptr inbounds i8, ptr %14566, i64 %14569
  %14571 = load i8, ptr %14570, align 1, !tbaa !15
  %14572 = zext i8 %14571 to i64
  %14573 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14572
  %14574 = load i32, ptr %14573, align 4, !tbaa !14
  %14575 = sub nsw i32 %14565, %14574
  %14576 = load ptr, ptr %15, align 8, !tbaa !5
  %14577 = load i32, ptr %19, align 4, !tbaa !14
  %14578 = add nsw i32 %14577, 13
  %14579 = sext i32 %14578 to i64
  %14580 = getelementptr inbounds i8, ptr %14576, i64 %14579
  %14581 = load i8, ptr %14580, align 1, !tbaa !15
  %14582 = zext i8 %14581 to i64
  %14583 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14582
  %14584 = load i32, ptr %14583, align 4, !tbaa !14
  %14585 = sub nsw i32 %14575, %14584
  store i32 %14585, ptr %17, align 4, !tbaa !14
  %14586 = load i32, ptr %17, align 4, !tbaa !14
  %14587 = icmp slt i32 %14586, 0
  br i1 %14587, label %14588, label %14589

14588:                                            ; preds = %14551
  br label %14597

14589:                                            ; preds = %14551
  %14590 = load i32, ptr %17, align 4, !tbaa !14
  %14591 = icmp sgt i32 %14590, 255
  br i1 %14591, label %14592, label %14593

14592:                                            ; preds = %14589
  br label %14595

14593:                                            ; preds = %14589
  %14594 = load i32, ptr %17, align 4, !tbaa !14
  br label %14595

14595:                                            ; preds = %14593, %14592
  %14596 = phi i32 [ 255, %14592 ], [ %14594, %14593 ]
  br label %14597

14597:                                            ; preds = %14595, %14588
  %14598 = phi i32 [ 0, %14588 ], [ %14596, %14595 ]
  %14599 = trunc i32 %14598 to i8
  %14600 = load ptr, ptr %11, align 8, !tbaa !5
  %14601 = load i32, ptr %19, align 4, !tbaa !14
  %14602 = add nsw i32 %14601, 13
  %14603 = sext i32 %14602 to i64
  %14604 = getelementptr inbounds i8, ptr %14600, i64 %14603
  store i8 %14599, ptr %14604, align 1, !tbaa !15
  %14605 = load ptr, ptr %13, align 8, !tbaa !5
  %14606 = load i32, ptr %19, align 4, !tbaa !14
  %14607 = add nsw i32 %14606, 13
  %14608 = sext i32 %14607 to i64
  %14609 = getelementptr inbounds i8, ptr %14605, i64 %14608
  %14610 = load i8, ptr %14609, align 1, !tbaa !15
  %14611 = zext i8 %14610 to i32
  %14612 = load ptr, ptr %14, align 8, !tbaa !5
  %14613 = load i32, ptr %19, align 4, !tbaa !14
  %14614 = add nsw i32 %14613, 13
  %14615 = sext i32 %14614 to i64
  %14616 = getelementptr inbounds i8, ptr %14612, i64 %14615
  %14617 = load i8, ptr %14616, align 1, !tbaa !15
  %14618 = zext i8 %14617 to i64
  %14619 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14618
  %14620 = load i32, ptr %14619, align 4, !tbaa !14
  %14621 = add nsw i32 %14611, %14620
  store i32 %14621, ptr %18, align 4, !tbaa !14
  %14622 = load i32, ptr %18, align 4, !tbaa !14
  %14623 = icmp slt i32 %14622, 0
  br i1 %14623, label %14624, label %14625

14624:                                            ; preds = %14597
  br label %14633

14625:                                            ; preds = %14597
  %14626 = load i32, ptr %18, align 4, !tbaa !14
  %14627 = icmp sgt i32 %14626, 255
  br i1 %14627, label %14628, label %14629

14628:                                            ; preds = %14625
  br label %14631

14629:                                            ; preds = %14625
  %14630 = load i32, ptr %18, align 4, !tbaa !14
  br label %14631

14631:                                            ; preds = %14629, %14628
  %14632 = phi i32 [ 255, %14628 ], [ %14630, %14629 ]
  br label %14633

14633:                                            ; preds = %14631, %14624
  %14634 = phi i32 [ 0, %14624 ], [ %14632, %14631 ]
  %14635 = trunc i32 %14634 to i8
  %14636 = load ptr, ptr %10, align 8, !tbaa !5
  %14637 = load i32, ptr %19, align 4, !tbaa !14
  %14638 = add nsw i32 %14637, 13
  %14639 = sext i32 %14638 to i64
  %14640 = getelementptr inbounds i8, ptr %14636, i64 %14639
  store i8 %14635, ptr %14640, align 1, !tbaa !15
  br label %16420

14641:                                            ; preds = %12981
  %14642 = load ptr, ptr %4, align 8, !tbaa !5
  %14643 = getelementptr inbounds %struct.MImage, ptr %14642, i32 0, i32 2
  %14644 = load i32, ptr %14643, align 8, !tbaa !13
  %14645 = load i32, ptr %19, align 4, !tbaa !14
  %14646 = sub nsw i32 %14644, %14645
  %14647 = icmp eq i32 %14646, 15
  br i1 %14647, label %14648, label %16419

14648:                                            ; preds = %14641
  %14649 = load ptr, ptr %13, align 8, !tbaa !5
  %14650 = load i32, ptr %19, align 4, !tbaa !14
  %14651 = add nsw i32 %14650, 0
  %14652 = sext i32 %14651 to i64
  %14653 = getelementptr inbounds i8, ptr %14649, i64 %14652
  %14654 = load i8, ptr %14653, align 1, !tbaa !15
  %14655 = zext i8 %14654 to i32
  %14656 = load ptr, ptr %15, align 8, !tbaa !5
  %14657 = load i32, ptr %19, align 4, !tbaa !14
  %14658 = add nsw i32 %14657, 0
  %14659 = sext i32 %14658 to i64
  %14660 = getelementptr inbounds i8, ptr %14656, i64 %14659
  %14661 = load i8, ptr %14660, align 1, !tbaa !15
  %14662 = zext i8 %14661 to i64
  %14663 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14662
  %14664 = load i32, ptr %14663, align 4, !tbaa !14
  %14665 = add nsw i32 %14655, %14664
  store i32 %14665, ptr %16, align 4, !tbaa !14
  %14666 = load i32, ptr %16, align 4, !tbaa !14
  %14667 = icmp slt i32 %14666, 0
  br i1 %14667, label %14668, label %14669

14668:                                            ; preds = %14648
  br label %14677

14669:                                            ; preds = %14648
  %14670 = load i32, ptr %16, align 4, !tbaa !14
  %14671 = icmp sgt i32 %14670, 255
  br i1 %14671, label %14672, label %14673

14672:                                            ; preds = %14669
  br label %14675

14673:                                            ; preds = %14669
  %14674 = load i32, ptr %16, align 4, !tbaa !14
  br label %14675

14675:                                            ; preds = %14673, %14672
  %14676 = phi i32 [ 255, %14672 ], [ %14674, %14673 ]
  br label %14677

14677:                                            ; preds = %14675, %14668
  %14678 = phi i32 [ 0, %14668 ], [ %14676, %14675 ]
  %14679 = trunc i32 %14678 to i8
  %14680 = load ptr, ptr %12, align 8, !tbaa !5
  %14681 = load i32, ptr %19, align 4, !tbaa !14
  %14682 = add nsw i32 %14681, 0
  %14683 = sext i32 %14682 to i64
  %14684 = getelementptr inbounds i8, ptr %14680, i64 %14683
  store i8 %14679, ptr %14684, align 1, !tbaa !15
  %14685 = load ptr, ptr %13, align 8, !tbaa !5
  %14686 = load i32, ptr %19, align 4, !tbaa !14
  %14687 = add nsw i32 %14686, 0
  %14688 = sext i32 %14687 to i64
  %14689 = getelementptr inbounds i8, ptr %14685, i64 %14688
  %14690 = load i8, ptr %14689, align 1, !tbaa !15
  %14691 = zext i8 %14690 to i32
  %14692 = load ptr, ptr %14, align 8, !tbaa !5
  %14693 = load i32, ptr %19, align 4, !tbaa !14
  %14694 = add nsw i32 %14693, 0
  %14695 = sext i32 %14694 to i64
  %14696 = getelementptr inbounds i8, ptr %14692, i64 %14695
  %14697 = load i8, ptr %14696, align 1, !tbaa !15
  %14698 = zext i8 %14697 to i64
  %14699 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14698
  %14700 = load i32, ptr %14699, align 4, !tbaa !14
  %14701 = sub nsw i32 %14691, %14700
  %14702 = load ptr, ptr %15, align 8, !tbaa !5
  %14703 = load i32, ptr %19, align 4, !tbaa !14
  %14704 = add nsw i32 %14703, 0
  %14705 = sext i32 %14704 to i64
  %14706 = getelementptr inbounds i8, ptr %14702, i64 %14705
  %14707 = load i8, ptr %14706, align 1, !tbaa !15
  %14708 = zext i8 %14707 to i64
  %14709 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14708
  %14710 = load i32, ptr %14709, align 4, !tbaa !14
  %14711 = sub nsw i32 %14701, %14710
  store i32 %14711, ptr %17, align 4, !tbaa !14
  %14712 = load i32, ptr %17, align 4, !tbaa !14
  %14713 = icmp slt i32 %14712, 0
  br i1 %14713, label %14714, label %14715

14714:                                            ; preds = %14677
  br label %14723

14715:                                            ; preds = %14677
  %14716 = load i32, ptr %17, align 4, !tbaa !14
  %14717 = icmp sgt i32 %14716, 255
  br i1 %14717, label %14718, label %14719

14718:                                            ; preds = %14715
  br label %14721

14719:                                            ; preds = %14715
  %14720 = load i32, ptr %17, align 4, !tbaa !14
  br label %14721

14721:                                            ; preds = %14719, %14718
  %14722 = phi i32 [ 255, %14718 ], [ %14720, %14719 ]
  br label %14723

14723:                                            ; preds = %14721, %14714
  %14724 = phi i32 [ 0, %14714 ], [ %14722, %14721 ]
  %14725 = trunc i32 %14724 to i8
  %14726 = load ptr, ptr %11, align 8, !tbaa !5
  %14727 = load i32, ptr %19, align 4, !tbaa !14
  %14728 = add nsw i32 %14727, 0
  %14729 = sext i32 %14728 to i64
  %14730 = getelementptr inbounds i8, ptr %14726, i64 %14729
  store i8 %14725, ptr %14730, align 1, !tbaa !15
  %14731 = load ptr, ptr %13, align 8, !tbaa !5
  %14732 = load i32, ptr %19, align 4, !tbaa !14
  %14733 = add nsw i32 %14732, 0
  %14734 = sext i32 %14733 to i64
  %14735 = getelementptr inbounds i8, ptr %14731, i64 %14734
  %14736 = load i8, ptr %14735, align 1, !tbaa !15
  %14737 = zext i8 %14736 to i32
  %14738 = load ptr, ptr %14, align 8, !tbaa !5
  %14739 = load i32, ptr %19, align 4, !tbaa !14
  %14740 = add nsw i32 %14739, 0
  %14741 = sext i32 %14740 to i64
  %14742 = getelementptr inbounds i8, ptr %14738, i64 %14741
  %14743 = load i8, ptr %14742, align 1, !tbaa !15
  %14744 = zext i8 %14743 to i64
  %14745 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14744
  %14746 = load i32, ptr %14745, align 4, !tbaa !14
  %14747 = add nsw i32 %14737, %14746
  store i32 %14747, ptr %18, align 4, !tbaa !14
  %14748 = load i32, ptr %18, align 4, !tbaa !14
  %14749 = icmp slt i32 %14748, 0
  br i1 %14749, label %14750, label %14751

14750:                                            ; preds = %14723
  br label %14759

14751:                                            ; preds = %14723
  %14752 = load i32, ptr %18, align 4, !tbaa !14
  %14753 = icmp sgt i32 %14752, 255
  br i1 %14753, label %14754, label %14755

14754:                                            ; preds = %14751
  br label %14757

14755:                                            ; preds = %14751
  %14756 = load i32, ptr %18, align 4, !tbaa !14
  br label %14757

14757:                                            ; preds = %14755, %14754
  %14758 = phi i32 [ 255, %14754 ], [ %14756, %14755 ]
  br label %14759

14759:                                            ; preds = %14757, %14750
  %14760 = phi i32 [ 0, %14750 ], [ %14758, %14757 ]
  %14761 = trunc i32 %14760 to i8
  %14762 = load ptr, ptr %10, align 8, !tbaa !5
  %14763 = load i32, ptr %19, align 4, !tbaa !14
  %14764 = add nsw i32 %14763, 0
  %14765 = sext i32 %14764 to i64
  %14766 = getelementptr inbounds i8, ptr %14762, i64 %14765
  store i8 %14761, ptr %14766, align 1, !tbaa !15
  %14767 = load ptr, ptr %13, align 8, !tbaa !5
  %14768 = load i32, ptr %19, align 4, !tbaa !14
  %14769 = add nsw i32 %14768, 1
  %14770 = sext i32 %14769 to i64
  %14771 = getelementptr inbounds i8, ptr %14767, i64 %14770
  %14772 = load i8, ptr %14771, align 1, !tbaa !15
  %14773 = zext i8 %14772 to i32
  %14774 = load ptr, ptr %15, align 8, !tbaa !5
  %14775 = load i32, ptr %19, align 4, !tbaa !14
  %14776 = add nsw i32 %14775, 1
  %14777 = sext i32 %14776 to i64
  %14778 = getelementptr inbounds i8, ptr %14774, i64 %14777
  %14779 = load i8, ptr %14778, align 1, !tbaa !15
  %14780 = zext i8 %14779 to i64
  %14781 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14780
  %14782 = load i32, ptr %14781, align 4, !tbaa !14
  %14783 = add nsw i32 %14773, %14782
  store i32 %14783, ptr %16, align 4, !tbaa !14
  %14784 = load i32, ptr %16, align 4, !tbaa !14
  %14785 = icmp slt i32 %14784, 0
  br i1 %14785, label %14786, label %14787

14786:                                            ; preds = %14759
  br label %14795

14787:                                            ; preds = %14759
  %14788 = load i32, ptr %16, align 4, !tbaa !14
  %14789 = icmp sgt i32 %14788, 255
  br i1 %14789, label %14790, label %14791

14790:                                            ; preds = %14787
  br label %14793

14791:                                            ; preds = %14787
  %14792 = load i32, ptr %16, align 4, !tbaa !14
  br label %14793

14793:                                            ; preds = %14791, %14790
  %14794 = phi i32 [ 255, %14790 ], [ %14792, %14791 ]
  br label %14795

14795:                                            ; preds = %14793, %14786
  %14796 = phi i32 [ 0, %14786 ], [ %14794, %14793 ]
  %14797 = trunc i32 %14796 to i8
  %14798 = load ptr, ptr %12, align 8, !tbaa !5
  %14799 = load i32, ptr %19, align 4, !tbaa !14
  %14800 = add nsw i32 %14799, 1
  %14801 = sext i32 %14800 to i64
  %14802 = getelementptr inbounds i8, ptr %14798, i64 %14801
  store i8 %14797, ptr %14802, align 1, !tbaa !15
  %14803 = load ptr, ptr %13, align 8, !tbaa !5
  %14804 = load i32, ptr %19, align 4, !tbaa !14
  %14805 = add nsw i32 %14804, 1
  %14806 = sext i32 %14805 to i64
  %14807 = getelementptr inbounds i8, ptr %14803, i64 %14806
  %14808 = load i8, ptr %14807, align 1, !tbaa !15
  %14809 = zext i8 %14808 to i32
  %14810 = load ptr, ptr %14, align 8, !tbaa !5
  %14811 = load i32, ptr %19, align 4, !tbaa !14
  %14812 = add nsw i32 %14811, 1
  %14813 = sext i32 %14812 to i64
  %14814 = getelementptr inbounds i8, ptr %14810, i64 %14813
  %14815 = load i8, ptr %14814, align 1, !tbaa !15
  %14816 = zext i8 %14815 to i64
  %14817 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14816
  %14818 = load i32, ptr %14817, align 4, !tbaa !14
  %14819 = sub nsw i32 %14809, %14818
  %14820 = load ptr, ptr %15, align 8, !tbaa !5
  %14821 = load i32, ptr %19, align 4, !tbaa !14
  %14822 = add nsw i32 %14821, 1
  %14823 = sext i32 %14822 to i64
  %14824 = getelementptr inbounds i8, ptr %14820, i64 %14823
  %14825 = load i8, ptr %14824, align 1, !tbaa !15
  %14826 = zext i8 %14825 to i64
  %14827 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14826
  %14828 = load i32, ptr %14827, align 4, !tbaa !14
  %14829 = sub nsw i32 %14819, %14828
  store i32 %14829, ptr %17, align 4, !tbaa !14
  %14830 = load i32, ptr %17, align 4, !tbaa !14
  %14831 = icmp slt i32 %14830, 0
  br i1 %14831, label %14832, label %14833

14832:                                            ; preds = %14795
  br label %14841

14833:                                            ; preds = %14795
  %14834 = load i32, ptr %17, align 4, !tbaa !14
  %14835 = icmp sgt i32 %14834, 255
  br i1 %14835, label %14836, label %14837

14836:                                            ; preds = %14833
  br label %14839

14837:                                            ; preds = %14833
  %14838 = load i32, ptr %17, align 4, !tbaa !14
  br label %14839

14839:                                            ; preds = %14837, %14836
  %14840 = phi i32 [ 255, %14836 ], [ %14838, %14837 ]
  br label %14841

14841:                                            ; preds = %14839, %14832
  %14842 = phi i32 [ 0, %14832 ], [ %14840, %14839 ]
  %14843 = trunc i32 %14842 to i8
  %14844 = load ptr, ptr %11, align 8, !tbaa !5
  %14845 = load i32, ptr %19, align 4, !tbaa !14
  %14846 = add nsw i32 %14845, 1
  %14847 = sext i32 %14846 to i64
  %14848 = getelementptr inbounds i8, ptr %14844, i64 %14847
  store i8 %14843, ptr %14848, align 1, !tbaa !15
  %14849 = load ptr, ptr %13, align 8, !tbaa !5
  %14850 = load i32, ptr %19, align 4, !tbaa !14
  %14851 = add nsw i32 %14850, 1
  %14852 = sext i32 %14851 to i64
  %14853 = getelementptr inbounds i8, ptr %14849, i64 %14852
  %14854 = load i8, ptr %14853, align 1, !tbaa !15
  %14855 = zext i8 %14854 to i32
  %14856 = load ptr, ptr %14, align 8, !tbaa !5
  %14857 = load i32, ptr %19, align 4, !tbaa !14
  %14858 = add nsw i32 %14857, 1
  %14859 = sext i32 %14858 to i64
  %14860 = getelementptr inbounds i8, ptr %14856, i64 %14859
  %14861 = load i8, ptr %14860, align 1, !tbaa !15
  %14862 = zext i8 %14861 to i64
  %14863 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14862
  %14864 = load i32, ptr %14863, align 4, !tbaa !14
  %14865 = add nsw i32 %14855, %14864
  store i32 %14865, ptr %18, align 4, !tbaa !14
  %14866 = load i32, ptr %18, align 4, !tbaa !14
  %14867 = icmp slt i32 %14866, 0
  br i1 %14867, label %14868, label %14869

14868:                                            ; preds = %14841
  br label %14877

14869:                                            ; preds = %14841
  %14870 = load i32, ptr %18, align 4, !tbaa !14
  %14871 = icmp sgt i32 %14870, 255
  br i1 %14871, label %14872, label %14873

14872:                                            ; preds = %14869
  br label %14875

14873:                                            ; preds = %14869
  %14874 = load i32, ptr %18, align 4, !tbaa !14
  br label %14875

14875:                                            ; preds = %14873, %14872
  %14876 = phi i32 [ 255, %14872 ], [ %14874, %14873 ]
  br label %14877

14877:                                            ; preds = %14875, %14868
  %14878 = phi i32 [ 0, %14868 ], [ %14876, %14875 ]
  %14879 = trunc i32 %14878 to i8
  %14880 = load ptr, ptr %10, align 8, !tbaa !5
  %14881 = load i32, ptr %19, align 4, !tbaa !14
  %14882 = add nsw i32 %14881, 1
  %14883 = sext i32 %14882 to i64
  %14884 = getelementptr inbounds i8, ptr %14880, i64 %14883
  store i8 %14879, ptr %14884, align 1, !tbaa !15
  %14885 = load ptr, ptr %13, align 8, !tbaa !5
  %14886 = load i32, ptr %19, align 4, !tbaa !14
  %14887 = add nsw i32 %14886, 2
  %14888 = sext i32 %14887 to i64
  %14889 = getelementptr inbounds i8, ptr %14885, i64 %14888
  %14890 = load i8, ptr %14889, align 1, !tbaa !15
  %14891 = zext i8 %14890 to i32
  %14892 = load ptr, ptr %15, align 8, !tbaa !5
  %14893 = load i32, ptr %19, align 4, !tbaa !14
  %14894 = add nsw i32 %14893, 2
  %14895 = sext i32 %14894 to i64
  %14896 = getelementptr inbounds i8, ptr %14892, i64 %14895
  %14897 = load i8, ptr %14896, align 1, !tbaa !15
  %14898 = zext i8 %14897 to i64
  %14899 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %14898
  %14900 = load i32, ptr %14899, align 4, !tbaa !14
  %14901 = add nsw i32 %14891, %14900
  store i32 %14901, ptr %16, align 4, !tbaa !14
  %14902 = load i32, ptr %16, align 4, !tbaa !14
  %14903 = icmp slt i32 %14902, 0
  br i1 %14903, label %14904, label %14905

14904:                                            ; preds = %14877
  br label %14913

14905:                                            ; preds = %14877
  %14906 = load i32, ptr %16, align 4, !tbaa !14
  %14907 = icmp sgt i32 %14906, 255
  br i1 %14907, label %14908, label %14909

14908:                                            ; preds = %14905
  br label %14911

14909:                                            ; preds = %14905
  %14910 = load i32, ptr %16, align 4, !tbaa !14
  br label %14911

14911:                                            ; preds = %14909, %14908
  %14912 = phi i32 [ 255, %14908 ], [ %14910, %14909 ]
  br label %14913

14913:                                            ; preds = %14911, %14904
  %14914 = phi i32 [ 0, %14904 ], [ %14912, %14911 ]
  %14915 = trunc i32 %14914 to i8
  %14916 = load ptr, ptr %12, align 8, !tbaa !5
  %14917 = load i32, ptr %19, align 4, !tbaa !14
  %14918 = add nsw i32 %14917, 2
  %14919 = sext i32 %14918 to i64
  %14920 = getelementptr inbounds i8, ptr %14916, i64 %14919
  store i8 %14915, ptr %14920, align 1, !tbaa !15
  %14921 = load ptr, ptr %13, align 8, !tbaa !5
  %14922 = load i32, ptr %19, align 4, !tbaa !14
  %14923 = add nsw i32 %14922, 2
  %14924 = sext i32 %14923 to i64
  %14925 = getelementptr inbounds i8, ptr %14921, i64 %14924
  %14926 = load i8, ptr %14925, align 1, !tbaa !15
  %14927 = zext i8 %14926 to i32
  %14928 = load ptr, ptr %14, align 8, !tbaa !5
  %14929 = load i32, ptr %19, align 4, !tbaa !14
  %14930 = add nsw i32 %14929, 2
  %14931 = sext i32 %14930 to i64
  %14932 = getelementptr inbounds i8, ptr %14928, i64 %14931
  %14933 = load i8, ptr %14932, align 1, !tbaa !15
  %14934 = zext i8 %14933 to i64
  %14935 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %14934
  %14936 = load i32, ptr %14935, align 4, !tbaa !14
  %14937 = sub nsw i32 %14927, %14936
  %14938 = load ptr, ptr %15, align 8, !tbaa !5
  %14939 = load i32, ptr %19, align 4, !tbaa !14
  %14940 = add nsw i32 %14939, 2
  %14941 = sext i32 %14940 to i64
  %14942 = getelementptr inbounds i8, ptr %14938, i64 %14941
  %14943 = load i8, ptr %14942, align 1, !tbaa !15
  %14944 = zext i8 %14943 to i64
  %14945 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %14944
  %14946 = load i32, ptr %14945, align 4, !tbaa !14
  %14947 = sub nsw i32 %14937, %14946
  store i32 %14947, ptr %17, align 4, !tbaa !14
  %14948 = load i32, ptr %17, align 4, !tbaa !14
  %14949 = icmp slt i32 %14948, 0
  br i1 %14949, label %14950, label %14951

14950:                                            ; preds = %14913
  br label %14959

14951:                                            ; preds = %14913
  %14952 = load i32, ptr %17, align 4, !tbaa !14
  %14953 = icmp sgt i32 %14952, 255
  br i1 %14953, label %14954, label %14955

14954:                                            ; preds = %14951
  br label %14957

14955:                                            ; preds = %14951
  %14956 = load i32, ptr %17, align 4, !tbaa !14
  br label %14957

14957:                                            ; preds = %14955, %14954
  %14958 = phi i32 [ 255, %14954 ], [ %14956, %14955 ]
  br label %14959

14959:                                            ; preds = %14957, %14950
  %14960 = phi i32 [ 0, %14950 ], [ %14958, %14957 ]
  %14961 = trunc i32 %14960 to i8
  %14962 = load ptr, ptr %11, align 8, !tbaa !5
  %14963 = load i32, ptr %19, align 4, !tbaa !14
  %14964 = add nsw i32 %14963, 2
  %14965 = sext i32 %14964 to i64
  %14966 = getelementptr inbounds i8, ptr %14962, i64 %14965
  store i8 %14961, ptr %14966, align 1, !tbaa !15
  %14967 = load ptr, ptr %13, align 8, !tbaa !5
  %14968 = load i32, ptr %19, align 4, !tbaa !14
  %14969 = add nsw i32 %14968, 2
  %14970 = sext i32 %14969 to i64
  %14971 = getelementptr inbounds i8, ptr %14967, i64 %14970
  %14972 = load i8, ptr %14971, align 1, !tbaa !15
  %14973 = zext i8 %14972 to i32
  %14974 = load ptr, ptr %14, align 8, !tbaa !5
  %14975 = load i32, ptr %19, align 4, !tbaa !14
  %14976 = add nsw i32 %14975, 2
  %14977 = sext i32 %14976 to i64
  %14978 = getelementptr inbounds i8, ptr %14974, i64 %14977
  %14979 = load i8, ptr %14978, align 1, !tbaa !15
  %14980 = zext i8 %14979 to i64
  %14981 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %14980
  %14982 = load i32, ptr %14981, align 4, !tbaa !14
  %14983 = add nsw i32 %14973, %14982
  store i32 %14983, ptr %18, align 4, !tbaa !14
  %14984 = load i32, ptr %18, align 4, !tbaa !14
  %14985 = icmp slt i32 %14984, 0
  br i1 %14985, label %14986, label %14987

14986:                                            ; preds = %14959
  br label %14995

14987:                                            ; preds = %14959
  %14988 = load i32, ptr %18, align 4, !tbaa !14
  %14989 = icmp sgt i32 %14988, 255
  br i1 %14989, label %14990, label %14991

14990:                                            ; preds = %14987
  br label %14993

14991:                                            ; preds = %14987
  %14992 = load i32, ptr %18, align 4, !tbaa !14
  br label %14993

14993:                                            ; preds = %14991, %14990
  %14994 = phi i32 [ 255, %14990 ], [ %14992, %14991 ]
  br label %14995

14995:                                            ; preds = %14993, %14986
  %14996 = phi i32 [ 0, %14986 ], [ %14994, %14993 ]
  %14997 = trunc i32 %14996 to i8
  %14998 = load ptr, ptr %10, align 8, !tbaa !5
  %14999 = load i32, ptr %19, align 4, !tbaa !14
  %15000 = add nsw i32 %14999, 2
  %15001 = sext i32 %15000 to i64
  %15002 = getelementptr inbounds i8, ptr %14998, i64 %15001
  store i8 %14997, ptr %15002, align 1, !tbaa !15
  %15003 = load ptr, ptr %13, align 8, !tbaa !5
  %15004 = load i32, ptr %19, align 4, !tbaa !14
  %15005 = add nsw i32 %15004, 3
  %15006 = sext i32 %15005 to i64
  %15007 = getelementptr inbounds i8, ptr %15003, i64 %15006
  %15008 = load i8, ptr %15007, align 1, !tbaa !15
  %15009 = zext i8 %15008 to i32
  %15010 = load ptr, ptr %15, align 8, !tbaa !5
  %15011 = load i32, ptr %19, align 4, !tbaa !14
  %15012 = add nsw i32 %15011, 3
  %15013 = sext i32 %15012 to i64
  %15014 = getelementptr inbounds i8, ptr %15010, i64 %15013
  %15015 = load i8, ptr %15014, align 1, !tbaa !15
  %15016 = zext i8 %15015 to i64
  %15017 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15016
  %15018 = load i32, ptr %15017, align 4, !tbaa !14
  %15019 = add nsw i32 %15009, %15018
  store i32 %15019, ptr %16, align 4, !tbaa !14
  %15020 = load i32, ptr %16, align 4, !tbaa !14
  %15021 = icmp slt i32 %15020, 0
  br i1 %15021, label %15022, label %15023

15022:                                            ; preds = %14995
  br label %15031

15023:                                            ; preds = %14995
  %15024 = load i32, ptr %16, align 4, !tbaa !14
  %15025 = icmp sgt i32 %15024, 255
  br i1 %15025, label %15026, label %15027

15026:                                            ; preds = %15023
  br label %15029

15027:                                            ; preds = %15023
  %15028 = load i32, ptr %16, align 4, !tbaa !14
  br label %15029

15029:                                            ; preds = %15027, %15026
  %15030 = phi i32 [ 255, %15026 ], [ %15028, %15027 ]
  br label %15031

15031:                                            ; preds = %15029, %15022
  %15032 = phi i32 [ 0, %15022 ], [ %15030, %15029 ]
  %15033 = trunc i32 %15032 to i8
  %15034 = load ptr, ptr %12, align 8, !tbaa !5
  %15035 = load i32, ptr %19, align 4, !tbaa !14
  %15036 = add nsw i32 %15035, 3
  %15037 = sext i32 %15036 to i64
  %15038 = getelementptr inbounds i8, ptr %15034, i64 %15037
  store i8 %15033, ptr %15038, align 1, !tbaa !15
  %15039 = load ptr, ptr %13, align 8, !tbaa !5
  %15040 = load i32, ptr %19, align 4, !tbaa !14
  %15041 = add nsw i32 %15040, 3
  %15042 = sext i32 %15041 to i64
  %15043 = getelementptr inbounds i8, ptr %15039, i64 %15042
  %15044 = load i8, ptr %15043, align 1, !tbaa !15
  %15045 = zext i8 %15044 to i32
  %15046 = load ptr, ptr %14, align 8, !tbaa !5
  %15047 = load i32, ptr %19, align 4, !tbaa !14
  %15048 = add nsw i32 %15047, 3
  %15049 = sext i32 %15048 to i64
  %15050 = getelementptr inbounds i8, ptr %15046, i64 %15049
  %15051 = load i8, ptr %15050, align 1, !tbaa !15
  %15052 = zext i8 %15051 to i64
  %15053 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15052
  %15054 = load i32, ptr %15053, align 4, !tbaa !14
  %15055 = sub nsw i32 %15045, %15054
  %15056 = load ptr, ptr %15, align 8, !tbaa !5
  %15057 = load i32, ptr %19, align 4, !tbaa !14
  %15058 = add nsw i32 %15057, 3
  %15059 = sext i32 %15058 to i64
  %15060 = getelementptr inbounds i8, ptr %15056, i64 %15059
  %15061 = load i8, ptr %15060, align 1, !tbaa !15
  %15062 = zext i8 %15061 to i64
  %15063 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15062
  %15064 = load i32, ptr %15063, align 4, !tbaa !14
  %15065 = sub nsw i32 %15055, %15064
  store i32 %15065, ptr %17, align 4, !tbaa !14
  %15066 = load i32, ptr %17, align 4, !tbaa !14
  %15067 = icmp slt i32 %15066, 0
  br i1 %15067, label %15068, label %15069

15068:                                            ; preds = %15031
  br label %15077

15069:                                            ; preds = %15031
  %15070 = load i32, ptr %17, align 4, !tbaa !14
  %15071 = icmp sgt i32 %15070, 255
  br i1 %15071, label %15072, label %15073

15072:                                            ; preds = %15069
  br label %15075

15073:                                            ; preds = %15069
  %15074 = load i32, ptr %17, align 4, !tbaa !14
  br label %15075

15075:                                            ; preds = %15073, %15072
  %15076 = phi i32 [ 255, %15072 ], [ %15074, %15073 ]
  br label %15077

15077:                                            ; preds = %15075, %15068
  %15078 = phi i32 [ 0, %15068 ], [ %15076, %15075 ]
  %15079 = trunc i32 %15078 to i8
  %15080 = load ptr, ptr %11, align 8, !tbaa !5
  %15081 = load i32, ptr %19, align 4, !tbaa !14
  %15082 = add nsw i32 %15081, 3
  %15083 = sext i32 %15082 to i64
  %15084 = getelementptr inbounds i8, ptr %15080, i64 %15083
  store i8 %15079, ptr %15084, align 1, !tbaa !15
  %15085 = load ptr, ptr %13, align 8, !tbaa !5
  %15086 = load i32, ptr %19, align 4, !tbaa !14
  %15087 = add nsw i32 %15086, 3
  %15088 = sext i32 %15087 to i64
  %15089 = getelementptr inbounds i8, ptr %15085, i64 %15088
  %15090 = load i8, ptr %15089, align 1, !tbaa !15
  %15091 = zext i8 %15090 to i32
  %15092 = load ptr, ptr %14, align 8, !tbaa !5
  %15093 = load i32, ptr %19, align 4, !tbaa !14
  %15094 = add nsw i32 %15093, 3
  %15095 = sext i32 %15094 to i64
  %15096 = getelementptr inbounds i8, ptr %15092, i64 %15095
  %15097 = load i8, ptr %15096, align 1, !tbaa !15
  %15098 = zext i8 %15097 to i64
  %15099 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15098
  %15100 = load i32, ptr %15099, align 4, !tbaa !14
  %15101 = add nsw i32 %15091, %15100
  store i32 %15101, ptr %18, align 4, !tbaa !14
  %15102 = load i32, ptr %18, align 4, !tbaa !14
  %15103 = icmp slt i32 %15102, 0
  br i1 %15103, label %15104, label %15105

15104:                                            ; preds = %15077
  br label %15113

15105:                                            ; preds = %15077
  %15106 = load i32, ptr %18, align 4, !tbaa !14
  %15107 = icmp sgt i32 %15106, 255
  br i1 %15107, label %15108, label %15109

15108:                                            ; preds = %15105
  br label %15111

15109:                                            ; preds = %15105
  %15110 = load i32, ptr %18, align 4, !tbaa !14
  br label %15111

15111:                                            ; preds = %15109, %15108
  %15112 = phi i32 [ 255, %15108 ], [ %15110, %15109 ]
  br label %15113

15113:                                            ; preds = %15111, %15104
  %15114 = phi i32 [ 0, %15104 ], [ %15112, %15111 ]
  %15115 = trunc i32 %15114 to i8
  %15116 = load ptr, ptr %10, align 8, !tbaa !5
  %15117 = load i32, ptr %19, align 4, !tbaa !14
  %15118 = add nsw i32 %15117, 3
  %15119 = sext i32 %15118 to i64
  %15120 = getelementptr inbounds i8, ptr %15116, i64 %15119
  store i8 %15115, ptr %15120, align 1, !tbaa !15
  %15121 = load ptr, ptr %13, align 8, !tbaa !5
  %15122 = load i32, ptr %19, align 4, !tbaa !14
  %15123 = add nsw i32 %15122, 4
  %15124 = sext i32 %15123 to i64
  %15125 = getelementptr inbounds i8, ptr %15121, i64 %15124
  %15126 = load i8, ptr %15125, align 1, !tbaa !15
  %15127 = zext i8 %15126 to i32
  %15128 = load ptr, ptr %15, align 8, !tbaa !5
  %15129 = load i32, ptr %19, align 4, !tbaa !14
  %15130 = add nsw i32 %15129, 4
  %15131 = sext i32 %15130 to i64
  %15132 = getelementptr inbounds i8, ptr %15128, i64 %15131
  %15133 = load i8, ptr %15132, align 1, !tbaa !15
  %15134 = zext i8 %15133 to i64
  %15135 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15134
  %15136 = load i32, ptr %15135, align 4, !tbaa !14
  %15137 = add nsw i32 %15127, %15136
  store i32 %15137, ptr %16, align 4, !tbaa !14
  %15138 = load i32, ptr %16, align 4, !tbaa !14
  %15139 = icmp slt i32 %15138, 0
  br i1 %15139, label %15140, label %15141

15140:                                            ; preds = %15113
  br label %15149

15141:                                            ; preds = %15113
  %15142 = load i32, ptr %16, align 4, !tbaa !14
  %15143 = icmp sgt i32 %15142, 255
  br i1 %15143, label %15144, label %15145

15144:                                            ; preds = %15141
  br label %15147

15145:                                            ; preds = %15141
  %15146 = load i32, ptr %16, align 4, !tbaa !14
  br label %15147

15147:                                            ; preds = %15145, %15144
  %15148 = phi i32 [ 255, %15144 ], [ %15146, %15145 ]
  br label %15149

15149:                                            ; preds = %15147, %15140
  %15150 = phi i32 [ 0, %15140 ], [ %15148, %15147 ]
  %15151 = trunc i32 %15150 to i8
  %15152 = load ptr, ptr %12, align 8, !tbaa !5
  %15153 = load i32, ptr %19, align 4, !tbaa !14
  %15154 = add nsw i32 %15153, 4
  %15155 = sext i32 %15154 to i64
  %15156 = getelementptr inbounds i8, ptr %15152, i64 %15155
  store i8 %15151, ptr %15156, align 1, !tbaa !15
  %15157 = load ptr, ptr %13, align 8, !tbaa !5
  %15158 = load i32, ptr %19, align 4, !tbaa !14
  %15159 = add nsw i32 %15158, 4
  %15160 = sext i32 %15159 to i64
  %15161 = getelementptr inbounds i8, ptr %15157, i64 %15160
  %15162 = load i8, ptr %15161, align 1, !tbaa !15
  %15163 = zext i8 %15162 to i32
  %15164 = load ptr, ptr %14, align 8, !tbaa !5
  %15165 = load i32, ptr %19, align 4, !tbaa !14
  %15166 = add nsw i32 %15165, 4
  %15167 = sext i32 %15166 to i64
  %15168 = getelementptr inbounds i8, ptr %15164, i64 %15167
  %15169 = load i8, ptr %15168, align 1, !tbaa !15
  %15170 = zext i8 %15169 to i64
  %15171 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15170
  %15172 = load i32, ptr %15171, align 4, !tbaa !14
  %15173 = sub nsw i32 %15163, %15172
  %15174 = load ptr, ptr %15, align 8, !tbaa !5
  %15175 = load i32, ptr %19, align 4, !tbaa !14
  %15176 = add nsw i32 %15175, 4
  %15177 = sext i32 %15176 to i64
  %15178 = getelementptr inbounds i8, ptr %15174, i64 %15177
  %15179 = load i8, ptr %15178, align 1, !tbaa !15
  %15180 = zext i8 %15179 to i64
  %15181 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15180
  %15182 = load i32, ptr %15181, align 4, !tbaa !14
  %15183 = sub nsw i32 %15173, %15182
  store i32 %15183, ptr %17, align 4, !tbaa !14
  %15184 = load i32, ptr %17, align 4, !tbaa !14
  %15185 = icmp slt i32 %15184, 0
  br i1 %15185, label %15186, label %15187

15186:                                            ; preds = %15149
  br label %15195

15187:                                            ; preds = %15149
  %15188 = load i32, ptr %17, align 4, !tbaa !14
  %15189 = icmp sgt i32 %15188, 255
  br i1 %15189, label %15190, label %15191

15190:                                            ; preds = %15187
  br label %15193

15191:                                            ; preds = %15187
  %15192 = load i32, ptr %17, align 4, !tbaa !14
  br label %15193

15193:                                            ; preds = %15191, %15190
  %15194 = phi i32 [ 255, %15190 ], [ %15192, %15191 ]
  br label %15195

15195:                                            ; preds = %15193, %15186
  %15196 = phi i32 [ 0, %15186 ], [ %15194, %15193 ]
  %15197 = trunc i32 %15196 to i8
  %15198 = load ptr, ptr %11, align 8, !tbaa !5
  %15199 = load i32, ptr %19, align 4, !tbaa !14
  %15200 = add nsw i32 %15199, 4
  %15201 = sext i32 %15200 to i64
  %15202 = getelementptr inbounds i8, ptr %15198, i64 %15201
  store i8 %15197, ptr %15202, align 1, !tbaa !15
  %15203 = load ptr, ptr %13, align 8, !tbaa !5
  %15204 = load i32, ptr %19, align 4, !tbaa !14
  %15205 = add nsw i32 %15204, 4
  %15206 = sext i32 %15205 to i64
  %15207 = getelementptr inbounds i8, ptr %15203, i64 %15206
  %15208 = load i8, ptr %15207, align 1, !tbaa !15
  %15209 = zext i8 %15208 to i32
  %15210 = load ptr, ptr %14, align 8, !tbaa !5
  %15211 = load i32, ptr %19, align 4, !tbaa !14
  %15212 = add nsw i32 %15211, 4
  %15213 = sext i32 %15212 to i64
  %15214 = getelementptr inbounds i8, ptr %15210, i64 %15213
  %15215 = load i8, ptr %15214, align 1, !tbaa !15
  %15216 = zext i8 %15215 to i64
  %15217 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15216
  %15218 = load i32, ptr %15217, align 4, !tbaa !14
  %15219 = add nsw i32 %15209, %15218
  store i32 %15219, ptr %18, align 4, !tbaa !14
  %15220 = load i32, ptr %18, align 4, !tbaa !14
  %15221 = icmp slt i32 %15220, 0
  br i1 %15221, label %15222, label %15223

15222:                                            ; preds = %15195
  br label %15231

15223:                                            ; preds = %15195
  %15224 = load i32, ptr %18, align 4, !tbaa !14
  %15225 = icmp sgt i32 %15224, 255
  br i1 %15225, label %15226, label %15227

15226:                                            ; preds = %15223
  br label %15229

15227:                                            ; preds = %15223
  %15228 = load i32, ptr %18, align 4, !tbaa !14
  br label %15229

15229:                                            ; preds = %15227, %15226
  %15230 = phi i32 [ 255, %15226 ], [ %15228, %15227 ]
  br label %15231

15231:                                            ; preds = %15229, %15222
  %15232 = phi i32 [ 0, %15222 ], [ %15230, %15229 ]
  %15233 = trunc i32 %15232 to i8
  %15234 = load ptr, ptr %10, align 8, !tbaa !5
  %15235 = load i32, ptr %19, align 4, !tbaa !14
  %15236 = add nsw i32 %15235, 4
  %15237 = sext i32 %15236 to i64
  %15238 = getelementptr inbounds i8, ptr %15234, i64 %15237
  store i8 %15233, ptr %15238, align 1, !tbaa !15
  %15239 = load ptr, ptr %13, align 8, !tbaa !5
  %15240 = load i32, ptr %19, align 4, !tbaa !14
  %15241 = add nsw i32 %15240, 5
  %15242 = sext i32 %15241 to i64
  %15243 = getelementptr inbounds i8, ptr %15239, i64 %15242
  %15244 = load i8, ptr %15243, align 1, !tbaa !15
  %15245 = zext i8 %15244 to i32
  %15246 = load ptr, ptr %15, align 8, !tbaa !5
  %15247 = load i32, ptr %19, align 4, !tbaa !14
  %15248 = add nsw i32 %15247, 5
  %15249 = sext i32 %15248 to i64
  %15250 = getelementptr inbounds i8, ptr %15246, i64 %15249
  %15251 = load i8, ptr %15250, align 1, !tbaa !15
  %15252 = zext i8 %15251 to i64
  %15253 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15252
  %15254 = load i32, ptr %15253, align 4, !tbaa !14
  %15255 = add nsw i32 %15245, %15254
  store i32 %15255, ptr %16, align 4, !tbaa !14
  %15256 = load i32, ptr %16, align 4, !tbaa !14
  %15257 = icmp slt i32 %15256, 0
  br i1 %15257, label %15258, label %15259

15258:                                            ; preds = %15231
  br label %15267

15259:                                            ; preds = %15231
  %15260 = load i32, ptr %16, align 4, !tbaa !14
  %15261 = icmp sgt i32 %15260, 255
  br i1 %15261, label %15262, label %15263

15262:                                            ; preds = %15259
  br label %15265

15263:                                            ; preds = %15259
  %15264 = load i32, ptr %16, align 4, !tbaa !14
  br label %15265

15265:                                            ; preds = %15263, %15262
  %15266 = phi i32 [ 255, %15262 ], [ %15264, %15263 ]
  br label %15267

15267:                                            ; preds = %15265, %15258
  %15268 = phi i32 [ 0, %15258 ], [ %15266, %15265 ]
  %15269 = trunc i32 %15268 to i8
  %15270 = load ptr, ptr %12, align 8, !tbaa !5
  %15271 = load i32, ptr %19, align 4, !tbaa !14
  %15272 = add nsw i32 %15271, 5
  %15273 = sext i32 %15272 to i64
  %15274 = getelementptr inbounds i8, ptr %15270, i64 %15273
  store i8 %15269, ptr %15274, align 1, !tbaa !15
  %15275 = load ptr, ptr %13, align 8, !tbaa !5
  %15276 = load i32, ptr %19, align 4, !tbaa !14
  %15277 = add nsw i32 %15276, 5
  %15278 = sext i32 %15277 to i64
  %15279 = getelementptr inbounds i8, ptr %15275, i64 %15278
  %15280 = load i8, ptr %15279, align 1, !tbaa !15
  %15281 = zext i8 %15280 to i32
  %15282 = load ptr, ptr %14, align 8, !tbaa !5
  %15283 = load i32, ptr %19, align 4, !tbaa !14
  %15284 = add nsw i32 %15283, 5
  %15285 = sext i32 %15284 to i64
  %15286 = getelementptr inbounds i8, ptr %15282, i64 %15285
  %15287 = load i8, ptr %15286, align 1, !tbaa !15
  %15288 = zext i8 %15287 to i64
  %15289 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15288
  %15290 = load i32, ptr %15289, align 4, !tbaa !14
  %15291 = sub nsw i32 %15281, %15290
  %15292 = load ptr, ptr %15, align 8, !tbaa !5
  %15293 = load i32, ptr %19, align 4, !tbaa !14
  %15294 = add nsw i32 %15293, 5
  %15295 = sext i32 %15294 to i64
  %15296 = getelementptr inbounds i8, ptr %15292, i64 %15295
  %15297 = load i8, ptr %15296, align 1, !tbaa !15
  %15298 = zext i8 %15297 to i64
  %15299 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15298
  %15300 = load i32, ptr %15299, align 4, !tbaa !14
  %15301 = sub nsw i32 %15291, %15300
  store i32 %15301, ptr %17, align 4, !tbaa !14
  %15302 = load i32, ptr %17, align 4, !tbaa !14
  %15303 = icmp slt i32 %15302, 0
  br i1 %15303, label %15304, label %15305

15304:                                            ; preds = %15267
  br label %15313

15305:                                            ; preds = %15267
  %15306 = load i32, ptr %17, align 4, !tbaa !14
  %15307 = icmp sgt i32 %15306, 255
  br i1 %15307, label %15308, label %15309

15308:                                            ; preds = %15305
  br label %15311

15309:                                            ; preds = %15305
  %15310 = load i32, ptr %17, align 4, !tbaa !14
  br label %15311

15311:                                            ; preds = %15309, %15308
  %15312 = phi i32 [ 255, %15308 ], [ %15310, %15309 ]
  br label %15313

15313:                                            ; preds = %15311, %15304
  %15314 = phi i32 [ 0, %15304 ], [ %15312, %15311 ]
  %15315 = trunc i32 %15314 to i8
  %15316 = load ptr, ptr %11, align 8, !tbaa !5
  %15317 = load i32, ptr %19, align 4, !tbaa !14
  %15318 = add nsw i32 %15317, 5
  %15319 = sext i32 %15318 to i64
  %15320 = getelementptr inbounds i8, ptr %15316, i64 %15319
  store i8 %15315, ptr %15320, align 1, !tbaa !15
  %15321 = load ptr, ptr %13, align 8, !tbaa !5
  %15322 = load i32, ptr %19, align 4, !tbaa !14
  %15323 = add nsw i32 %15322, 5
  %15324 = sext i32 %15323 to i64
  %15325 = getelementptr inbounds i8, ptr %15321, i64 %15324
  %15326 = load i8, ptr %15325, align 1, !tbaa !15
  %15327 = zext i8 %15326 to i32
  %15328 = load ptr, ptr %14, align 8, !tbaa !5
  %15329 = load i32, ptr %19, align 4, !tbaa !14
  %15330 = add nsw i32 %15329, 5
  %15331 = sext i32 %15330 to i64
  %15332 = getelementptr inbounds i8, ptr %15328, i64 %15331
  %15333 = load i8, ptr %15332, align 1, !tbaa !15
  %15334 = zext i8 %15333 to i64
  %15335 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15334
  %15336 = load i32, ptr %15335, align 4, !tbaa !14
  %15337 = add nsw i32 %15327, %15336
  store i32 %15337, ptr %18, align 4, !tbaa !14
  %15338 = load i32, ptr %18, align 4, !tbaa !14
  %15339 = icmp slt i32 %15338, 0
  br i1 %15339, label %15340, label %15341

15340:                                            ; preds = %15313
  br label %15349

15341:                                            ; preds = %15313
  %15342 = load i32, ptr %18, align 4, !tbaa !14
  %15343 = icmp sgt i32 %15342, 255
  br i1 %15343, label %15344, label %15345

15344:                                            ; preds = %15341
  br label %15347

15345:                                            ; preds = %15341
  %15346 = load i32, ptr %18, align 4, !tbaa !14
  br label %15347

15347:                                            ; preds = %15345, %15344
  %15348 = phi i32 [ 255, %15344 ], [ %15346, %15345 ]
  br label %15349

15349:                                            ; preds = %15347, %15340
  %15350 = phi i32 [ 0, %15340 ], [ %15348, %15347 ]
  %15351 = trunc i32 %15350 to i8
  %15352 = load ptr, ptr %10, align 8, !tbaa !5
  %15353 = load i32, ptr %19, align 4, !tbaa !14
  %15354 = add nsw i32 %15353, 5
  %15355 = sext i32 %15354 to i64
  %15356 = getelementptr inbounds i8, ptr %15352, i64 %15355
  store i8 %15351, ptr %15356, align 1, !tbaa !15
  %15357 = load ptr, ptr %13, align 8, !tbaa !5
  %15358 = load i32, ptr %19, align 4, !tbaa !14
  %15359 = add nsw i32 %15358, 6
  %15360 = sext i32 %15359 to i64
  %15361 = getelementptr inbounds i8, ptr %15357, i64 %15360
  %15362 = load i8, ptr %15361, align 1, !tbaa !15
  %15363 = zext i8 %15362 to i32
  %15364 = load ptr, ptr %15, align 8, !tbaa !5
  %15365 = load i32, ptr %19, align 4, !tbaa !14
  %15366 = add nsw i32 %15365, 6
  %15367 = sext i32 %15366 to i64
  %15368 = getelementptr inbounds i8, ptr %15364, i64 %15367
  %15369 = load i8, ptr %15368, align 1, !tbaa !15
  %15370 = zext i8 %15369 to i64
  %15371 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15370
  %15372 = load i32, ptr %15371, align 4, !tbaa !14
  %15373 = add nsw i32 %15363, %15372
  store i32 %15373, ptr %16, align 4, !tbaa !14
  %15374 = load i32, ptr %16, align 4, !tbaa !14
  %15375 = icmp slt i32 %15374, 0
  br i1 %15375, label %15376, label %15377

15376:                                            ; preds = %15349
  br label %15385

15377:                                            ; preds = %15349
  %15378 = load i32, ptr %16, align 4, !tbaa !14
  %15379 = icmp sgt i32 %15378, 255
  br i1 %15379, label %15380, label %15381

15380:                                            ; preds = %15377
  br label %15383

15381:                                            ; preds = %15377
  %15382 = load i32, ptr %16, align 4, !tbaa !14
  br label %15383

15383:                                            ; preds = %15381, %15380
  %15384 = phi i32 [ 255, %15380 ], [ %15382, %15381 ]
  br label %15385

15385:                                            ; preds = %15383, %15376
  %15386 = phi i32 [ 0, %15376 ], [ %15384, %15383 ]
  %15387 = trunc i32 %15386 to i8
  %15388 = load ptr, ptr %12, align 8, !tbaa !5
  %15389 = load i32, ptr %19, align 4, !tbaa !14
  %15390 = add nsw i32 %15389, 6
  %15391 = sext i32 %15390 to i64
  %15392 = getelementptr inbounds i8, ptr %15388, i64 %15391
  store i8 %15387, ptr %15392, align 1, !tbaa !15
  %15393 = load ptr, ptr %13, align 8, !tbaa !5
  %15394 = load i32, ptr %19, align 4, !tbaa !14
  %15395 = add nsw i32 %15394, 6
  %15396 = sext i32 %15395 to i64
  %15397 = getelementptr inbounds i8, ptr %15393, i64 %15396
  %15398 = load i8, ptr %15397, align 1, !tbaa !15
  %15399 = zext i8 %15398 to i32
  %15400 = load ptr, ptr %14, align 8, !tbaa !5
  %15401 = load i32, ptr %19, align 4, !tbaa !14
  %15402 = add nsw i32 %15401, 6
  %15403 = sext i32 %15402 to i64
  %15404 = getelementptr inbounds i8, ptr %15400, i64 %15403
  %15405 = load i8, ptr %15404, align 1, !tbaa !15
  %15406 = zext i8 %15405 to i64
  %15407 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15406
  %15408 = load i32, ptr %15407, align 4, !tbaa !14
  %15409 = sub nsw i32 %15399, %15408
  %15410 = load ptr, ptr %15, align 8, !tbaa !5
  %15411 = load i32, ptr %19, align 4, !tbaa !14
  %15412 = add nsw i32 %15411, 6
  %15413 = sext i32 %15412 to i64
  %15414 = getelementptr inbounds i8, ptr %15410, i64 %15413
  %15415 = load i8, ptr %15414, align 1, !tbaa !15
  %15416 = zext i8 %15415 to i64
  %15417 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15416
  %15418 = load i32, ptr %15417, align 4, !tbaa !14
  %15419 = sub nsw i32 %15409, %15418
  store i32 %15419, ptr %17, align 4, !tbaa !14
  %15420 = load i32, ptr %17, align 4, !tbaa !14
  %15421 = icmp slt i32 %15420, 0
  br i1 %15421, label %15422, label %15423

15422:                                            ; preds = %15385
  br label %15431

15423:                                            ; preds = %15385
  %15424 = load i32, ptr %17, align 4, !tbaa !14
  %15425 = icmp sgt i32 %15424, 255
  br i1 %15425, label %15426, label %15427

15426:                                            ; preds = %15423
  br label %15429

15427:                                            ; preds = %15423
  %15428 = load i32, ptr %17, align 4, !tbaa !14
  br label %15429

15429:                                            ; preds = %15427, %15426
  %15430 = phi i32 [ 255, %15426 ], [ %15428, %15427 ]
  br label %15431

15431:                                            ; preds = %15429, %15422
  %15432 = phi i32 [ 0, %15422 ], [ %15430, %15429 ]
  %15433 = trunc i32 %15432 to i8
  %15434 = load ptr, ptr %11, align 8, !tbaa !5
  %15435 = load i32, ptr %19, align 4, !tbaa !14
  %15436 = add nsw i32 %15435, 6
  %15437 = sext i32 %15436 to i64
  %15438 = getelementptr inbounds i8, ptr %15434, i64 %15437
  store i8 %15433, ptr %15438, align 1, !tbaa !15
  %15439 = load ptr, ptr %13, align 8, !tbaa !5
  %15440 = load i32, ptr %19, align 4, !tbaa !14
  %15441 = add nsw i32 %15440, 6
  %15442 = sext i32 %15441 to i64
  %15443 = getelementptr inbounds i8, ptr %15439, i64 %15442
  %15444 = load i8, ptr %15443, align 1, !tbaa !15
  %15445 = zext i8 %15444 to i32
  %15446 = load ptr, ptr %14, align 8, !tbaa !5
  %15447 = load i32, ptr %19, align 4, !tbaa !14
  %15448 = add nsw i32 %15447, 6
  %15449 = sext i32 %15448 to i64
  %15450 = getelementptr inbounds i8, ptr %15446, i64 %15449
  %15451 = load i8, ptr %15450, align 1, !tbaa !15
  %15452 = zext i8 %15451 to i64
  %15453 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15452
  %15454 = load i32, ptr %15453, align 4, !tbaa !14
  %15455 = add nsw i32 %15445, %15454
  store i32 %15455, ptr %18, align 4, !tbaa !14
  %15456 = load i32, ptr %18, align 4, !tbaa !14
  %15457 = icmp slt i32 %15456, 0
  br i1 %15457, label %15458, label %15459

15458:                                            ; preds = %15431
  br label %15467

15459:                                            ; preds = %15431
  %15460 = load i32, ptr %18, align 4, !tbaa !14
  %15461 = icmp sgt i32 %15460, 255
  br i1 %15461, label %15462, label %15463

15462:                                            ; preds = %15459
  br label %15465

15463:                                            ; preds = %15459
  %15464 = load i32, ptr %18, align 4, !tbaa !14
  br label %15465

15465:                                            ; preds = %15463, %15462
  %15466 = phi i32 [ 255, %15462 ], [ %15464, %15463 ]
  br label %15467

15467:                                            ; preds = %15465, %15458
  %15468 = phi i32 [ 0, %15458 ], [ %15466, %15465 ]
  %15469 = trunc i32 %15468 to i8
  %15470 = load ptr, ptr %10, align 8, !tbaa !5
  %15471 = load i32, ptr %19, align 4, !tbaa !14
  %15472 = add nsw i32 %15471, 6
  %15473 = sext i32 %15472 to i64
  %15474 = getelementptr inbounds i8, ptr %15470, i64 %15473
  store i8 %15469, ptr %15474, align 1, !tbaa !15
  %15475 = load ptr, ptr %13, align 8, !tbaa !5
  %15476 = load i32, ptr %19, align 4, !tbaa !14
  %15477 = add nsw i32 %15476, 7
  %15478 = sext i32 %15477 to i64
  %15479 = getelementptr inbounds i8, ptr %15475, i64 %15478
  %15480 = load i8, ptr %15479, align 1, !tbaa !15
  %15481 = zext i8 %15480 to i32
  %15482 = load ptr, ptr %15, align 8, !tbaa !5
  %15483 = load i32, ptr %19, align 4, !tbaa !14
  %15484 = add nsw i32 %15483, 7
  %15485 = sext i32 %15484 to i64
  %15486 = getelementptr inbounds i8, ptr %15482, i64 %15485
  %15487 = load i8, ptr %15486, align 1, !tbaa !15
  %15488 = zext i8 %15487 to i64
  %15489 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15488
  %15490 = load i32, ptr %15489, align 4, !tbaa !14
  %15491 = add nsw i32 %15481, %15490
  store i32 %15491, ptr %16, align 4, !tbaa !14
  %15492 = load i32, ptr %16, align 4, !tbaa !14
  %15493 = icmp slt i32 %15492, 0
  br i1 %15493, label %15494, label %15495

15494:                                            ; preds = %15467
  br label %15503

15495:                                            ; preds = %15467
  %15496 = load i32, ptr %16, align 4, !tbaa !14
  %15497 = icmp sgt i32 %15496, 255
  br i1 %15497, label %15498, label %15499

15498:                                            ; preds = %15495
  br label %15501

15499:                                            ; preds = %15495
  %15500 = load i32, ptr %16, align 4, !tbaa !14
  br label %15501

15501:                                            ; preds = %15499, %15498
  %15502 = phi i32 [ 255, %15498 ], [ %15500, %15499 ]
  br label %15503

15503:                                            ; preds = %15501, %15494
  %15504 = phi i32 [ 0, %15494 ], [ %15502, %15501 ]
  %15505 = trunc i32 %15504 to i8
  %15506 = load ptr, ptr %12, align 8, !tbaa !5
  %15507 = load i32, ptr %19, align 4, !tbaa !14
  %15508 = add nsw i32 %15507, 7
  %15509 = sext i32 %15508 to i64
  %15510 = getelementptr inbounds i8, ptr %15506, i64 %15509
  store i8 %15505, ptr %15510, align 1, !tbaa !15
  %15511 = load ptr, ptr %13, align 8, !tbaa !5
  %15512 = load i32, ptr %19, align 4, !tbaa !14
  %15513 = add nsw i32 %15512, 7
  %15514 = sext i32 %15513 to i64
  %15515 = getelementptr inbounds i8, ptr %15511, i64 %15514
  %15516 = load i8, ptr %15515, align 1, !tbaa !15
  %15517 = zext i8 %15516 to i32
  %15518 = load ptr, ptr %14, align 8, !tbaa !5
  %15519 = load i32, ptr %19, align 4, !tbaa !14
  %15520 = add nsw i32 %15519, 7
  %15521 = sext i32 %15520 to i64
  %15522 = getelementptr inbounds i8, ptr %15518, i64 %15521
  %15523 = load i8, ptr %15522, align 1, !tbaa !15
  %15524 = zext i8 %15523 to i64
  %15525 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15524
  %15526 = load i32, ptr %15525, align 4, !tbaa !14
  %15527 = sub nsw i32 %15517, %15526
  %15528 = load ptr, ptr %15, align 8, !tbaa !5
  %15529 = load i32, ptr %19, align 4, !tbaa !14
  %15530 = add nsw i32 %15529, 7
  %15531 = sext i32 %15530 to i64
  %15532 = getelementptr inbounds i8, ptr %15528, i64 %15531
  %15533 = load i8, ptr %15532, align 1, !tbaa !15
  %15534 = zext i8 %15533 to i64
  %15535 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15534
  %15536 = load i32, ptr %15535, align 4, !tbaa !14
  %15537 = sub nsw i32 %15527, %15536
  store i32 %15537, ptr %17, align 4, !tbaa !14
  %15538 = load i32, ptr %17, align 4, !tbaa !14
  %15539 = icmp slt i32 %15538, 0
  br i1 %15539, label %15540, label %15541

15540:                                            ; preds = %15503
  br label %15549

15541:                                            ; preds = %15503
  %15542 = load i32, ptr %17, align 4, !tbaa !14
  %15543 = icmp sgt i32 %15542, 255
  br i1 %15543, label %15544, label %15545

15544:                                            ; preds = %15541
  br label %15547

15545:                                            ; preds = %15541
  %15546 = load i32, ptr %17, align 4, !tbaa !14
  br label %15547

15547:                                            ; preds = %15545, %15544
  %15548 = phi i32 [ 255, %15544 ], [ %15546, %15545 ]
  br label %15549

15549:                                            ; preds = %15547, %15540
  %15550 = phi i32 [ 0, %15540 ], [ %15548, %15547 ]
  %15551 = trunc i32 %15550 to i8
  %15552 = load ptr, ptr %11, align 8, !tbaa !5
  %15553 = load i32, ptr %19, align 4, !tbaa !14
  %15554 = add nsw i32 %15553, 7
  %15555 = sext i32 %15554 to i64
  %15556 = getelementptr inbounds i8, ptr %15552, i64 %15555
  store i8 %15551, ptr %15556, align 1, !tbaa !15
  %15557 = load ptr, ptr %13, align 8, !tbaa !5
  %15558 = load i32, ptr %19, align 4, !tbaa !14
  %15559 = add nsw i32 %15558, 7
  %15560 = sext i32 %15559 to i64
  %15561 = getelementptr inbounds i8, ptr %15557, i64 %15560
  %15562 = load i8, ptr %15561, align 1, !tbaa !15
  %15563 = zext i8 %15562 to i32
  %15564 = load ptr, ptr %14, align 8, !tbaa !5
  %15565 = load i32, ptr %19, align 4, !tbaa !14
  %15566 = add nsw i32 %15565, 7
  %15567 = sext i32 %15566 to i64
  %15568 = getelementptr inbounds i8, ptr %15564, i64 %15567
  %15569 = load i8, ptr %15568, align 1, !tbaa !15
  %15570 = zext i8 %15569 to i64
  %15571 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15570
  %15572 = load i32, ptr %15571, align 4, !tbaa !14
  %15573 = add nsw i32 %15563, %15572
  store i32 %15573, ptr %18, align 4, !tbaa !14
  %15574 = load i32, ptr %18, align 4, !tbaa !14
  %15575 = icmp slt i32 %15574, 0
  br i1 %15575, label %15576, label %15577

15576:                                            ; preds = %15549
  br label %15585

15577:                                            ; preds = %15549
  %15578 = load i32, ptr %18, align 4, !tbaa !14
  %15579 = icmp sgt i32 %15578, 255
  br i1 %15579, label %15580, label %15581

15580:                                            ; preds = %15577
  br label %15583

15581:                                            ; preds = %15577
  %15582 = load i32, ptr %18, align 4, !tbaa !14
  br label %15583

15583:                                            ; preds = %15581, %15580
  %15584 = phi i32 [ 255, %15580 ], [ %15582, %15581 ]
  br label %15585

15585:                                            ; preds = %15583, %15576
  %15586 = phi i32 [ 0, %15576 ], [ %15584, %15583 ]
  %15587 = trunc i32 %15586 to i8
  %15588 = load ptr, ptr %10, align 8, !tbaa !5
  %15589 = load i32, ptr %19, align 4, !tbaa !14
  %15590 = add nsw i32 %15589, 7
  %15591 = sext i32 %15590 to i64
  %15592 = getelementptr inbounds i8, ptr %15588, i64 %15591
  store i8 %15587, ptr %15592, align 1, !tbaa !15
  %15593 = load ptr, ptr %13, align 8, !tbaa !5
  %15594 = load i32, ptr %19, align 4, !tbaa !14
  %15595 = add nsw i32 %15594, 8
  %15596 = sext i32 %15595 to i64
  %15597 = getelementptr inbounds i8, ptr %15593, i64 %15596
  %15598 = load i8, ptr %15597, align 1, !tbaa !15
  %15599 = zext i8 %15598 to i32
  %15600 = load ptr, ptr %15, align 8, !tbaa !5
  %15601 = load i32, ptr %19, align 4, !tbaa !14
  %15602 = add nsw i32 %15601, 8
  %15603 = sext i32 %15602 to i64
  %15604 = getelementptr inbounds i8, ptr %15600, i64 %15603
  %15605 = load i8, ptr %15604, align 1, !tbaa !15
  %15606 = zext i8 %15605 to i64
  %15607 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15606
  %15608 = load i32, ptr %15607, align 4, !tbaa !14
  %15609 = add nsw i32 %15599, %15608
  store i32 %15609, ptr %16, align 4, !tbaa !14
  %15610 = load i32, ptr %16, align 4, !tbaa !14
  %15611 = icmp slt i32 %15610, 0
  br i1 %15611, label %15612, label %15613

15612:                                            ; preds = %15585
  br label %15621

15613:                                            ; preds = %15585
  %15614 = load i32, ptr %16, align 4, !tbaa !14
  %15615 = icmp sgt i32 %15614, 255
  br i1 %15615, label %15616, label %15617

15616:                                            ; preds = %15613
  br label %15619

15617:                                            ; preds = %15613
  %15618 = load i32, ptr %16, align 4, !tbaa !14
  br label %15619

15619:                                            ; preds = %15617, %15616
  %15620 = phi i32 [ 255, %15616 ], [ %15618, %15617 ]
  br label %15621

15621:                                            ; preds = %15619, %15612
  %15622 = phi i32 [ 0, %15612 ], [ %15620, %15619 ]
  %15623 = trunc i32 %15622 to i8
  %15624 = load ptr, ptr %12, align 8, !tbaa !5
  %15625 = load i32, ptr %19, align 4, !tbaa !14
  %15626 = add nsw i32 %15625, 8
  %15627 = sext i32 %15626 to i64
  %15628 = getelementptr inbounds i8, ptr %15624, i64 %15627
  store i8 %15623, ptr %15628, align 1, !tbaa !15
  %15629 = load ptr, ptr %13, align 8, !tbaa !5
  %15630 = load i32, ptr %19, align 4, !tbaa !14
  %15631 = add nsw i32 %15630, 8
  %15632 = sext i32 %15631 to i64
  %15633 = getelementptr inbounds i8, ptr %15629, i64 %15632
  %15634 = load i8, ptr %15633, align 1, !tbaa !15
  %15635 = zext i8 %15634 to i32
  %15636 = load ptr, ptr %14, align 8, !tbaa !5
  %15637 = load i32, ptr %19, align 4, !tbaa !14
  %15638 = add nsw i32 %15637, 8
  %15639 = sext i32 %15638 to i64
  %15640 = getelementptr inbounds i8, ptr %15636, i64 %15639
  %15641 = load i8, ptr %15640, align 1, !tbaa !15
  %15642 = zext i8 %15641 to i64
  %15643 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15642
  %15644 = load i32, ptr %15643, align 4, !tbaa !14
  %15645 = sub nsw i32 %15635, %15644
  %15646 = load ptr, ptr %15, align 8, !tbaa !5
  %15647 = load i32, ptr %19, align 4, !tbaa !14
  %15648 = add nsw i32 %15647, 8
  %15649 = sext i32 %15648 to i64
  %15650 = getelementptr inbounds i8, ptr %15646, i64 %15649
  %15651 = load i8, ptr %15650, align 1, !tbaa !15
  %15652 = zext i8 %15651 to i64
  %15653 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15652
  %15654 = load i32, ptr %15653, align 4, !tbaa !14
  %15655 = sub nsw i32 %15645, %15654
  store i32 %15655, ptr %17, align 4, !tbaa !14
  %15656 = load i32, ptr %17, align 4, !tbaa !14
  %15657 = icmp slt i32 %15656, 0
  br i1 %15657, label %15658, label %15659

15658:                                            ; preds = %15621
  br label %15667

15659:                                            ; preds = %15621
  %15660 = load i32, ptr %17, align 4, !tbaa !14
  %15661 = icmp sgt i32 %15660, 255
  br i1 %15661, label %15662, label %15663

15662:                                            ; preds = %15659
  br label %15665

15663:                                            ; preds = %15659
  %15664 = load i32, ptr %17, align 4, !tbaa !14
  br label %15665

15665:                                            ; preds = %15663, %15662
  %15666 = phi i32 [ 255, %15662 ], [ %15664, %15663 ]
  br label %15667

15667:                                            ; preds = %15665, %15658
  %15668 = phi i32 [ 0, %15658 ], [ %15666, %15665 ]
  %15669 = trunc i32 %15668 to i8
  %15670 = load ptr, ptr %11, align 8, !tbaa !5
  %15671 = load i32, ptr %19, align 4, !tbaa !14
  %15672 = add nsw i32 %15671, 8
  %15673 = sext i32 %15672 to i64
  %15674 = getelementptr inbounds i8, ptr %15670, i64 %15673
  store i8 %15669, ptr %15674, align 1, !tbaa !15
  %15675 = load ptr, ptr %13, align 8, !tbaa !5
  %15676 = load i32, ptr %19, align 4, !tbaa !14
  %15677 = add nsw i32 %15676, 8
  %15678 = sext i32 %15677 to i64
  %15679 = getelementptr inbounds i8, ptr %15675, i64 %15678
  %15680 = load i8, ptr %15679, align 1, !tbaa !15
  %15681 = zext i8 %15680 to i32
  %15682 = load ptr, ptr %14, align 8, !tbaa !5
  %15683 = load i32, ptr %19, align 4, !tbaa !14
  %15684 = add nsw i32 %15683, 8
  %15685 = sext i32 %15684 to i64
  %15686 = getelementptr inbounds i8, ptr %15682, i64 %15685
  %15687 = load i8, ptr %15686, align 1, !tbaa !15
  %15688 = zext i8 %15687 to i64
  %15689 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15688
  %15690 = load i32, ptr %15689, align 4, !tbaa !14
  %15691 = add nsw i32 %15681, %15690
  store i32 %15691, ptr %18, align 4, !tbaa !14
  %15692 = load i32, ptr %18, align 4, !tbaa !14
  %15693 = icmp slt i32 %15692, 0
  br i1 %15693, label %15694, label %15695

15694:                                            ; preds = %15667
  br label %15703

15695:                                            ; preds = %15667
  %15696 = load i32, ptr %18, align 4, !tbaa !14
  %15697 = icmp sgt i32 %15696, 255
  br i1 %15697, label %15698, label %15699

15698:                                            ; preds = %15695
  br label %15701

15699:                                            ; preds = %15695
  %15700 = load i32, ptr %18, align 4, !tbaa !14
  br label %15701

15701:                                            ; preds = %15699, %15698
  %15702 = phi i32 [ 255, %15698 ], [ %15700, %15699 ]
  br label %15703

15703:                                            ; preds = %15701, %15694
  %15704 = phi i32 [ 0, %15694 ], [ %15702, %15701 ]
  %15705 = trunc i32 %15704 to i8
  %15706 = load ptr, ptr %10, align 8, !tbaa !5
  %15707 = load i32, ptr %19, align 4, !tbaa !14
  %15708 = add nsw i32 %15707, 8
  %15709 = sext i32 %15708 to i64
  %15710 = getelementptr inbounds i8, ptr %15706, i64 %15709
  store i8 %15705, ptr %15710, align 1, !tbaa !15
  %15711 = load ptr, ptr %13, align 8, !tbaa !5
  %15712 = load i32, ptr %19, align 4, !tbaa !14
  %15713 = add nsw i32 %15712, 9
  %15714 = sext i32 %15713 to i64
  %15715 = getelementptr inbounds i8, ptr %15711, i64 %15714
  %15716 = load i8, ptr %15715, align 1, !tbaa !15
  %15717 = zext i8 %15716 to i32
  %15718 = load ptr, ptr %15, align 8, !tbaa !5
  %15719 = load i32, ptr %19, align 4, !tbaa !14
  %15720 = add nsw i32 %15719, 9
  %15721 = sext i32 %15720 to i64
  %15722 = getelementptr inbounds i8, ptr %15718, i64 %15721
  %15723 = load i8, ptr %15722, align 1, !tbaa !15
  %15724 = zext i8 %15723 to i64
  %15725 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15724
  %15726 = load i32, ptr %15725, align 4, !tbaa !14
  %15727 = add nsw i32 %15717, %15726
  store i32 %15727, ptr %16, align 4, !tbaa !14
  %15728 = load i32, ptr %16, align 4, !tbaa !14
  %15729 = icmp slt i32 %15728, 0
  br i1 %15729, label %15730, label %15731

15730:                                            ; preds = %15703
  br label %15739

15731:                                            ; preds = %15703
  %15732 = load i32, ptr %16, align 4, !tbaa !14
  %15733 = icmp sgt i32 %15732, 255
  br i1 %15733, label %15734, label %15735

15734:                                            ; preds = %15731
  br label %15737

15735:                                            ; preds = %15731
  %15736 = load i32, ptr %16, align 4, !tbaa !14
  br label %15737

15737:                                            ; preds = %15735, %15734
  %15738 = phi i32 [ 255, %15734 ], [ %15736, %15735 ]
  br label %15739

15739:                                            ; preds = %15737, %15730
  %15740 = phi i32 [ 0, %15730 ], [ %15738, %15737 ]
  %15741 = trunc i32 %15740 to i8
  %15742 = load ptr, ptr %12, align 8, !tbaa !5
  %15743 = load i32, ptr %19, align 4, !tbaa !14
  %15744 = add nsw i32 %15743, 9
  %15745 = sext i32 %15744 to i64
  %15746 = getelementptr inbounds i8, ptr %15742, i64 %15745
  store i8 %15741, ptr %15746, align 1, !tbaa !15
  %15747 = load ptr, ptr %13, align 8, !tbaa !5
  %15748 = load i32, ptr %19, align 4, !tbaa !14
  %15749 = add nsw i32 %15748, 9
  %15750 = sext i32 %15749 to i64
  %15751 = getelementptr inbounds i8, ptr %15747, i64 %15750
  %15752 = load i8, ptr %15751, align 1, !tbaa !15
  %15753 = zext i8 %15752 to i32
  %15754 = load ptr, ptr %14, align 8, !tbaa !5
  %15755 = load i32, ptr %19, align 4, !tbaa !14
  %15756 = add nsw i32 %15755, 9
  %15757 = sext i32 %15756 to i64
  %15758 = getelementptr inbounds i8, ptr %15754, i64 %15757
  %15759 = load i8, ptr %15758, align 1, !tbaa !15
  %15760 = zext i8 %15759 to i64
  %15761 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15760
  %15762 = load i32, ptr %15761, align 4, !tbaa !14
  %15763 = sub nsw i32 %15753, %15762
  %15764 = load ptr, ptr %15, align 8, !tbaa !5
  %15765 = load i32, ptr %19, align 4, !tbaa !14
  %15766 = add nsw i32 %15765, 9
  %15767 = sext i32 %15766 to i64
  %15768 = getelementptr inbounds i8, ptr %15764, i64 %15767
  %15769 = load i8, ptr %15768, align 1, !tbaa !15
  %15770 = zext i8 %15769 to i64
  %15771 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15770
  %15772 = load i32, ptr %15771, align 4, !tbaa !14
  %15773 = sub nsw i32 %15763, %15772
  store i32 %15773, ptr %17, align 4, !tbaa !14
  %15774 = load i32, ptr %17, align 4, !tbaa !14
  %15775 = icmp slt i32 %15774, 0
  br i1 %15775, label %15776, label %15777

15776:                                            ; preds = %15739
  br label %15785

15777:                                            ; preds = %15739
  %15778 = load i32, ptr %17, align 4, !tbaa !14
  %15779 = icmp sgt i32 %15778, 255
  br i1 %15779, label %15780, label %15781

15780:                                            ; preds = %15777
  br label %15783

15781:                                            ; preds = %15777
  %15782 = load i32, ptr %17, align 4, !tbaa !14
  br label %15783

15783:                                            ; preds = %15781, %15780
  %15784 = phi i32 [ 255, %15780 ], [ %15782, %15781 ]
  br label %15785

15785:                                            ; preds = %15783, %15776
  %15786 = phi i32 [ 0, %15776 ], [ %15784, %15783 ]
  %15787 = trunc i32 %15786 to i8
  %15788 = load ptr, ptr %11, align 8, !tbaa !5
  %15789 = load i32, ptr %19, align 4, !tbaa !14
  %15790 = add nsw i32 %15789, 9
  %15791 = sext i32 %15790 to i64
  %15792 = getelementptr inbounds i8, ptr %15788, i64 %15791
  store i8 %15787, ptr %15792, align 1, !tbaa !15
  %15793 = load ptr, ptr %13, align 8, !tbaa !5
  %15794 = load i32, ptr %19, align 4, !tbaa !14
  %15795 = add nsw i32 %15794, 9
  %15796 = sext i32 %15795 to i64
  %15797 = getelementptr inbounds i8, ptr %15793, i64 %15796
  %15798 = load i8, ptr %15797, align 1, !tbaa !15
  %15799 = zext i8 %15798 to i32
  %15800 = load ptr, ptr %14, align 8, !tbaa !5
  %15801 = load i32, ptr %19, align 4, !tbaa !14
  %15802 = add nsw i32 %15801, 9
  %15803 = sext i32 %15802 to i64
  %15804 = getelementptr inbounds i8, ptr %15800, i64 %15803
  %15805 = load i8, ptr %15804, align 1, !tbaa !15
  %15806 = zext i8 %15805 to i64
  %15807 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15806
  %15808 = load i32, ptr %15807, align 4, !tbaa !14
  %15809 = add nsw i32 %15799, %15808
  store i32 %15809, ptr %18, align 4, !tbaa !14
  %15810 = load i32, ptr %18, align 4, !tbaa !14
  %15811 = icmp slt i32 %15810, 0
  br i1 %15811, label %15812, label %15813

15812:                                            ; preds = %15785
  br label %15821

15813:                                            ; preds = %15785
  %15814 = load i32, ptr %18, align 4, !tbaa !14
  %15815 = icmp sgt i32 %15814, 255
  br i1 %15815, label %15816, label %15817

15816:                                            ; preds = %15813
  br label %15819

15817:                                            ; preds = %15813
  %15818 = load i32, ptr %18, align 4, !tbaa !14
  br label %15819

15819:                                            ; preds = %15817, %15816
  %15820 = phi i32 [ 255, %15816 ], [ %15818, %15817 ]
  br label %15821

15821:                                            ; preds = %15819, %15812
  %15822 = phi i32 [ 0, %15812 ], [ %15820, %15819 ]
  %15823 = trunc i32 %15822 to i8
  %15824 = load ptr, ptr %10, align 8, !tbaa !5
  %15825 = load i32, ptr %19, align 4, !tbaa !14
  %15826 = add nsw i32 %15825, 9
  %15827 = sext i32 %15826 to i64
  %15828 = getelementptr inbounds i8, ptr %15824, i64 %15827
  store i8 %15823, ptr %15828, align 1, !tbaa !15
  %15829 = load ptr, ptr %13, align 8, !tbaa !5
  %15830 = load i32, ptr %19, align 4, !tbaa !14
  %15831 = add nsw i32 %15830, 10
  %15832 = sext i32 %15831 to i64
  %15833 = getelementptr inbounds i8, ptr %15829, i64 %15832
  %15834 = load i8, ptr %15833, align 1, !tbaa !15
  %15835 = zext i8 %15834 to i32
  %15836 = load ptr, ptr %15, align 8, !tbaa !5
  %15837 = load i32, ptr %19, align 4, !tbaa !14
  %15838 = add nsw i32 %15837, 10
  %15839 = sext i32 %15838 to i64
  %15840 = getelementptr inbounds i8, ptr %15836, i64 %15839
  %15841 = load i8, ptr %15840, align 1, !tbaa !15
  %15842 = zext i8 %15841 to i64
  %15843 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15842
  %15844 = load i32, ptr %15843, align 4, !tbaa !14
  %15845 = add nsw i32 %15835, %15844
  store i32 %15845, ptr %16, align 4, !tbaa !14
  %15846 = load i32, ptr %16, align 4, !tbaa !14
  %15847 = icmp slt i32 %15846, 0
  br i1 %15847, label %15848, label %15849

15848:                                            ; preds = %15821
  br label %15857

15849:                                            ; preds = %15821
  %15850 = load i32, ptr %16, align 4, !tbaa !14
  %15851 = icmp sgt i32 %15850, 255
  br i1 %15851, label %15852, label %15853

15852:                                            ; preds = %15849
  br label %15855

15853:                                            ; preds = %15849
  %15854 = load i32, ptr %16, align 4, !tbaa !14
  br label %15855

15855:                                            ; preds = %15853, %15852
  %15856 = phi i32 [ 255, %15852 ], [ %15854, %15853 ]
  br label %15857

15857:                                            ; preds = %15855, %15848
  %15858 = phi i32 [ 0, %15848 ], [ %15856, %15855 ]
  %15859 = trunc i32 %15858 to i8
  %15860 = load ptr, ptr %12, align 8, !tbaa !5
  %15861 = load i32, ptr %19, align 4, !tbaa !14
  %15862 = add nsw i32 %15861, 10
  %15863 = sext i32 %15862 to i64
  %15864 = getelementptr inbounds i8, ptr %15860, i64 %15863
  store i8 %15859, ptr %15864, align 1, !tbaa !15
  %15865 = load ptr, ptr %13, align 8, !tbaa !5
  %15866 = load i32, ptr %19, align 4, !tbaa !14
  %15867 = add nsw i32 %15866, 10
  %15868 = sext i32 %15867 to i64
  %15869 = getelementptr inbounds i8, ptr %15865, i64 %15868
  %15870 = load i8, ptr %15869, align 1, !tbaa !15
  %15871 = zext i8 %15870 to i32
  %15872 = load ptr, ptr %14, align 8, !tbaa !5
  %15873 = load i32, ptr %19, align 4, !tbaa !14
  %15874 = add nsw i32 %15873, 10
  %15875 = sext i32 %15874 to i64
  %15876 = getelementptr inbounds i8, ptr %15872, i64 %15875
  %15877 = load i8, ptr %15876, align 1, !tbaa !15
  %15878 = zext i8 %15877 to i64
  %15879 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15878
  %15880 = load i32, ptr %15879, align 4, !tbaa !14
  %15881 = sub nsw i32 %15871, %15880
  %15882 = load ptr, ptr %15, align 8, !tbaa !5
  %15883 = load i32, ptr %19, align 4, !tbaa !14
  %15884 = add nsw i32 %15883, 10
  %15885 = sext i32 %15884 to i64
  %15886 = getelementptr inbounds i8, ptr %15882, i64 %15885
  %15887 = load i8, ptr %15886, align 1, !tbaa !15
  %15888 = zext i8 %15887 to i64
  %15889 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %15888
  %15890 = load i32, ptr %15889, align 4, !tbaa !14
  %15891 = sub nsw i32 %15881, %15890
  store i32 %15891, ptr %17, align 4, !tbaa !14
  %15892 = load i32, ptr %17, align 4, !tbaa !14
  %15893 = icmp slt i32 %15892, 0
  br i1 %15893, label %15894, label %15895

15894:                                            ; preds = %15857
  br label %15903

15895:                                            ; preds = %15857
  %15896 = load i32, ptr %17, align 4, !tbaa !14
  %15897 = icmp sgt i32 %15896, 255
  br i1 %15897, label %15898, label %15899

15898:                                            ; preds = %15895
  br label %15901

15899:                                            ; preds = %15895
  %15900 = load i32, ptr %17, align 4, !tbaa !14
  br label %15901

15901:                                            ; preds = %15899, %15898
  %15902 = phi i32 [ 255, %15898 ], [ %15900, %15899 ]
  br label %15903

15903:                                            ; preds = %15901, %15894
  %15904 = phi i32 [ 0, %15894 ], [ %15902, %15901 ]
  %15905 = trunc i32 %15904 to i8
  %15906 = load ptr, ptr %11, align 8, !tbaa !5
  %15907 = load i32, ptr %19, align 4, !tbaa !14
  %15908 = add nsw i32 %15907, 10
  %15909 = sext i32 %15908 to i64
  %15910 = getelementptr inbounds i8, ptr %15906, i64 %15909
  store i8 %15905, ptr %15910, align 1, !tbaa !15
  %15911 = load ptr, ptr %13, align 8, !tbaa !5
  %15912 = load i32, ptr %19, align 4, !tbaa !14
  %15913 = add nsw i32 %15912, 10
  %15914 = sext i32 %15913 to i64
  %15915 = getelementptr inbounds i8, ptr %15911, i64 %15914
  %15916 = load i8, ptr %15915, align 1, !tbaa !15
  %15917 = zext i8 %15916 to i32
  %15918 = load ptr, ptr %14, align 8, !tbaa !5
  %15919 = load i32, ptr %19, align 4, !tbaa !14
  %15920 = add nsw i32 %15919, 10
  %15921 = sext i32 %15920 to i64
  %15922 = getelementptr inbounds i8, ptr %15918, i64 %15921
  %15923 = load i8, ptr %15922, align 1, !tbaa !15
  %15924 = zext i8 %15923 to i64
  %15925 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %15924
  %15926 = load i32, ptr %15925, align 4, !tbaa !14
  %15927 = add nsw i32 %15917, %15926
  store i32 %15927, ptr %18, align 4, !tbaa !14
  %15928 = load i32, ptr %18, align 4, !tbaa !14
  %15929 = icmp slt i32 %15928, 0
  br i1 %15929, label %15930, label %15931

15930:                                            ; preds = %15903
  br label %15939

15931:                                            ; preds = %15903
  %15932 = load i32, ptr %18, align 4, !tbaa !14
  %15933 = icmp sgt i32 %15932, 255
  br i1 %15933, label %15934, label %15935

15934:                                            ; preds = %15931
  br label %15937

15935:                                            ; preds = %15931
  %15936 = load i32, ptr %18, align 4, !tbaa !14
  br label %15937

15937:                                            ; preds = %15935, %15934
  %15938 = phi i32 [ 255, %15934 ], [ %15936, %15935 ]
  br label %15939

15939:                                            ; preds = %15937, %15930
  %15940 = phi i32 [ 0, %15930 ], [ %15938, %15937 ]
  %15941 = trunc i32 %15940 to i8
  %15942 = load ptr, ptr %10, align 8, !tbaa !5
  %15943 = load i32, ptr %19, align 4, !tbaa !14
  %15944 = add nsw i32 %15943, 10
  %15945 = sext i32 %15944 to i64
  %15946 = getelementptr inbounds i8, ptr %15942, i64 %15945
  store i8 %15941, ptr %15946, align 1, !tbaa !15
  %15947 = load ptr, ptr %13, align 8, !tbaa !5
  %15948 = load i32, ptr %19, align 4, !tbaa !14
  %15949 = add nsw i32 %15948, 11
  %15950 = sext i32 %15949 to i64
  %15951 = getelementptr inbounds i8, ptr %15947, i64 %15950
  %15952 = load i8, ptr %15951, align 1, !tbaa !15
  %15953 = zext i8 %15952 to i32
  %15954 = load ptr, ptr %15, align 8, !tbaa !5
  %15955 = load i32, ptr %19, align 4, !tbaa !14
  %15956 = add nsw i32 %15955, 11
  %15957 = sext i32 %15956 to i64
  %15958 = getelementptr inbounds i8, ptr %15954, i64 %15957
  %15959 = load i8, ptr %15958, align 1, !tbaa !15
  %15960 = zext i8 %15959 to i64
  %15961 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %15960
  %15962 = load i32, ptr %15961, align 4, !tbaa !14
  %15963 = add nsw i32 %15953, %15962
  store i32 %15963, ptr %16, align 4, !tbaa !14
  %15964 = load i32, ptr %16, align 4, !tbaa !14
  %15965 = icmp slt i32 %15964, 0
  br i1 %15965, label %15966, label %15967

15966:                                            ; preds = %15939
  br label %15975

15967:                                            ; preds = %15939
  %15968 = load i32, ptr %16, align 4, !tbaa !14
  %15969 = icmp sgt i32 %15968, 255
  br i1 %15969, label %15970, label %15971

15970:                                            ; preds = %15967
  br label %15973

15971:                                            ; preds = %15967
  %15972 = load i32, ptr %16, align 4, !tbaa !14
  br label %15973

15973:                                            ; preds = %15971, %15970
  %15974 = phi i32 [ 255, %15970 ], [ %15972, %15971 ]
  br label %15975

15975:                                            ; preds = %15973, %15966
  %15976 = phi i32 [ 0, %15966 ], [ %15974, %15973 ]
  %15977 = trunc i32 %15976 to i8
  %15978 = load ptr, ptr %12, align 8, !tbaa !5
  %15979 = load i32, ptr %19, align 4, !tbaa !14
  %15980 = add nsw i32 %15979, 11
  %15981 = sext i32 %15980 to i64
  %15982 = getelementptr inbounds i8, ptr %15978, i64 %15981
  store i8 %15977, ptr %15982, align 1, !tbaa !15
  %15983 = load ptr, ptr %13, align 8, !tbaa !5
  %15984 = load i32, ptr %19, align 4, !tbaa !14
  %15985 = add nsw i32 %15984, 11
  %15986 = sext i32 %15985 to i64
  %15987 = getelementptr inbounds i8, ptr %15983, i64 %15986
  %15988 = load i8, ptr %15987, align 1, !tbaa !15
  %15989 = zext i8 %15988 to i32
  %15990 = load ptr, ptr %14, align 8, !tbaa !5
  %15991 = load i32, ptr %19, align 4, !tbaa !14
  %15992 = add nsw i32 %15991, 11
  %15993 = sext i32 %15992 to i64
  %15994 = getelementptr inbounds i8, ptr %15990, i64 %15993
  %15995 = load i8, ptr %15994, align 1, !tbaa !15
  %15996 = zext i8 %15995 to i64
  %15997 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %15996
  %15998 = load i32, ptr %15997, align 4, !tbaa !14
  %15999 = sub nsw i32 %15989, %15998
  %16000 = load ptr, ptr %15, align 8, !tbaa !5
  %16001 = load i32, ptr %19, align 4, !tbaa !14
  %16002 = add nsw i32 %16001, 11
  %16003 = sext i32 %16002 to i64
  %16004 = getelementptr inbounds i8, ptr %16000, i64 %16003
  %16005 = load i8, ptr %16004, align 1, !tbaa !15
  %16006 = zext i8 %16005 to i64
  %16007 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %16006
  %16008 = load i32, ptr %16007, align 4, !tbaa !14
  %16009 = sub nsw i32 %15999, %16008
  store i32 %16009, ptr %17, align 4, !tbaa !14
  %16010 = load i32, ptr %17, align 4, !tbaa !14
  %16011 = icmp slt i32 %16010, 0
  br i1 %16011, label %16012, label %16013

16012:                                            ; preds = %15975
  br label %16021

16013:                                            ; preds = %15975
  %16014 = load i32, ptr %17, align 4, !tbaa !14
  %16015 = icmp sgt i32 %16014, 255
  br i1 %16015, label %16016, label %16017

16016:                                            ; preds = %16013
  br label %16019

16017:                                            ; preds = %16013
  %16018 = load i32, ptr %17, align 4, !tbaa !14
  br label %16019

16019:                                            ; preds = %16017, %16016
  %16020 = phi i32 [ 255, %16016 ], [ %16018, %16017 ]
  br label %16021

16021:                                            ; preds = %16019, %16012
  %16022 = phi i32 [ 0, %16012 ], [ %16020, %16019 ]
  %16023 = trunc i32 %16022 to i8
  %16024 = load ptr, ptr %11, align 8, !tbaa !5
  %16025 = load i32, ptr %19, align 4, !tbaa !14
  %16026 = add nsw i32 %16025, 11
  %16027 = sext i32 %16026 to i64
  %16028 = getelementptr inbounds i8, ptr %16024, i64 %16027
  store i8 %16023, ptr %16028, align 1, !tbaa !15
  %16029 = load ptr, ptr %13, align 8, !tbaa !5
  %16030 = load i32, ptr %19, align 4, !tbaa !14
  %16031 = add nsw i32 %16030, 11
  %16032 = sext i32 %16031 to i64
  %16033 = getelementptr inbounds i8, ptr %16029, i64 %16032
  %16034 = load i8, ptr %16033, align 1, !tbaa !15
  %16035 = zext i8 %16034 to i32
  %16036 = load ptr, ptr %14, align 8, !tbaa !5
  %16037 = load i32, ptr %19, align 4, !tbaa !14
  %16038 = add nsw i32 %16037, 11
  %16039 = sext i32 %16038 to i64
  %16040 = getelementptr inbounds i8, ptr %16036, i64 %16039
  %16041 = load i8, ptr %16040, align 1, !tbaa !15
  %16042 = zext i8 %16041 to i64
  %16043 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %16042
  %16044 = load i32, ptr %16043, align 4, !tbaa !14
  %16045 = add nsw i32 %16035, %16044
  store i32 %16045, ptr %18, align 4, !tbaa !14
  %16046 = load i32, ptr %18, align 4, !tbaa !14
  %16047 = icmp slt i32 %16046, 0
  br i1 %16047, label %16048, label %16049

16048:                                            ; preds = %16021
  br label %16057

16049:                                            ; preds = %16021
  %16050 = load i32, ptr %18, align 4, !tbaa !14
  %16051 = icmp sgt i32 %16050, 255
  br i1 %16051, label %16052, label %16053

16052:                                            ; preds = %16049
  br label %16055

16053:                                            ; preds = %16049
  %16054 = load i32, ptr %18, align 4, !tbaa !14
  br label %16055

16055:                                            ; preds = %16053, %16052
  %16056 = phi i32 [ 255, %16052 ], [ %16054, %16053 ]
  br label %16057

16057:                                            ; preds = %16055, %16048
  %16058 = phi i32 [ 0, %16048 ], [ %16056, %16055 ]
  %16059 = trunc i32 %16058 to i8
  %16060 = load ptr, ptr %10, align 8, !tbaa !5
  %16061 = load i32, ptr %19, align 4, !tbaa !14
  %16062 = add nsw i32 %16061, 11
  %16063 = sext i32 %16062 to i64
  %16064 = getelementptr inbounds i8, ptr %16060, i64 %16063
  store i8 %16059, ptr %16064, align 1, !tbaa !15
  %16065 = load ptr, ptr %13, align 8, !tbaa !5
  %16066 = load i32, ptr %19, align 4, !tbaa !14
  %16067 = add nsw i32 %16066, 12
  %16068 = sext i32 %16067 to i64
  %16069 = getelementptr inbounds i8, ptr %16065, i64 %16068
  %16070 = load i8, ptr %16069, align 1, !tbaa !15
  %16071 = zext i8 %16070 to i32
  %16072 = load ptr, ptr %15, align 8, !tbaa !5
  %16073 = load i32, ptr %19, align 4, !tbaa !14
  %16074 = add nsw i32 %16073, 12
  %16075 = sext i32 %16074 to i64
  %16076 = getelementptr inbounds i8, ptr %16072, i64 %16075
  %16077 = load i8, ptr %16076, align 1, !tbaa !15
  %16078 = zext i8 %16077 to i64
  %16079 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %16078
  %16080 = load i32, ptr %16079, align 4, !tbaa !14
  %16081 = add nsw i32 %16071, %16080
  store i32 %16081, ptr %16, align 4, !tbaa !14
  %16082 = load i32, ptr %16, align 4, !tbaa !14
  %16083 = icmp slt i32 %16082, 0
  br i1 %16083, label %16084, label %16085

16084:                                            ; preds = %16057
  br label %16093

16085:                                            ; preds = %16057
  %16086 = load i32, ptr %16, align 4, !tbaa !14
  %16087 = icmp sgt i32 %16086, 255
  br i1 %16087, label %16088, label %16089

16088:                                            ; preds = %16085
  br label %16091

16089:                                            ; preds = %16085
  %16090 = load i32, ptr %16, align 4, !tbaa !14
  br label %16091

16091:                                            ; preds = %16089, %16088
  %16092 = phi i32 [ 255, %16088 ], [ %16090, %16089 ]
  br label %16093

16093:                                            ; preds = %16091, %16084
  %16094 = phi i32 [ 0, %16084 ], [ %16092, %16091 ]
  %16095 = trunc i32 %16094 to i8
  %16096 = load ptr, ptr %12, align 8, !tbaa !5
  %16097 = load i32, ptr %19, align 4, !tbaa !14
  %16098 = add nsw i32 %16097, 12
  %16099 = sext i32 %16098 to i64
  %16100 = getelementptr inbounds i8, ptr %16096, i64 %16099
  store i8 %16095, ptr %16100, align 1, !tbaa !15
  %16101 = load ptr, ptr %13, align 8, !tbaa !5
  %16102 = load i32, ptr %19, align 4, !tbaa !14
  %16103 = add nsw i32 %16102, 12
  %16104 = sext i32 %16103 to i64
  %16105 = getelementptr inbounds i8, ptr %16101, i64 %16104
  %16106 = load i8, ptr %16105, align 1, !tbaa !15
  %16107 = zext i8 %16106 to i32
  %16108 = load ptr, ptr %14, align 8, !tbaa !5
  %16109 = load i32, ptr %19, align 4, !tbaa !14
  %16110 = add nsw i32 %16109, 12
  %16111 = sext i32 %16110 to i64
  %16112 = getelementptr inbounds i8, ptr %16108, i64 %16111
  %16113 = load i8, ptr %16112, align 1, !tbaa !15
  %16114 = zext i8 %16113 to i64
  %16115 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %16114
  %16116 = load i32, ptr %16115, align 4, !tbaa !14
  %16117 = sub nsw i32 %16107, %16116
  %16118 = load ptr, ptr %15, align 8, !tbaa !5
  %16119 = load i32, ptr %19, align 4, !tbaa !14
  %16120 = add nsw i32 %16119, 12
  %16121 = sext i32 %16120 to i64
  %16122 = getelementptr inbounds i8, ptr %16118, i64 %16121
  %16123 = load i8, ptr %16122, align 1, !tbaa !15
  %16124 = zext i8 %16123 to i64
  %16125 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %16124
  %16126 = load i32, ptr %16125, align 4, !tbaa !14
  %16127 = sub nsw i32 %16117, %16126
  store i32 %16127, ptr %17, align 4, !tbaa !14
  %16128 = load i32, ptr %17, align 4, !tbaa !14
  %16129 = icmp slt i32 %16128, 0
  br i1 %16129, label %16130, label %16131

16130:                                            ; preds = %16093
  br label %16139

16131:                                            ; preds = %16093
  %16132 = load i32, ptr %17, align 4, !tbaa !14
  %16133 = icmp sgt i32 %16132, 255
  br i1 %16133, label %16134, label %16135

16134:                                            ; preds = %16131
  br label %16137

16135:                                            ; preds = %16131
  %16136 = load i32, ptr %17, align 4, !tbaa !14
  br label %16137

16137:                                            ; preds = %16135, %16134
  %16138 = phi i32 [ 255, %16134 ], [ %16136, %16135 ]
  br label %16139

16139:                                            ; preds = %16137, %16130
  %16140 = phi i32 [ 0, %16130 ], [ %16138, %16137 ]
  %16141 = trunc i32 %16140 to i8
  %16142 = load ptr, ptr %11, align 8, !tbaa !5
  %16143 = load i32, ptr %19, align 4, !tbaa !14
  %16144 = add nsw i32 %16143, 12
  %16145 = sext i32 %16144 to i64
  %16146 = getelementptr inbounds i8, ptr %16142, i64 %16145
  store i8 %16141, ptr %16146, align 1, !tbaa !15
  %16147 = load ptr, ptr %13, align 8, !tbaa !5
  %16148 = load i32, ptr %19, align 4, !tbaa !14
  %16149 = add nsw i32 %16148, 12
  %16150 = sext i32 %16149 to i64
  %16151 = getelementptr inbounds i8, ptr %16147, i64 %16150
  %16152 = load i8, ptr %16151, align 1, !tbaa !15
  %16153 = zext i8 %16152 to i32
  %16154 = load ptr, ptr %14, align 8, !tbaa !5
  %16155 = load i32, ptr %19, align 4, !tbaa !14
  %16156 = add nsw i32 %16155, 12
  %16157 = sext i32 %16156 to i64
  %16158 = getelementptr inbounds i8, ptr %16154, i64 %16157
  %16159 = load i8, ptr %16158, align 1, !tbaa !15
  %16160 = zext i8 %16159 to i64
  %16161 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %16160
  %16162 = load i32, ptr %16161, align 4, !tbaa !14
  %16163 = add nsw i32 %16153, %16162
  store i32 %16163, ptr %18, align 4, !tbaa !14
  %16164 = load i32, ptr %18, align 4, !tbaa !14
  %16165 = icmp slt i32 %16164, 0
  br i1 %16165, label %16166, label %16167

16166:                                            ; preds = %16139
  br label %16175

16167:                                            ; preds = %16139
  %16168 = load i32, ptr %18, align 4, !tbaa !14
  %16169 = icmp sgt i32 %16168, 255
  br i1 %16169, label %16170, label %16171

16170:                                            ; preds = %16167
  br label %16173

16171:                                            ; preds = %16167
  %16172 = load i32, ptr %18, align 4, !tbaa !14
  br label %16173

16173:                                            ; preds = %16171, %16170
  %16174 = phi i32 [ 255, %16170 ], [ %16172, %16171 ]
  br label %16175

16175:                                            ; preds = %16173, %16166
  %16176 = phi i32 [ 0, %16166 ], [ %16174, %16173 ]
  %16177 = trunc i32 %16176 to i8
  %16178 = load ptr, ptr %10, align 8, !tbaa !5
  %16179 = load i32, ptr %19, align 4, !tbaa !14
  %16180 = add nsw i32 %16179, 12
  %16181 = sext i32 %16180 to i64
  %16182 = getelementptr inbounds i8, ptr %16178, i64 %16181
  store i8 %16177, ptr %16182, align 1, !tbaa !15
  %16183 = load ptr, ptr %13, align 8, !tbaa !5
  %16184 = load i32, ptr %19, align 4, !tbaa !14
  %16185 = add nsw i32 %16184, 13
  %16186 = sext i32 %16185 to i64
  %16187 = getelementptr inbounds i8, ptr %16183, i64 %16186
  %16188 = load i8, ptr %16187, align 1, !tbaa !15
  %16189 = zext i8 %16188 to i32
  %16190 = load ptr, ptr %15, align 8, !tbaa !5
  %16191 = load i32, ptr %19, align 4, !tbaa !14
  %16192 = add nsw i32 %16191, 13
  %16193 = sext i32 %16192 to i64
  %16194 = getelementptr inbounds i8, ptr %16190, i64 %16193
  %16195 = load i8, ptr %16194, align 1, !tbaa !15
  %16196 = zext i8 %16195 to i64
  %16197 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %16196
  %16198 = load i32, ptr %16197, align 4, !tbaa !14
  %16199 = add nsw i32 %16189, %16198
  store i32 %16199, ptr %16, align 4, !tbaa !14
  %16200 = load i32, ptr %16, align 4, !tbaa !14
  %16201 = icmp slt i32 %16200, 0
  br i1 %16201, label %16202, label %16203

16202:                                            ; preds = %16175
  br label %16211

16203:                                            ; preds = %16175
  %16204 = load i32, ptr %16, align 4, !tbaa !14
  %16205 = icmp sgt i32 %16204, 255
  br i1 %16205, label %16206, label %16207

16206:                                            ; preds = %16203
  br label %16209

16207:                                            ; preds = %16203
  %16208 = load i32, ptr %16, align 4, !tbaa !14
  br label %16209

16209:                                            ; preds = %16207, %16206
  %16210 = phi i32 [ 255, %16206 ], [ %16208, %16207 ]
  br label %16211

16211:                                            ; preds = %16209, %16202
  %16212 = phi i32 [ 0, %16202 ], [ %16210, %16209 ]
  %16213 = trunc i32 %16212 to i8
  %16214 = load ptr, ptr %12, align 8, !tbaa !5
  %16215 = load i32, ptr %19, align 4, !tbaa !14
  %16216 = add nsw i32 %16215, 13
  %16217 = sext i32 %16216 to i64
  %16218 = getelementptr inbounds i8, ptr %16214, i64 %16217
  store i8 %16213, ptr %16218, align 1, !tbaa !15
  %16219 = load ptr, ptr %13, align 8, !tbaa !5
  %16220 = load i32, ptr %19, align 4, !tbaa !14
  %16221 = add nsw i32 %16220, 13
  %16222 = sext i32 %16221 to i64
  %16223 = getelementptr inbounds i8, ptr %16219, i64 %16222
  %16224 = load i8, ptr %16223, align 1, !tbaa !15
  %16225 = zext i8 %16224 to i32
  %16226 = load ptr, ptr %14, align 8, !tbaa !5
  %16227 = load i32, ptr %19, align 4, !tbaa !14
  %16228 = add nsw i32 %16227, 13
  %16229 = sext i32 %16228 to i64
  %16230 = getelementptr inbounds i8, ptr %16226, i64 %16229
  %16231 = load i8, ptr %16230, align 1, !tbaa !15
  %16232 = zext i8 %16231 to i64
  %16233 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %16232
  %16234 = load i32, ptr %16233, align 4, !tbaa !14
  %16235 = sub nsw i32 %16225, %16234
  %16236 = load ptr, ptr %15, align 8, !tbaa !5
  %16237 = load i32, ptr %19, align 4, !tbaa !14
  %16238 = add nsw i32 %16237, 13
  %16239 = sext i32 %16238 to i64
  %16240 = getelementptr inbounds i8, ptr %16236, i64 %16239
  %16241 = load i8, ptr %16240, align 1, !tbaa !15
  %16242 = zext i8 %16241 to i64
  %16243 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %16242
  %16244 = load i32, ptr %16243, align 4, !tbaa !14
  %16245 = sub nsw i32 %16235, %16244
  store i32 %16245, ptr %17, align 4, !tbaa !14
  %16246 = load i32, ptr %17, align 4, !tbaa !14
  %16247 = icmp slt i32 %16246, 0
  br i1 %16247, label %16248, label %16249

16248:                                            ; preds = %16211
  br label %16257

16249:                                            ; preds = %16211
  %16250 = load i32, ptr %17, align 4, !tbaa !14
  %16251 = icmp sgt i32 %16250, 255
  br i1 %16251, label %16252, label %16253

16252:                                            ; preds = %16249
  br label %16255

16253:                                            ; preds = %16249
  %16254 = load i32, ptr %17, align 4, !tbaa !14
  br label %16255

16255:                                            ; preds = %16253, %16252
  %16256 = phi i32 [ 255, %16252 ], [ %16254, %16253 ]
  br label %16257

16257:                                            ; preds = %16255, %16248
  %16258 = phi i32 [ 0, %16248 ], [ %16256, %16255 ]
  %16259 = trunc i32 %16258 to i8
  %16260 = load ptr, ptr %11, align 8, !tbaa !5
  %16261 = load i32, ptr %19, align 4, !tbaa !14
  %16262 = add nsw i32 %16261, 13
  %16263 = sext i32 %16262 to i64
  %16264 = getelementptr inbounds i8, ptr %16260, i64 %16263
  store i8 %16259, ptr %16264, align 1, !tbaa !15
  %16265 = load ptr, ptr %13, align 8, !tbaa !5
  %16266 = load i32, ptr %19, align 4, !tbaa !14
  %16267 = add nsw i32 %16266, 13
  %16268 = sext i32 %16267 to i64
  %16269 = getelementptr inbounds i8, ptr %16265, i64 %16268
  %16270 = load i8, ptr %16269, align 1, !tbaa !15
  %16271 = zext i8 %16270 to i32
  %16272 = load ptr, ptr %14, align 8, !tbaa !5
  %16273 = load i32, ptr %19, align 4, !tbaa !14
  %16274 = add nsw i32 %16273, 13
  %16275 = sext i32 %16274 to i64
  %16276 = getelementptr inbounds i8, ptr %16272, i64 %16275
  %16277 = load i8, ptr %16276, align 1, !tbaa !15
  %16278 = zext i8 %16277 to i64
  %16279 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %16278
  %16280 = load i32, ptr %16279, align 4, !tbaa !14
  %16281 = add nsw i32 %16271, %16280
  store i32 %16281, ptr %18, align 4, !tbaa !14
  %16282 = load i32, ptr %18, align 4, !tbaa !14
  %16283 = icmp slt i32 %16282, 0
  br i1 %16283, label %16284, label %16285

16284:                                            ; preds = %16257
  br label %16293

16285:                                            ; preds = %16257
  %16286 = load i32, ptr %18, align 4, !tbaa !14
  %16287 = icmp sgt i32 %16286, 255
  br i1 %16287, label %16288, label %16289

16288:                                            ; preds = %16285
  br label %16291

16289:                                            ; preds = %16285
  %16290 = load i32, ptr %18, align 4, !tbaa !14
  br label %16291

16291:                                            ; preds = %16289, %16288
  %16292 = phi i32 [ 255, %16288 ], [ %16290, %16289 ]
  br label %16293

16293:                                            ; preds = %16291, %16284
  %16294 = phi i32 [ 0, %16284 ], [ %16292, %16291 ]
  %16295 = trunc i32 %16294 to i8
  %16296 = load ptr, ptr %10, align 8, !tbaa !5
  %16297 = load i32, ptr %19, align 4, !tbaa !14
  %16298 = add nsw i32 %16297, 13
  %16299 = sext i32 %16298 to i64
  %16300 = getelementptr inbounds i8, ptr %16296, i64 %16299
  store i8 %16295, ptr %16300, align 1, !tbaa !15
  %16301 = load ptr, ptr %13, align 8, !tbaa !5
  %16302 = load i32, ptr %19, align 4, !tbaa !14
  %16303 = add nsw i32 %16302, 14
  %16304 = sext i32 %16303 to i64
  %16305 = getelementptr inbounds i8, ptr %16301, i64 %16304
  %16306 = load i8, ptr %16305, align 1, !tbaa !15
  %16307 = zext i8 %16306 to i32
  %16308 = load ptr, ptr %15, align 8, !tbaa !5
  %16309 = load i32, ptr %19, align 4, !tbaa !14
  %16310 = add nsw i32 %16309, 14
  %16311 = sext i32 %16310 to i64
  %16312 = getelementptr inbounds i8, ptr %16308, i64 %16311
  %16313 = load i8, ptr %16312, align 1, !tbaa !15
  %16314 = zext i8 %16313 to i64
  %16315 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %16314
  %16316 = load i32, ptr %16315, align 4, !tbaa !14
  %16317 = add nsw i32 %16307, %16316
  store i32 %16317, ptr %16, align 4, !tbaa !14
  %16318 = load i32, ptr %16, align 4, !tbaa !14
  %16319 = icmp slt i32 %16318, 0
  br i1 %16319, label %16320, label %16321

16320:                                            ; preds = %16293
  br label %16329

16321:                                            ; preds = %16293
  %16322 = load i32, ptr %16, align 4, !tbaa !14
  %16323 = icmp sgt i32 %16322, 255
  br i1 %16323, label %16324, label %16325

16324:                                            ; preds = %16321
  br label %16327

16325:                                            ; preds = %16321
  %16326 = load i32, ptr %16, align 4, !tbaa !14
  br label %16327

16327:                                            ; preds = %16325, %16324
  %16328 = phi i32 [ 255, %16324 ], [ %16326, %16325 ]
  br label %16329

16329:                                            ; preds = %16327, %16320
  %16330 = phi i32 [ 0, %16320 ], [ %16328, %16327 ]
  %16331 = trunc i32 %16330 to i8
  %16332 = load ptr, ptr %12, align 8, !tbaa !5
  %16333 = load i32, ptr %19, align 4, !tbaa !14
  %16334 = add nsw i32 %16333, 14
  %16335 = sext i32 %16334 to i64
  %16336 = getelementptr inbounds i8, ptr %16332, i64 %16335
  store i8 %16331, ptr %16336, align 1, !tbaa !15
  %16337 = load ptr, ptr %13, align 8, !tbaa !5
  %16338 = load i32, ptr %19, align 4, !tbaa !14
  %16339 = add nsw i32 %16338, 14
  %16340 = sext i32 %16339 to i64
  %16341 = getelementptr inbounds i8, ptr %16337, i64 %16340
  %16342 = load i8, ptr %16341, align 1, !tbaa !15
  %16343 = zext i8 %16342 to i32
  %16344 = load ptr, ptr %14, align 8, !tbaa !5
  %16345 = load i32, ptr %19, align 4, !tbaa !14
  %16346 = add nsw i32 %16345, 14
  %16347 = sext i32 %16346 to i64
  %16348 = getelementptr inbounds i8, ptr %16344, i64 %16347
  %16349 = load i8, ptr %16348, align 1, !tbaa !15
  %16350 = zext i8 %16349 to i64
  %16351 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %16350
  %16352 = load i32, ptr %16351, align 4, !tbaa !14
  %16353 = sub nsw i32 %16343, %16352
  %16354 = load ptr, ptr %15, align 8, !tbaa !5
  %16355 = load i32, ptr %19, align 4, !tbaa !14
  %16356 = add nsw i32 %16355, 14
  %16357 = sext i32 %16356 to i64
  %16358 = getelementptr inbounds i8, ptr %16354, i64 %16357
  %16359 = load i8, ptr %16358, align 1, !tbaa !15
  %16360 = zext i8 %16359 to i64
  %16361 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %16360
  %16362 = load i32, ptr %16361, align 4, !tbaa !14
  %16363 = sub nsw i32 %16353, %16362
  store i32 %16363, ptr %17, align 4, !tbaa !14
  %16364 = load i32, ptr %17, align 4, !tbaa !14
  %16365 = icmp slt i32 %16364, 0
  br i1 %16365, label %16366, label %16367

16366:                                            ; preds = %16329
  br label %16375

16367:                                            ; preds = %16329
  %16368 = load i32, ptr %17, align 4, !tbaa !14
  %16369 = icmp sgt i32 %16368, 255
  br i1 %16369, label %16370, label %16371

16370:                                            ; preds = %16367
  br label %16373

16371:                                            ; preds = %16367
  %16372 = load i32, ptr %17, align 4, !tbaa !14
  br label %16373

16373:                                            ; preds = %16371, %16370
  %16374 = phi i32 [ 255, %16370 ], [ %16372, %16371 ]
  br label %16375

16375:                                            ; preds = %16373, %16366
  %16376 = phi i32 [ 0, %16366 ], [ %16374, %16373 ]
  %16377 = trunc i32 %16376 to i8
  %16378 = load ptr, ptr %11, align 8, !tbaa !5
  %16379 = load i32, ptr %19, align 4, !tbaa !14
  %16380 = add nsw i32 %16379, 14
  %16381 = sext i32 %16380 to i64
  %16382 = getelementptr inbounds i8, ptr %16378, i64 %16381
  store i8 %16377, ptr %16382, align 1, !tbaa !15
  %16383 = load ptr, ptr %13, align 8, !tbaa !5
  %16384 = load i32, ptr %19, align 4, !tbaa !14
  %16385 = add nsw i32 %16384, 14
  %16386 = sext i32 %16385 to i64
  %16387 = getelementptr inbounds i8, ptr %16383, i64 %16386
  %16388 = load i8, ptr %16387, align 1, !tbaa !15
  %16389 = zext i8 %16388 to i32
  %16390 = load ptr, ptr %14, align 8, !tbaa !5
  %16391 = load i32, ptr %19, align 4, !tbaa !14
  %16392 = add nsw i32 %16391, 14
  %16393 = sext i32 %16392 to i64
  %16394 = getelementptr inbounds i8, ptr %16390, i64 %16393
  %16395 = load i8, ptr %16394, align 1, !tbaa !15
  %16396 = zext i8 %16395 to i64
  %16397 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %16396
  %16398 = load i32, ptr %16397, align 4, !tbaa !14
  %16399 = add nsw i32 %16389, %16398
  store i32 %16399, ptr %18, align 4, !tbaa !14
  %16400 = load i32, ptr %18, align 4, !tbaa !14
  %16401 = icmp slt i32 %16400, 0
  br i1 %16401, label %16402, label %16403

16402:                                            ; preds = %16375
  br label %16411

16403:                                            ; preds = %16375
  %16404 = load i32, ptr %18, align 4, !tbaa !14
  %16405 = icmp sgt i32 %16404, 255
  br i1 %16405, label %16406, label %16407

16406:                                            ; preds = %16403
  br label %16409

16407:                                            ; preds = %16403
  %16408 = load i32, ptr %18, align 4, !tbaa !14
  br label %16409

16409:                                            ; preds = %16407, %16406
  %16410 = phi i32 [ 255, %16406 ], [ %16408, %16407 ]
  br label %16411

16411:                                            ; preds = %16409, %16402
  %16412 = phi i32 [ 0, %16402 ], [ %16410, %16409 ]
  %16413 = trunc i32 %16412 to i8
  %16414 = load ptr, ptr %10, align 8, !tbaa !5
  %16415 = load i32, ptr %19, align 4, !tbaa !14
  %16416 = add nsw i32 %16415, 14
  %16417 = sext i32 %16416 to i64
  %16418 = getelementptr inbounds i8, ptr %16414, i64 %16417
  store i8 %16413, ptr %16418, align 1, !tbaa !15
  br label %16419

16419:                                            ; preds = %16411, %14641
  br label %16420

16420:                                            ; preds = %16419, %14633
  br label %16421

16421:                                            ; preds = %16420, %12973
  br label %16422

16422:                                            ; preds = %16421, %11431
  br label %16423

16423:                                            ; preds = %16422, %10007
  br label %16424

16424:                                            ; preds = %16423, %8701
  br label %16425

16425:                                            ; preds = %16424, %7513
  br label %16426

16426:                                            ; preds = %16425, %6443
  br label %16427

16427:                                            ; preds = %16426, %5491
  br label %16428

16428:                                            ; preds = %16427, %4657
  br label %16429

16429:                                            ; preds = %16428, %3941
  br label %16430

16430:                                            ; preds = %16429, %3343
  br label %16431

16431:                                            ; preds = %16430, %2863
  br label %16432

16432:                                            ; preds = %16431, %2501
  br label %16433

16433:                                            ; preds = %16432, %2257
  br label %16434

16434:                                            ; preds = %16433, %2138
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #3
  br label %16435

16435:                                            ; preds = %16434
  br label %16436

16436:                                            ; preds = %16435
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #3
  br label %16437

16437:                                            ; preds = %16436
  %16438 = load i32, ptr %9, align 4, !tbaa !14
  %16439 = add nsw i32 %16438, 1
  store i32 %16439, ptr %9, align 4, !tbaa !14
  br label %176, !llvm.loop !18

16440:                                            ; preds = %176
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #3
  %16441 = load ptr, ptr %4, align 8, !tbaa !5
  %16442 = getelementptr inbounds %struct.MImage, ptr %16441, i32 0, i32 0
  %16443 = load i32, ptr %16442, align 8, !tbaa !9
  %16444 = icmp eq i32 %16443, 3
  %16445 = zext i1 %16444 to i64
  %16446 = select i1 %16444, i32 3, i32 4
  store i32 %16446, ptr %20, align 4, !tbaa !14
  %16447 = load ptr, ptr %4, align 8, !tbaa !5
  %16448 = call ptr @m_PropertyWrite(ptr noundef %16447, ptr noundef @.str.3, ptr noundef %20, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #3
  ret void
}

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

declare void @m_Exception(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef, ...) #2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

declare void @ImageRedefine(ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef) #2

declare ptr @m_PropertyWrite(ptr noundef, ptr noundef, ptr noundef, i32 noundef) #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"MImage", !11, i64 0, !11, i64 4, !11, i64 8, !7, i64 16, !6, i64 48}
!11 = !{!"int", !7, i64 0}
!12 = !{!10, !11, i64 4}
!13 = !{!10, !11, i64 8}
!14 = !{!11, !11, i64 0}
!15 = !{!7, !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = distinct !{!18, !17}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@v_to_r = external dso_local local_unnamed_addr global [256 x i32], align 16
@u_to_g = external dso_local local_unnamed_addr global [256 x i32], align 16
@v_to_g = external dso_local local_unnamed_addr global [256 x i32], align 16
@u_to_b = external dso_local local_unnamed_addr global [256 x i32], align 16
@.str = external hidden unnamed_addr constant [86 x i8], align 1
@__FUNCTION__.m_ImageYUVToRGB = external hidden unnamed_addr constant [16 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [11 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @m_ImageYUVToRGB(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 {
  %3 = alloca i32, align 4
  %magicptr = ptrtoint ptr %0 to i64
  switch i64 %magicptr, label %4 [
    i64 -1, label %.thread
    i64 0, label %.thread
  ]

4:                                                ; preds = %2
  %5 = getelementptr inbounds i8, ptr %0, i64 16
  %6 = icmp eq ptr %5, inttoptr (i64 -1 to ptr)
  br i1 %6, label %.thread, label %7

7:                                                ; preds = %4
  %8 = load i32, ptr %0, align 8, !tbaa !5
  %9 = icmp slt i32 %8, 1
  br i1 %9, label %.thread, label %10

10:                                               ; preds = %7
  %11 = getelementptr inbounds i8, ptr %0, i64 4
  %12 = load i32, ptr %11, align 4, !tbaa !11
  %13 = icmp slt i32 %12, 1
  br i1 %13, label %.thread, label %14

14:                                               ; preds = %10
  %15 = getelementptr inbounds i8, ptr %0, i64 8
  %16 = load i32, ptr %15, align 8, !tbaa !12
  %17 = icmp sgt i32 %16, 0
  br i1 %17, label %18, label %.thread

.thread:                                          ; preds = %4, %7, %10, %2, %2, %14
  tail call void (i32, i32, ptr, i32, ptr, ptr, ...) @m_Exception(i32 noundef 1, i32 noundef -1, ptr noundef nonnull @.str, i32 noundef 24, ptr noundef nonnull @__FUNCTION__.m_ImageYUVToRGB, ptr noundef nonnull @.str.1) #4
  %.pre = load i32, ptr %0, align 8, !tbaa !5
  br label %18

18:                                               ; preds = %.thread, %14
  %19 = phi i32 [ %.pre, %.thread ], [ %8, %14 ]
  %.not = icmp eq i32 %19, 3
  br i1 %.not, label %21, label %20

20:                                               ; preds = %18
  tail call void (i32, i32, ptr, i32, ptr, ptr, ...) @m_Exception(i32 noundef 1, i32 noundef -1, ptr noundef nonnull @.str, i32 noundef 25, ptr noundef nonnull @__FUNCTION__.m_ImageYUVToRGB, ptr noundef nonnull @.str.1) #4
  br label %21

21:                                               ; preds = %20, %18
  %22 = icmp eq ptr %1, null
  %spec.select = select i1 %22, ptr %0, ptr %1
  %.not4049 = icmp eq ptr %spec.select, %0
  br i1 %.not4049, label %30, label %23

23:                                               ; preds = %21
  %24 = load i32, ptr %spec.select, align 8, !tbaa !5
  %spec.select4050 = tail call i32 @llvm.smax.i32(i32 %24, i32 3)
  %25 = getelementptr inbounds i8, ptr %0, i64 4
  %26 = load i32, ptr %25, align 4, !tbaa !11
  %27 = getelementptr inbounds i8, ptr %0, i64 8
  %28 = load i32, ptr %27, align 8, !tbaa !12
  %29 = getelementptr inbounds i8, ptr %spec.select, i64 16
  tail call void @ImageRedefine(ptr noundef nonnull %spec.select, i32 noundef %spec.select4050, i32 noundef %26, i32 noundef %28, ptr noundef nonnull %29) #4
  br label %30

30:                                               ; preds = %23, %21
  %31 = getelementptr inbounds i8, ptr %spec.select, i64 4
  %32 = load i32, ptr %31, align 4, !tbaa !11
  %33 = icmp sgt i32 %32, 0
  br i1 %33, label %.lr.ph4466, label %._crit_edge4467

.lr.ph4466:                                       ; preds = %30
  %34 = getelementptr inbounds i8, ptr %spec.select, i64 16
  %35 = getelementptr inbounds i8, ptr %spec.select, i64 24
  %36 = getelementptr inbounds i8, ptr %spec.select, i64 32
  %37 = getelementptr inbounds i8, ptr %0, i64 16
  %38 = getelementptr inbounds i8, ptr %0, i64 24
  %39 = getelementptr inbounds i8, ptr %0, i64 32
  %40 = getelementptr inbounds i8, ptr %spec.select, i64 8
  br label %41

41:                                               ; preds = %.lr.ph4466, %1386
  %indvars.iv4471 = phi i64 [ 0, %.lr.ph4466 ], [ %indvars.iv.next4472, %1386 ]
  %42 = load ptr, ptr %34, align 8, !tbaa !13
  %43 = getelementptr inbounds ptr, ptr %42, i64 %indvars.iv4471
  %44 = load ptr, ptr %43, align 8, !tbaa !13
  %45 = load ptr, ptr %35, align 8, !tbaa !13
  %46 = getelementptr inbounds ptr, ptr %45, i64 %indvars.iv4471
  %47 = load ptr, ptr %46, align 8, !tbaa !13
  %48 = load ptr, ptr %36, align 8, !tbaa !13
  %49 = getelementptr inbounds ptr, ptr %48, i64 %indvars.iv4471
  %50 = load ptr, ptr %49, align 8, !tbaa !13
  %51 = load ptr, ptr %37, align 8, !tbaa !13
  %52 = getelementptr inbounds ptr, ptr %51, i64 %indvars.iv4471
  %53 = load ptr, ptr %52, align 8, !tbaa !13
  %54 = load ptr, ptr %38, align 8, !tbaa !13
  %55 = getelementptr inbounds ptr, ptr %54, i64 %indvars.iv4471
  %56 = load ptr, ptr %55, align 8, !tbaa !13
  %57 = load ptr, ptr %39, align 8, !tbaa !13
  %58 = getelementptr inbounds ptr, ptr %57, i64 %indvars.iv4471
  %59 = load ptr, ptr %58, align 8, !tbaa !13
  %60 = load i32, ptr %40, align 8, !tbaa !12
  %61 = icmp sgt i32 %60, 15
  br i1 %61, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %41, %.lr.ph
  %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %41 ]
  %62 = getelementptr inbounds i8, ptr %53, i64 %indvars.iv
  %63 = load i8, ptr %62, align 1, !tbaa !14
  %64 = zext i8 %63 to i32
  %65 = getelementptr inbounds i8, ptr %59, i64 %indvars.iv
  %66 = load i8, ptr %65, align 1, !tbaa !14
  %67 = zext i8 %66 to i64
  %68 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %67
  %69 = load i32, ptr %68, align 4, !tbaa !15
  %70 = add nsw i32 %69, %64
  %71 = tail call i32 @llvm.smin.i32(i32 %70, i32 255)
  %72 = tail call i32 @llvm.smax.i32(i32 %71, i32 0)
  %73 = trunc nuw i32 %72 to i8
  %74 = getelementptr inbounds i8, ptr %50, i64 %indvars.iv
  store i8 %73, ptr %74, align 1, !tbaa !14
  %75 = load i8, ptr %62, align 1, !tbaa !14
  %76 = zext i8 %75 to i32
  %77 = getelementptr inbounds i8, ptr %56, i64 %indvars.iv
  %78 = load i8, ptr %77, align 1, !tbaa !14
  %79 = zext i8 %78 to i64
  %80 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %79
  %81 = load i32, ptr %80, align 4, !tbaa !15
  %82 = load i8, ptr %65, align 1, !tbaa !14
  %83 = zext i8 %82 to i64
  %84 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %83
  %85 = load i32, ptr %84, align 4, !tbaa !15
  %86 = add i32 %81, %85
  %87 = sub i32 %76, %86
  %88 = tail call i32 @llvm.smin.i32(i32 %87, i32 255)
  %89 = tail call i32 @llvm.smax.i32(i32 %88, i32 0)
  %90 = trunc nuw i32 %89 to i8
  %91 = getelementptr inbounds i8, ptr %47, i64 %indvars.iv
  store i8 %90, ptr %91, align 1, !tbaa !14
  %92 = load i8, ptr %62, align 1, !tbaa !14
  %93 = zext i8 %92 to i32
  %94 = load i8, ptr %77, align 1, !tbaa !14
  %95 = zext i8 %94 to i64
  %96 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %95
  %97 = load i32, ptr %96, align 4, !tbaa !15
  %98 = add nsw i32 %97, %93
  %99 = tail call i32 @llvm.smin.i32(i32 %98, i32 255)
  %100 = tail call i32 @llvm.smax.i32(i32 %99, i32 0)
  %101 = trunc nuw i32 %100 to i8
  %102 = getelementptr inbounds i8, ptr %44, i64 %indvars.iv
  store i8 %101, ptr %102, align 1, !tbaa !14
  %103 = or disjoint i64 %indvars.iv, 1
  %104 = getelementptr inbounds i8, ptr %53, i64 %103
  %105 = load i8, ptr %104, align 1, !tbaa !14
  %106 = zext i8 %105 to i32
  %107 = getelementptr inbounds i8, ptr %59, i64 %103
  %108 = load i8, ptr %107, align 1, !tbaa !14
  %109 = zext i8 %108 to i64
  %110 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %109
  %111 = load i32, ptr %110, align 4, !tbaa !15
  %112 = add nsw i32 %111, %106
  %113 = tail call i32 @llvm.smin.i32(i32 %112, i32 255)
  %114 = tail call i32 @llvm.smax.i32(i32 %113, i32 0)
  %115 = trunc nuw i32 %114 to i8
  %116 = getelementptr inbounds i8, ptr %50, i64 %103
  store i8 %115, ptr %116, align 1, !tbaa !14
  %117 = load i8, ptr %104, align 1, !tbaa !14
  %118 = zext i8 %117 to i32
  %119 = getelementptr inbounds i8, ptr %56, i64 %103
  %120 = load i8, ptr %119, align 1, !tbaa !14
  %121 = zext i8 %120 to i64
  %122 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %121
  %123 = load i32, ptr %122, align 4, !tbaa !15
  %124 = load i8, ptr %107, align 1, !tbaa !14
  %125 = zext i8 %124 to i64
  %126 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %125
  %127 = load i32, ptr %126, align 4, !tbaa !15
  %128 = add i32 %123, %127
  %129 = sub i32 %118, %128
  %130 = tail call i32 @llvm.smin.i32(i32 %129, i32 255)
  %131 = tail call i32 @llvm.smax.i32(i32 %130, i32 0)
  %132 = trunc nuw i32 %131 to i8
  %133 = getelementptr inbounds i8, ptr %47, i64 %103
  store i8 %132, ptr %133, align 1, !tbaa !14
  %134 = load i8, ptr %104, align 1, !tbaa !14
  %135 = zext i8 %134 to i32
  %136 = load i8, ptr %119, align 1, !tbaa !14
  %137 = zext i8 %136 to i64
  %138 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %137
  %139 = load i32, ptr %138, align 4, !tbaa !15
  %140 = add nsw i32 %139, %135
  %141 = tail call i32 @llvm.smin.i32(i32 %140, i32 255)
  %142 = tail call i32 @llvm.smax.i32(i32 %141, i32 0)
  %143 = trunc nuw i32 %142 to i8
  %144 = getelementptr inbounds i8, ptr %44, i64 %103
  store i8 %143, ptr %144, align 1, !tbaa !14
  %145 = or disjoint i64 %indvars.iv, 2
  %146 = getelementptr inbounds i8, ptr %53, i64 %145
  %147 = load i8, ptr %146, align 1, !tbaa !14
  %148 = zext i8 %147 to i32
  %149 = getelementptr inbounds i8, ptr %59, i64 %145
  %150 = load i8, ptr %149, align 1, !tbaa !14
  %151 = zext i8 %150 to i64
  %152 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %151
  %153 = load i32, ptr %152, align 4, !tbaa !15
  %154 = add nsw i32 %153, %148
  %155 = tail call i32 @llvm.smin.i32(i32 %154, i32 255)
  %156 = tail call i32 @llvm.smax.i32(i32 %155, i32 0)
  %157 = trunc nuw i32 %156 to i8
  %158 = getelementptr inbounds i8, ptr %50, i64 %145
  store i8 %157, ptr %158, align 1, !tbaa !14
  %159 = load i8, ptr %146, align 1, !tbaa !14
  %160 = zext i8 %159 to i32
  %161 = getelementptr inbounds i8, ptr %56, i64 %145
  %162 = load i8, ptr %161, align 1, !tbaa !14
  %163 = zext i8 %162 to i64
  %164 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %163
  %165 = load i32, ptr %164, align 4, !tbaa !15
  %166 = load i8, ptr %149, align 1, !tbaa !14
  %167 = zext i8 %166 to i64
  %168 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %167
  %169 = load i32, ptr %168, align 4, !tbaa !15
  %170 = add i32 %165, %169
  %171 = sub i32 %160, %170
  %172 = tail call i32 @llvm.smin.i32(i32 %171, i32 255)
  %173 = tail call i32 @llvm.smax.i32(i32 %172, i32 0)
  %174 = trunc nuw i32 %173 to i8
  %175 = getelementptr inbounds i8, ptr %47, i64 %145
  store i8 %174, ptr %175, align 1, !tbaa !14
  %176 = load i8, ptr %146, align 1, !tbaa !14
  %177 = zext i8 %176 to i32
  %178 = load i8, ptr %161, align 1, !tbaa !14
  %179 = zext i8 %178 to i64
  %180 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %179
  %181 = load i32, ptr %180, align 4, !tbaa !15
  %182 = add nsw i32 %181, %177
  %183 = tail call i32 @llvm.smin.i32(i32 %182, i32 255)
  %184 = tail call i32 @llvm.smax.i32(i32 %183, i32 0)
  %185 = trunc nuw i32 %184 to i8
  %186 = getelementptr inbounds i8, ptr %44, i64 %145
  store i8 %185, ptr %186, align 1, !tbaa !14
  %187 = or disjoint i64 %indvars.iv, 3
  %188 = getelementptr inbounds i8, ptr %53, i64 %187
  %189 = load i8, ptr %188, align 1, !tbaa !14
  %190 = zext i8 %189 to i32
  %191 = getelementptr inbounds i8, ptr %59, i64 %187
  %192 = load i8, ptr %191, align 1, !tbaa !14
  %193 = zext i8 %192 to i64
  %194 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %193
  %195 = load i32, ptr %194, align 4, !tbaa !15
  %196 = add nsw i32 %195, %190
  %197 = tail call i32 @llvm.smin.i32(i32 %196, i32 255)
  %198 = tail call i32 @llvm.smax.i32(i32 %197, i32 0)
  %199 = trunc nuw i32 %198 to i8
  %200 = getelementptr inbounds i8, ptr %50, i64 %187
  store i8 %199, ptr %200, align 1, !tbaa !14
  %201 = load i8, ptr %188, align 1, !tbaa !14
  %202 = zext i8 %201 to i32
  %203 = getelementptr inbounds i8, ptr %56, i64 %187
  %204 = load i8, ptr %203, align 1, !tbaa !14
  %205 = zext i8 %204 to i64
  %206 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %205
  %207 = load i32, ptr %206, align 4, !tbaa !15
  %208 = load i8, ptr %191, align 1, !tbaa !14
  %209 = zext i8 %208 to i64
  %210 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %209
  %211 = load i32, ptr %210, align 4, !tbaa !15
  %212 = add i32 %207, %211
  %213 = sub i32 %202, %212
  %214 = tail call i32 @llvm.smin.i32(i32 %213, i32 255)
  %215 = tail call i32 @llvm.smax.i32(i32 %214, i32 0)
  %216 = trunc nuw i32 %215 to i8
  %217 = getelementptr inbounds i8, ptr %47, i64 %187
  store i8 %216, ptr %217, align 1, !tbaa !14
  %218 = load i8, ptr %188, align 1, !tbaa !14
  %219 = zext i8 %218 to i32
  %220 = load i8, ptr %203, align 1, !tbaa !14
  %221 = zext i8 %220 to i64
  %222 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %221
  %223 = load i32, ptr %222, align 4, !tbaa !15
  %224 = add nsw i32 %223, %219
  %225 = tail call i32 @llvm.smin.i32(i32 %224, i32 255)
  %226 = tail call i32 @llvm.smax.i32(i32 %225, i32 0)
  %227 = trunc nuw i32 %226 to i8
  %228 = getelementptr inbounds i8, ptr %44, i64 %187
  store i8 %227, ptr %228, align 1, !tbaa !14
  %229 = or disjoint i64 %indvars.iv, 4
  %230 = getelementptr inbounds i8, ptr %53, i64 %229
  %231 = load i8, ptr %230, align 1, !tbaa !14
  %232 = zext i8 %231 to i32
  %233 = getelementptr inbounds i8, ptr %59, i64 %229
  %234 = load i8, ptr %233, align 1, !tbaa !14
  %235 = zext i8 %234 to i64
  %236 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %235
  %237 = load i32, ptr %236, align 4, !tbaa !15
  %238 = add nsw i32 %237, %232
  %239 = tail call i32 @llvm.smin.i32(i32 %238, i32 255)
  %240 = tail call i32 @llvm.smax.i32(i32 %239, i32 0)
  %241 = trunc nuw i32 %240 to i8
  %242 = getelementptr inbounds i8, ptr %50, i64 %229
  store i8 %241, ptr %242, align 1, !tbaa !14
  %243 = load i8, ptr %230, align 1, !tbaa !14
  %244 = zext i8 %243 to i32
  %245 = getelementptr inbounds i8, ptr %56, i64 %229
  %246 = load i8, ptr %245, align 1, !tbaa !14
  %247 = zext i8 %246 to i64
  %248 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %247
  %249 = load i32, ptr %248, align 4, !tbaa !15
  %250 = load i8, ptr %233, align 1, !tbaa !14
  %251 = zext i8 %250 to i64
  %252 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %251
  %253 = load i32, ptr %252, align 4, !tbaa !15
  %254 = add i32 %249, %253
  %255 = sub i32 %244, %254
  %256 = tail call i32 @llvm.smin.i32(i32 %255, i32 255)
  %257 = tail call i32 @llvm.smax.i32(i32 %256, i32 0)
  %258 = trunc nuw i32 %257 to i8
  %259 = getelementptr inbounds i8, ptr %47, i64 %229
  store i8 %258, ptr %259, align 1, !tbaa !14
  %260 = load i8, ptr %230, align 1, !tbaa !14
  %261 = zext i8 %260 to i32
  %262 = load i8, ptr %245, align 1, !tbaa !14
  %263 = zext i8 %262 to i64
  %264 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %263
  %265 = load i32, ptr %264, align 4, !tbaa !15
  %266 = add nsw i32 %265, %261
  %267 = tail call i32 @llvm.smin.i32(i32 %266, i32 255)
  %268 = tail call i32 @llvm.smax.i32(i32 %267, i32 0)
  %269 = trunc nuw i32 %268 to i8
  %270 = getelementptr inbounds i8, ptr %44, i64 %229
  store i8 %269, ptr %270, align 1, !tbaa !14
  %271 = or disjoint i64 %indvars.iv, 5
  %272 = getelementptr inbounds i8, ptr %53, i64 %271
  %273 = load i8, ptr %272, align 1, !tbaa !14
  %274 = zext i8 %273 to i32
  %275 = getelementptr inbounds i8, ptr %59, i64 %271
  %276 = load i8, ptr %275, align 1, !tbaa !14
  %277 = zext i8 %276 to i64
  %278 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %277
  %279 = load i32, ptr %278, align 4, !tbaa !15
  %280 = add nsw i32 %279, %274
  %281 = tail call i32 @llvm.smin.i32(i32 %280, i32 255)
  %282 = tail call i32 @llvm.smax.i32(i32 %281, i32 0)
  %283 = trunc nuw i32 %282 to i8
  %284 = getelementptr inbounds i8, ptr %50, i64 %271
  store i8 %283, ptr %284, align 1, !tbaa !14
  %285 = load i8, ptr %272, align 1, !tbaa !14
  %286 = zext i8 %285 to i32
  %287 = getelementptr inbounds i8, ptr %56, i64 %271
  %288 = load i8, ptr %287, align 1, !tbaa !14
  %289 = zext i8 %288 to i64
  %290 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %289
  %291 = load i32, ptr %290, align 4, !tbaa !15
  %292 = load i8, ptr %275, align 1, !tbaa !14
  %293 = zext i8 %292 to i64
  %294 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %293
  %295 = load i32, ptr %294, align 4, !tbaa !15
  %296 = add i32 %291, %295
  %297 = sub i32 %286, %296
  %298 = tail call i32 @llvm.smin.i32(i32 %297, i32 255)
  %299 = tail call i32 @llvm.smax.i32(i32 %298, i32 0)
  %300 = trunc nuw i32 %299 to i8
  %301 = getelementptr inbounds i8, ptr %47, i64 %271
  store i8 %300, ptr %301, align 1, !tbaa !14
  %302 = load i8, ptr %272, align 1, !tbaa !14
  %303 = zext i8 %302 to i32
  %304 = load i8, ptr %287, align 1, !tbaa !14
  %305 = zext i8 %304 to i64
  %306 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %305
  %307 = load i32, ptr %306, align 4, !tbaa !15
  %308 = add nsw i32 %307, %303
  %309 = tail call i32 @llvm.smin.i32(i32 %308, i32 255)
  %310 = tail call i32 @llvm.smax.i32(i32 %309, i32 0)
  %311 = trunc nuw i32 %310 to i8
  %312 = getelementptr inbounds i8, ptr %44, i64 %271
  store i8 %311, ptr %312, align 1, !tbaa !14
  %313 = or disjoint i64 %indvars.iv, 6
  %314 = getelementptr inbounds i8, ptr %53, i64 %313
  %315 = load i8, ptr %314, align 1, !tbaa !14
  %316 = zext i8 %315 to i32
  %317 = getelementptr inbounds i8, ptr %59, i64 %313
  %318 = load i8, ptr %317, align 1, !tbaa !14
  %319 = zext i8 %318 to i64
  %320 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %319
  %321 = load i32, ptr %320, align 4, !tbaa !15
  %322 = add nsw i32 %321, %316
  %323 = tail call i32 @llvm.smin.i32(i32 %322, i32 255)
  %324 = tail call i32 @llvm.smax.i32(i32 %323, i32 0)
  %325 = trunc nuw i32 %324 to i8
  %326 = getelementptr inbounds i8, ptr %50, i64 %313
  store i8 %325, ptr %326, align 1, !tbaa !14
  %327 = load i8, ptr %314, align 1, !tbaa !14
  %328 = zext i8 %327 to i32
  %329 = getelementptr inbounds i8, ptr %56, i64 %313
  %330 = load i8, ptr %329, align 1, !tbaa !14
  %331 = zext i8 %330 to i64
  %332 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %331
  %333 = load i32, ptr %332, align 4, !tbaa !15
  %334 = load i8, ptr %317, align 1, !tbaa !14
  %335 = zext i8 %334 to i64
  %336 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %335
  %337 = load i32, ptr %336, align 4, !tbaa !15
  %338 = add i32 %333, %337
  %339 = sub i32 %328, %338
  %340 = tail call i32 @llvm.smin.i32(i32 %339, i32 255)
  %341 = tail call i32 @llvm.smax.i32(i32 %340, i32 0)
  %342 = trunc nuw i32 %341 to i8
  %343 = getelementptr inbounds i8, ptr %47, i64 %313
  store i8 %342, ptr %343, align 1, !tbaa !14
  %344 = load i8, ptr %314, align 1, !tbaa !14
  %345 = zext i8 %344 to i32
  %346 = load i8, ptr %329, align 1, !tbaa !14
  %347 = zext i8 %346 to i64
  %348 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %347
  %349 = load i32, ptr %348, align 4, !tbaa !15
  %350 = add nsw i32 %349, %345
  %351 = tail call i32 @llvm.smin.i32(i32 %350, i32 255)
  %352 = tail call i32 @llvm.smax.i32(i32 %351, i32 0)
  %353 = trunc nuw i32 %352 to i8
  %354 = getelementptr inbounds i8, ptr %44, i64 %313
  store i8 %353, ptr %354, align 1, !tbaa !14
  %355 = or disjoint i64 %indvars.iv, 7
  %356 = getelementptr inbounds i8, ptr %53, i64 %355
  %357 = load i8, ptr %356, align 1, !tbaa !14
  %358 = zext i8 %357 to i32
  %359 = getelementptr inbounds i8, ptr %59, i64 %355
  %360 = load i8, ptr %359, align 1, !tbaa !14
  %361 = zext i8 %360 to i64
  %362 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %361
  %363 = load i32, ptr %362, align 4, !tbaa !15
  %364 = add nsw i32 %363, %358
  %365 = tail call i32 @llvm.smin.i32(i32 %364, i32 255)
  %366 = tail call i32 @llvm.smax.i32(i32 %365, i32 0)
  %367 = trunc nuw i32 %366 to i8
  %368 = getelementptr inbounds i8, ptr %50, i64 %355
  store i8 %367, ptr %368, align 1, !tbaa !14
  %369 = load i8, ptr %356, align 1, !tbaa !14
  %370 = zext i8 %369 to i32
  %371 = getelementptr inbounds i8, ptr %56, i64 %355
  %372 = load i8, ptr %371, align 1, !tbaa !14
  %373 = zext i8 %372 to i64
  %374 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %373
  %375 = load i32, ptr %374, align 4, !tbaa !15
  %376 = load i8, ptr %359, align 1, !tbaa !14
  %377 = zext i8 %376 to i64
  %378 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %377
  %379 = load i32, ptr %378, align 4, !tbaa !15
  %380 = add i32 %375, %379
  %381 = sub i32 %370, %380
  %382 = tail call i32 @llvm.smin.i32(i32 %381, i32 255)
  %383 = tail call i32 @llvm.smax.i32(i32 %382, i32 0)
  %384 = trunc nuw i32 %383 to i8
  %385 = getelementptr inbounds i8, ptr %47, i64 %355
  store i8 %384, ptr %385, align 1, !tbaa !14
  %386 = load i8, ptr %356, align 1, !tbaa !14
  %387 = zext i8 %386 to i32
  %388 = load i8, ptr %371, align 1, !tbaa !14
  %389 = zext i8 %388 to i64
  %390 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %389
  %391 = load i32, ptr %390, align 4, !tbaa !15
  %392 = add nsw i32 %391, %387
  %393 = tail call i32 @llvm.smin.i32(i32 %392, i32 255)
  %394 = tail call i32 @llvm.smax.i32(i32 %393, i32 0)
  %395 = trunc nuw i32 %394 to i8
  %396 = getelementptr inbounds i8, ptr %44, i64 %355
  store i8 %395, ptr %396, align 1, !tbaa !14
  %397 = or disjoint i64 %indvars.iv, 8
  %398 = getelementptr inbounds i8, ptr %53, i64 %397
  %399 = load i8, ptr %398, align 1, !tbaa !14
  %400 = zext i8 %399 to i32
  %401 = getelementptr inbounds i8, ptr %59, i64 %397
  %402 = load i8, ptr %401, align 1, !tbaa !14
  %403 = zext i8 %402 to i64
  %404 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %403
  %405 = load i32, ptr %404, align 4, !tbaa !15
  %406 = add nsw i32 %405, %400
  %407 = tail call i32 @llvm.smin.i32(i32 %406, i32 255)
  %408 = tail call i32 @llvm.smax.i32(i32 %407, i32 0)
  %409 = trunc nuw i32 %408 to i8
  %410 = getelementptr inbounds i8, ptr %50, i64 %397
  store i8 %409, ptr %410, align 1, !tbaa !14
  %411 = load i8, ptr %398, align 1, !tbaa !14
  %412 = zext i8 %411 to i32
  %413 = getelementptr inbounds i8, ptr %56, i64 %397
  %414 = load i8, ptr %413, align 1, !tbaa !14
  %415 = zext i8 %414 to i64
  %416 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %415
  %417 = load i32, ptr %416, align 4, !tbaa !15
  %418 = load i8, ptr %401, align 1, !tbaa !14
  %419 = zext i8 %418 to i64
  %420 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %419
  %421 = load i32, ptr %420, align 4, !tbaa !15
  %422 = add i32 %417, %421
  %423 = sub i32 %412, %422
  %424 = tail call i32 @llvm.smin.i32(i32 %423, i32 255)
  %425 = tail call i32 @llvm.smax.i32(i32 %424, i32 0)
  %426 = trunc nuw i32 %425 to i8
  %427 = getelementptr inbounds i8, ptr %47, i64 %397
  store i8 %426, ptr %427, align 1, !tbaa !14
  %428 = load i8, ptr %398, align 1, !tbaa !14
  %429 = zext i8 %428 to i32
  %430 = load i8, ptr %413, align 1, !tbaa !14
  %431 = zext i8 %430 to i64
  %432 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %431
  %433 = load i32, ptr %432, align 4, !tbaa !15
  %434 = add nsw i32 %433, %429
  %435 = tail call i32 @llvm.smin.i32(i32 %434, i32 255)
  %436 = tail call i32 @llvm.smax.i32(i32 %435, i32 0)
  %437 = trunc nuw i32 %436 to i8
  %438 = getelementptr inbounds i8, ptr %44, i64 %397
  store i8 %437, ptr %438, align 1, !tbaa !14
  %439 = or disjoint i64 %indvars.iv, 9
  %440 = getelementptr inbounds i8, ptr %53, i64 %439
  %441 = load i8, ptr %440, align 1, !tbaa !14
  %442 = zext i8 %441 to i32
  %443 = getelementptr inbounds i8, ptr %59, i64 %439
  %444 = load i8, ptr %443, align 1, !tbaa !14
  %445 = zext i8 %444 to i64
  %446 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %445
  %447 = load i32, ptr %446, align 4, !tbaa !15
  %448 = add nsw i32 %447, %442
  %449 = tail call i32 @llvm.smin.i32(i32 %448, i32 255)
  %450 = tail call i32 @llvm.smax.i32(i32 %449, i32 0)
  %451 = trunc nuw i32 %450 to i8
  %452 = getelementptr inbounds i8, ptr %50, i64 %439
  store i8 %451, ptr %452, align 1, !tbaa !14
  %453 = load i8, ptr %440, align 1, !tbaa !14
  %454 = zext i8 %453 to i32
  %455 = getelementptr inbounds i8, ptr %56, i64 %439
  %456 = load i8, ptr %455, align 1, !tbaa !14
  %457 = zext i8 %456 to i64
  %458 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %457
  %459 = load i32, ptr %458, align 4, !tbaa !15
  %460 = load i8, ptr %443, align 1, !tbaa !14
  %461 = zext i8 %460 to i64
  %462 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %461
  %463 = load i32, ptr %462, align 4, !tbaa !15
  %464 = add i32 %459, %463
  %465 = sub i32 %454, %464
  %466 = tail call i32 @llvm.smin.i32(i32 %465, i32 255)
  %467 = tail call i32 @llvm.smax.i32(i32 %466, i32 0)
  %468 = trunc nuw i32 %467 to i8
  %469 = getelementptr inbounds i8, ptr %47, i64 %439
  store i8 %468, ptr %469, align 1, !tbaa !14
  %470 = load i8, ptr %440, align 1, !tbaa !14
  %471 = zext i8 %470 to i32
  %472 = load i8, ptr %455, align 1, !tbaa !14
  %473 = zext i8 %472 to i64
  %474 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %473
  %475 = load i32, ptr %474, align 4, !tbaa !15
  %476 = add nsw i32 %475, %471
  %477 = tail call i32 @llvm.smin.i32(i32 %476, i32 255)
  %478 = tail call i32 @llvm.smax.i32(i32 %477, i32 0)
  %479 = trunc nuw i32 %478 to i8
  %480 = getelementptr inbounds i8, ptr %44, i64 %439
  store i8 %479, ptr %480, align 1, !tbaa !14
  %481 = or disjoint i64 %indvars.iv, 10
  %482 = getelementptr inbounds i8, ptr %53, i64 %481
  %483 = load i8, ptr %482, align 1, !tbaa !14
  %484 = zext i8 %483 to i32
  %485 = getelementptr inbounds i8, ptr %59, i64 %481
  %486 = load i8, ptr %485, align 1, !tbaa !14
  %487 = zext i8 %486 to i64
  %488 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %487
  %489 = load i32, ptr %488, align 4, !tbaa !15
  %490 = add nsw i32 %489, %484
  %491 = tail call i32 @llvm.smin.i32(i32 %490, i32 255)
  %492 = tail call i32 @llvm.smax.i32(i32 %491, i32 0)
  %493 = trunc nuw i32 %492 to i8
  %494 = getelementptr inbounds i8, ptr %50, i64 %481
  store i8 %493, ptr %494, align 1, !tbaa !14
  %495 = load i8, ptr %482, align 1, !tbaa !14
  %496 = zext i8 %495 to i32
  %497 = getelementptr inbounds i8, ptr %56, i64 %481
  %498 = load i8, ptr %497, align 1, !tbaa !14
  %499 = zext i8 %498 to i64
  %500 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %499
  %501 = load i32, ptr %500, align 4, !tbaa !15
  %502 = load i8, ptr %485, align 1, !tbaa !14
  %503 = zext i8 %502 to i64
  %504 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %503
  %505 = load i32, ptr %504, align 4, !tbaa !15
  %506 = add i32 %501, %505
  %507 = sub i32 %496, %506
  %508 = tail call i32 @llvm.smin.i32(i32 %507, i32 255)
  %509 = tail call i32 @llvm.smax.i32(i32 %508, i32 0)
  %510 = trunc nuw i32 %509 to i8
  %511 = getelementptr inbounds i8, ptr %47, i64 %481
  store i8 %510, ptr %511, align 1, !tbaa !14
  %512 = load i8, ptr %482, align 1, !tbaa !14
  %513 = zext i8 %512 to i32
  %514 = load i8, ptr %497, align 1, !tbaa !14
  %515 = zext i8 %514 to i64
  %516 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %515
  %517 = load i32, ptr %516, align 4, !tbaa !15
  %518 = add nsw i32 %517, %513
  %519 = tail call i32 @llvm.smin.i32(i32 %518, i32 255)
  %520 = tail call i32 @llvm.smax.i32(i32 %519, i32 0)
  %521 = trunc nuw i32 %520 to i8
  %522 = getelementptr inbounds i8, ptr %44, i64 %481
  store i8 %521, ptr %522, align 1, !tbaa !14
  %523 = or disjoint i64 %indvars.iv, 11
  %524 = getelementptr inbounds i8, ptr %53, i64 %523
  %525 = load i8, ptr %524, align 1, !tbaa !14
  %526 = zext i8 %525 to i32
  %527 = getelementptr inbounds i8, ptr %59, i64 %523
  %528 = load i8, ptr %527, align 1, !tbaa !14
  %529 = zext i8 %528 to i64
  %530 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %529
  %531 = load i32, ptr %530, align 4, !tbaa !15
  %532 = add nsw i32 %531, %526
  %533 = tail call i32 @llvm.smin.i32(i32 %532, i32 255)
  %534 = tail call i32 @llvm.smax.i32(i32 %533, i32 0)
  %535 = trunc nuw i32 %534 to i8
  %536 = getelementptr inbounds i8, ptr %50, i64 %523
  store i8 %535, ptr %536, align 1, !tbaa !14
  %537 = load i8, ptr %524, align 1, !tbaa !14
  %538 = zext i8 %537 to i32
  %539 = getelementptr inbounds i8, ptr %56, i64 %523
  %540 = load i8, ptr %539, align 1, !tbaa !14
  %541 = zext i8 %540 to i64
  %542 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %541
  %543 = load i32, ptr %542, align 4, !tbaa !15
  %544 = load i8, ptr %527, align 1, !tbaa !14
  %545 = zext i8 %544 to i64
  %546 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %545
  %547 = load i32, ptr %546, align 4, !tbaa !15
  %548 = add i32 %543, %547
  %549 = sub i32 %538, %548
  %550 = tail call i32 @llvm.smin.i32(i32 %549, i32 255)
  %551 = tail call i32 @llvm.smax.i32(i32 %550, i32 0)
  %552 = trunc nuw i32 %551 to i8
  %553 = getelementptr inbounds i8, ptr %47, i64 %523
  store i8 %552, ptr %553, align 1, !tbaa !14
  %554 = load i8, ptr %524, align 1, !tbaa !14
  %555 = zext i8 %554 to i32
  %556 = load i8, ptr %539, align 1, !tbaa !14
  %557 = zext i8 %556 to i64
  %558 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %557
  %559 = load i32, ptr %558, align 4, !tbaa !15
  %560 = add nsw i32 %559, %555
  %561 = tail call i32 @llvm.smin.i32(i32 %560, i32 255)
  %562 = tail call i32 @llvm.smax.i32(i32 %561, i32 0)
  %563 = trunc nuw i32 %562 to i8
  %564 = getelementptr inbounds i8, ptr %44, i64 %523
  store i8 %563, ptr %564, align 1, !tbaa !14
  %565 = or disjoint i64 %indvars.iv, 12
  %566 = getelementptr inbounds i8, ptr %53, i64 %565
  %567 = load i8, ptr %566, align 1, !tbaa !14
  %568 = zext i8 %567 to i32
  %569 = getelementptr inbounds i8, ptr %59, i64 %565
  %570 = load i8, ptr %569, align 1, !tbaa !14
  %571 = zext i8 %570 to i64
  %572 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %571
  %573 = load i32, ptr %572, align 4, !tbaa !15
  %574 = add nsw i32 %573, %568
  %575 = tail call i32 @llvm.smin.i32(i32 %574, i32 255)
  %576 = tail call i32 @llvm.smax.i32(i32 %575, i32 0)
  %577 = trunc nuw i32 %576 to i8
  %578 = getelementptr inbounds i8, ptr %50, i64 %565
  store i8 %577, ptr %578, align 1, !tbaa !14
  %579 = load i8, ptr %566, align 1, !tbaa !14
  %580 = zext i8 %579 to i32
  %581 = getelementptr inbounds i8, ptr %56, i64 %565
  %582 = load i8, ptr %581, align 1, !tbaa !14
  %583 = zext i8 %582 to i64
  %584 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %583
  %585 = load i32, ptr %584, align 4, !tbaa !15
  %586 = load i8, ptr %569, align 1, !tbaa !14
  %587 = zext i8 %586 to i64
  %588 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %587
  %589 = load i32, ptr %588, align 4, !tbaa !15
  %590 = add i32 %585, %589
  %591 = sub i32 %580, %590
  %592 = tail call i32 @llvm.smin.i32(i32 %591, i32 255)
  %593 = tail call i32 @llvm.smax.i32(i32 %592, i32 0)
  %594 = trunc nuw i32 %593 to i8
  %595 = getelementptr inbounds i8, ptr %47, i64 %565
  store i8 %594, ptr %595, align 1, !tbaa !14
  %596 = load i8, ptr %566, align 1, !tbaa !14
  %597 = zext i8 %596 to i32
  %598 = load i8, ptr %581, align 1, !tbaa !14
  %599 = zext i8 %598 to i64
  %600 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %599
  %601 = load i32, ptr %600, align 4, !tbaa !15
  %602 = add nsw i32 %601, %597
  %603 = tail call i32 @llvm.smin.i32(i32 %602, i32 255)
  %604 = tail call i32 @llvm.smax.i32(i32 %603, i32 0)
  %605 = trunc nuw i32 %604 to i8
  %606 = getelementptr inbounds i8, ptr %44, i64 %565
  store i8 %605, ptr %606, align 1, !tbaa !14
  %607 = or disjoint i64 %indvars.iv, 13
  %608 = getelementptr inbounds i8, ptr %53, i64 %607
  %609 = load i8, ptr %608, align 1, !tbaa !14
  %610 = zext i8 %609 to i32
  %611 = getelementptr inbounds i8, ptr %59, i64 %607
  %612 = load i8, ptr %611, align 1, !tbaa !14
  %613 = zext i8 %612 to i64
  %614 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %613
  %615 = load i32, ptr %614, align 4, !tbaa !15
  %616 = add nsw i32 %615, %610
  %617 = tail call i32 @llvm.smin.i32(i32 %616, i32 255)
  %618 = tail call i32 @llvm.smax.i32(i32 %617, i32 0)
  %619 = trunc nuw i32 %618 to i8
  %620 = getelementptr inbounds i8, ptr %50, i64 %607
  store i8 %619, ptr %620, align 1, !tbaa !14
  %621 = load i8, ptr %608, align 1, !tbaa !14
  %622 = zext i8 %621 to i32
  %623 = getelementptr inbounds i8, ptr %56, i64 %607
  %624 = load i8, ptr %623, align 1, !tbaa !14
  %625 = zext i8 %624 to i64
  %626 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %625
  %627 = load i32, ptr %626, align 4, !tbaa !15
  %628 = load i8, ptr %611, align 1, !tbaa !14
  %629 = zext i8 %628 to i64
  %630 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %629
  %631 = load i32, ptr %630, align 4, !tbaa !15
  %632 = add i32 %627, %631
  %633 = sub i32 %622, %632
  %634 = tail call i32 @llvm.smin.i32(i32 %633, i32 255)
  %635 = tail call i32 @llvm.smax.i32(i32 %634, i32 0)
  %636 = trunc nuw i32 %635 to i8
  %637 = getelementptr inbounds i8, ptr %47, i64 %607
  store i8 %636, ptr %637, align 1, !tbaa !14
  %638 = load i8, ptr %608, align 1, !tbaa !14
  %639 = zext i8 %638 to i32
  %640 = load i8, ptr %623, align 1, !tbaa !14
  %641 = zext i8 %640 to i64
  %642 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %641
  %643 = load i32, ptr %642, align 4, !tbaa !15
  %644 = add nsw i32 %643, %639
  %645 = tail call i32 @llvm.smin.i32(i32 %644, i32 255)
  %646 = tail call i32 @llvm.smax.i32(i32 %645, i32 0)
  %647 = trunc nuw i32 %646 to i8
  %648 = getelementptr inbounds i8, ptr %44, i64 %607
  store i8 %647, ptr %648, align 1, !tbaa !14
  %649 = or disjoint i64 %indvars.iv, 14
  %650 = getelementptr inbounds i8, ptr %53, i64 %649
  %651 = load i8, ptr %650, align 1, !tbaa !14
  %652 = zext i8 %651 to i32
  %653 = getelementptr inbounds i8, ptr %59, i64 %649
  %654 = load i8, ptr %653, align 1, !tbaa !14
  %655 = zext i8 %654 to i64
  %656 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %655
  %657 = load i32, ptr %656, align 4, !tbaa !15
  %658 = add nsw i32 %657, %652
  %659 = tail call i32 @llvm.smin.i32(i32 %658, i32 255)
  %660 = tail call i32 @llvm.smax.i32(i32 %659, i32 0)
  %661 = trunc nuw i32 %660 to i8
  %662 = getelementptr inbounds i8, ptr %50, i64 %649
  store i8 %661, ptr %662, align 1, !tbaa !14
  %663 = load i8, ptr %650, align 1, !tbaa !14
  %664 = zext i8 %663 to i32
  %665 = getelementptr inbounds i8, ptr %56, i64 %649
  %666 = load i8, ptr %665, align 1, !tbaa !14
  %667 = zext i8 %666 to i64
  %668 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %667
  %669 = load i32, ptr %668, align 4, !tbaa !15
  %670 = load i8, ptr %653, align 1, !tbaa !14
  %671 = zext i8 %670 to i64
  %672 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %671
  %673 = load i32, ptr %672, align 4, !tbaa !15
  %674 = add i32 %669, %673
  %675 = sub i32 %664, %674
  %676 = tail call i32 @llvm.smin.i32(i32 %675, i32 255)
  %677 = tail call i32 @llvm.smax.i32(i32 %676, i32 0)
  %678 = trunc nuw i32 %677 to i8
  %679 = getelementptr inbounds i8, ptr %47, i64 %649
  store i8 %678, ptr %679, align 1, !tbaa !14
  %680 = load i8, ptr %650, align 1, !tbaa !14
  %681 = zext i8 %680 to i32
  %682 = load i8, ptr %665, align 1, !tbaa !14
  %683 = zext i8 %682 to i64
  %684 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %683
  %685 = load i32, ptr %684, align 4, !tbaa !15
  %686 = add nsw i32 %685, %681
  %687 = tail call i32 @llvm.smin.i32(i32 %686, i32 255)
  %688 = tail call i32 @llvm.smax.i32(i32 %687, i32 0)
  %689 = trunc nuw i32 %688 to i8
  %690 = getelementptr inbounds i8, ptr %44, i64 %649
  store i8 %689, ptr %690, align 1, !tbaa !14
  %691 = or disjoint i64 %indvars.iv, 15
  %692 = getelementptr inbounds i8, ptr %53, i64 %691
  %693 = load i8, ptr %692, align 1, !tbaa !14
  %694 = zext i8 %693 to i32
  %695 = getelementptr inbounds i8, ptr %59, i64 %691
  %696 = load i8, ptr %695, align 1, !tbaa !14
  %697 = zext i8 %696 to i64
  %698 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %697
  %699 = load i32, ptr %698, align 4, !tbaa !15
  %700 = add nsw i32 %699, %694
  %701 = tail call i32 @llvm.smin.i32(i32 %700, i32 255)
  %702 = tail call i32 @llvm.smax.i32(i32 %701, i32 0)
  %703 = trunc nuw i32 %702 to i8
  %704 = getelementptr inbounds i8, ptr %50, i64 %691
  store i8 %703, ptr %704, align 1, !tbaa !14
  %705 = load i8, ptr %692, align 1, !tbaa !14
  %706 = zext i8 %705 to i32
  %707 = getelementptr inbounds i8, ptr %56, i64 %691
  %708 = load i8, ptr %707, align 1, !tbaa !14
  %709 = zext i8 %708 to i64
  %710 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %709
  %711 = load i32, ptr %710, align 4, !tbaa !15
  %712 = load i8, ptr %695, align 1, !tbaa !14
  %713 = zext i8 %712 to i64
  %714 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %713
  %715 = load i32, ptr %714, align 4, !tbaa !15
  %716 = add i32 %711, %715
  %717 = sub i32 %706, %716
  %718 = tail call i32 @llvm.smin.i32(i32 %717, i32 255)
  %719 = tail call i32 @llvm.smax.i32(i32 %718, i32 0)
  %720 = trunc nuw i32 %719 to i8
  %721 = getelementptr inbounds i8, ptr %47, i64 %691
  store i8 %720, ptr %721, align 1, !tbaa !14
  %722 = load i8, ptr %692, align 1, !tbaa !14
  %723 = zext i8 %722 to i32
  %724 = load i8, ptr %707, align 1, !tbaa !14
  %725 = zext i8 %724 to i64
  %726 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %725
  %727 = load i32, ptr %726, align 4, !tbaa !15
  %728 = add nsw i32 %727, %723
  %729 = tail call i32 @llvm.smin.i32(i32 %728, i32 255)
  %730 = tail call i32 @llvm.smax.i32(i32 %729, i32 0)
  %731 = trunc nuw i32 %730 to i8
  %732 = getelementptr inbounds i8, ptr %44, i64 %691
  store i8 %731, ptr %732, align 1, !tbaa !14
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 16
  %733 = load i32, ptr %40, align 8, !tbaa !12
  %734 = add nsw i32 %733, -15
  %735 = sext i32 %734 to i64
  %736 = icmp slt i64 %indvars.iv.next, %735
  br i1 %736, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !16

._crit_edge.loopexit:                             ; preds = %.lr.ph
  %737 = trunc nuw nsw i64 %indvars.iv.next to i32
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %41
  %.0.lcssa = phi i32 [ 0, %41 ], [ %737, %._crit_edge.loopexit ]
  %.lcssa = phi i32 [ %60, %41 ], [ %733, %._crit_edge.loopexit ]
  %738 = icmp eq i32 %.lcssa, %.0.lcssa
  br i1 %738, label %1386, label %739

739:                                              ; preds = %._crit_edge
  %740 = sub nsw i32 %.lcssa, %.0.lcssa
  switch i32 %740, label %1386 [
    i32 1, label %.sink.split
    i32 2, label %.sink.split.sink.split
    i32 3, label %.sink.split.sink.split.sink.split
    i32 4, label %.sink.split.sink.split.sink.split.sink.split
    i32 5, label %.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 6, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 7, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 8, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 9, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 10, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 11, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 12, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 13, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 14, label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split
    i32 15, label %741
  ]

741:                                              ; preds = %739
  %742 = zext nneg i32 %.0.lcssa to i64
  %743 = getelementptr inbounds i8, ptr %53, i64 %742
  %744 = load i8, ptr %743, align 1, !tbaa !14
  %745 = zext i8 %744 to i32
  %746 = getelementptr inbounds i8, ptr %59, i64 %742
  %747 = load i8, ptr %746, align 1, !tbaa !14
  %748 = zext i8 %747 to i64
  %749 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %748
  %750 = load i32, ptr %749, align 4, !tbaa !15
  %751 = add nsw i32 %750, %745
  %752 = tail call i32 @llvm.smin.i32(i32 %751, i32 255)
  %753 = tail call i32 @llvm.smax.i32(i32 %752, i32 0)
  %754 = trunc nuw i32 %753 to i8
  %755 = getelementptr inbounds i8, ptr %50, i64 %742
  store i8 %754, ptr %755, align 1, !tbaa !14
  %756 = load i8, ptr %743, align 1, !tbaa !14
  %757 = zext i8 %756 to i32
  %758 = getelementptr inbounds i8, ptr %56, i64 %742
  %759 = load i8, ptr %758, align 1, !tbaa !14
  %760 = zext i8 %759 to i64
  %761 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %760
  %762 = load i32, ptr %761, align 4, !tbaa !15
  %763 = load i8, ptr %746, align 1, !tbaa !14
  %764 = zext i8 %763 to i64
  %765 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %764
  %766 = load i32, ptr %765, align 4, !tbaa !15
  %767 = add i32 %762, %766
  %768 = sub i32 %757, %767
  %769 = tail call i32 @llvm.smin.i32(i32 %768, i32 255)
  %770 = tail call i32 @llvm.smax.i32(i32 %769, i32 0)
  %771 = trunc nuw i32 %770 to i8
  %772 = getelementptr inbounds i8, ptr %47, i64 %742
  store i8 %771, ptr %772, align 1, !tbaa !14
  %773 = load i8, ptr %743, align 1, !tbaa !14
  %774 = zext i8 %773 to i32
  %775 = load i8, ptr %758, align 1, !tbaa !14
  %776 = zext i8 %775 to i64
  %777 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %776
  %778 = load i32, ptr %777, align 4, !tbaa !15
  %779 = add nsw i32 %778, %774
  %780 = tail call i32 @llvm.smin.i32(i32 %779, i32 255)
  %781 = tail call i32 @llvm.smax.i32(i32 %780, i32 0)
  %782 = trunc nuw i32 %781 to i8
  %783 = getelementptr inbounds i8, ptr %44, i64 %742
  store i8 %782, ptr %783, align 1, !tbaa !14
  %784 = or disjoint i32 %.0.lcssa, 1
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %739, %741
  %.0.lcssa.sink5200 = phi i32 [ %784, %741 ], [ %.0.lcssa, %739 ]
  %.sink5148 = phi i32 [ 2, %741 ], [ 1, %739 ]
  %.sink5095.ph = phi i32 [ 3, %741 ], [ 2, %739 ]
  %.sink5042.ph.ph = phi i32 [ 4, %741 ], [ 3, %739 ]
  %.sink4989.ph.ph.ph = phi i32 [ 5, %741 ], [ 4, %739 ]
  %.sink4936.ph.ph.ph.ph = phi i32 [ 6, %741 ], [ 5, %739 ]
  %.sink4883.ph.ph.ph.ph.ph = phi i32 [ 7, %741 ], [ 6, %739 ]
  %.sink4830.ph.ph.ph.ph.ph.ph = phi i32 [ 8, %741 ], [ 7, %739 ]
  %.sink4777.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 9, %741 ], [ 8, %739 ]
  %.sink4724.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 10, %741 ], [ 9, %739 ]
  %.sink4671.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 11, %741 ], [ 10, %739 ]
  %.sink4618.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 12, %741 ], [ 11, %739 ]
  %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 13, %741 ], [ 12, %739 ]
  %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 14, %741 ], [ 13, %739 ]
  %785 = zext nneg i32 %.0.lcssa.sink5200 to i64
  %786 = getelementptr inbounds i8, ptr %53, i64 %785
  %787 = load i8, ptr %786, align 1, !tbaa !14
  %788 = zext i8 %787 to i32
  %789 = getelementptr inbounds i8, ptr %59, i64 %785
  %790 = load i8, ptr %789, align 1, !tbaa !14
  %791 = zext i8 %790 to i64
  %792 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %791
  %793 = load i32, ptr %792, align 4, !tbaa !15
  %794 = add nsw i32 %793, %788
  %795 = tail call i32 @llvm.smin.i32(i32 %794, i32 255)
  %796 = tail call i32 @llvm.smax.i32(i32 %795, i32 0)
  %797 = trunc nuw i32 %796 to i8
  %798 = getelementptr inbounds i8, ptr %50, i64 %785
  store i8 %797, ptr %798, align 1, !tbaa !14
  %799 = load i8, ptr %786, align 1, !tbaa !14
  %800 = zext i8 %799 to i32
  %801 = getelementptr inbounds i8, ptr %56, i64 %785
  %802 = load i8, ptr %801, align 1, !tbaa !14
  %803 = zext i8 %802 to i64
  %804 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %803
  %805 = load i32, ptr %804, align 4, !tbaa !15
  %806 = load i8, ptr %789, align 1, !tbaa !14
  %807 = zext i8 %806 to i64
  %808 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %807
  %809 = load i32, ptr %808, align 4, !tbaa !15
  %810 = add i32 %805, %809
  %811 = sub i32 %800, %810
  %812 = tail call i32 @llvm.smin.i32(i32 %811, i32 255)
  %813 = tail call i32 @llvm.smax.i32(i32 %812, i32 0)
  %814 = trunc nuw i32 %813 to i8
  %815 = getelementptr inbounds i8, ptr %47, i64 %785
  store i8 %814, ptr %815, align 1, !tbaa !14
  %816 = load i8, ptr %786, align 1, !tbaa !14
  %817 = zext i8 %816 to i32
  %818 = load i8, ptr %801, align 1, !tbaa !14
  %819 = zext i8 %818 to i64
  %820 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %819
  %821 = load i32, ptr %820, align 4, !tbaa !15
  %822 = add nsw i32 %821, %817
  %823 = tail call i32 @llvm.smin.i32(i32 %822, i32 255)
  %824 = tail call i32 @llvm.smax.i32(i32 %823, i32 0)
  %825 = trunc nuw i32 %824 to i8
  %826 = getelementptr inbounds i8, ptr %44, i64 %785
  store i8 %825, ptr %826, align 1, !tbaa !14
  %827 = or disjoint i32 %.0.lcssa, %.sink5148
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink5147 = phi i32 [ %.0.lcssa, %739 ], [ %827, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink5095 = phi i32 [ 1, %739 ], [ %.sink5095.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink5042.ph = phi i32 [ 2, %739 ], [ %.sink5042.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4989.ph.ph = phi i32 [ 3, %739 ], [ %.sink4989.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4936.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4936.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4883.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink4883.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4830.ph.ph.ph.ph.ph = phi i32 [ 6, %739 ], [ %.sink4830.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4777.ph.ph.ph.ph.ph.ph = phi i32 [ 7, %739 ], [ %.sink4777.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 8, %739 ], [ %.sink4724.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 9, %739 ], [ %.sink4671.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 10, %739 ], [ %.sink4618.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 11, %739 ], [ %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 12, %739 ], [ %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %828 = zext nneg i32 %.0.lcssa.sink5147 to i64
  %829 = getelementptr inbounds i8, ptr %53, i64 %828
  %830 = load i8, ptr %829, align 1, !tbaa !14
  %831 = zext i8 %830 to i32
  %832 = getelementptr inbounds i8, ptr %59, i64 %828
  %833 = load i8, ptr %832, align 1, !tbaa !14
  %834 = zext i8 %833 to i64
  %835 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %834
  %836 = load i32, ptr %835, align 4, !tbaa !15
  %837 = add nsw i32 %836, %831
  %838 = tail call i32 @llvm.smin.i32(i32 %837, i32 255)
  %839 = tail call i32 @llvm.smax.i32(i32 %838, i32 0)
  %840 = trunc nuw i32 %839 to i8
  %841 = getelementptr inbounds i8, ptr %50, i64 %828
  store i8 %840, ptr %841, align 1, !tbaa !14
  %842 = load i8, ptr %829, align 1, !tbaa !14
  %843 = zext i8 %842 to i32
  %844 = getelementptr inbounds i8, ptr %56, i64 %828
  %845 = load i8, ptr %844, align 1, !tbaa !14
  %846 = zext i8 %845 to i64
  %847 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %846
  %848 = load i32, ptr %847, align 4, !tbaa !15
  %849 = load i8, ptr %832, align 1, !tbaa !14
  %850 = zext i8 %849 to i64
  %851 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %850
  %852 = load i32, ptr %851, align 4, !tbaa !15
  %853 = add i32 %848, %852
  %854 = sub i32 %843, %853
  %855 = tail call i32 @llvm.smin.i32(i32 %854, i32 255)
  %856 = tail call i32 @llvm.smax.i32(i32 %855, i32 0)
  %857 = trunc nuw i32 %856 to i8
  %858 = getelementptr inbounds i8, ptr %47, i64 %828
  store i8 %857, ptr %858, align 1, !tbaa !14
  %859 = load i8, ptr %829, align 1, !tbaa !14
  %860 = zext i8 %859 to i32
  %861 = load i8, ptr %844, align 1, !tbaa !14
  %862 = zext i8 %861 to i64
  %863 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %862
  %864 = load i32, ptr %863, align 4, !tbaa !15
  %865 = add nsw i32 %864, %860
  %866 = tail call i32 @llvm.smin.i32(i32 %865, i32 255)
  %867 = tail call i32 @llvm.smax.i32(i32 %866, i32 0)
  %868 = trunc nuw i32 %867 to i8
  %869 = getelementptr inbounds i8, ptr %44, i64 %828
  store i8 %868, ptr %869, align 1, !tbaa !14
  %870 = or disjoint i32 %.0.lcssa, %.sink5095
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink5094 = phi i32 [ %.0.lcssa, %739 ], [ %870, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink5042 = phi i32 [ 1, %739 ], [ %.sink5042.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4989.ph = phi i32 [ 2, %739 ], [ %.sink4989.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4936.ph.ph = phi i32 [ 3, %739 ], [ %.sink4936.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4883.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4883.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4830.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink4830.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4777.ph.ph.ph.ph.ph = phi i32 [ 6, %739 ], [ %.sink4777.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724.ph.ph.ph.ph.ph.ph = phi i32 [ 7, %739 ], [ %.sink4724.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 8, %739 ], [ %.sink4671.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 9, %739 ], [ %.sink4618.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 10, %739 ], [ %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 11, %739 ], [ %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %871 = zext nneg i32 %.0.lcssa.sink5094 to i64
  %872 = getelementptr inbounds i8, ptr %53, i64 %871
  %873 = load i8, ptr %872, align 1, !tbaa !14
  %874 = zext i8 %873 to i32
  %875 = getelementptr inbounds i8, ptr %59, i64 %871
  %876 = load i8, ptr %875, align 1, !tbaa !14
  %877 = zext i8 %876 to i64
  %878 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %877
  %879 = load i32, ptr %878, align 4, !tbaa !15
  %880 = add nsw i32 %879, %874
  %881 = tail call i32 @llvm.smin.i32(i32 %880, i32 255)
  %882 = tail call i32 @llvm.smax.i32(i32 %881, i32 0)
  %883 = trunc nuw i32 %882 to i8
  %884 = getelementptr inbounds i8, ptr %50, i64 %871
  store i8 %883, ptr %884, align 1, !tbaa !14
  %885 = load i8, ptr %872, align 1, !tbaa !14
  %886 = zext i8 %885 to i32
  %887 = getelementptr inbounds i8, ptr %56, i64 %871
  %888 = load i8, ptr %887, align 1, !tbaa !14
  %889 = zext i8 %888 to i64
  %890 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %889
  %891 = load i32, ptr %890, align 4, !tbaa !15
  %892 = load i8, ptr %875, align 1, !tbaa !14
  %893 = zext i8 %892 to i64
  %894 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %893
  %895 = load i32, ptr %894, align 4, !tbaa !15
  %896 = add i32 %891, %895
  %897 = sub i32 %886, %896
  %898 = tail call i32 @llvm.smin.i32(i32 %897, i32 255)
  %899 = tail call i32 @llvm.smax.i32(i32 %898, i32 0)
  %900 = trunc nuw i32 %899 to i8
  %901 = getelementptr inbounds i8, ptr %47, i64 %871
  store i8 %900, ptr %901, align 1, !tbaa !14
  %902 = load i8, ptr %872, align 1, !tbaa !14
  %903 = zext i8 %902 to i32
  %904 = load i8, ptr %887, align 1, !tbaa !14
  %905 = zext i8 %904 to i64
  %906 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %905
  %907 = load i32, ptr %906, align 4, !tbaa !15
  %908 = add nsw i32 %907, %903
  %909 = tail call i32 @llvm.smin.i32(i32 %908, i32 255)
  %910 = tail call i32 @llvm.smax.i32(i32 %909, i32 0)
  %911 = trunc nuw i32 %910 to i8
  %912 = getelementptr inbounds i8, ptr %44, i64 %871
  store i8 %911, ptr %912, align 1, !tbaa !14
  %913 = or disjoint i32 %.0.lcssa, %.sink5042
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink5041 = phi i32 [ %.0.lcssa, %739 ], [ %913, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4989 = phi i32 [ 1, %739 ], [ %.sink4989.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4936.ph = phi i32 [ 2, %739 ], [ %.sink4936.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4883.ph.ph = phi i32 [ 3, %739 ], [ %.sink4883.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4830.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4830.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4777.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink4777.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724.ph.ph.ph.ph.ph = phi i32 [ 6, %739 ], [ %.sink4724.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph.ph.ph.ph.ph.ph = phi i32 [ 7, %739 ], [ %.sink4671.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 8, %739 ], [ %.sink4618.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 9, %739 ], [ %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 10, %739 ], [ %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %914 = zext nneg i32 %.0.lcssa.sink5041 to i64
  %915 = getelementptr inbounds i8, ptr %53, i64 %914
  %916 = load i8, ptr %915, align 1, !tbaa !14
  %917 = zext i8 %916 to i32
  %918 = getelementptr inbounds i8, ptr %59, i64 %914
  %919 = load i8, ptr %918, align 1, !tbaa !14
  %920 = zext i8 %919 to i64
  %921 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %920
  %922 = load i32, ptr %921, align 4, !tbaa !15
  %923 = add nsw i32 %922, %917
  %924 = tail call i32 @llvm.smin.i32(i32 %923, i32 255)
  %925 = tail call i32 @llvm.smax.i32(i32 %924, i32 0)
  %926 = trunc nuw i32 %925 to i8
  %927 = getelementptr inbounds i8, ptr %50, i64 %914
  store i8 %926, ptr %927, align 1, !tbaa !14
  %928 = load i8, ptr %915, align 1, !tbaa !14
  %929 = zext i8 %928 to i32
  %930 = getelementptr inbounds i8, ptr %56, i64 %914
  %931 = load i8, ptr %930, align 1, !tbaa !14
  %932 = zext i8 %931 to i64
  %933 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %932
  %934 = load i32, ptr %933, align 4, !tbaa !15
  %935 = load i8, ptr %918, align 1, !tbaa !14
  %936 = zext i8 %935 to i64
  %937 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %936
  %938 = load i32, ptr %937, align 4, !tbaa !15
  %939 = add i32 %934, %938
  %940 = sub i32 %929, %939
  %941 = tail call i32 @llvm.smin.i32(i32 %940, i32 255)
  %942 = tail call i32 @llvm.smax.i32(i32 %941, i32 0)
  %943 = trunc nuw i32 %942 to i8
  %944 = getelementptr inbounds i8, ptr %47, i64 %914
  store i8 %943, ptr %944, align 1, !tbaa !14
  %945 = load i8, ptr %915, align 1, !tbaa !14
  %946 = zext i8 %945 to i32
  %947 = load i8, ptr %930, align 1, !tbaa !14
  %948 = zext i8 %947 to i64
  %949 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %948
  %950 = load i32, ptr %949, align 4, !tbaa !15
  %951 = add nsw i32 %950, %946
  %952 = tail call i32 @llvm.smin.i32(i32 %951, i32 255)
  %953 = tail call i32 @llvm.smax.i32(i32 %952, i32 0)
  %954 = trunc nuw i32 %953 to i8
  %955 = getelementptr inbounds i8, ptr %44, i64 %914
  store i8 %954, ptr %955, align 1, !tbaa !14
  %956 = or disjoint i32 %.0.lcssa, %.sink4989
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4988 = phi i32 [ %.0.lcssa, %739 ], [ %956, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4936 = phi i32 [ 1, %739 ], [ %.sink4936.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4883.ph = phi i32 [ 2, %739 ], [ %.sink4883.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4830.ph.ph = phi i32 [ 3, %739 ], [ %.sink4830.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4777.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4777.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink4724.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph.ph.ph.ph.ph = phi i32 [ 6, %739 ], [ %.sink4671.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph.ph.ph.ph.ph = phi i32 [ 7, %739 ], [ %.sink4618.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 8, %739 ], [ %.sink4565.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 9, %739 ], [ %.sink.ph.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %957 = zext nneg i32 %.0.lcssa.sink4988 to i64
  %958 = getelementptr inbounds i8, ptr %53, i64 %957
  %959 = load i8, ptr %958, align 1, !tbaa !14
  %960 = zext i8 %959 to i32
  %961 = getelementptr inbounds i8, ptr %59, i64 %957
  %962 = load i8, ptr %961, align 1, !tbaa !14
  %963 = zext i8 %962 to i64
  %964 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %963
  %965 = load i32, ptr %964, align 4, !tbaa !15
  %966 = add nsw i32 %965, %960
  %967 = tail call i32 @llvm.smin.i32(i32 %966, i32 255)
  %968 = tail call i32 @llvm.smax.i32(i32 %967, i32 0)
  %969 = trunc nuw i32 %968 to i8
  %970 = getelementptr inbounds i8, ptr %50, i64 %957
  store i8 %969, ptr %970, align 1, !tbaa !14
  %971 = load i8, ptr %958, align 1, !tbaa !14
  %972 = zext i8 %971 to i32
  %973 = getelementptr inbounds i8, ptr %56, i64 %957
  %974 = load i8, ptr %973, align 1, !tbaa !14
  %975 = zext i8 %974 to i64
  %976 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %975
  %977 = load i32, ptr %976, align 4, !tbaa !15
  %978 = load i8, ptr %961, align 1, !tbaa !14
  %979 = zext i8 %978 to i64
  %980 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %979
  %981 = load i32, ptr %980, align 4, !tbaa !15
  %982 = add i32 %977, %981
  %983 = sub i32 %972, %982
  %984 = tail call i32 @llvm.smin.i32(i32 %983, i32 255)
  %985 = tail call i32 @llvm.smax.i32(i32 %984, i32 0)
  %986 = trunc nuw i32 %985 to i8
  %987 = getelementptr inbounds i8, ptr %47, i64 %957
  store i8 %986, ptr %987, align 1, !tbaa !14
  %988 = load i8, ptr %958, align 1, !tbaa !14
  %989 = zext i8 %988 to i32
  %990 = load i8, ptr %973, align 1, !tbaa !14
  %991 = zext i8 %990 to i64
  %992 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %991
  %993 = load i32, ptr %992, align 4, !tbaa !15
  %994 = add nsw i32 %993, %989
  %995 = tail call i32 @llvm.smin.i32(i32 %994, i32 255)
  %996 = tail call i32 @llvm.smax.i32(i32 %995, i32 0)
  %997 = trunc nuw i32 %996 to i8
  %998 = getelementptr inbounds i8, ptr %44, i64 %957
  store i8 %997, ptr %998, align 1, !tbaa !14
  %999 = or disjoint i32 %.0.lcssa, %.sink4936
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4935 = phi i32 [ %.0.lcssa, %739 ], [ %999, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4883 = phi i32 [ 1, %739 ], [ %.sink4883.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4830.ph = phi i32 [ 2, %739 ], [ %.sink4830.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4777.ph.ph = phi i32 [ 3, %739 ], [ %.sink4777.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4724.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink4671.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph.ph.ph.ph = phi i32 [ 6, %739 ], [ %.sink4618.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph.ph.ph.ph = phi i32 [ 7, %739 ], [ %.sink4565.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph.ph.ph.ph = phi i32 [ 8, %739 ], [ %.sink.ph.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %1000 = zext nneg i32 %.0.lcssa.sink4935 to i64
  %1001 = getelementptr inbounds i8, ptr %53, i64 %1000
  %1002 = load i8, ptr %1001, align 1, !tbaa !14
  %1003 = zext i8 %1002 to i32
  %1004 = getelementptr inbounds i8, ptr %59, i64 %1000
  %1005 = load i8, ptr %1004, align 1, !tbaa !14
  %1006 = zext i8 %1005 to i64
  %1007 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1006
  %1008 = load i32, ptr %1007, align 4, !tbaa !15
  %1009 = add nsw i32 %1008, %1003
  %1010 = tail call i32 @llvm.smin.i32(i32 %1009, i32 255)
  %1011 = tail call i32 @llvm.smax.i32(i32 %1010, i32 0)
  %1012 = trunc nuw i32 %1011 to i8
  %1013 = getelementptr inbounds i8, ptr %50, i64 %1000
  store i8 %1012, ptr %1013, align 1, !tbaa !14
  %1014 = load i8, ptr %1001, align 1, !tbaa !14
  %1015 = zext i8 %1014 to i32
  %1016 = getelementptr inbounds i8, ptr %56, i64 %1000
  %1017 = load i8, ptr %1016, align 1, !tbaa !14
  %1018 = zext i8 %1017 to i64
  %1019 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1018
  %1020 = load i32, ptr %1019, align 4, !tbaa !15
  %1021 = load i8, ptr %1004, align 1, !tbaa !14
  %1022 = zext i8 %1021 to i64
  %1023 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1022
  %1024 = load i32, ptr %1023, align 4, !tbaa !15
  %1025 = add i32 %1020, %1024
  %1026 = sub i32 %1015, %1025
  %1027 = tail call i32 @llvm.smin.i32(i32 %1026, i32 255)
  %1028 = tail call i32 @llvm.smax.i32(i32 %1027, i32 0)
  %1029 = trunc nuw i32 %1028 to i8
  %1030 = getelementptr inbounds i8, ptr %47, i64 %1000
  store i8 %1029, ptr %1030, align 1, !tbaa !14
  %1031 = load i8, ptr %1001, align 1, !tbaa !14
  %1032 = zext i8 %1031 to i32
  %1033 = load i8, ptr %1016, align 1, !tbaa !14
  %1034 = zext i8 %1033 to i64
  %1035 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1034
  %1036 = load i32, ptr %1035, align 4, !tbaa !15
  %1037 = add nsw i32 %1036, %1032
  %1038 = tail call i32 @llvm.smin.i32(i32 %1037, i32 255)
  %1039 = tail call i32 @llvm.smax.i32(i32 %1038, i32 0)
  %1040 = trunc nuw i32 %1039 to i8
  %1041 = getelementptr inbounds i8, ptr %44, i64 %1000
  store i8 %1040, ptr %1041, align 1, !tbaa !14
  %1042 = or disjoint i32 %.0.lcssa, %.sink4883
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4882 = phi i32 [ %.0.lcssa, %739 ], [ %1042, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4830 = phi i32 [ 1, %739 ], [ %.sink4830.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4777.ph = phi i32 [ 2, %739 ], [ %.sink4777.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724.ph.ph = phi i32 [ 3, %739 ], [ %.sink4724.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4671.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink4618.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph.ph.ph = phi i32 [ 6, %739 ], [ %.sink4565.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph.ph.ph = phi i32 [ 7, %739 ], [ %.sink.ph.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %1043 = zext nneg i32 %.0.lcssa.sink4882 to i64
  %1044 = getelementptr inbounds i8, ptr %53, i64 %1043
  %1045 = load i8, ptr %1044, align 1, !tbaa !14
  %1046 = zext i8 %1045 to i32
  %1047 = getelementptr inbounds i8, ptr %59, i64 %1043
  %1048 = load i8, ptr %1047, align 1, !tbaa !14
  %1049 = zext i8 %1048 to i64
  %1050 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1049
  %1051 = load i32, ptr %1050, align 4, !tbaa !15
  %1052 = add nsw i32 %1051, %1046
  %1053 = tail call i32 @llvm.smin.i32(i32 %1052, i32 255)
  %1054 = tail call i32 @llvm.smax.i32(i32 %1053, i32 0)
  %1055 = trunc nuw i32 %1054 to i8
  %1056 = getelementptr inbounds i8, ptr %50, i64 %1043
  store i8 %1055, ptr %1056, align 1, !tbaa !14
  %1057 = load i8, ptr %1044, align 1, !tbaa !14
  %1058 = zext i8 %1057 to i32
  %1059 = getelementptr inbounds i8, ptr %56, i64 %1043
  %1060 = load i8, ptr %1059, align 1, !tbaa !14
  %1061 = zext i8 %1060 to i64
  %1062 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1061
  %1063 = load i32, ptr %1062, align 4, !tbaa !15
  %1064 = load i8, ptr %1047, align 1, !tbaa !14
  %1065 = zext i8 %1064 to i64
  %1066 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1065
  %1067 = load i32, ptr %1066, align 4, !tbaa !15
  %1068 = add i32 %1063, %1067
  %1069 = sub i32 %1058, %1068
  %1070 = tail call i32 @llvm.smin.i32(i32 %1069, i32 255)
  %1071 = tail call i32 @llvm.smax.i32(i32 %1070, i32 0)
  %1072 = trunc nuw i32 %1071 to i8
  %1073 = getelementptr inbounds i8, ptr %47, i64 %1043
  store i8 %1072, ptr %1073, align 1, !tbaa !14
  %1074 = load i8, ptr %1044, align 1, !tbaa !14
  %1075 = zext i8 %1074 to i32
  %1076 = load i8, ptr %1059, align 1, !tbaa !14
  %1077 = zext i8 %1076 to i64
  %1078 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1077
  %1079 = load i32, ptr %1078, align 4, !tbaa !15
  %1080 = add nsw i32 %1079, %1075
  %1081 = tail call i32 @llvm.smin.i32(i32 %1080, i32 255)
  %1082 = tail call i32 @llvm.smax.i32(i32 %1081, i32 0)
  %1083 = trunc nuw i32 %1082 to i8
  %1084 = getelementptr inbounds i8, ptr %44, i64 %1043
  store i8 %1083, ptr %1084, align 1, !tbaa !14
  %1085 = or disjoint i32 %.0.lcssa, %.sink4830
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4829 = phi i32 [ %.0.lcssa, %739 ], [ %1085, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4777 = phi i32 [ 1, %739 ], [ %.sink4777.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724.ph = phi i32 [ 2, %739 ], [ %.sink4724.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph.ph = phi i32 [ 3, %739 ], [ %.sink4671.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4618.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink4565.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph.ph = phi i32 [ 6, %739 ], [ %.sink.ph.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %1086 = zext nneg i32 %.0.lcssa.sink4829 to i64
  %1087 = getelementptr inbounds i8, ptr %53, i64 %1086
  %1088 = load i8, ptr %1087, align 1, !tbaa !14
  %1089 = zext i8 %1088 to i32
  %1090 = getelementptr inbounds i8, ptr %59, i64 %1086
  %1091 = load i8, ptr %1090, align 1, !tbaa !14
  %1092 = zext i8 %1091 to i64
  %1093 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1092
  %1094 = load i32, ptr %1093, align 4, !tbaa !15
  %1095 = add nsw i32 %1094, %1089
  %1096 = tail call i32 @llvm.smin.i32(i32 %1095, i32 255)
  %1097 = tail call i32 @llvm.smax.i32(i32 %1096, i32 0)
  %1098 = trunc nuw i32 %1097 to i8
  %1099 = getelementptr inbounds i8, ptr %50, i64 %1086
  store i8 %1098, ptr %1099, align 1, !tbaa !14
  %1100 = load i8, ptr %1087, align 1, !tbaa !14
  %1101 = zext i8 %1100 to i32
  %1102 = getelementptr inbounds i8, ptr %56, i64 %1086
  %1103 = load i8, ptr %1102, align 1, !tbaa !14
  %1104 = zext i8 %1103 to i64
  %1105 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1104
  %1106 = load i32, ptr %1105, align 4, !tbaa !15
  %1107 = load i8, ptr %1090, align 1, !tbaa !14
  %1108 = zext i8 %1107 to i64
  %1109 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1108
  %1110 = load i32, ptr %1109, align 4, !tbaa !15
  %1111 = add i32 %1106, %1110
  %1112 = sub i32 %1101, %1111
  %1113 = tail call i32 @llvm.smin.i32(i32 %1112, i32 255)
  %1114 = tail call i32 @llvm.smax.i32(i32 %1113, i32 0)
  %1115 = trunc nuw i32 %1114 to i8
  %1116 = getelementptr inbounds i8, ptr %47, i64 %1086
  store i8 %1115, ptr %1116, align 1, !tbaa !14
  %1117 = load i8, ptr %1087, align 1, !tbaa !14
  %1118 = zext i8 %1117 to i32
  %1119 = load i8, ptr %1102, align 1, !tbaa !14
  %1120 = zext i8 %1119 to i64
  %1121 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1120
  %1122 = load i32, ptr %1121, align 4, !tbaa !15
  %1123 = add nsw i32 %1122, %1118
  %1124 = tail call i32 @llvm.smin.i32(i32 %1123, i32 255)
  %1125 = tail call i32 @llvm.smax.i32(i32 %1124, i32 0)
  %1126 = trunc nuw i32 %1125 to i8
  %1127 = getelementptr inbounds i8, ptr %44, i64 %1086
  store i8 %1126, ptr %1127, align 1, !tbaa !14
  %1128 = or disjoint i32 %.0.lcssa, %.sink4777
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4776 = phi i32 [ %.0.lcssa, %739 ], [ %1128, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4724 = phi i32 [ 1, %739 ], [ %.sink4724.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671.ph = phi i32 [ 2, %739 ], [ %.sink4671.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph.ph = phi i32 [ 3, %739 ], [ %.sink4618.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink4565.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph.ph = phi i32 [ 5, %739 ], [ %.sink.ph.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %1129 = zext nneg i32 %.0.lcssa.sink4776 to i64
  %1130 = getelementptr inbounds i8, ptr %53, i64 %1129
  %1131 = load i8, ptr %1130, align 1, !tbaa !14
  %1132 = zext i8 %1131 to i32
  %1133 = getelementptr inbounds i8, ptr %59, i64 %1129
  %1134 = load i8, ptr %1133, align 1, !tbaa !14
  %1135 = zext i8 %1134 to i64
  %1136 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1135
  %1137 = load i32, ptr %1136, align 4, !tbaa !15
  %1138 = add nsw i32 %1137, %1132
  %1139 = tail call i32 @llvm.smin.i32(i32 %1138, i32 255)
  %1140 = tail call i32 @llvm.smax.i32(i32 %1139, i32 0)
  %1141 = trunc nuw i32 %1140 to i8
  %1142 = getelementptr inbounds i8, ptr %50, i64 %1129
  store i8 %1141, ptr %1142, align 1, !tbaa !14
  %1143 = load i8, ptr %1130, align 1, !tbaa !14
  %1144 = zext i8 %1143 to i32
  %1145 = getelementptr inbounds i8, ptr %56, i64 %1129
  %1146 = load i8, ptr %1145, align 1, !tbaa !14
  %1147 = zext i8 %1146 to i64
  %1148 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1147
  %1149 = load i32, ptr %1148, align 4, !tbaa !15
  %1150 = load i8, ptr %1133, align 1, !tbaa !14
  %1151 = zext i8 %1150 to i64
  %1152 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1151
  %1153 = load i32, ptr %1152, align 4, !tbaa !15
  %1154 = add i32 %1149, %1153
  %1155 = sub i32 %1144, %1154
  %1156 = tail call i32 @llvm.smin.i32(i32 %1155, i32 255)
  %1157 = tail call i32 @llvm.smax.i32(i32 %1156, i32 0)
  %1158 = trunc nuw i32 %1157 to i8
  %1159 = getelementptr inbounds i8, ptr %47, i64 %1129
  store i8 %1158, ptr %1159, align 1, !tbaa !14
  %1160 = load i8, ptr %1130, align 1, !tbaa !14
  %1161 = zext i8 %1160 to i32
  %1162 = load i8, ptr %1145, align 1, !tbaa !14
  %1163 = zext i8 %1162 to i64
  %1164 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1163
  %1165 = load i32, ptr %1164, align 4, !tbaa !15
  %1166 = add nsw i32 %1165, %1161
  %1167 = tail call i32 @llvm.smin.i32(i32 %1166, i32 255)
  %1168 = tail call i32 @llvm.smax.i32(i32 %1167, i32 0)
  %1169 = trunc nuw i32 %1168 to i8
  %1170 = getelementptr inbounds i8, ptr %44, i64 %1129
  store i8 %1169, ptr %1170, align 1, !tbaa !14
  %1171 = or disjoint i32 %.0.lcssa, %.sink4724
  br label %.sink.split.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split.sink.split: ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4723 = phi i32 [ %.0.lcssa, %739 ], [ %1171, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4671 = phi i32 [ 1, %739 ], [ %.sink4671.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618.ph = phi i32 [ 2, %739 ], [ %.sink4618.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph.ph = phi i32 [ 3, %739 ], [ %.sink4565.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph.ph = phi i32 [ 4, %739 ], [ %.sink.ph.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %1172 = zext nneg i32 %.0.lcssa.sink4723 to i64
  %1173 = getelementptr inbounds i8, ptr %53, i64 %1172
  %1174 = load i8, ptr %1173, align 1, !tbaa !14
  %1175 = zext i8 %1174 to i32
  %1176 = getelementptr inbounds i8, ptr %59, i64 %1172
  %1177 = load i8, ptr %1176, align 1, !tbaa !14
  %1178 = zext i8 %1177 to i64
  %1179 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1178
  %1180 = load i32, ptr %1179, align 4, !tbaa !15
  %1181 = add nsw i32 %1180, %1175
  %1182 = tail call i32 @llvm.smin.i32(i32 %1181, i32 255)
  %1183 = tail call i32 @llvm.smax.i32(i32 %1182, i32 0)
  %1184 = trunc nuw i32 %1183 to i8
  %1185 = getelementptr inbounds i8, ptr %50, i64 %1172
  store i8 %1184, ptr %1185, align 1, !tbaa !14
  %1186 = load i8, ptr %1173, align 1, !tbaa !14
  %1187 = zext i8 %1186 to i32
  %1188 = getelementptr inbounds i8, ptr %56, i64 %1172
  %1189 = load i8, ptr %1188, align 1, !tbaa !14
  %1190 = zext i8 %1189 to i64
  %1191 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1190
  %1192 = load i32, ptr %1191, align 4, !tbaa !15
  %1193 = load i8, ptr %1176, align 1, !tbaa !14
  %1194 = zext i8 %1193 to i64
  %1195 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1194
  %1196 = load i32, ptr %1195, align 4, !tbaa !15
  %1197 = add i32 %1192, %1196
  %1198 = sub i32 %1187, %1197
  %1199 = tail call i32 @llvm.smin.i32(i32 %1198, i32 255)
  %1200 = tail call i32 @llvm.smax.i32(i32 %1199, i32 0)
  %1201 = trunc nuw i32 %1200 to i8
  %1202 = getelementptr inbounds i8, ptr %47, i64 %1172
  store i8 %1201, ptr %1202, align 1, !tbaa !14
  %1203 = load i8, ptr %1173, align 1, !tbaa !14
  %1204 = zext i8 %1203 to i32
  %1205 = load i8, ptr %1188, align 1, !tbaa !14
  %1206 = zext i8 %1205 to i64
  %1207 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1206
  %1208 = load i32, ptr %1207, align 4, !tbaa !15
  %1209 = add nsw i32 %1208, %1204
  %1210 = tail call i32 @llvm.smin.i32(i32 %1209, i32 255)
  %1211 = tail call i32 @llvm.smax.i32(i32 %1210, i32 0)
  %1212 = trunc nuw i32 %1211 to i8
  %1213 = getelementptr inbounds i8, ptr %44, i64 %1172
  store i8 %1212, ptr %1213, align 1, !tbaa !14
  %1214 = or disjoint i32 %.0.lcssa, %.sink4671
  br label %.sink.split.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split.sink.split:     ; preds = %.sink.split.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4670 = phi i32 [ %.0.lcssa, %739 ], [ %1214, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4618 = phi i32 [ 1, %739 ], [ %.sink4618.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565.ph = phi i32 [ 2, %739 ], [ %.sink4565.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph.ph = phi i32 [ 3, %739 ], [ %.sink.ph.ph.ph, %.sink.split.sink.split.sink.split.sink.split.sink.split ]
  %1215 = zext nneg i32 %.0.lcssa.sink4670 to i64
  %1216 = getelementptr inbounds i8, ptr %53, i64 %1215
  %1217 = load i8, ptr %1216, align 1, !tbaa !14
  %1218 = zext i8 %1217 to i32
  %1219 = getelementptr inbounds i8, ptr %59, i64 %1215
  %1220 = load i8, ptr %1219, align 1, !tbaa !14
  %1221 = zext i8 %1220 to i64
  %1222 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1221
  %1223 = load i32, ptr %1222, align 4, !tbaa !15
  %1224 = add nsw i32 %1223, %1218
  %1225 = tail call i32 @llvm.smin.i32(i32 %1224, i32 255)
  %1226 = tail call i32 @llvm.smax.i32(i32 %1225, i32 0)
  %1227 = trunc nuw i32 %1226 to i8
  %1228 = getelementptr inbounds i8, ptr %50, i64 %1215
  store i8 %1227, ptr %1228, align 1, !tbaa !14
  %1229 = load i8, ptr %1216, align 1, !tbaa !14
  %1230 = zext i8 %1229 to i32
  %1231 = getelementptr inbounds i8, ptr %56, i64 %1215
  %1232 = load i8, ptr %1231, align 1, !tbaa !14
  %1233 = zext i8 %1232 to i64
  %1234 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1233
  %1235 = load i32, ptr %1234, align 4, !tbaa !15
  %1236 = load i8, ptr %1219, align 1, !tbaa !14
  %1237 = zext i8 %1236 to i64
  %1238 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1237
  %1239 = load i32, ptr %1238, align 4, !tbaa !15
  %1240 = add i32 %1235, %1239
  %1241 = sub i32 %1230, %1240
  %1242 = tail call i32 @llvm.smin.i32(i32 %1241, i32 255)
  %1243 = tail call i32 @llvm.smax.i32(i32 %1242, i32 0)
  %1244 = trunc nuw i32 %1243 to i8
  %1245 = getelementptr inbounds i8, ptr %47, i64 %1215
  store i8 %1244, ptr %1245, align 1, !tbaa !14
  %1246 = load i8, ptr %1216, align 1, !tbaa !14
  %1247 = zext i8 %1246 to i32
  %1248 = load i8, ptr %1231, align 1, !tbaa !14
  %1249 = zext i8 %1248 to i64
  %1250 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1249
  %1251 = load i32, ptr %1250, align 4, !tbaa !15
  %1252 = add nsw i32 %1251, %1247
  %1253 = tail call i32 @llvm.smin.i32(i32 %1252, i32 255)
  %1254 = tail call i32 @llvm.smax.i32(i32 %1253, i32 0)
  %1255 = trunc nuw i32 %1254 to i8
  %1256 = getelementptr inbounds i8, ptr %44, i64 %1215
  store i8 %1255, ptr %1256, align 1, !tbaa !14
  %1257 = or disjoint i32 %.0.lcssa, %.sink4618
  br label %.sink.split.sink.split.sink.split

.sink.split.sink.split.sink.split:                ; preds = %.sink.split.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4617 = phi i32 [ %.0.lcssa, %739 ], [ %1257, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink4565 = phi i32 [ 1, %739 ], [ %.sink4565.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %.sink.ph = phi i32 [ 2, %739 ], [ %.sink.ph.ph, %.sink.split.sink.split.sink.split.sink.split ]
  %1258 = zext nneg i32 %.0.lcssa.sink4617 to i64
  %1259 = getelementptr inbounds i8, ptr %53, i64 %1258
  %1260 = load i8, ptr %1259, align 1, !tbaa !14
  %1261 = zext i8 %1260 to i32
  %1262 = getelementptr inbounds i8, ptr %59, i64 %1258
  %1263 = load i8, ptr %1262, align 1, !tbaa !14
  %1264 = zext i8 %1263 to i64
  %1265 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1264
  %1266 = load i32, ptr %1265, align 4, !tbaa !15
  %1267 = add nsw i32 %1266, %1261
  %1268 = tail call i32 @llvm.smin.i32(i32 %1267, i32 255)
  %1269 = tail call i32 @llvm.smax.i32(i32 %1268, i32 0)
  %1270 = trunc nuw i32 %1269 to i8
  %1271 = getelementptr inbounds i8, ptr %50, i64 %1258
  store i8 %1270, ptr %1271, align 1, !tbaa !14
  %1272 = load i8, ptr %1259, align 1, !tbaa !14
  %1273 = zext i8 %1272 to i32
  %1274 = getelementptr inbounds i8, ptr %56, i64 %1258
  %1275 = load i8, ptr %1274, align 1, !tbaa !14
  %1276 = zext i8 %1275 to i64
  %1277 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1276
  %1278 = load i32, ptr %1277, align 4, !tbaa !15
  %1279 = load i8, ptr %1262, align 1, !tbaa !14
  %1280 = zext i8 %1279 to i64
  %1281 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1280
  %1282 = load i32, ptr %1281, align 4, !tbaa !15
  %1283 = add i32 %1278, %1282
  %1284 = sub i32 %1273, %1283
  %1285 = tail call i32 @llvm.smin.i32(i32 %1284, i32 255)
  %1286 = tail call i32 @llvm.smax.i32(i32 %1285, i32 0)
  %1287 = trunc nuw i32 %1286 to i8
  %1288 = getelementptr inbounds i8, ptr %47, i64 %1258
  store i8 %1287, ptr %1288, align 1, !tbaa !14
  %1289 = load i8, ptr %1259, align 1, !tbaa !14
  %1290 = zext i8 %1289 to i32
  %1291 = load i8, ptr %1274, align 1, !tbaa !14
  %1292 = zext i8 %1291 to i64
  %1293 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1292
  %1294 = load i32, ptr %1293, align 4, !tbaa !15
  %1295 = add nsw i32 %1294, %1290
  %1296 = tail call i32 @llvm.smin.i32(i32 %1295, i32 255)
  %1297 = tail call i32 @llvm.smax.i32(i32 %1296, i32 0)
  %1298 = trunc nuw i32 %1297 to i8
  %1299 = getelementptr inbounds i8, ptr %44, i64 %1258
  store i8 %1298, ptr %1299, align 1, !tbaa !14
  %1300 = or disjoint i32 %.0.lcssa, %.sink4565
  br label %.sink.split.sink.split

.sink.split.sink.split:                           ; preds = %.sink.split.sink.split.sink.split, %739
  %.0.lcssa.sink4564 = phi i32 [ %.0.lcssa, %739 ], [ %1300, %.sink.split.sink.split.sink.split ]
  %.sink = phi i32 [ 1, %739 ], [ %.sink.ph, %.sink.split.sink.split.sink.split ]
  %1301 = zext nneg i32 %.0.lcssa.sink4564 to i64
  %1302 = getelementptr inbounds i8, ptr %53, i64 %1301
  %1303 = load i8, ptr %1302, align 1, !tbaa !14
  %1304 = zext i8 %1303 to i32
  %1305 = getelementptr inbounds i8, ptr %59, i64 %1301
  %1306 = load i8, ptr %1305, align 1, !tbaa !14
  %1307 = zext i8 %1306 to i64
  %1308 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1307
  %1309 = load i32, ptr %1308, align 4, !tbaa !15
  %1310 = add nsw i32 %1309, %1304
  %1311 = tail call i32 @llvm.smin.i32(i32 %1310, i32 255)
  %1312 = tail call i32 @llvm.smax.i32(i32 %1311, i32 0)
  %1313 = trunc nuw i32 %1312 to i8
  %1314 = getelementptr inbounds i8, ptr %50, i64 %1301
  store i8 %1313, ptr %1314, align 1, !tbaa !14
  %1315 = load i8, ptr %1302, align 1, !tbaa !14
  %1316 = zext i8 %1315 to i32
  %1317 = getelementptr inbounds i8, ptr %56, i64 %1301
  %1318 = load i8, ptr %1317, align 1, !tbaa !14
  %1319 = zext i8 %1318 to i64
  %1320 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1319
  %1321 = load i32, ptr %1320, align 4, !tbaa !15
  %1322 = load i8, ptr %1305, align 1, !tbaa !14
  %1323 = zext i8 %1322 to i64
  %1324 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1323
  %1325 = load i32, ptr %1324, align 4, !tbaa !15
  %1326 = add i32 %1321, %1325
  %1327 = sub i32 %1316, %1326
  %1328 = tail call i32 @llvm.smin.i32(i32 %1327, i32 255)
  %1329 = tail call i32 @llvm.smax.i32(i32 %1328, i32 0)
  %1330 = trunc nuw i32 %1329 to i8
  %1331 = getelementptr inbounds i8, ptr %47, i64 %1301
  store i8 %1330, ptr %1331, align 1, !tbaa !14
  %1332 = load i8, ptr %1302, align 1, !tbaa !14
  %1333 = zext i8 %1332 to i32
  %1334 = load i8, ptr %1317, align 1, !tbaa !14
  %1335 = zext i8 %1334 to i64
  %1336 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1335
  %1337 = load i32, ptr %1336, align 4, !tbaa !15
  %1338 = add nsw i32 %1337, %1333
  %1339 = tail call i32 @llvm.smin.i32(i32 %1338, i32 255)
  %1340 = tail call i32 @llvm.smax.i32(i32 %1339, i32 0)
  %1341 = trunc nuw i32 %1340 to i8
  %1342 = getelementptr inbounds i8, ptr %44, i64 %1301
  store i8 %1341, ptr %1342, align 1, !tbaa !14
  %1343 = or disjoint i32 %.0.lcssa, %.sink
  br label %.sink.split

.sink.split:                                      ; preds = %.sink.split.sink.split, %739
  %.0.lcssa.sink = phi i32 [ %.0.lcssa, %739 ], [ %1343, %.sink.split.sink.split ]
  %1344 = zext nneg i32 %.0.lcssa.sink to i64
  %1345 = getelementptr inbounds i8, ptr %53, i64 %1344
  %1346 = load i8, ptr %1345, align 1, !tbaa !14
  %1347 = zext i8 %1346 to i32
  %1348 = getelementptr inbounds i8, ptr %59, i64 %1344
  %1349 = load i8, ptr %1348, align 1, !tbaa !14
  %1350 = zext i8 %1349 to i64
  %1351 = getelementptr inbounds [256 x i32], ptr @v_to_r, i64 0, i64 %1350
  %1352 = load i32, ptr %1351, align 4, !tbaa !15
  %1353 = add nsw i32 %1352, %1347
  %1354 = tail call i32 @llvm.smin.i32(i32 %1353, i32 255)
  %1355 = tail call i32 @llvm.smax.i32(i32 %1354, i32 0)
  %1356 = trunc nuw i32 %1355 to i8
  %1357 = getelementptr inbounds i8, ptr %50, i64 %1344
  store i8 %1356, ptr %1357, align 1, !tbaa !14
  %1358 = load i8, ptr %1345, align 1, !tbaa !14
  %1359 = zext i8 %1358 to i32
  %1360 = getelementptr inbounds i8, ptr %56, i64 %1344
  %1361 = load i8, ptr %1360, align 1, !tbaa !14
  %1362 = zext i8 %1361 to i64
  %1363 = getelementptr inbounds [256 x i32], ptr @u_to_g, i64 0, i64 %1362
  %1364 = load i32, ptr %1363, align 4, !tbaa !15
  %1365 = load i8, ptr %1348, align 1, !tbaa !14
  %1366 = zext i8 %1365 to i64
  %1367 = getelementptr inbounds [256 x i32], ptr @v_to_g, i64 0, i64 %1366
  %1368 = load i32, ptr %1367, align 4, !tbaa !15
  %1369 = add i32 %1364, %1368
  %1370 = sub i32 %1359, %1369
  %1371 = tail call i32 @llvm.smin.i32(i32 %1370, i32 255)
  %1372 = tail call i32 @llvm.smax.i32(i32 %1371, i32 0)
  %1373 = trunc nuw i32 %1372 to i8
  %1374 = getelementptr inbounds i8, ptr %47, i64 %1344
  store i8 %1373, ptr %1374, align 1, !tbaa !14
  %1375 = load i8, ptr %1345, align 1, !tbaa !14
  %1376 = zext i8 %1375 to i32
  %1377 = load i8, ptr %1360, align 1, !tbaa !14
  %1378 = zext i8 %1377 to i64
  %1379 = getelementptr inbounds [256 x i32], ptr @u_to_b, i64 0, i64 %1378
  %1380 = load i32, ptr %1379, align 4, !tbaa !15
  %1381 = add nsw i32 %1380, %1376
  %1382 = tail call i32 @llvm.smin.i32(i32 %1381, i32 255)
  %1383 = tail call i32 @llvm.smax.i32(i32 %1382, i32 0)
  %1384 = trunc nuw i32 %1383 to i8
  %1385 = getelementptr inbounds i8, ptr %44, i64 %1344
  store i8 %1384, ptr %1385, align 1, !tbaa !14
  br label %1386

1386:                                             ; preds = %.sink.split, %739, %._crit_edge
  %indvars.iv.next4472 = add nuw nsw i64 %indvars.iv4471, 1
  %1387 = load i32, ptr %31, align 4, !tbaa !11
  %1388 = sext i32 %1387 to i64
  %1389 = icmp slt i64 %indvars.iv.next4472, %1388
  br i1 %1389, label %41, label %._crit_edge4467, !llvm.loop !18

._crit_edge4467:                                  ; preds = %1386, %30
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #4
  %1390 = load i32, ptr %spec.select, align 8, !tbaa !5
  %1391 = icmp eq i32 %1390, 3
  %1392 = select i1 %1391, i32 3, i32 4
  store i32 %1392, ptr %3, align 4, !tbaa !15
  %1393 = call ptr @m_PropertyWrite(ptr noundef nonnull %spec.select, ptr noundef nonnull @.str.3, ptr noundef nonnull %3, i32 noundef 4) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #4
  ret void
}

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

declare void @m_Exception(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef, ...) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

declare void @ImageRedefine(ptr noundef, i32 noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

declare ptr @m_PropertyWrite(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smin.i32(i32, i32) #3

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #3

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"MImage", !7, i64 0, !7, i64 4, !7, i64 8, !8, i64 16, !10, i64 48}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!6, !7, i64 4}
!12 = !{!6, !7, i64 8}
!13 = !{!10, !10, i64 0}
!14 = !{!8, !8, i64 0}
!15 = !{!7, !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = distinct !{!18, !17}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass