; LLVM IR from rweather/lightweight-crypto :: src/combined (internal-skinny128)

; 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"

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nounwind uwtable
define dso_local void @skinny_128_256_encrypt_tk_full(ptr noundef %0, ptr noundef %1, ptr noundef %2) #1 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca [4 x i32], align 16
  %12 = alloca [4 x i32], align 16
  %13 = alloca i32, align 4
  %14 = alloca i8, align 1
  %15 = alloca i32, align 4
  %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
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #2
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #2
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #2
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #2
  store i8 0, ptr %14, align 1, !tbaa !9
  %83 = load ptr, ptr %6, align 8, !tbaa !5
  %84 = getelementptr inbounds i8, ptr %83, i64 3
  %85 = load i8, ptr %84, align 1, !tbaa !9
  %86 = zext i8 %85 to i32
  %87 = shl i32 %86, 24
  %88 = load ptr, ptr %6, align 8, !tbaa !5
  %89 = getelementptr inbounds i8, ptr %88, i64 2
  %90 = load i8, ptr %89, align 1, !tbaa !9
  %91 = zext i8 %90 to i32
  %92 = shl i32 %91, 16
  %93 = or i32 %87, %92
  %94 = load ptr, ptr %6, align 8, !tbaa !5
  %95 = getelementptr inbounds i8, ptr %94, i64 1
  %96 = load i8, ptr %95, align 1, !tbaa !9
  %97 = zext i8 %96 to i32
  %98 = shl i32 %97, 8
  %99 = or i32 %93, %98
  %100 = load ptr, ptr %6, align 8, !tbaa !5
  %101 = getelementptr inbounds i8, ptr %100, i64 0
  %102 = load i8, ptr %101, align 1, !tbaa !9
  %103 = zext i8 %102 to i32
  %104 = or i32 %99, %103
  store i32 %104, ptr %7, align 4, !tbaa !10
  %105 = load ptr, ptr %6, align 8, !tbaa !5
  %106 = getelementptr inbounds i8, ptr %105, i64 4
  %107 = getelementptr inbounds i8, ptr %106, i64 3
  %108 = load i8, ptr %107, align 1, !tbaa !9
  %109 = zext i8 %108 to i32
  %110 = shl i32 %109, 24
  %111 = load ptr, ptr %6, align 8, !tbaa !5
  %112 = getelementptr inbounds i8, ptr %111, i64 4
  %113 = getelementptr inbounds i8, ptr %112, i64 2
  %114 = load i8, ptr %113, align 1, !tbaa !9
  %115 = zext i8 %114 to i32
  %116 = shl i32 %115, 16
  %117 = or i32 %110, %116
  %118 = load ptr, ptr %6, align 8, !tbaa !5
  %119 = getelementptr inbounds i8, ptr %118, i64 4
  %120 = getelementptr inbounds i8, ptr %119, i64 1
  %121 = load i8, ptr %120, align 1, !tbaa !9
  %122 = zext i8 %121 to i32
  %123 = shl i32 %122, 8
  %124 = or i32 %117, %123
  %125 = load ptr, ptr %6, align 8, !tbaa !5
  %126 = getelementptr inbounds i8, ptr %125, i64 4
  %127 = getelementptr inbounds i8, ptr %126, i64 0
  %128 = load i8, ptr %127, align 1, !tbaa !9
  %129 = zext i8 %128 to i32
  %130 = or i32 %124, %129
  store i32 %130, ptr %8, align 4, !tbaa !10
  %131 = load ptr, ptr %6, align 8, !tbaa !5
  %132 = getelementptr inbounds i8, ptr %131, i64 8
  %133 = getelementptr inbounds i8, ptr %132, i64 3
  %134 = load i8, ptr %133, align 1, !tbaa !9
  %135 = zext i8 %134 to i32
  %136 = shl i32 %135, 24
  %137 = load ptr, ptr %6, align 8, !tbaa !5
  %138 = getelementptr inbounds i8, ptr %137, i64 8
  %139 = getelementptr inbounds i8, ptr %138, i64 2
  %140 = load i8, ptr %139, align 1, !tbaa !9
  %141 = zext i8 %140 to i32
  %142 = shl i32 %141, 16
  %143 = or i32 %136, %142
  %144 = load ptr, ptr %6, align 8, !tbaa !5
  %145 = getelementptr inbounds i8, ptr %144, i64 8
  %146 = getelementptr inbounds i8, ptr %145, i64 1
  %147 = load i8, ptr %146, align 1, !tbaa !9
  %148 = zext i8 %147 to i32
  %149 = shl i32 %148, 8
  %150 = or i32 %143, %149
  %151 = load ptr, ptr %6, align 8, !tbaa !5
  %152 = getelementptr inbounds i8, ptr %151, i64 8
  %153 = getelementptr inbounds i8, ptr %152, i64 0
  %154 = load i8, ptr %153, align 1, !tbaa !9
  %155 = zext i8 %154 to i32
  %156 = or i32 %150, %155
  store i32 %156, ptr %9, align 4, !tbaa !10
  %157 = load ptr, ptr %6, align 8, !tbaa !5
  %158 = getelementptr inbounds i8, ptr %157, i64 12
  %159 = getelementptr inbounds i8, ptr %158, i64 3
  %160 = load i8, ptr %159, align 1, !tbaa !9
  %161 = zext i8 %160 to i32
  %162 = shl i32 %161, 24
  %163 = load ptr, ptr %6, align 8, !tbaa !5
  %164 = getelementptr inbounds i8, ptr %163, i64 12
  %165 = getelementptr inbounds i8, ptr %164, i64 2
  %166 = load i8, ptr %165, align 1, !tbaa !9
  %167 = zext i8 %166 to i32
  %168 = shl i32 %167, 16
  %169 = or i32 %162, %168
  %170 = load ptr, ptr %6, align 8, !tbaa !5
  %171 = getelementptr inbounds i8, ptr %170, i64 12
  %172 = getelementptr inbounds i8, ptr %171, i64 1
  %173 = load i8, ptr %172, align 1, !tbaa !9
  %174 = zext i8 %173 to i32
  %175 = shl i32 %174, 8
  %176 = or i32 %169, %175
  %177 = load ptr, ptr %6, align 8, !tbaa !5
  %178 = getelementptr inbounds i8, ptr %177, i64 12
  %179 = getelementptr inbounds i8, ptr %178, i64 0
  %180 = load i8, ptr %179, align 1, !tbaa !9
  %181 = zext i8 %180 to i32
  %182 = or i32 %176, %181
  store i32 %182, ptr %10, align 4, !tbaa !10
  %183 = load ptr, ptr %4, align 8, !tbaa !5
  %184 = getelementptr inbounds i8, ptr %183, i64 3
  %185 = load i8, ptr %184, align 1, !tbaa !9
  %186 = zext i8 %185 to i32
  %187 = shl i32 %186, 24
  %188 = load ptr, ptr %4, align 8, !tbaa !5
  %189 = getelementptr inbounds i8, ptr %188, i64 2
  %190 = load i8, ptr %189, align 1, !tbaa !9
  %191 = zext i8 %190 to i32
  %192 = shl i32 %191, 16
  %193 = or i32 %187, %192
  %194 = load ptr, ptr %4, align 8, !tbaa !5
  %195 = getelementptr inbounds i8, ptr %194, i64 1
  %196 = load i8, ptr %195, align 1, !tbaa !9
  %197 = zext i8 %196 to i32
  %198 = shl i32 %197, 8
  %199 = or i32 %193, %198
  %200 = load ptr, ptr %4, align 8, !tbaa !5
  %201 = getelementptr inbounds i8, ptr %200, i64 0
  %202 = load i8, ptr %201, align 1, !tbaa !9
  %203 = zext i8 %202 to i32
  %204 = or i32 %199, %203
  %205 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 0
  store i32 %204, ptr %205, align 16, !tbaa !10
  %206 = load ptr, ptr %4, align 8, !tbaa !5
  %207 = getelementptr inbounds i8, ptr %206, i64 4
  %208 = getelementptr inbounds i8, ptr %207, i64 3
  %209 = load i8, ptr %208, align 1, !tbaa !9
  %210 = zext i8 %209 to i32
  %211 = shl i32 %210, 24
  %212 = load ptr, ptr %4, align 8, !tbaa !5
  %213 = getelementptr inbounds i8, ptr %212, i64 4
  %214 = getelementptr inbounds i8, ptr %213, i64 2
  %215 = load i8, ptr %214, align 1, !tbaa !9
  %216 = zext i8 %215 to i32
  %217 = shl i32 %216, 16
  %218 = or i32 %211, %217
  %219 = load ptr, ptr %4, align 8, !tbaa !5
  %220 = getelementptr inbounds i8, ptr %219, i64 4
  %221 = getelementptr inbounds i8, ptr %220, i64 1
  %222 = load i8, ptr %221, align 1, !tbaa !9
  %223 = zext i8 %222 to i32
  %224 = shl i32 %223, 8
  %225 = or i32 %218, %224
  %226 = load ptr, ptr %4, align 8, !tbaa !5
  %227 = getelementptr inbounds i8, ptr %226, i64 4
  %228 = getelementptr inbounds i8, ptr %227, i64 0
  %229 = load i8, ptr %228, align 1, !tbaa !9
  %230 = zext i8 %229 to i32
  %231 = or i32 %225, %230
  %232 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 1
  store i32 %231, ptr %232, align 4, !tbaa !10
  %233 = load ptr, ptr %4, align 8, !tbaa !5
  %234 = getelementptr inbounds i8, ptr %233, i64 8
  %235 = getelementptr inbounds i8, ptr %234, i64 3
  %236 = load i8, ptr %235, align 1, !tbaa !9
  %237 = zext i8 %236 to i32
  %238 = shl i32 %237, 24
  %239 = load ptr, ptr %4, align 8, !tbaa !5
  %240 = getelementptr inbounds i8, ptr %239, i64 8
  %241 = getelementptr inbounds i8, ptr %240, i64 2
  %242 = load i8, ptr %241, align 1, !tbaa !9
  %243 = zext i8 %242 to i32
  %244 = shl i32 %243, 16
  %245 = or i32 %238, %244
  %246 = load ptr, ptr %4, align 8, !tbaa !5
  %247 = getelementptr inbounds i8, ptr %246, i64 8
  %248 = getelementptr inbounds i8, ptr %247, i64 1
  %249 = load i8, ptr %248, align 1, !tbaa !9
  %250 = zext i8 %249 to i32
  %251 = shl i32 %250, 8
  %252 = or i32 %245, %251
  %253 = load ptr, ptr %4, align 8, !tbaa !5
  %254 = getelementptr inbounds i8, ptr %253, i64 8
  %255 = getelementptr inbounds i8, ptr %254, i64 0
  %256 = load i8, ptr %255, align 1, !tbaa !9
  %257 = zext i8 %256 to i32
  %258 = or i32 %252, %257
  %259 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 2
  store i32 %258, ptr %259, align 8, !tbaa !10
  %260 = load ptr, ptr %4, align 8, !tbaa !5
  %261 = getelementptr inbounds i8, ptr %260, i64 12
  %262 = getelementptr inbounds i8, ptr %261, i64 3
  %263 = load i8, ptr %262, align 1, !tbaa !9
  %264 = zext i8 %263 to i32
  %265 = shl i32 %264, 24
  %266 = load ptr, ptr %4, align 8, !tbaa !5
  %267 = getelementptr inbounds i8, ptr %266, i64 12
  %268 = getelementptr inbounds i8, ptr %267, i64 2
  %269 = load i8, ptr %268, align 1, !tbaa !9
  %270 = zext i8 %269 to i32
  %271 = shl i32 %270, 16
  %272 = or i32 %265, %271
  %273 = load ptr, ptr %4, align 8, !tbaa !5
  %274 = getelementptr inbounds i8, ptr %273, i64 12
  %275 = getelementptr inbounds i8, ptr %274, i64 1
  %276 = load i8, ptr %275, align 1, !tbaa !9
  %277 = zext i8 %276 to i32
  %278 = shl i32 %277, 8
  %279 = or i32 %272, %278
  %280 = load ptr, ptr %4, align 8, !tbaa !5
  %281 = getelementptr inbounds i8, ptr %280, i64 12
  %282 = getelementptr inbounds i8, ptr %281, i64 0
  %283 = load i8, ptr %282, align 1, !tbaa !9
  %284 = zext i8 %283 to i32
  %285 = or i32 %279, %284
  %286 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 3
  store i32 %285, ptr %286, align 4, !tbaa !10
  %287 = load ptr, ptr %4, align 8, !tbaa !5
  %288 = getelementptr inbounds i8, ptr %287, i64 16
  %289 = getelementptr inbounds i8, ptr %288, i64 3
  %290 = load i8, ptr %289, align 1, !tbaa !9
  %291 = zext i8 %290 to i32
  %292 = shl i32 %291, 24
  %293 = load ptr, ptr %4, align 8, !tbaa !5
  %294 = getelementptr inbounds i8, ptr %293, i64 16
  %295 = getelementptr inbounds i8, ptr %294, i64 2
  %296 = load i8, ptr %295, align 1, !tbaa !9
  %297 = zext i8 %296 to i32
  %298 = shl i32 %297, 16
  %299 = or i32 %292, %298
  %300 = load ptr, ptr %4, align 8, !tbaa !5
  %301 = getelementptr inbounds i8, ptr %300, i64 16
  %302 = getelementptr inbounds i8, ptr %301, i64 1
  %303 = load i8, ptr %302, align 1, !tbaa !9
  %304 = zext i8 %303 to i32
  %305 = shl i32 %304, 8
  %306 = or i32 %299, %305
  %307 = load ptr, ptr %4, align 8, !tbaa !5
  %308 = getelementptr inbounds i8, ptr %307, i64 16
  %309 = getelementptr inbounds i8, ptr %308, i64 0
  %310 = load i8, ptr %309, align 1, !tbaa !9
  %311 = zext i8 %310 to i32
  %312 = or i32 %306, %311
  %313 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  store i32 %312, ptr %313, align 16, !tbaa !10
  %314 = load ptr, ptr %4, align 8, !tbaa !5
  %315 = getelementptr inbounds i8, ptr %314, i64 20
  %316 = getelementptr inbounds i8, ptr %315, i64 3
  %317 = load i8, ptr %316, align 1, !tbaa !9
  %318 = zext i8 %317 to i32
  %319 = shl i32 %318, 24
  %320 = load ptr, ptr %4, align 8, !tbaa !5
  %321 = getelementptr inbounds i8, ptr %320, i64 20
  %322 = getelementptr inbounds i8, ptr %321, i64 2
  %323 = load i8, ptr %322, align 1, !tbaa !9
  %324 = zext i8 %323 to i32
  %325 = shl i32 %324, 16
  %326 = or i32 %319, %325
  %327 = load ptr, ptr %4, align 8, !tbaa !5
  %328 = getelementptr inbounds i8, ptr %327, i64 20
  %329 = getelementptr inbounds i8, ptr %328, i64 1
  %330 = load i8, ptr %329, align 1, !tbaa !9
  %331 = zext i8 %330 to i32
  %332 = shl i32 %331, 8
  %333 = or i32 %326, %332
  %334 = load ptr, ptr %4, align 8, !tbaa !5
  %335 = getelementptr inbounds i8, ptr %334, i64 20
  %336 = getelementptr inbounds i8, ptr %335, i64 0
  %337 = load i8, ptr %336, align 1, !tbaa !9
  %338 = zext i8 %337 to i32
  %339 = or i32 %333, %338
  %340 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  store i32 %339, ptr %340, align 4, !tbaa !10
  %341 = load ptr, ptr %4, align 8, !tbaa !5
  %342 = getelementptr inbounds i8, ptr %341, i64 24
  %343 = getelementptr inbounds i8, ptr %342, i64 3
  %344 = load i8, ptr %343, align 1, !tbaa !9
  %345 = zext i8 %344 to i32
  %346 = shl i32 %345, 24
  %347 = load ptr, ptr %4, align 8, !tbaa !5
  %348 = getelementptr inbounds i8, ptr %347, i64 24
  %349 = getelementptr inbounds i8, ptr %348, i64 2
  %350 = load i8, ptr %349, align 1, !tbaa !9
  %351 = zext i8 %350 to i32
  %352 = shl i32 %351, 16
  %353 = or i32 %346, %352
  %354 = load ptr, ptr %4, align 8, !tbaa !5
  %355 = getelementptr inbounds i8, ptr %354, i64 24
  %356 = getelementptr inbounds i8, ptr %355, i64 1
  %357 = load i8, ptr %356, align 1, !tbaa !9
  %358 = zext i8 %357 to i32
  %359 = shl i32 %358, 8
  %360 = or i32 %353, %359
  %361 = load ptr, ptr %4, align 8, !tbaa !5
  %362 = getelementptr inbounds i8, ptr %361, i64 24
  %363 = getelementptr inbounds i8, ptr %362, i64 0
  %364 = load i8, ptr %363, align 1, !tbaa !9
  %365 = zext i8 %364 to i32
  %366 = or i32 %360, %365
  %367 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  store i32 %366, ptr %367, align 8, !tbaa !10
  %368 = load ptr, ptr %4, align 8, !tbaa !5
  %369 = getelementptr inbounds i8, ptr %368, i64 28
  %370 = getelementptr inbounds i8, ptr %369, i64 3
  %371 = load i8, ptr %370, align 1, !tbaa !9
  %372 = zext i8 %371 to i32
  %373 = shl i32 %372, 24
  %374 = load ptr, ptr %4, align 8, !tbaa !5
  %375 = getelementptr inbounds i8, ptr %374, i64 28
  %376 = getelementptr inbounds i8, ptr %375, i64 2
  %377 = load i8, ptr %376, align 1, !tbaa !9
  %378 = zext i8 %377 to i32
  %379 = shl i32 %378, 16
  %380 = or i32 %373, %379
  %381 = load ptr, ptr %4, align 8, !tbaa !5
  %382 = getelementptr inbounds i8, ptr %381, i64 28
  %383 = getelementptr inbounds i8, ptr %382, i64 1
  %384 = load i8, ptr %383, align 1, !tbaa !9
  %385 = zext i8 %384 to i32
  %386 = shl i32 %385, 8
  %387 = or i32 %380, %386
  %388 = load ptr, ptr %4, align 8, !tbaa !5
  %389 = getelementptr inbounds i8, ptr %388, i64 28
  %390 = getelementptr inbounds i8, ptr %389, i64 0
  %391 = load i8, ptr %390, align 1, !tbaa !9
  %392 = zext i8 %391 to i32
  %393 = or i32 %387, %392
  %394 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  store i32 %393, ptr %394, align 4, !tbaa !10
  store i32 0, ptr %13, align 4, !tbaa !10
  br label %395

395:                                              ; preds = %2503, %3
  %396 = load i32, ptr %13, align 4, !tbaa !10
  %397 = icmp ult i32 %396, 48
  br i1 %397, label %398, label %2506

398:                                              ; preds = %395
  br label %399

399:                                              ; preds = %398
  br label %400

400:                                              ; preds = %399
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #2
  %401 = load i32, ptr %7, align 4, !tbaa !10
  %402 = xor i32 %401, -1
  store i32 %402, ptr %7, align 4, !tbaa !10
  %403 = load i32, ptr %7, align 4, !tbaa !10
  %404 = lshr i32 %403, 2
  %405 = load i32, ptr %7, align 4, !tbaa !10
  %406 = lshr i32 %405, 3
  %407 = and i32 %404, %406
  %408 = and i32 %407, 286331153
  %409 = load i32, ptr %7, align 4, !tbaa !10
  %410 = xor i32 %409, %408
  store i32 %410, ptr %7, align 4, !tbaa !10
  %411 = load i32, ptr %7, align 4, !tbaa !10
  %412 = shl i32 %411, 5
  %413 = load i32, ptr %7, align 4, !tbaa !10
  %414 = shl i32 %413, 1
  %415 = and i32 %412, %414
  %416 = and i32 %415, 538976288
  store i32 %416, ptr %15, align 4, !tbaa !10
  %417 = load i32, ptr %7, align 4, !tbaa !10
  %418 = shl i32 %417, 5
  %419 = load i32, ptr %7, align 4, !tbaa !10
  %420 = shl i32 %419, 4
  %421 = and i32 %418, %420
  %422 = and i32 %421, 1077952576
  %423 = load i32, ptr %15, align 4, !tbaa !10
  %424 = xor i32 %422, %423
  %425 = load i32, ptr %7, align 4, !tbaa !10
  %426 = xor i32 %425, %424
  store i32 %426, ptr %7, align 4, !tbaa !10
  %427 = load i32, ptr %7, align 4, !tbaa !10
  %428 = shl i32 %427, 2
  %429 = load i32, ptr %7, align 4, !tbaa !10
  %430 = shl i32 %429, 1
  %431 = and i32 %428, %430
  %432 = and i32 %431, -2139062144
  store i32 %432, ptr %15, align 4, !tbaa !10
  %433 = load i32, ptr %7, align 4, !tbaa !10
  %434 = lshr i32 %433, 2
  %435 = load i32, ptr %7, align 4, !tbaa !10
  %436 = shl i32 %435, 1
  %437 = and i32 %434, %436
  %438 = and i32 %437, 33686018
  %439 = load i32, ptr %15, align 4, !tbaa !10
  %440 = xor i32 %438, %439
  %441 = load i32, ptr %7, align 4, !tbaa !10
  %442 = xor i32 %441, %440
  store i32 %442, ptr %7, align 4, !tbaa !10
  %443 = load i32, ptr %7, align 4, !tbaa !10
  %444 = lshr i32 %443, 5
  %445 = load i32, ptr %7, align 4, !tbaa !10
  %446 = shl i32 %445, 1
  %447 = and i32 %444, %446
  %448 = and i32 %447, 67372036
  store i32 %448, ptr %15, align 4, !tbaa !10
  %449 = load i32, ptr %7, align 4, !tbaa !10
  %450 = lshr i32 %449, 1
  %451 = load i32, ptr %7, align 4, !tbaa !10
  %452 = lshr i32 %451, 2
  %453 = and i32 %450, %452
  %454 = and i32 %453, 134744072
  %455 = load i32, ptr %15, align 4, !tbaa !10
  %456 = xor i32 %454, %455
  %457 = load i32, ptr %7, align 4, !tbaa !10
  %458 = xor i32 %457, %456
  store i32 %458, ptr %7, align 4, !tbaa !10
  %459 = load i32, ptr %7, align 4, !tbaa !10
  %460 = xor i32 %459, -1
  store i32 %460, ptr %7, align 4, !tbaa !10
  %461 = load i32, ptr %7, align 4, !tbaa !10
  %462 = and i32 %461, 134744072
  %463 = shl i32 %462, 1
  %464 = load i32, ptr %7, align 4, !tbaa !10
  %465 = and i32 %464, 842150450
  %466 = shl i32 %465, 2
  %467 = or i32 %463, %466
  %468 = load i32, ptr %7, align 4, !tbaa !10
  %469 = and i32 %468, 16843009
  %470 = shl i32 %469, 5
  %471 = or i32 %467, %470
  %472 = load i32, ptr %7, align 4, !tbaa !10
  %473 = and i32 %472, -2139062144
  %474 = lshr i32 %473, 6
  %475 = or i32 %471, %474
  %476 = load i32, ptr %7, align 4, !tbaa !10
  %477 = and i32 %476, 1077952576
  %478 = lshr i32 %477, 4
  %479 = or i32 %475, %478
  %480 = load i32, ptr %7, align 4, !tbaa !10
  %481 = and i32 %480, 67372036
  %482 = lshr i32 %481, 2
  %483 = or i32 %479, %482
  store i32 %483, ptr %7, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #2
  br label %484

484:                                              ; preds = %400
  br label %485

485:                                              ; preds = %484
  br label %486

486:                                              ; preds = %485
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #2
  %487 = load i32, ptr %8, align 4, !tbaa !10
  %488 = xor i32 %487, -1
  store i32 %488, ptr %8, align 4, !tbaa !10
  %489 = load i32, ptr %8, align 4, !tbaa !10
  %490 = lshr i32 %489, 2
  %491 = load i32, ptr %8, align 4, !tbaa !10
  %492 = lshr i32 %491, 3
  %493 = and i32 %490, %492
  %494 = and i32 %493, 286331153
  %495 = load i32, ptr %8, align 4, !tbaa !10
  %496 = xor i32 %495, %494
  store i32 %496, ptr %8, align 4, !tbaa !10
  %497 = load i32, ptr %8, align 4, !tbaa !10
  %498 = shl i32 %497, 5
  %499 = load i32, ptr %8, align 4, !tbaa !10
  %500 = shl i32 %499, 1
  %501 = and i32 %498, %500
  %502 = and i32 %501, 538976288
  store i32 %502, ptr %16, align 4, !tbaa !10
  %503 = load i32, ptr %8, align 4, !tbaa !10
  %504 = shl i32 %503, 5
  %505 = load i32, ptr %8, align 4, !tbaa !10
  %506 = shl i32 %505, 4
  %507 = and i32 %504, %506
  %508 = and i32 %507, 1077952576
  %509 = load i32, ptr %16, align 4, !tbaa !10
  %510 = xor i32 %508, %509
  %511 = load i32, ptr %8, align 4, !tbaa !10
  %512 = xor i32 %511, %510
  store i32 %512, ptr %8, align 4, !tbaa !10
  %513 = load i32, ptr %8, align 4, !tbaa !10
  %514 = shl i32 %513, 2
  %515 = load i32, ptr %8, align 4, !tbaa !10
  %516 = shl i32 %515, 1
  %517 = and i32 %514, %516
  %518 = and i32 %517, -2139062144
  store i32 %518, ptr %16, align 4, !tbaa !10
  %519 = load i32, ptr %8, align 4, !tbaa !10
  %520 = lshr i32 %519, 2
  %521 = load i32, ptr %8, align 4, !tbaa !10
  %522 = shl i32 %521, 1
  %523 = and i32 %520, %522
  %524 = and i32 %523, 33686018
  %525 = load i32, ptr %16, align 4, !tbaa !10
  %526 = xor i32 %524, %525
  %527 = load i32, ptr %8, align 4, !tbaa !10
  %528 = xor i32 %527, %526
  store i32 %528, ptr %8, align 4, !tbaa !10
  %529 = load i32, ptr %8, align 4, !tbaa !10
  %530 = lshr i32 %529, 5
  %531 = load i32, ptr %8, align 4, !tbaa !10
  %532 = shl i32 %531, 1
  %533 = and i32 %530, %532
  %534 = and i32 %533, 67372036
  store i32 %534, ptr %16, align 4, !tbaa !10
  %535 = load i32, ptr %8, align 4, !tbaa !10
  %536 = lshr i32 %535, 1
  %537 = load i32, ptr %8, align 4, !tbaa !10
  %538 = lshr i32 %537, 2
  %539 = and i32 %536, %538
  %540 = and i32 %539, 134744072
  %541 = load i32, ptr %16, align 4, !tbaa !10
  %542 = xor i32 %540, %541
  %543 = load i32, ptr %8, align 4, !tbaa !10
  %544 = xor i32 %543, %542
  store i32 %544, ptr %8, align 4, !tbaa !10
  %545 = load i32, ptr %8, align 4, !tbaa !10
  %546 = xor i32 %545, -1
  store i32 %546, ptr %8, align 4, !tbaa !10
  %547 = load i32, ptr %8, align 4, !tbaa !10
  %548 = and i32 %547, 134744072
  %549 = shl i32 %548, 1
  %550 = load i32, ptr %8, align 4, !tbaa !10
  %551 = and i32 %550, 842150450
  %552 = shl i32 %551, 2
  %553 = or i32 %549, %552
  %554 = load i32, ptr %8, align 4, !tbaa !10
  %555 = and i32 %554, 16843009
  %556 = shl i32 %555, 5
  %557 = or i32 %553, %556
  %558 = load i32, ptr %8, align 4, !tbaa !10
  %559 = and i32 %558, -2139062144
  %560 = lshr i32 %559, 6
  %561 = or i32 %557, %560
  %562 = load i32, ptr %8, align 4, !tbaa !10
  %563 = and i32 %562, 1077952576
  %564 = lshr i32 %563, 4
  %565 = or i32 %561, %564
  %566 = load i32, ptr %8, align 4, !tbaa !10
  %567 = and i32 %566, 67372036
  %568 = lshr i32 %567, 2
  %569 = or i32 %565, %568
  store i32 %569, ptr %8, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #2
  br label %570

570:                                              ; preds = %486
  br label %571

571:                                              ; preds = %570
  br label %572

572:                                              ; preds = %571
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #2
  %573 = load i32, ptr %9, align 4, !tbaa !10
  %574 = xor i32 %573, -1
  store i32 %574, ptr %9, align 4, !tbaa !10
  %575 = load i32, ptr %9, align 4, !tbaa !10
  %576 = lshr i32 %575, 2
  %577 = load i32, ptr %9, align 4, !tbaa !10
  %578 = lshr i32 %577, 3
  %579 = and i32 %576, %578
  %580 = and i32 %579, 286331153
  %581 = load i32, ptr %9, align 4, !tbaa !10
  %582 = xor i32 %581, %580
  store i32 %582, ptr %9, align 4, !tbaa !10
  %583 = load i32, ptr %9, align 4, !tbaa !10
  %584 = shl i32 %583, 5
  %585 = load i32, ptr %9, align 4, !tbaa !10
  %586 = shl i32 %585, 1
  %587 = and i32 %584, %586
  %588 = and i32 %587, 538976288
  store i32 %588, ptr %17, align 4, !tbaa !10
  %589 = load i32, ptr %9, align 4, !tbaa !10
  %590 = shl i32 %589, 5
  %591 = load i32, ptr %9, align 4, !tbaa !10
  %592 = shl i32 %591, 4
  %593 = and i32 %590, %592
  %594 = and i32 %593, 1077952576
  %595 = load i32, ptr %17, align 4, !tbaa !10
  %596 = xor i32 %594, %595
  %597 = load i32, ptr %9, align 4, !tbaa !10
  %598 = xor i32 %597, %596
  store i32 %598, ptr %9, align 4, !tbaa !10
  %599 = load i32, ptr %9, align 4, !tbaa !10
  %600 = shl i32 %599, 2
  %601 = load i32, ptr %9, align 4, !tbaa !10
  %602 = shl i32 %601, 1
  %603 = and i32 %600, %602
  %604 = and i32 %603, -2139062144
  store i32 %604, ptr %17, align 4, !tbaa !10
  %605 = load i32, ptr %9, align 4, !tbaa !10
  %606 = lshr i32 %605, 2
  %607 = load i32, ptr %9, align 4, !tbaa !10
  %608 = shl i32 %607, 1
  %609 = and i32 %606, %608
  %610 = and i32 %609, 33686018
  %611 = load i32, ptr %17, align 4, !tbaa !10
  %612 = xor i32 %610, %611
  %613 = load i32, ptr %9, align 4, !tbaa !10
  %614 = xor i32 %613, %612
  store i32 %614, ptr %9, align 4, !tbaa !10
  %615 = load i32, ptr %9, align 4, !tbaa !10
  %616 = lshr i32 %615, 5
  %617 = load i32, ptr %9, align 4, !tbaa !10
  %618 = shl i32 %617, 1
  %619 = and i32 %616, %618
  %620 = and i32 %619, 67372036
  store i32 %620, ptr %17, align 4, !tbaa !10
  %621 = load i32, ptr %9, align 4, !tbaa !10
  %622 = lshr i32 %621, 1
  %623 = load i32, ptr %9, align 4, !tbaa !10
  %624 = lshr i32 %623, 2
  %625 = and i32 %622, %624
  %626 = and i32 %625, 134744072
  %627 = load i32, ptr %17, align 4, !tbaa !10
  %628 = xor i32 %626, %627
  %629 = load i32, ptr %9, align 4, !tbaa !10
  %630 = xor i32 %629, %628
  store i32 %630, ptr %9, align 4, !tbaa !10
  %631 = load i32, ptr %9, align 4, !tbaa !10
  %632 = xor i32 %631, -1
  store i32 %632, ptr %9, align 4, !tbaa !10
  %633 = load i32, ptr %9, align 4, !tbaa !10
  %634 = and i32 %633, 134744072
  %635 = shl i32 %634, 1
  %636 = load i32, ptr %9, align 4, !tbaa !10
  %637 = and i32 %636, 842150450
  %638 = shl i32 %637, 2
  %639 = or i32 %635, %638
  %640 = load i32, ptr %9, align 4, !tbaa !10
  %641 = and i32 %640, 16843009
  %642 = shl i32 %641, 5
  %643 = or i32 %639, %642
  %644 = load i32, ptr %9, align 4, !tbaa !10
  %645 = and i32 %644, -2139062144
  %646 = lshr i32 %645, 6
  %647 = or i32 %643, %646
  %648 = load i32, ptr %9, align 4, !tbaa !10
  %649 = and i32 %648, 1077952576
  %650 = lshr i32 %649, 4
  %651 = or i32 %647, %650
  %652 = load i32, ptr %9, align 4, !tbaa !10
  %653 = and i32 %652, 67372036
  %654 = lshr i32 %653, 2
  %655 = or i32 %651, %654
  store i32 %655, ptr %9, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #2
  br label %656

656:                                              ; preds = %572
  br label %657

657:                                              ; preds = %656
  br label %658

658:                                              ; preds = %657
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #2
  %659 = load i32, ptr %10, align 4, !tbaa !10
  %660 = xor i32 %659, -1
  store i32 %660, ptr %10, align 4, !tbaa !10
  %661 = load i32, ptr %10, align 4, !tbaa !10
  %662 = lshr i32 %661, 2
  %663 = load i32, ptr %10, align 4, !tbaa !10
  %664 = lshr i32 %663, 3
  %665 = and i32 %662, %664
  %666 = and i32 %665, 286331153
  %667 = load i32, ptr %10, align 4, !tbaa !10
  %668 = xor i32 %667, %666
  store i32 %668, ptr %10, align 4, !tbaa !10
  %669 = load i32, ptr %10, align 4, !tbaa !10
  %670 = shl i32 %669, 5
  %671 = load i32, ptr %10, align 4, !tbaa !10
  %672 = shl i32 %671, 1
  %673 = and i32 %670, %672
  %674 = and i32 %673, 538976288
  store i32 %674, ptr %18, align 4, !tbaa !10
  %675 = load i32, ptr %10, align 4, !tbaa !10
  %676 = shl i32 %675, 5
  %677 = load i32, ptr %10, align 4, !tbaa !10
  %678 = shl i32 %677, 4
  %679 = and i32 %676, %678
  %680 = and i32 %679, 1077952576
  %681 = load i32, ptr %18, align 4, !tbaa !10
  %682 = xor i32 %680, %681
  %683 = load i32, ptr %10, align 4, !tbaa !10
  %684 = xor i32 %683, %682
  store i32 %684, ptr %10, align 4, !tbaa !10
  %685 = load i32, ptr %10, align 4, !tbaa !10
  %686 = shl i32 %685, 2
  %687 = load i32, ptr %10, align 4, !tbaa !10
  %688 = shl i32 %687, 1
  %689 = and i32 %686, %688
  %690 = and i32 %689, -2139062144
  store i32 %690, ptr %18, align 4, !tbaa !10
  %691 = load i32, ptr %10, align 4, !tbaa !10
  %692 = lshr i32 %691, 2
  %693 = load i32, ptr %10, align 4, !tbaa !10
  %694 = shl i32 %693, 1
  %695 = and i32 %692, %694
  %696 = and i32 %695, 33686018
  %697 = load i32, ptr %18, align 4, !tbaa !10
  %698 = xor i32 %696, %697
  %699 = load i32, ptr %10, align 4, !tbaa !10
  %700 = xor i32 %699, %698
  store i32 %700, ptr %10, align 4, !tbaa !10
  %701 = load i32, ptr %10, align 4, !tbaa !10
  %702 = lshr i32 %701, 5
  %703 = load i32, ptr %10, align 4, !tbaa !10
  %704 = shl i32 %703, 1
  %705 = and i32 %702, %704
  %706 = and i32 %705, 67372036
  store i32 %706, ptr %18, align 4, !tbaa !10
  %707 = load i32, ptr %10, align 4, !tbaa !10
  %708 = lshr i32 %707, 1
  %709 = load i32, ptr %10, align 4, !tbaa !10
  %710 = lshr i32 %709, 2
  %711 = and i32 %708, %710
  %712 = and i32 %711, 134744072
  %713 = load i32, ptr %18, align 4, !tbaa !10
  %714 = xor i32 %712, %713
  %715 = load i32, ptr %10, align 4, !tbaa !10
  %716 = xor i32 %715, %714
  store i32 %716, ptr %10, align 4, !tbaa !10
  %717 = load i32, ptr %10, align 4, !tbaa !10
  %718 = xor i32 %717, -1
  store i32 %718, ptr %10, align 4, !tbaa !10
  %719 = load i32, ptr %10, align 4, !tbaa !10
  %720 = and i32 %719, 134744072
  %721 = shl i32 %720, 1
  %722 = load i32, ptr %10, align 4, !tbaa !10
  %723 = and i32 %722, 842150450
  %724 = shl i32 %723, 2
  %725 = or i32 %721, %724
  %726 = load i32, ptr %10, align 4, !tbaa !10
  %727 = and i32 %726, 16843009
  %728 = shl i32 %727, 5
  %729 = or i32 %725, %728
  %730 = load i32, ptr %10, align 4, !tbaa !10
  %731 = and i32 %730, -2139062144
  %732 = lshr i32 %731, 6
  %733 = or i32 %729, %732
  %734 = load i32, ptr %10, align 4, !tbaa !10
  %735 = and i32 %734, 1077952576
  %736 = lshr i32 %735, 4
  %737 = or i32 %733, %736
  %738 = load i32, ptr %10, align 4, !tbaa !10
  %739 = and i32 %738, 67372036
  %740 = lshr i32 %739, 2
  %741 = or i32 %737, %740
  store i32 %741, ptr %10, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #2
  br label %742

742:                                              ; preds = %658
  br label %743

743:                                              ; preds = %742
  %744 = load i8, ptr %14, align 1, !tbaa !9
  %745 = zext i8 %744 to i32
  %746 = shl i32 %745, 1
  %747 = load i8, ptr %14, align 1, !tbaa !9
  %748 = zext i8 %747 to i32
  %749 = ashr i32 %748, 5
  %750 = and i32 %749, 1
  %751 = xor i32 %746, %750
  %752 = load i8, ptr %14, align 1, !tbaa !9
  %753 = zext i8 %752 to i32
  %754 = ashr i32 %753, 4
  %755 = and i32 %754, 1
  %756 = xor i32 %751, %755
  %757 = xor i32 %756, 1
  %758 = trunc i32 %757 to i8
  store i8 %758, ptr %14, align 1, !tbaa !9
  %759 = load i8, ptr %14, align 1, !tbaa !9
  %760 = zext i8 %759 to i32
  %761 = and i32 %760, 63
  %762 = trunc i32 %761 to i8
  store i8 %762, ptr %14, align 1, !tbaa !9
  %763 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 0
  %764 = load i32, ptr %763, align 16, !tbaa !10
  %765 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  %766 = load i32, ptr %765, align 16, !tbaa !10
  %767 = xor i32 %764, %766
  %768 = load i8, ptr %14, align 1, !tbaa !9
  %769 = zext i8 %768 to i32
  %770 = and i32 %769, 15
  %771 = xor i32 %767, %770
  %772 = load i32, ptr %7, align 4, !tbaa !10
  %773 = xor i32 %772, %771
  store i32 %773, ptr %7, align 4, !tbaa !10
  %774 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 1
  %775 = load i32, ptr %774, align 4, !tbaa !10
  %776 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  %777 = load i32, ptr %776, align 4, !tbaa !10
  %778 = xor i32 %775, %777
  %779 = load i8, ptr %14, align 1, !tbaa !9
  %780 = zext i8 %779 to i32
  %781 = ashr i32 %780, 4
  %782 = xor i32 %778, %781
  %783 = load i32, ptr %8, align 4, !tbaa !10
  %784 = xor i32 %783, %782
  store i32 %784, ptr %8, align 4, !tbaa !10
  %785 = load i32, ptr %9, align 4, !tbaa !10
  %786 = xor i32 %785, 2
  store i32 %786, ptr %9, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #2
  %787 = load i32, ptr %8, align 4, !tbaa !10
  store i32 %787, ptr %19, align 4, !tbaa !10
  %788 = load i32, ptr %19, align 4, !tbaa !10
  %789 = shl i32 %788, 8
  %790 = load i32, ptr %19, align 4, !tbaa !10
  %791 = lshr i32 %790, 24
  %792 = or i32 %789, %791
  store i32 %792, ptr %20, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #2
  %793 = load i32, ptr %20, align 4, !tbaa !10
  store i32 %793, ptr %8, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #2
  %794 = load i32, ptr %9, align 4, !tbaa !10
  store i32 %794, ptr %21, align 4, !tbaa !10
  %795 = load i32, ptr %21, align 4, !tbaa !10
  %796 = shl i32 %795, 16
  %797 = load i32, ptr %21, align 4, !tbaa !10
  %798 = lshr i32 %797, 16
  %799 = or i32 %796, %798
  store i32 %799, ptr %22, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #2
  %800 = load i32, ptr %22, align 4, !tbaa !10
  store i32 %800, ptr %9, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #2
  %801 = load i32, ptr %10, align 4, !tbaa !10
  store i32 %801, ptr %23, align 4, !tbaa !10
  %802 = load i32, ptr %23, align 4, !tbaa !10
  %803 = shl i32 %802, 24
  %804 = load i32, ptr %23, align 4, !tbaa !10
  %805 = lshr i32 %804, 8
  %806 = or i32 %803, %805
  store i32 %806, ptr %24, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #2
  %807 = load i32, ptr %24, align 4, !tbaa !10
  store i32 %807, ptr %10, align 4, !tbaa !10
  %808 = load i32, ptr %9, align 4, !tbaa !10
  %809 = load i32, ptr %8, align 4, !tbaa !10
  %810 = xor i32 %809, %808
  store i32 %810, ptr %8, align 4, !tbaa !10
  %811 = load i32, ptr %7, align 4, !tbaa !10
  %812 = load i32, ptr %9, align 4, !tbaa !10
  %813 = xor i32 %812, %811
  store i32 %813, ptr %9, align 4, !tbaa !10
  %814 = load i32, ptr %9, align 4, !tbaa !10
  %815 = load i32, ptr %10, align 4, !tbaa !10
  %816 = xor i32 %815, %814
  store i32 %816, ptr %10, align 4, !tbaa !10
  br label %817

817:                                              ; preds = %743
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #2
  %818 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 2
  %819 = load i32, ptr %818, align 8, !tbaa !10
  store i32 %819, ptr %25, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #2
  %820 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 3
  %821 = load i32, ptr %820, align 4, !tbaa !10
  store i32 %821, ptr %26, align 4, !tbaa !10
  %822 = load i32, ptr %26, align 4, !tbaa !10
  %823 = shl i32 %822, 16
  %824 = load i32, ptr %26, align 4, !tbaa !10
  %825 = lshr i32 %824, 16
  %826 = or i32 %823, %825
  store i32 %826, ptr %26, align 4, !tbaa !10
  %827 = load i32, ptr %25, align 4, !tbaa !10
  %828 = lshr i32 %827, 8
  %829 = and i32 %828, 255
  %830 = load i32, ptr %25, align 4, !tbaa !10
  %831 = shl i32 %830, 16
  %832 = and i32 %831, 16711680
  %833 = or i32 %829, %832
  %834 = load i32, ptr %26, align 4, !tbaa !10
  %835 = and i32 %834, -16711936
  %836 = or i32 %833, %835
  %837 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 2
  store i32 %836, ptr %837, align 8, !tbaa !10
  %838 = load i32, ptr %25, align 4, !tbaa !10
  %839 = lshr i32 %838, 16
  %840 = and i32 %839, 255
  %841 = load i32, ptr %25, align 4, !tbaa !10
  %842 = and i32 %841, -16777216
  %843 = or i32 %840, %842
  %844 = load i32, ptr %26, align 4, !tbaa !10
  %845 = shl i32 %844, 8
  %846 = and i32 %845, 65280
  %847 = or i32 %843, %846
  %848 = load i32, ptr %26, align 4, !tbaa !10
  %849 = and i32 %848, 16711680
  %850 = or i32 %847, %849
  %851 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 3
  store i32 %850, ptr %851, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #2
  br label %852

852:                                              ; preds = %817
  br label %853

853:                                              ; preds = %852
  br label %854

854:                                              ; preds = %853
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #2
  %855 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  %856 = load i32, ptr %855, align 8, !tbaa !10
  store i32 %856, ptr %27, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #2
  %857 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  %858 = load i32, ptr %857, align 4, !tbaa !10
  store i32 %858, ptr %28, align 4, !tbaa !10
  %859 = load i32, ptr %28, align 4, !tbaa !10
  %860 = shl i32 %859, 16
  %861 = load i32, ptr %28, align 4, !tbaa !10
  %862 = lshr i32 %861, 16
  %863 = or i32 %860, %862
  store i32 %863, ptr %28, align 4, !tbaa !10
  %864 = load i32, ptr %27, align 4, !tbaa !10
  %865 = lshr i32 %864, 8
  %866 = and i32 %865, 255
  %867 = load i32, ptr %27, align 4, !tbaa !10
  %868 = shl i32 %867, 16
  %869 = and i32 %868, 16711680
  %870 = or i32 %866, %869
  %871 = load i32, ptr %28, align 4, !tbaa !10
  %872 = and i32 %871, -16711936
  %873 = or i32 %870, %872
  %874 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  store i32 %873, ptr %874, align 8, !tbaa !10
  %875 = load i32, ptr %27, align 4, !tbaa !10
  %876 = lshr i32 %875, 16
  %877 = and i32 %876, 255
  %878 = load i32, ptr %27, align 4, !tbaa !10
  %879 = and i32 %878, -16777216
  %880 = or i32 %877, %879
  %881 = load i32, ptr %28, align 4, !tbaa !10
  %882 = shl i32 %881, 8
  %883 = and i32 %882, 65280
  %884 = or i32 %880, %883
  %885 = load i32, ptr %28, align 4, !tbaa !10
  %886 = and i32 %885, 16711680
  %887 = or i32 %884, %886
  %888 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  store i32 %887, ptr %888, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #2
  br label %889

889:                                              ; preds = %854
  br label %890

890:                                              ; preds = %889
  br label %891

891:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #2
  %892 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  %893 = load i32, ptr %892, align 8, !tbaa !10
  store i32 %893, ptr %29, align 4, !tbaa !10
  %894 = load i32, ptr %29, align 4, !tbaa !10
  %895 = shl i32 %894, 1
  %896 = and i32 %895, -16843010
  %897 = load i32, ptr %29, align 4, !tbaa !10
  %898 = lshr i32 %897, 7
  %899 = load i32, ptr %29, align 4, !tbaa !10
  %900 = lshr i32 %899, 5
  %901 = xor i32 %898, %900
  %902 = and i32 %901, 16843009
  %903 = xor i32 %896, %902
  %904 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  store i32 %903, ptr %904, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #2
  br label %905

905:                                              ; preds = %891
  br label %906

906:                                              ; preds = %905
  br label %907

907:                                              ; preds = %906
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #2
  %908 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  %909 = load i32, ptr %908, align 4, !tbaa !10
  store i32 %909, ptr %30, align 4, !tbaa !10
  %910 = load i32, ptr %30, align 4, !tbaa !10
  %911 = shl i32 %910, 1
  %912 = and i32 %911, -16843010
  %913 = load i32, ptr %30, align 4, !tbaa !10
  %914 = lshr i32 %913, 7
  %915 = load i32, ptr %30, align 4, !tbaa !10
  %916 = lshr i32 %915, 5
  %917 = xor i32 %914, %916
  %918 = and i32 %917, 16843009
  %919 = xor i32 %912, %918
  %920 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  store i32 %919, ptr %920, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #2
  br label %921

921:                                              ; preds = %907
  br label %922

922:                                              ; preds = %921
  br label %923

923:                                              ; preds = %922
  br label %924

924:                                              ; preds = %923
  br label %925

925:                                              ; preds = %924
  br label %926

926:                                              ; preds = %925
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #2
  %927 = load i32, ptr %10, align 4, !tbaa !10
  %928 = xor i32 %927, -1
  store i32 %928, ptr %10, align 4, !tbaa !10
  %929 = load i32, ptr %10, align 4, !tbaa !10
  %930 = lshr i32 %929, 2
  %931 = load i32, ptr %10, align 4, !tbaa !10
  %932 = lshr i32 %931, 3
  %933 = and i32 %930, %932
  %934 = and i32 %933, 286331153
  %935 = load i32, ptr %10, align 4, !tbaa !10
  %936 = xor i32 %935, %934
  store i32 %936, ptr %10, align 4, !tbaa !10
  %937 = load i32, ptr %10, align 4, !tbaa !10
  %938 = shl i32 %937, 5
  %939 = load i32, ptr %10, align 4, !tbaa !10
  %940 = shl i32 %939, 1
  %941 = and i32 %938, %940
  %942 = and i32 %941, 538976288
  store i32 %942, ptr %31, align 4, !tbaa !10
  %943 = load i32, ptr %10, align 4, !tbaa !10
  %944 = shl i32 %943, 5
  %945 = load i32, ptr %10, align 4, !tbaa !10
  %946 = shl i32 %945, 4
  %947 = and i32 %944, %946
  %948 = and i32 %947, 1077952576
  %949 = load i32, ptr %31, align 4, !tbaa !10
  %950 = xor i32 %948, %949
  %951 = load i32, ptr %10, align 4, !tbaa !10
  %952 = xor i32 %951, %950
  store i32 %952, ptr %10, align 4, !tbaa !10
  %953 = load i32, ptr %10, align 4, !tbaa !10
  %954 = shl i32 %953, 2
  %955 = load i32, ptr %10, align 4, !tbaa !10
  %956 = shl i32 %955, 1
  %957 = and i32 %954, %956
  %958 = and i32 %957, -2139062144
  store i32 %958, ptr %31, align 4, !tbaa !10
  %959 = load i32, ptr %10, align 4, !tbaa !10
  %960 = lshr i32 %959, 2
  %961 = load i32, ptr %10, align 4, !tbaa !10
  %962 = shl i32 %961, 1
  %963 = and i32 %960, %962
  %964 = and i32 %963, 33686018
  %965 = load i32, ptr %31, align 4, !tbaa !10
  %966 = xor i32 %964, %965
  %967 = load i32, ptr %10, align 4, !tbaa !10
  %968 = xor i32 %967, %966
  store i32 %968, ptr %10, align 4, !tbaa !10
  %969 = load i32, ptr %10, align 4, !tbaa !10
  %970 = lshr i32 %969, 5
  %971 = load i32, ptr %10, align 4, !tbaa !10
  %972 = shl i32 %971, 1
  %973 = and i32 %970, %972
  %974 = and i32 %973, 67372036
  store i32 %974, ptr %31, align 4, !tbaa !10
  %975 = load i32, ptr %10, align 4, !tbaa !10
  %976 = lshr i32 %975, 1
  %977 = load i32, ptr %10, align 4, !tbaa !10
  %978 = lshr i32 %977, 2
  %979 = and i32 %976, %978
  %980 = and i32 %979, 134744072
  %981 = load i32, ptr %31, align 4, !tbaa !10
  %982 = xor i32 %980, %981
  %983 = load i32, ptr %10, align 4, !tbaa !10
  %984 = xor i32 %983, %982
  store i32 %984, ptr %10, align 4, !tbaa !10
  %985 = load i32, ptr %10, align 4, !tbaa !10
  %986 = xor i32 %985, -1
  store i32 %986, ptr %10, align 4, !tbaa !10
  %987 = load i32, ptr %10, align 4, !tbaa !10
  %988 = and i32 %987, 134744072
  %989 = shl i32 %988, 1
  %990 = load i32, ptr %10, align 4, !tbaa !10
  %991 = and i32 %990, 842150450
  %992 = shl i32 %991, 2
  %993 = or i32 %989, %992
  %994 = load i32, ptr %10, align 4, !tbaa !10
  %995 = and i32 %994, 16843009
  %996 = shl i32 %995, 5
  %997 = or i32 %993, %996
  %998 = load i32, ptr %10, align 4, !tbaa !10
  %999 = and i32 %998, -2139062144
  %1000 = lshr i32 %999, 6
  %1001 = or i32 %997, %1000
  %1002 = load i32, ptr %10, align 4, !tbaa !10
  %1003 = and i32 %1002, 1077952576
  %1004 = lshr i32 %1003, 4
  %1005 = or i32 %1001, %1004
  %1006 = load i32, ptr %10, align 4, !tbaa !10
  %1007 = and i32 %1006, 67372036
  %1008 = lshr i32 %1007, 2
  %1009 = or i32 %1005, %1008
  store i32 %1009, ptr %10, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #2
  br label %1010

1010:                                             ; preds = %926
  br label %1011

1011:                                             ; preds = %1010
  br label %1012

1012:                                             ; preds = %1011
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #2
  %1013 = load i32, ptr %7, align 4, !tbaa !10
  %1014 = xor i32 %1013, -1
  store i32 %1014, ptr %7, align 4, !tbaa !10
  %1015 = load i32, ptr %7, align 4, !tbaa !10
  %1016 = lshr i32 %1015, 2
  %1017 = load i32, ptr %7, align 4, !tbaa !10
  %1018 = lshr i32 %1017, 3
  %1019 = and i32 %1016, %1018
  %1020 = and i32 %1019, 286331153
  %1021 = load i32, ptr %7, align 4, !tbaa !10
  %1022 = xor i32 %1021, %1020
  store i32 %1022, ptr %7, align 4, !tbaa !10
  %1023 = load i32, ptr %7, align 4, !tbaa !10
  %1024 = shl i32 %1023, 5
  %1025 = load i32, ptr %7, align 4, !tbaa !10
  %1026 = shl i32 %1025, 1
  %1027 = and i32 %1024, %1026
  %1028 = and i32 %1027, 538976288
  store i32 %1028, ptr %32, align 4, !tbaa !10
  %1029 = load i32, ptr %7, align 4, !tbaa !10
  %1030 = shl i32 %1029, 5
  %1031 = load i32, ptr %7, align 4, !tbaa !10
  %1032 = shl i32 %1031, 4
  %1033 = and i32 %1030, %1032
  %1034 = and i32 %1033, 1077952576
  %1035 = load i32, ptr %32, align 4, !tbaa !10
  %1036 = xor i32 %1034, %1035
  %1037 = load i32, ptr %7, align 4, !tbaa !10
  %1038 = xor i32 %1037, %1036
  store i32 %1038, ptr %7, align 4, !tbaa !10
  %1039 = load i32, ptr %7, align 4, !tbaa !10
  %1040 = shl i32 %1039, 2
  %1041 = load i32, ptr %7, align 4, !tbaa !10
  %1042 = shl i32 %1041, 1
  %1043 = and i32 %1040, %1042
  %1044 = and i32 %1043, -2139062144
  store i32 %1044, ptr %32, align 4, !tbaa !10
  %1045 = load i32, ptr %7, align 4, !tbaa !10
  %1046 = lshr i32 %1045, 2
  %1047 = load i32, ptr %7, align 4, !tbaa !10
  %1048 = shl i32 %1047, 1
  %1049 = and i32 %1046, %1048
  %1050 = and i32 %1049, 33686018
  %1051 = load i32, ptr %32, align 4, !tbaa !10
  %1052 = xor i32 %1050, %1051
  %1053 = load i32, ptr %7, align 4, !tbaa !10
  %1054 = xor i32 %1053, %1052
  store i32 %1054, ptr %7, align 4, !tbaa !10
  %1055 = load i32, ptr %7, align 4, !tbaa !10
  %1056 = lshr i32 %1055, 5
  %1057 = load i32, ptr %7, align 4, !tbaa !10
  %1058 = shl i32 %1057, 1
  %1059 = and i32 %1056, %1058
  %1060 = and i32 %1059, 67372036
  store i32 %1060, ptr %32, align 4, !tbaa !10
  %1061 = load i32, ptr %7, align 4, !tbaa !10
  %1062 = lshr i32 %1061, 1
  %1063 = load i32, ptr %7, align 4, !tbaa !10
  %1064 = lshr i32 %1063, 2
  %1065 = and i32 %1062, %1064
  %1066 = and i32 %1065, 134744072
  %1067 = load i32, ptr %32, align 4, !tbaa !10
  %1068 = xor i32 %1066, %1067
  %1069 = load i32, ptr %7, align 4, !tbaa !10
  %1070 = xor i32 %1069, %1068
  store i32 %1070, ptr %7, align 4, !tbaa !10
  %1071 = load i32, ptr %7, align 4, !tbaa !10
  %1072 = xor i32 %1071, -1
  store i32 %1072, ptr %7, align 4, !tbaa !10
  %1073 = load i32, ptr %7, align 4, !tbaa !10
  %1074 = and i32 %1073, 134744072
  %1075 = shl i32 %1074, 1
  %1076 = load i32, ptr %7, align 4, !tbaa !10
  %1077 = and i32 %1076, 842150450
  %1078 = shl i32 %1077, 2
  %1079 = or i32 %1075, %1078
  %1080 = load i32, ptr %7, align 4, !tbaa !10
  %1081 = and i32 %1080, 16843009
  %1082 = shl i32 %1081, 5
  %1083 = or i32 %1079, %1082
  %1084 = load i32, ptr %7, align 4, !tbaa !10
  %1085 = and i32 %1084, -2139062144
  %1086 = lshr i32 %1085, 6
  %1087 = or i32 %1083, %1086
  %1088 = load i32, ptr %7, align 4, !tbaa !10
  %1089 = and i32 %1088, 1077952576
  %1090 = lshr i32 %1089, 4
  %1091 = or i32 %1087, %1090
  %1092 = load i32, ptr %7, align 4, !tbaa !10
  %1093 = and i32 %1092, 67372036
  %1094 = lshr i32 %1093, 2
  %1095 = or i32 %1091, %1094
  store i32 %1095, ptr %7, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #2
  br label %1096

1096:                                             ; preds = %1012
  br label %1097

1097:                                             ; preds = %1096
  br label %1098

1098:                                             ; preds = %1097
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #2
  %1099 = load i32, ptr %8, align 4, !tbaa !10
  %1100 = xor i32 %1099, -1
  store i32 %1100, ptr %8, align 4, !tbaa !10
  %1101 = load i32, ptr %8, align 4, !tbaa !10
  %1102 = lshr i32 %1101, 2
  %1103 = load i32, ptr %8, align 4, !tbaa !10
  %1104 = lshr i32 %1103, 3
  %1105 = and i32 %1102, %1104
  %1106 = and i32 %1105, 286331153
  %1107 = load i32, ptr %8, align 4, !tbaa !10
  %1108 = xor i32 %1107, %1106
  store i32 %1108, ptr %8, align 4, !tbaa !10
  %1109 = load i32, ptr %8, align 4, !tbaa !10
  %1110 = shl i32 %1109, 5
  %1111 = load i32, ptr %8, align 4, !tbaa !10
  %1112 = shl i32 %1111, 1
  %1113 = and i32 %1110, %1112
  %1114 = and i32 %1113, 538976288
  store i32 %1114, ptr %33, align 4, !tbaa !10
  %1115 = load i32, ptr %8, align 4, !tbaa !10
  %1116 = shl i32 %1115, 5
  %1117 = load i32, ptr %8, align 4, !tbaa !10
  %1118 = shl i32 %1117, 4
  %1119 = and i32 %1116, %1118
  %1120 = and i32 %1119, 1077952576
  %1121 = load i32, ptr %33, align 4, !tbaa !10
  %1122 = xor i32 %1120, %1121
  %1123 = load i32, ptr %8, align 4, !tbaa !10
  %1124 = xor i32 %1123, %1122
  store i32 %1124, ptr %8, align 4, !tbaa !10
  %1125 = load i32, ptr %8, align 4, !tbaa !10
  %1126 = shl i32 %1125, 2
  %1127 = load i32, ptr %8, align 4, !tbaa !10
  %1128 = shl i32 %1127, 1
  %1129 = and i32 %1126, %1128
  %1130 = and i32 %1129, -2139062144
  store i32 %1130, ptr %33, align 4, !tbaa !10
  %1131 = load i32, ptr %8, align 4, !tbaa !10
  %1132 = lshr i32 %1131, 2
  %1133 = load i32, ptr %8, align 4, !tbaa !10
  %1134 = shl i32 %1133, 1
  %1135 = and i32 %1132, %1134
  %1136 = and i32 %1135, 33686018
  %1137 = load i32, ptr %33, align 4, !tbaa !10
  %1138 = xor i32 %1136, %1137
  %1139 = load i32, ptr %8, align 4, !tbaa !10
  %1140 = xor i32 %1139, %1138
  store i32 %1140, ptr %8, align 4, !tbaa !10
  %1141 = load i32, ptr %8, align 4, !tbaa !10
  %1142 = lshr i32 %1141, 5
  %1143 = load i32, ptr %8, align 4, !tbaa !10
  %1144 = shl i32 %1143, 1
  %1145 = and i32 %1142, %1144
  %1146 = and i32 %1145, 67372036
  store i32 %1146, ptr %33, align 4, !tbaa !10
  %1147 = load i32, ptr %8, align 4, !tbaa !10
  %1148 = lshr i32 %1147, 1
  %1149 = load i32, ptr %8, align 4, !tbaa !10
  %1150 = lshr i32 %1149, 2
  %1151 = and i32 %1148, %1150
  %1152 = and i32 %1151, 134744072
  %1153 = load i32, ptr %33, align 4, !tbaa !10
  %1154 = xor i32 %1152, %1153
  %1155 = load i32, ptr %8, align 4, !tbaa !10
  %1156 = xor i32 %1155, %1154
  store i32 %1156, ptr %8, align 4, !tbaa !10
  %1157 = load i32, ptr %8, align 4, !tbaa !10
  %1158 = xor i32 %1157, -1
  store i32 %1158, ptr %8, align 4, !tbaa !10
  %1159 = load i32, ptr %8, align 4, !tbaa !10
  %1160 = and i32 %1159, 134744072
  %1161 = shl i32 %1160, 1
  %1162 = load i32, ptr %8, align 4, !tbaa !10
  %1163 = and i32 %1162, 842150450
  %1164 = shl i32 %1163, 2
  %1165 = or i32 %1161, %1164
  %1166 = load i32, ptr %8, align 4, !tbaa !10
  %1167 = and i32 %1166, 16843009
  %1168 = shl i32 %1167, 5
  %1169 = or i32 %1165, %1168
  %1170 = load i32, ptr %8, align 4, !tbaa !10
  %1171 = and i32 %1170, -2139062144
  %1172 = lshr i32 %1171, 6
  %1173 = or i32 %1169, %1172
  %1174 = load i32, ptr %8, align 4, !tbaa !10
  %1175 = and i32 %1174, 1077952576
  %1176 = lshr i32 %1175, 4
  %1177 = or i32 %1173, %1176
  %1178 = load i32, ptr %8, align 4, !tbaa !10
  %1179 = and i32 %1178, 67372036
  %1180 = lshr i32 %1179, 2
  %1181 = or i32 %1177, %1180
  store i32 %1181, ptr %8, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #2
  br label %1182

1182:                                             ; preds = %1098
  br label %1183

1183:                                             ; preds = %1182
  br label %1184

1184:                                             ; preds = %1183
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #2
  %1185 = load i32, ptr %9, align 4, !tbaa !10
  %1186 = xor i32 %1185, -1
  store i32 %1186, ptr %9, align 4, !tbaa !10
  %1187 = load i32, ptr %9, align 4, !tbaa !10
  %1188 = lshr i32 %1187, 2
  %1189 = load i32, ptr %9, align 4, !tbaa !10
  %1190 = lshr i32 %1189, 3
  %1191 = and i32 %1188, %1190
  %1192 = and i32 %1191, 286331153
  %1193 = load i32, ptr %9, align 4, !tbaa !10
  %1194 = xor i32 %1193, %1192
  store i32 %1194, ptr %9, align 4, !tbaa !10
  %1195 = load i32, ptr %9, align 4, !tbaa !10
  %1196 = shl i32 %1195, 5
  %1197 = load i32, ptr %9, align 4, !tbaa !10
  %1198 = shl i32 %1197, 1
  %1199 = and i32 %1196, %1198
  %1200 = and i32 %1199, 538976288
  store i32 %1200, ptr %34, align 4, !tbaa !10
  %1201 = load i32, ptr %9, align 4, !tbaa !10
  %1202 = shl i32 %1201, 5
  %1203 = load i32, ptr %9, align 4, !tbaa !10
  %1204 = shl i32 %1203, 4
  %1205 = and i32 %1202, %1204
  %1206 = and i32 %1205, 1077952576
  %1207 = load i32, ptr %34, align 4, !tbaa !10
  %1208 = xor i32 %1206, %1207
  %1209 = load i32, ptr %9, align 4, !tbaa !10
  %1210 = xor i32 %1209, %1208
  store i32 %1210, ptr %9, align 4, !tbaa !10
  %1211 = load i32, ptr %9, align 4, !tbaa !10
  %1212 = shl i32 %1211, 2
  %1213 = load i32, ptr %9, align 4, !tbaa !10
  %1214 = shl i32 %1213, 1
  %1215 = and i32 %1212, %1214
  %1216 = and i32 %1215, -2139062144
  store i32 %1216, ptr %34, align 4, !tbaa !10
  %1217 = load i32, ptr %9, align 4, !tbaa !10
  %1218 = lshr i32 %1217, 2
  %1219 = load i32, ptr %9, align 4, !tbaa !10
  %1220 = shl i32 %1219, 1
  %1221 = and i32 %1218, %1220
  %1222 = and i32 %1221, 33686018
  %1223 = load i32, ptr %34, align 4, !tbaa !10
  %1224 = xor i32 %1222, %1223
  %1225 = load i32, ptr %9, align 4, !tbaa !10
  %1226 = xor i32 %1225, %1224
  store i32 %1226, ptr %9, align 4, !tbaa !10
  %1227 = load i32, ptr %9, align 4, !tbaa !10
  %1228 = lshr i32 %1227, 5
  %1229 = load i32, ptr %9, align 4, !tbaa !10
  %1230 = shl i32 %1229, 1
  %1231 = and i32 %1228, %1230
  %1232 = and i32 %1231, 67372036
  store i32 %1232, ptr %34, align 4, !tbaa !10
  %1233 = load i32, ptr %9, align 4, !tbaa !10
  %1234 = lshr i32 %1233, 1
  %1235 = load i32, ptr %9, align 4, !tbaa !10
  %1236 = lshr i32 %1235, 2
  %1237 = and i32 %1234, %1236
  %1238 = and i32 %1237, 134744072
  %1239 = load i32, ptr %34, align 4, !tbaa !10
  %1240 = xor i32 %1238, %1239
  %1241 = load i32, ptr %9, align 4, !tbaa !10
  %1242 = xor i32 %1241, %1240
  store i32 %1242, ptr %9, align 4, !tbaa !10
  %1243 = load i32, ptr %9, align 4, !tbaa !10
  %1244 = xor i32 %1243, -1
  store i32 %1244, ptr %9, align 4, !tbaa !10
  %1245 = load i32, ptr %9, align 4, !tbaa !10
  %1246 = and i32 %1245, 134744072
  %1247 = shl i32 %1246, 1
  %1248 = load i32, ptr %9, align 4, !tbaa !10
  %1249 = and i32 %1248, 842150450
  %1250 = shl i32 %1249, 2
  %1251 = or i32 %1247, %1250
  %1252 = load i32, ptr %9, align 4, !tbaa !10
  %1253 = and i32 %1252, 16843009
  %1254 = shl i32 %1253, 5
  %1255 = or i32 %1251, %1254
  %1256 = load i32, ptr %9, align 4, !tbaa !10
  %1257 = and i32 %1256, -2139062144
  %1258 = lshr i32 %1257, 6
  %1259 = or i32 %1255, %1258
  %1260 = load i32, ptr %9, align 4, !tbaa !10
  %1261 = and i32 %1260, 1077952576
  %1262 = lshr i32 %1261, 4
  %1263 = or i32 %1259, %1262
  %1264 = load i32, ptr %9, align 4, !tbaa !10
  %1265 = and i32 %1264, 67372036
  %1266 = lshr i32 %1265, 2
  %1267 = or i32 %1263, %1266
  store i32 %1267, ptr %9, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #2
  br label %1268

1268:                                             ; preds = %1184
  br label %1269

1269:                                             ; preds = %1268
  %1270 = load i8, ptr %14, align 1, !tbaa !9
  %1271 = zext i8 %1270 to i32
  %1272 = shl i32 %1271, 1
  %1273 = load i8, ptr %14, align 1, !tbaa !9
  %1274 = zext i8 %1273 to i32
  %1275 = ashr i32 %1274, 5
  %1276 = and i32 %1275, 1
  %1277 = xor i32 %1272, %1276
  %1278 = load i8, ptr %14, align 1, !tbaa !9
  %1279 = zext i8 %1278 to i32
  %1280 = ashr i32 %1279, 4
  %1281 = and i32 %1280, 1
  %1282 = xor i32 %1277, %1281
  %1283 = xor i32 %1282, 1
  %1284 = trunc i32 %1283 to i8
  store i8 %1284, ptr %14, align 1, !tbaa !9
  %1285 = load i8, ptr %14, align 1, !tbaa !9
  %1286 = zext i8 %1285 to i32
  %1287 = and i32 %1286, 63
  %1288 = trunc i32 %1287 to i8
  store i8 %1288, ptr %14, align 1, !tbaa !9
  %1289 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 2
  %1290 = load i32, ptr %1289, align 8, !tbaa !10
  %1291 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  %1292 = load i32, ptr %1291, align 8, !tbaa !10
  %1293 = xor i32 %1290, %1292
  %1294 = load i8, ptr %14, align 1, !tbaa !9
  %1295 = zext i8 %1294 to i32
  %1296 = and i32 %1295, 15
  %1297 = xor i32 %1293, %1296
  %1298 = load i32, ptr %10, align 4, !tbaa !10
  %1299 = xor i32 %1298, %1297
  store i32 %1299, ptr %10, align 4, !tbaa !10
  %1300 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 3
  %1301 = load i32, ptr %1300, align 4, !tbaa !10
  %1302 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  %1303 = load i32, ptr %1302, align 4, !tbaa !10
  %1304 = xor i32 %1301, %1303
  %1305 = load i8, ptr %14, align 1, !tbaa !9
  %1306 = zext i8 %1305 to i32
  %1307 = ashr i32 %1306, 4
  %1308 = xor i32 %1304, %1307
  %1309 = load i32, ptr %7, align 4, !tbaa !10
  %1310 = xor i32 %1309, %1308
  store i32 %1310, ptr %7, align 4, !tbaa !10
  %1311 = load i32, ptr %8, align 4, !tbaa !10
  %1312 = xor i32 %1311, 2
  store i32 %1312, ptr %8, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #2
  %1313 = load i32, ptr %7, align 4, !tbaa !10
  store i32 %1313, ptr %35, align 4, !tbaa !10
  %1314 = load i32, ptr %35, align 4, !tbaa !10
  %1315 = shl i32 %1314, 8
  %1316 = load i32, ptr %35, align 4, !tbaa !10
  %1317 = lshr i32 %1316, 24
  %1318 = or i32 %1315, %1317
  store i32 %1318, ptr %36, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #2
  %1319 = load i32, ptr %36, align 4, !tbaa !10
  store i32 %1319, ptr %7, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #2
  %1320 = load i32, ptr %8, align 4, !tbaa !10
  store i32 %1320, ptr %37, align 4, !tbaa !10
  %1321 = load i32, ptr %37, align 4, !tbaa !10
  %1322 = shl i32 %1321, 16
  %1323 = load i32, ptr %37, align 4, !tbaa !10
  %1324 = lshr i32 %1323, 16
  %1325 = or i32 %1322, %1324
  store i32 %1325, ptr %38, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #2
  %1326 = load i32, ptr %38, align 4, !tbaa !10
  store i32 %1326, ptr %8, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #2
  %1327 = load i32, ptr %9, align 4, !tbaa !10
  store i32 %1327, ptr %39, align 4, !tbaa !10
  %1328 = load i32, ptr %39, align 4, !tbaa !10
  %1329 = shl i32 %1328, 24
  %1330 = load i32, ptr %39, align 4, !tbaa !10
  %1331 = lshr i32 %1330, 8
  %1332 = or i32 %1329, %1331
  store i32 %1332, ptr %40, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #2
  %1333 = load i32, ptr %40, align 4, !tbaa !10
  store i32 %1333, ptr %9, align 4, !tbaa !10
  %1334 = load i32, ptr %8, align 4, !tbaa !10
  %1335 = load i32, ptr %7, align 4, !tbaa !10
  %1336 = xor i32 %1335, %1334
  store i32 %1336, ptr %7, align 4, !tbaa !10
  %1337 = load i32, ptr %10, align 4, !tbaa !10
  %1338 = load i32, ptr %8, align 4, !tbaa !10
  %1339 = xor i32 %1338, %1337
  store i32 %1339, ptr %8, align 4, !tbaa !10
  %1340 = load i32, ptr %8, align 4, !tbaa !10
  %1341 = load i32, ptr %9, align 4, !tbaa !10
  %1342 = xor i32 %1341, %1340
  store i32 %1342, ptr %9, align 4, !tbaa !10
  br label %1343

1343:                                             ; preds = %1269
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #2
  %1344 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 0
  %1345 = load i32, ptr %1344, align 16, !tbaa !10
  store i32 %1345, ptr %41, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #2
  %1346 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 1
  %1347 = load i32, ptr %1346, align 4, !tbaa !10
  store i32 %1347, ptr %42, align 4, !tbaa !10
  %1348 = load i32, ptr %42, align 4, !tbaa !10
  %1349 = shl i32 %1348, 16
  %1350 = load i32, ptr %42, align 4, !tbaa !10
  %1351 = lshr i32 %1350, 16
  %1352 = or i32 %1349, %1351
  store i32 %1352, ptr %42, align 4, !tbaa !10
  %1353 = load i32, ptr %41, align 4, !tbaa !10
  %1354 = lshr i32 %1353, 8
  %1355 = and i32 %1354, 255
  %1356 = load i32, ptr %41, align 4, !tbaa !10
  %1357 = shl i32 %1356, 16
  %1358 = and i32 %1357, 16711680
  %1359 = or i32 %1355, %1358
  %1360 = load i32, ptr %42, align 4, !tbaa !10
  %1361 = and i32 %1360, -16711936
  %1362 = or i32 %1359, %1361
  %1363 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 0
  store i32 %1362, ptr %1363, align 16, !tbaa !10
  %1364 = load i32, ptr %41, align 4, !tbaa !10
  %1365 = lshr i32 %1364, 16
  %1366 = and i32 %1365, 255
  %1367 = load i32, ptr %41, align 4, !tbaa !10
  %1368 = and i32 %1367, -16777216
  %1369 = or i32 %1366, %1368
  %1370 = load i32, ptr %42, align 4, !tbaa !10
  %1371 = shl i32 %1370, 8
  %1372 = and i32 %1371, 65280
  %1373 = or i32 %1369, %1372
  %1374 = load i32, ptr %42, align 4, !tbaa !10
  %1375 = and i32 %1374, 16711680
  %1376 = or i32 %1373, %1375
  %1377 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 1
  store i32 %1376, ptr %1377, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #2
  br label %1378

1378:                                             ; preds = %1343
  br label %1379

1379:                                             ; preds = %1378
  br label %1380

1380:                                             ; preds = %1379
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #2
  %1381 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  %1382 = load i32, ptr %1381, align 16, !tbaa !10
  store i32 %1382, ptr %43, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #2
  %1383 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  %1384 = load i32, ptr %1383, align 4, !tbaa !10
  store i32 %1384, ptr %44, align 4, !tbaa !10
  %1385 = load i32, ptr %44, align 4, !tbaa !10
  %1386 = shl i32 %1385, 16
  %1387 = load i32, ptr %44, align 4, !tbaa !10
  %1388 = lshr i32 %1387, 16
  %1389 = or i32 %1386, %1388
  store i32 %1389, ptr %44, align 4, !tbaa !10
  %1390 = load i32, ptr %43, align 4, !tbaa !10
  %1391 = lshr i32 %1390, 8
  %1392 = and i32 %1391, 255
  %1393 = load i32, ptr %43, align 4, !tbaa !10
  %1394 = shl i32 %1393, 16
  %1395 = and i32 %1394, 16711680
  %1396 = or i32 %1392, %1395
  %1397 = load i32, ptr %44, align 4, !tbaa !10
  %1398 = and i32 %1397, -16711936
  %1399 = or i32 %1396, %1398
  %1400 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  store i32 %1399, ptr %1400, align 16, !tbaa !10
  %1401 = load i32, ptr %43, align 4, !tbaa !10
  %1402 = lshr i32 %1401, 16
  %1403 = and i32 %1402, 255
  %1404 = load i32, ptr %43, align 4, !tbaa !10
  %1405 = and i32 %1404, -16777216
  %1406 = or i32 %1403, %1405
  %1407 = load i32, ptr %44, align 4, !tbaa !10
  %1408 = shl i32 %1407, 8
  %1409 = and i32 %1408, 65280
  %1410 = or i32 %1406, %1409
  %1411 = load i32, ptr %44, align 4, !tbaa !10
  %1412 = and i32 %1411, 16711680
  %1413 = or i32 %1410, %1412
  %1414 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  store i32 %1413, ptr %1414, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #2
  br label %1415

1415:                                             ; preds = %1380
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

1417:                                             ; preds = %1416
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #2
  %1418 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  %1419 = load i32, ptr %1418, align 16, !tbaa !10
  store i32 %1419, ptr %45, align 4, !tbaa !10
  %1420 = load i32, ptr %45, align 4, !tbaa !10
  %1421 = shl i32 %1420, 1
  %1422 = and i32 %1421, -16843010
  %1423 = load i32, ptr %45, align 4, !tbaa !10
  %1424 = lshr i32 %1423, 7
  %1425 = load i32, ptr %45, align 4, !tbaa !10
  %1426 = lshr i32 %1425, 5
  %1427 = xor i32 %1424, %1426
  %1428 = and i32 %1427, 16843009
  %1429 = xor i32 %1422, %1428
  %1430 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  store i32 %1429, ptr %1430, align 16, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #2
  br label %1431

1431:                                             ; preds = %1417
  br label %1432

1432:                                             ; preds = %1431
  br label %1433

1433:                                             ; preds = %1432
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #2
  %1434 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  %1435 = load i32, ptr %1434, align 4, !tbaa !10
  store i32 %1435, ptr %46, align 4, !tbaa !10
  %1436 = load i32, ptr %46, align 4, !tbaa !10
  %1437 = shl i32 %1436, 1
  %1438 = and i32 %1437, -16843010
  %1439 = load i32, ptr %46, align 4, !tbaa !10
  %1440 = lshr i32 %1439, 7
  %1441 = load i32, ptr %46, align 4, !tbaa !10
  %1442 = lshr i32 %1441, 5
  %1443 = xor i32 %1440, %1442
  %1444 = and i32 %1443, 16843009
  %1445 = xor i32 %1438, %1444
  %1446 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  store i32 %1445, ptr %1446, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #2
  br label %1447

1447:                                             ; preds = %1433
  br label %1448

1448:                                             ; preds = %1447
  br label %1449

1449:                                             ; preds = %1448
  br label %1450

1450:                                             ; preds = %1449
  br label %1451

1451:                                             ; preds = %1450
  br label %1452

1452:                                             ; preds = %1451
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #2
  %1453 = load i32, ptr %9, align 4, !tbaa !10
  %1454 = xor i32 %1453, -1
  store i32 %1454, ptr %9, align 4, !tbaa !10
  %1455 = load i32, ptr %9, align 4, !tbaa !10
  %1456 = lshr i32 %1455, 2
  %1457 = load i32, ptr %9, align 4, !tbaa !10
  %1458 = lshr i32 %1457, 3
  %1459 = and i32 %1456, %1458
  %1460 = and i32 %1459, 286331153
  %1461 = load i32, ptr %9, align 4, !tbaa !10
  %1462 = xor i32 %1461, %1460
  store i32 %1462, ptr %9, align 4, !tbaa !10
  %1463 = load i32, ptr %9, align 4, !tbaa !10
  %1464 = shl i32 %1463, 5
  %1465 = load i32, ptr %9, align 4, !tbaa !10
  %1466 = shl i32 %1465, 1
  %1467 = and i32 %1464, %1466
  %1468 = and i32 %1467, 538976288
  store i32 %1468, ptr %47, align 4, !tbaa !10
  %1469 = load i32, ptr %9, align 4, !tbaa !10
  %1470 = shl i32 %1469, 5
  %1471 = load i32, ptr %9, align 4, !tbaa !10
  %1472 = shl i32 %1471, 4
  %1473 = and i32 %1470, %1472
  %1474 = and i32 %1473, 1077952576
  %1475 = load i32, ptr %47, align 4, !tbaa !10
  %1476 = xor i32 %1474, %1475
  %1477 = load i32, ptr %9, align 4, !tbaa !10
  %1478 = xor i32 %1477, %1476
  store i32 %1478, ptr %9, align 4, !tbaa !10
  %1479 = load i32, ptr %9, align 4, !tbaa !10
  %1480 = shl i32 %1479, 2
  %1481 = load i32, ptr %9, align 4, !tbaa !10
  %1482 = shl i32 %1481, 1
  %1483 = and i32 %1480, %1482
  %1484 = and i32 %1483, -2139062144
  store i32 %1484, ptr %47, align 4, !tbaa !10
  %1485 = load i32, ptr %9, align 4, !tbaa !10
  %1486 = lshr i32 %1485, 2
  %1487 = load i32, ptr %9, align 4, !tbaa !10
  %1488 = shl i32 %1487, 1
  %1489 = and i32 %1486, %1488
  %1490 = and i32 %1489, 33686018
  %1491 = load i32, ptr %47, align 4, !tbaa !10
  %1492 = xor i32 %1490, %1491
  %1493 = load i32, ptr %9, align 4, !tbaa !10
  %1494 = xor i32 %1493, %1492
  store i32 %1494, ptr %9, align 4, !tbaa !10
  %1495 = load i32, ptr %9, align 4, !tbaa !10
  %1496 = lshr i32 %1495, 5
  %1497 = load i32, ptr %9, align 4, !tbaa !10
  %1498 = shl i32 %1497, 1
  %1499 = and i32 %1496, %1498
  %1500 = and i32 %1499, 67372036
  store i32 %1500, ptr %47, align 4, !tbaa !10
  %1501 = load i32, ptr %9, align 4, !tbaa !10
  %1502 = lshr i32 %1501, 1
  %1503 = load i32, ptr %9, align 4, !tbaa !10
  %1504 = lshr i32 %1503, 2
  %1505 = and i32 %1502, %1504
  %1506 = and i32 %1505, 134744072
  %1507 = load i32, ptr %47, align 4, !tbaa !10
  %1508 = xor i32 %1506, %1507
  %1509 = load i32, ptr %9, align 4, !tbaa !10
  %1510 = xor i32 %1509, %1508
  store i32 %1510, ptr %9, align 4, !tbaa !10
  %1511 = load i32, ptr %9, align 4, !tbaa !10
  %1512 = xor i32 %1511, -1
  store i32 %1512, ptr %9, align 4, !tbaa !10
  %1513 = load i32, ptr %9, align 4, !tbaa !10
  %1514 = and i32 %1513, 134744072
  %1515 = shl i32 %1514, 1
  %1516 = load i32, ptr %9, align 4, !tbaa !10
  %1517 = and i32 %1516, 842150450
  %1518 = shl i32 %1517, 2
  %1519 = or i32 %1515, %1518
  %1520 = load i32, ptr %9, align 4, !tbaa !10
  %1521 = and i32 %1520, 16843009
  %1522 = shl i32 %1521, 5
  %1523 = or i32 %1519, %1522
  %1524 = load i32, ptr %9, align 4, !tbaa !10
  %1525 = and i32 %1524, -2139062144
  %1526 = lshr i32 %1525, 6
  %1527 = or i32 %1523, %1526
  %1528 = load i32, ptr %9, align 4, !tbaa !10
  %1529 = and i32 %1528, 1077952576
  %1530 = lshr i32 %1529, 4
  %1531 = or i32 %1527, %1530
  %1532 = load i32, ptr %9, align 4, !tbaa !10
  %1533 = and i32 %1532, 67372036
  %1534 = lshr i32 %1533, 2
  %1535 = or i32 %1531, %1534
  store i32 %1535, ptr %9, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #2
  br label %1536

1536:                                             ; preds = %1452
  br label %1537

1537:                                             ; preds = %1536
  br label %1538

1538:                                             ; preds = %1537
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #2
  %1539 = load i32, ptr %10, align 4, !tbaa !10
  %1540 = xor i32 %1539, -1
  store i32 %1540, ptr %10, align 4, !tbaa !10
  %1541 = load i32, ptr %10, align 4, !tbaa !10
  %1542 = lshr i32 %1541, 2
  %1543 = load i32, ptr %10, align 4, !tbaa !10
  %1544 = lshr i32 %1543, 3
  %1545 = and i32 %1542, %1544
  %1546 = and i32 %1545, 286331153
  %1547 = load i32, ptr %10, align 4, !tbaa !10
  %1548 = xor i32 %1547, %1546
  store i32 %1548, ptr %10, align 4, !tbaa !10
  %1549 = load i32, ptr %10, align 4, !tbaa !10
  %1550 = shl i32 %1549, 5
  %1551 = load i32, ptr %10, align 4, !tbaa !10
  %1552 = shl i32 %1551, 1
  %1553 = and i32 %1550, %1552
  %1554 = and i32 %1553, 538976288
  store i32 %1554, ptr %48, align 4, !tbaa !10
  %1555 = load i32, ptr %10, align 4, !tbaa !10
  %1556 = shl i32 %1555, 5
  %1557 = load i32, ptr %10, align 4, !tbaa !10
  %1558 = shl i32 %1557, 4
  %1559 = and i32 %1556, %1558
  %1560 = and i32 %1559, 1077952576
  %1561 = load i32, ptr %48, align 4, !tbaa !10
  %1562 = xor i32 %1560, %1561
  %1563 = load i32, ptr %10, align 4, !tbaa !10
  %1564 = xor i32 %1563, %1562
  store i32 %1564, ptr %10, align 4, !tbaa !10
  %1565 = load i32, ptr %10, align 4, !tbaa !10
  %1566 = shl i32 %1565, 2
  %1567 = load i32, ptr %10, align 4, !tbaa !10
  %1568 = shl i32 %1567, 1
  %1569 = and i32 %1566, %1568
  %1570 = and i32 %1569, -2139062144
  store i32 %1570, ptr %48, align 4, !tbaa !10
  %1571 = load i32, ptr %10, align 4, !tbaa !10
  %1572 = lshr i32 %1571, 2
  %1573 = load i32, ptr %10, align 4, !tbaa !10
  %1574 = shl i32 %1573, 1
  %1575 = and i32 %1572, %1574
  %1576 = and i32 %1575, 33686018
  %1577 = load i32, ptr %48, align 4, !tbaa !10
  %1578 = xor i32 %1576, %1577
  %1579 = load i32, ptr %10, align 4, !tbaa !10
  %1580 = xor i32 %1579, %1578
  store i32 %1580, ptr %10, align 4, !tbaa !10
  %1581 = load i32, ptr %10, align 4, !tbaa !10
  %1582 = lshr i32 %1581, 5
  %1583 = load i32, ptr %10, align 4, !tbaa !10
  %1584 = shl i32 %1583, 1
  %1585 = and i32 %1582, %1584
  %1586 = and i32 %1585, 67372036
  store i32 %1586, ptr %48, align 4, !tbaa !10
  %1587 = load i32, ptr %10, align 4, !tbaa !10
  %1588 = lshr i32 %1587, 1
  %1589 = load i32, ptr %10, align 4, !tbaa !10
  %1590 = lshr i32 %1589, 2
  %1591 = and i32 %1588, %1590
  %1592 = and i32 %1591, 134744072
  %1593 = load i32, ptr %48, align 4, !tbaa !10
  %1594 = xor i32 %1592, %1593
  %1595 = load i32, ptr %10, align 4, !tbaa !10
  %1596 = xor i32 %1595, %1594
  store i32 %1596, ptr %10, align 4, !tbaa !10
  %1597 = load i32, ptr %10, align 4, !tbaa !10
  %1598 = xor i32 %1597, -1
  store i32 %1598, ptr %10, align 4, !tbaa !10
  %1599 = load i32, ptr %10, align 4, !tbaa !10
  %1600 = and i32 %1599, 134744072
  %1601 = shl i32 %1600, 1
  %1602 = load i32, ptr %10, align 4, !tbaa !10
  %1603 = and i32 %1602, 842150450
  %1604 = shl i32 %1603, 2
  %1605 = or i32 %1601, %1604
  %1606 = load i32, ptr %10, align 4, !tbaa !10
  %1607 = and i32 %1606, 16843009
  %1608 = shl i32 %1607, 5
  %1609 = or i32 %1605, %1608
  %1610 = load i32, ptr %10, align 4, !tbaa !10
  %1611 = and i32 %1610, -2139062144
  %1612 = lshr i32 %1611, 6
  %1613 = or i32 %1609, %1612
  %1614 = load i32, ptr %10, align 4, !tbaa !10
  %1615 = and i32 %1614, 1077952576
  %1616 = lshr i32 %1615, 4
  %1617 = or i32 %1613, %1616
  %1618 = load i32, ptr %10, align 4, !tbaa !10
  %1619 = and i32 %1618, 67372036
  %1620 = lshr i32 %1619, 2
  %1621 = or i32 %1617, %1620
  store i32 %1621, ptr %10, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #2
  br label %1622

1622:                                             ; preds = %1538
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

1624:                                             ; preds = %1623
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #2
  %1625 = load i32, ptr %7, align 4, !tbaa !10
  %1626 = xor i32 %1625, -1
  store i32 %1626, ptr %7, align 4, !tbaa !10
  %1627 = load i32, ptr %7, align 4, !tbaa !10
  %1628 = lshr i32 %1627, 2
  %1629 = load i32, ptr %7, align 4, !tbaa !10
  %1630 = lshr i32 %1629, 3
  %1631 = and i32 %1628, %1630
  %1632 = and i32 %1631, 286331153
  %1633 = load i32, ptr %7, align 4, !tbaa !10
  %1634 = xor i32 %1633, %1632
  store i32 %1634, ptr %7, align 4, !tbaa !10
  %1635 = load i32, ptr %7, align 4, !tbaa !10
  %1636 = shl i32 %1635, 5
  %1637 = load i32, ptr %7, align 4, !tbaa !10
  %1638 = shl i32 %1637, 1
  %1639 = and i32 %1636, %1638
  %1640 = and i32 %1639, 538976288
  store i32 %1640, ptr %49, align 4, !tbaa !10
  %1641 = load i32, ptr %7, align 4, !tbaa !10
  %1642 = shl i32 %1641, 5
  %1643 = load i32, ptr %7, align 4, !tbaa !10
  %1644 = shl i32 %1643, 4
  %1645 = and i32 %1642, %1644
  %1646 = and i32 %1645, 1077952576
  %1647 = load i32, ptr %49, align 4, !tbaa !10
  %1648 = xor i32 %1646, %1647
  %1649 = load i32, ptr %7, align 4, !tbaa !10
  %1650 = xor i32 %1649, %1648
  store i32 %1650, ptr %7, align 4, !tbaa !10
  %1651 = load i32, ptr %7, align 4, !tbaa !10
  %1652 = shl i32 %1651, 2
  %1653 = load i32, ptr %7, align 4, !tbaa !10
  %1654 = shl i32 %1653, 1
  %1655 = and i32 %1652, %1654
  %1656 = and i32 %1655, -2139062144
  store i32 %1656, ptr %49, align 4, !tbaa !10
  %1657 = load i32, ptr %7, align 4, !tbaa !10
  %1658 = lshr i32 %1657, 2
  %1659 = load i32, ptr %7, align 4, !tbaa !10
  %1660 = shl i32 %1659, 1
  %1661 = and i32 %1658, %1660
  %1662 = and i32 %1661, 33686018
  %1663 = load i32, ptr %49, align 4, !tbaa !10
  %1664 = xor i32 %1662, %1663
  %1665 = load i32, ptr %7, align 4, !tbaa !10
  %1666 = xor i32 %1665, %1664
  store i32 %1666, ptr %7, align 4, !tbaa !10
  %1667 = load i32, ptr %7, align 4, !tbaa !10
  %1668 = lshr i32 %1667, 5
  %1669 = load i32, ptr %7, align 4, !tbaa !10
  %1670 = shl i32 %1669, 1
  %1671 = and i32 %1668, %1670
  %1672 = and i32 %1671, 67372036
  store i32 %1672, ptr %49, align 4, !tbaa !10
  %1673 = load i32, ptr %7, align 4, !tbaa !10
  %1674 = lshr i32 %1673, 1
  %1675 = load i32, ptr %7, align 4, !tbaa !10
  %1676 = lshr i32 %1675, 2
  %1677 = and i32 %1674, %1676
  %1678 = and i32 %1677, 134744072
  %1679 = load i32, ptr %49, align 4, !tbaa !10
  %1680 = xor i32 %1678, %1679
  %1681 = load i32, ptr %7, align 4, !tbaa !10
  %1682 = xor i32 %1681, %1680
  store i32 %1682, ptr %7, align 4, !tbaa !10
  %1683 = load i32, ptr %7, align 4, !tbaa !10
  %1684 = xor i32 %1683, -1
  store i32 %1684, ptr %7, align 4, !tbaa !10
  %1685 = load i32, ptr %7, align 4, !tbaa !10
  %1686 = and i32 %1685, 134744072
  %1687 = shl i32 %1686, 1
  %1688 = load i32, ptr %7, align 4, !tbaa !10
  %1689 = and i32 %1688, 842150450
  %1690 = shl i32 %1689, 2
  %1691 = or i32 %1687, %1690
  %1692 = load i32, ptr %7, align 4, !tbaa !10
  %1693 = and i32 %1692, 16843009
  %1694 = shl i32 %1693, 5
  %1695 = or i32 %1691, %1694
  %1696 = load i32, ptr %7, align 4, !tbaa !10
  %1697 = and i32 %1696, -2139062144
  %1698 = lshr i32 %1697, 6
  %1699 = or i32 %1695, %1698
  %1700 = load i32, ptr %7, align 4, !tbaa !10
  %1701 = and i32 %1700, 1077952576
  %1702 = lshr i32 %1701, 4
  %1703 = or i32 %1699, %1702
  %1704 = load i32, ptr %7, align 4, !tbaa !10
  %1705 = and i32 %1704, 67372036
  %1706 = lshr i32 %1705, 2
  %1707 = or i32 %1703, %1706
  store i32 %1707, ptr %7, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #2
  br label %1708

1708:                                             ; preds = %1624
  br label %1709

1709:                                             ; preds = %1708
  br label %1710

1710:                                             ; preds = %1709
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #2
  %1711 = load i32, ptr %8, align 4, !tbaa !10
  %1712 = xor i32 %1711, -1
  store i32 %1712, ptr %8, align 4, !tbaa !10
  %1713 = load i32, ptr %8, align 4, !tbaa !10
  %1714 = lshr i32 %1713, 2
  %1715 = load i32, ptr %8, align 4, !tbaa !10
  %1716 = lshr i32 %1715, 3
  %1717 = and i32 %1714, %1716
  %1718 = and i32 %1717, 286331153
  %1719 = load i32, ptr %8, align 4, !tbaa !10
  %1720 = xor i32 %1719, %1718
  store i32 %1720, ptr %8, align 4, !tbaa !10
  %1721 = load i32, ptr %8, align 4, !tbaa !10
  %1722 = shl i32 %1721, 5
  %1723 = load i32, ptr %8, align 4, !tbaa !10
  %1724 = shl i32 %1723, 1
  %1725 = and i32 %1722, %1724
  %1726 = and i32 %1725, 538976288
  store i32 %1726, ptr %50, align 4, !tbaa !10
  %1727 = load i32, ptr %8, align 4, !tbaa !10
  %1728 = shl i32 %1727, 5
  %1729 = load i32, ptr %8, align 4, !tbaa !10
  %1730 = shl i32 %1729, 4
  %1731 = and i32 %1728, %1730
  %1732 = and i32 %1731, 1077952576
  %1733 = load i32, ptr %50, align 4, !tbaa !10
  %1734 = xor i32 %1732, %1733
  %1735 = load i32, ptr %8, align 4, !tbaa !10
  %1736 = xor i32 %1735, %1734
  store i32 %1736, ptr %8, align 4, !tbaa !10
  %1737 = load i32, ptr %8, align 4, !tbaa !10
  %1738 = shl i32 %1737, 2
  %1739 = load i32, ptr %8, align 4, !tbaa !10
  %1740 = shl i32 %1739, 1
  %1741 = and i32 %1738, %1740
  %1742 = and i32 %1741, -2139062144
  store i32 %1742, ptr %50, align 4, !tbaa !10
  %1743 = load i32, ptr %8, align 4, !tbaa !10
  %1744 = lshr i32 %1743, 2
  %1745 = load i32, ptr %8, align 4, !tbaa !10
  %1746 = shl i32 %1745, 1
  %1747 = and i32 %1744, %1746
  %1748 = and i32 %1747, 33686018
  %1749 = load i32, ptr %50, align 4, !tbaa !10
  %1750 = xor i32 %1748, %1749
  %1751 = load i32, ptr %8, align 4, !tbaa !10
  %1752 = xor i32 %1751, %1750
  store i32 %1752, ptr %8, align 4, !tbaa !10
  %1753 = load i32, ptr %8, align 4, !tbaa !10
  %1754 = lshr i32 %1753, 5
  %1755 = load i32, ptr %8, align 4, !tbaa !10
  %1756 = shl i32 %1755, 1
  %1757 = and i32 %1754, %1756
  %1758 = and i32 %1757, 67372036
  store i32 %1758, ptr %50, align 4, !tbaa !10
  %1759 = load i32, ptr %8, align 4, !tbaa !10
  %1760 = lshr i32 %1759, 1
  %1761 = load i32, ptr %8, align 4, !tbaa !10
  %1762 = lshr i32 %1761, 2
  %1763 = and i32 %1760, %1762
  %1764 = and i32 %1763, 134744072
  %1765 = load i32, ptr %50, align 4, !tbaa !10
  %1766 = xor i32 %1764, %1765
  %1767 = load i32, ptr %8, align 4, !tbaa !10
  %1768 = xor i32 %1767, %1766
  store i32 %1768, ptr %8, align 4, !tbaa !10
  %1769 = load i32, ptr %8, align 4, !tbaa !10
  %1770 = xor i32 %1769, -1
  store i32 %1770, ptr %8, align 4, !tbaa !10
  %1771 = load i32, ptr %8, align 4, !tbaa !10
  %1772 = and i32 %1771, 134744072
  %1773 = shl i32 %1772, 1
  %1774 = load i32, ptr %8, align 4, !tbaa !10
  %1775 = and i32 %1774, 842150450
  %1776 = shl i32 %1775, 2
  %1777 = or i32 %1773, %1776
  %1778 = load i32, ptr %8, align 4, !tbaa !10
  %1779 = and i32 %1778, 16843009
  %1780 = shl i32 %1779, 5
  %1781 = or i32 %1777, %1780
  %1782 = load i32, ptr %8, align 4, !tbaa !10
  %1783 = and i32 %1782, -2139062144
  %1784 = lshr i32 %1783, 6
  %1785 = or i32 %1781, %1784
  %1786 = load i32, ptr %8, align 4, !tbaa !10
  %1787 = and i32 %1786, 1077952576
  %1788 = lshr i32 %1787, 4
  %1789 = or i32 %1785, %1788
  %1790 = load i32, ptr %8, align 4, !tbaa !10
  %1791 = and i32 %1790, 67372036
  %1792 = lshr i32 %1791, 2
  %1793 = or i32 %1789, %1792
  store i32 %1793, ptr %8, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #2
  br label %1794

1794:                                             ; preds = %1710
  br label %1795

1795:                                             ; preds = %1794
  %1796 = load i8, ptr %14, align 1, !tbaa !9
  %1797 = zext i8 %1796 to i32
  %1798 = shl i32 %1797, 1
  %1799 = load i8, ptr %14, align 1, !tbaa !9
  %1800 = zext i8 %1799 to i32
  %1801 = ashr i32 %1800, 5
  %1802 = and i32 %1801, 1
  %1803 = xor i32 %1798, %1802
  %1804 = load i8, ptr %14, align 1, !tbaa !9
  %1805 = zext i8 %1804 to i32
  %1806 = ashr i32 %1805, 4
  %1807 = and i32 %1806, 1
  %1808 = xor i32 %1803, %1807
  %1809 = xor i32 %1808, 1
  %1810 = trunc i32 %1809 to i8
  store i8 %1810, ptr %14, align 1, !tbaa !9
  %1811 = load i8, ptr %14, align 1, !tbaa !9
  %1812 = zext i8 %1811 to i32
  %1813 = and i32 %1812, 63
  %1814 = trunc i32 %1813 to i8
  store i8 %1814, ptr %14, align 1, !tbaa !9
  %1815 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 0
  %1816 = load i32, ptr %1815, align 16, !tbaa !10
  %1817 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  %1818 = load i32, ptr %1817, align 16, !tbaa !10
  %1819 = xor i32 %1816, %1818
  %1820 = load i8, ptr %14, align 1, !tbaa !9
  %1821 = zext i8 %1820 to i32
  %1822 = and i32 %1821, 15
  %1823 = xor i32 %1819, %1822
  %1824 = load i32, ptr %9, align 4, !tbaa !10
  %1825 = xor i32 %1824, %1823
  store i32 %1825, ptr %9, align 4, !tbaa !10
  %1826 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 1
  %1827 = load i32, ptr %1826, align 4, !tbaa !10
  %1828 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  %1829 = load i32, ptr %1828, align 4, !tbaa !10
  %1830 = xor i32 %1827, %1829
  %1831 = load i8, ptr %14, align 1, !tbaa !9
  %1832 = zext i8 %1831 to i32
  %1833 = ashr i32 %1832, 4
  %1834 = xor i32 %1830, %1833
  %1835 = load i32, ptr %10, align 4, !tbaa !10
  %1836 = xor i32 %1835, %1834
  store i32 %1836, ptr %10, align 4, !tbaa !10
  %1837 = load i32, ptr %7, align 4, !tbaa !10
  %1838 = xor i32 %1837, 2
  store i32 %1838, ptr %7, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #2
  %1839 = load i32, ptr %10, align 4, !tbaa !10
  store i32 %1839, ptr %51, align 4, !tbaa !10
  %1840 = load i32, ptr %51, align 4, !tbaa !10
  %1841 = shl i32 %1840, 8
  %1842 = load i32, ptr %51, align 4, !tbaa !10
  %1843 = lshr i32 %1842, 24
  %1844 = or i32 %1841, %1843
  store i32 %1844, ptr %52, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #2
  %1845 = load i32, ptr %52, align 4, !tbaa !10
  store i32 %1845, ptr %10, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #2
  %1846 = load i32, ptr %7, align 4, !tbaa !10
  store i32 %1846, ptr %53, align 4, !tbaa !10
  %1847 = load i32, ptr %53, align 4, !tbaa !10
  %1848 = shl i32 %1847, 16
  %1849 = load i32, ptr %53, align 4, !tbaa !10
  %1850 = lshr i32 %1849, 16
  %1851 = or i32 %1848, %1850
  store i32 %1851, ptr %54, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #2
  %1852 = load i32, ptr %54, align 4, !tbaa !10
  store i32 %1852, ptr %7, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #2
  %1853 = load i32, ptr %8, align 4, !tbaa !10
  store i32 %1853, ptr %55, align 4, !tbaa !10
  %1854 = load i32, ptr %55, align 4, !tbaa !10
  %1855 = shl i32 %1854, 24
  %1856 = load i32, ptr %55, align 4, !tbaa !10
  %1857 = lshr i32 %1856, 8
  %1858 = or i32 %1855, %1857
  store i32 %1858, ptr %56, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #2
  %1859 = load i32, ptr %56, align 4, !tbaa !10
  store i32 %1859, ptr %8, align 4, !tbaa !10
  %1860 = load i32, ptr %7, align 4, !tbaa !10
  %1861 = load i32, ptr %10, align 4, !tbaa !10
  %1862 = xor i32 %1861, %1860
  store i32 %1862, ptr %10, align 4, !tbaa !10
  %1863 = load i32, ptr %9, align 4, !tbaa !10
  %1864 = load i32, ptr %7, align 4, !tbaa !10
  %1865 = xor i32 %1864, %1863
  store i32 %1865, ptr %7, align 4, !tbaa !10
  %1866 = load i32, ptr %7, align 4, !tbaa !10
  %1867 = load i32, ptr %8, align 4, !tbaa !10
  %1868 = xor i32 %1867, %1866
  store i32 %1868, ptr %8, align 4, !tbaa !10
  br label %1869

1869:                                             ; preds = %1795
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #2
  %1870 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 2
  %1871 = load i32, ptr %1870, align 8, !tbaa !10
  store i32 %1871, ptr %57, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #2
  %1872 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 3
  %1873 = load i32, ptr %1872, align 4, !tbaa !10
  store i32 %1873, ptr %58, align 4, !tbaa !10
  %1874 = load i32, ptr %58, align 4, !tbaa !10
  %1875 = shl i32 %1874, 16
  %1876 = load i32, ptr %58, align 4, !tbaa !10
  %1877 = lshr i32 %1876, 16
  %1878 = or i32 %1875, %1877
  store i32 %1878, ptr %58, align 4, !tbaa !10
  %1879 = load i32, ptr %57, align 4, !tbaa !10
  %1880 = lshr i32 %1879, 8
  %1881 = and i32 %1880, 255
  %1882 = load i32, ptr %57, align 4, !tbaa !10
  %1883 = shl i32 %1882, 16
  %1884 = and i32 %1883, 16711680
  %1885 = or i32 %1881, %1884
  %1886 = load i32, ptr %58, align 4, !tbaa !10
  %1887 = and i32 %1886, -16711936
  %1888 = or i32 %1885, %1887
  %1889 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 2
  store i32 %1888, ptr %1889, align 8, !tbaa !10
  %1890 = load i32, ptr %57, align 4, !tbaa !10
  %1891 = lshr i32 %1890, 16
  %1892 = and i32 %1891, 255
  %1893 = load i32, ptr %57, align 4, !tbaa !10
  %1894 = and i32 %1893, -16777216
  %1895 = or i32 %1892, %1894
  %1896 = load i32, ptr %58, align 4, !tbaa !10
  %1897 = shl i32 %1896, 8
  %1898 = and i32 %1897, 65280
  %1899 = or i32 %1895, %1898
  %1900 = load i32, ptr %58, align 4, !tbaa !10
  %1901 = and i32 %1900, 16711680
  %1902 = or i32 %1899, %1901
  %1903 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 3
  store i32 %1902, ptr %1903, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #2
  br label %1904

1904:                                             ; preds = %1869
  br label %1905

1905:                                             ; preds = %1904
  br label %1906

1906:                                             ; preds = %1905
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #2
  %1907 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  %1908 = load i32, ptr %1907, align 8, !tbaa !10
  store i32 %1908, ptr %59, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #2
  %1909 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  %1910 = load i32, ptr %1909, align 4, !tbaa !10
  store i32 %1910, ptr %60, align 4, !tbaa !10
  %1911 = load i32, ptr %60, align 4, !tbaa !10
  %1912 = shl i32 %1911, 16
  %1913 = load i32, ptr %60, align 4, !tbaa !10
  %1914 = lshr i32 %1913, 16
  %1915 = or i32 %1912, %1914
  store i32 %1915, ptr %60, align 4, !tbaa !10
  %1916 = load i32, ptr %59, align 4, !tbaa !10
  %1917 = lshr i32 %1916, 8
  %1918 = and i32 %1917, 255
  %1919 = load i32, ptr %59, align 4, !tbaa !10
  %1920 = shl i32 %1919, 16
  %1921 = and i32 %1920, 16711680
  %1922 = or i32 %1918, %1921
  %1923 = load i32, ptr %60, align 4, !tbaa !10
  %1924 = and i32 %1923, -16711936
  %1925 = or i32 %1922, %1924
  %1926 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  store i32 %1925, ptr %1926, align 8, !tbaa !10
  %1927 = load i32, ptr %59, align 4, !tbaa !10
  %1928 = lshr i32 %1927, 16
  %1929 = and i32 %1928, 255
  %1930 = load i32, ptr %59, align 4, !tbaa !10
  %1931 = and i32 %1930, -16777216
  %1932 = or i32 %1929, %1931
  %1933 = load i32, ptr %60, align 4, !tbaa !10
  %1934 = shl i32 %1933, 8
  %1935 = and i32 %1934, 65280
  %1936 = or i32 %1932, %1935
  %1937 = load i32, ptr %60, align 4, !tbaa !10
  %1938 = and i32 %1937, 16711680
  %1939 = or i32 %1936, %1938
  %1940 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  store i32 %1939, ptr %1940, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #2
  br label %1941

1941:                                             ; preds = %1906
  br label %1942

1942:                                             ; preds = %1941
  br label %1943

1943:                                             ; preds = %1942
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #2
  %1944 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  %1945 = load i32, ptr %1944, align 8, !tbaa !10
  store i32 %1945, ptr %61, align 4, !tbaa !10
  %1946 = load i32, ptr %61, align 4, !tbaa !10
  %1947 = shl i32 %1946, 1
  %1948 = and i32 %1947, -16843010
  %1949 = load i32, ptr %61, align 4, !tbaa !10
  %1950 = lshr i32 %1949, 7
  %1951 = load i32, ptr %61, align 4, !tbaa !10
  %1952 = lshr i32 %1951, 5
  %1953 = xor i32 %1950, %1952
  %1954 = and i32 %1953, 16843009
  %1955 = xor i32 %1948, %1954
  %1956 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  store i32 %1955, ptr %1956, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #2
  br label %1957

1957:                                             ; preds = %1943
  br label %1958

1958:                                             ; preds = %1957
  br label %1959

1959:                                             ; preds = %1958
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #2
  %1960 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  %1961 = load i32, ptr %1960, align 4, !tbaa !10
  store i32 %1961, ptr %62, align 4, !tbaa !10
  %1962 = load i32, ptr %62, align 4, !tbaa !10
  %1963 = shl i32 %1962, 1
  %1964 = and i32 %1963, -16843010
  %1965 = load i32, ptr %62, align 4, !tbaa !10
  %1966 = lshr i32 %1965, 7
  %1967 = load i32, ptr %62, align 4, !tbaa !10
  %1968 = lshr i32 %1967, 5
  %1969 = xor i32 %1966, %1968
  %1970 = and i32 %1969, 16843009
  %1971 = xor i32 %1964, %1970
  %1972 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  store i32 %1971, ptr %1972, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #2
  br label %1973

1973:                                             ; preds = %1959
  br label %1974

1974:                                             ; preds = %1973
  br label %1975

1975:                                             ; preds = %1974
  br label %1976

1976:                                             ; preds = %1975
  br label %1977

1977:                                             ; preds = %1976
  br label %1978

1978:                                             ; preds = %1977
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #2
  %1979 = load i32, ptr %8, align 4, !tbaa !10
  %1980 = xor i32 %1979, -1
  store i32 %1980, ptr %8, align 4, !tbaa !10
  %1981 = load i32, ptr %8, align 4, !tbaa !10
  %1982 = lshr i32 %1981, 2
  %1983 = load i32, ptr %8, align 4, !tbaa !10
  %1984 = lshr i32 %1983, 3
  %1985 = and i32 %1982, %1984
  %1986 = and i32 %1985, 286331153
  %1987 = load i32, ptr %8, align 4, !tbaa !10
  %1988 = xor i32 %1987, %1986
  store i32 %1988, ptr %8, align 4, !tbaa !10
  %1989 = load i32, ptr %8, align 4, !tbaa !10
  %1990 = shl i32 %1989, 5
  %1991 = load i32, ptr %8, align 4, !tbaa !10
  %1992 = shl i32 %1991, 1
  %1993 = and i32 %1990, %1992
  %1994 = and i32 %1993, 538976288
  store i32 %1994, ptr %63, align 4, !tbaa !10
  %1995 = load i32, ptr %8, align 4, !tbaa !10
  %1996 = shl i32 %1995, 5
  %1997 = load i32, ptr %8, align 4, !tbaa !10
  %1998 = shl i32 %1997, 4
  %1999 = and i32 %1996, %1998
  %2000 = and i32 %1999, 1077952576
  %2001 = load i32, ptr %63, align 4, !tbaa !10
  %2002 = xor i32 %2000, %2001
  %2003 = load i32, ptr %8, align 4, !tbaa !10
  %2004 = xor i32 %2003, %2002
  store i32 %2004, ptr %8, align 4, !tbaa !10
  %2005 = load i32, ptr %8, align 4, !tbaa !10
  %2006 = shl i32 %2005, 2
  %2007 = load i32, ptr %8, align 4, !tbaa !10
  %2008 = shl i32 %2007, 1
  %2009 = and i32 %2006, %2008
  %2010 = and i32 %2009, -2139062144
  store i32 %2010, ptr %63, align 4, !tbaa !10
  %2011 = load i32, ptr %8, align 4, !tbaa !10
  %2012 = lshr i32 %2011, 2
  %2013 = load i32, ptr %8, align 4, !tbaa !10
  %2014 = shl i32 %2013, 1
  %2015 = and i32 %2012, %2014
  %2016 = and i32 %2015, 33686018
  %2017 = load i32, ptr %63, align 4, !tbaa !10
  %2018 = xor i32 %2016, %2017
  %2019 = load i32, ptr %8, align 4, !tbaa !10
  %2020 = xor i32 %2019, %2018
  store i32 %2020, ptr %8, align 4, !tbaa !10
  %2021 = load i32, ptr %8, align 4, !tbaa !10
  %2022 = lshr i32 %2021, 5
  %2023 = load i32, ptr %8, align 4, !tbaa !10
  %2024 = shl i32 %2023, 1
  %2025 = and i32 %2022, %2024
  %2026 = and i32 %2025, 67372036
  store i32 %2026, ptr %63, align 4, !tbaa !10
  %2027 = load i32, ptr %8, align 4, !tbaa !10
  %2028 = lshr i32 %2027, 1
  %2029 = load i32, ptr %8, align 4, !tbaa !10
  %2030 = lshr i32 %2029, 2
  %2031 = and i32 %2028, %2030
  %2032 = and i32 %2031, 134744072
  %2033 = load i32, ptr %63, align 4, !tbaa !10
  %2034 = xor i32 %2032, %2033
  %2035 = load i32, ptr %8, align 4, !tbaa !10
  %2036 = xor i32 %2035, %2034
  store i32 %2036, ptr %8, align 4, !tbaa !10
  %2037 = load i32, ptr %8, align 4, !tbaa !10
  %2038 = xor i32 %2037, -1
  store i32 %2038, ptr %8, align 4, !tbaa !10
  %2039 = load i32, ptr %8, align 4, !tbaa !10
  %2040 = and i32 %2039, 134744072
  %2041 = shl i32 %2040, 1
  %2042 = load i32, ptr %8, align 4, !tbaa !10
  %2043 = and i32 %2042, 842150450
  %2044 = shl i32 %2043, 2
  %2045 = or i32 %2041, %2044
  %2046 = load i32, ptr %8, align 4, !tbaa !10
  %2047 = and i32 %2046, 16843009
  %2048 = shl i32 %2047, 5
  %2049 = or i32 %2045, %2048
  %2050 = load i32, ptr %8, align 4, !tbaa !10
  %2051 = and i32 %2050, -2139062144
  %2052 = lshr i32 %2051, 6
  %2053 = or i32 %2049, %2052
  %2054 = load i32, ptr %8, align 4, !tbaa !10
  %2055 = and i32 %2054, 1077952576
  %2056 = lshr i32 %2055, 4
  %2057 = or i32 %2053, %2056
  %2058 = load i32, ptr %8, align 4, !tbaa !10
  %2059 = and i32 %2058, 67372036
  %2060 = lshr i32 %2059, 2
  %2061 = or i32 %2057, %2060
  store i32 %2061, ptr %8, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #2
  br label %2062

2062:                                             ; preds = %1978
  br label %2063

2063:                                             ; preds = %2062
  br label %2064

2064:                                             ; preds = %2063
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #2
  %2065 = load i32, ptr %9, align 4, !tbaa !10
  %2066 = xor i32 %2065, -1
  store i32 %2066, ptr %9, align 4, !tbaa !10
  %2067 = load i32, ptr %9, align 4, !tbaa !10
  %2068 = lshr i32 %2067, 2
  %2069 = load i32, ptr %9, align 4, !tbaa !10
  %2070 = lshr i32 %2069, 3
  %2071 = and i32 %2068, %2070
  %2072 = and i32 %2071, 286331153
  %2073 = load i32, ptr %9, align 4, !tbaa !10
  %2074 = xor i32 %2073, %2072
  store i32 %2074, ptr %9, align 4, !tbaa !10
  %2075 = load i32, ptr %9, align 4, !tbaa !10
  %2076 = shl i32 %2075, 5
  %2077 = load i32, ptr %9, align 4, !tbaa !10
  %2078 = shl i32 %2077, 1
  %2079 = and i32 %2076, %2078
  %2080 = and i32 %2079, 538976288
  store i32 %2080, ptr %64, align 4, !tbaa !10
  %2081 = load i32, ptr %9, align 4, !tbaa !10
  %2082 = shl i32 %2081, 5
  %2083 = load i32, ptr %9, align 4, !tbaa !10
  %2084 = shl i32 %2083, 4
  %2085 = and i32 %2082, %2084
  %2086 = and i32 %2085, 1077952576
  %2087 = load i32, ptr %64, align 4, !tbaa !10
  %2088 = xor i32 %2086, %2087
  %2089 = load i32, ptr %9, align 4, !tbaa !10
  %2090 = xor i32 %2089, %2088
  store i32 %2090, ptr %9, align 4, !tbaa !10
  %2091 = load i32, ptr %9, align 4, !tbaa !10
  %2092 = shl i32 %2091, 2
  %2093 = load i32, ptr %9, align 4, !tbaa !10
  %2094 = shl i32 %2093, 1
  %2095 = and i32 %2092, %2094
  %2096 = and i32 %2095, -2139062144
  store i32 %2096, ptr %64, align 4, !tbaa !10
  %2097 = load i32, ptr %9, align 4, !tbaa !10
  %2098 = lshr i32 %2097, 2
  %2099 = load i32, ptr %9, align 4, !tbaa !10
  %2100 = shl i32 %2099, 1
  %2101 = and i32 %2098, %2100
  %2102 = and i32 %2101, 33686018
  %2103 = load i32, ptr %64, align 4, !tbaa !10
  %2104 = xor i32 %2102, %2103
  %2105 = load i32, ptr %9, align 4, !tbaa !10
  %2106 = xor i32 %2105, %2104
  store i32 %2106, ptr %9, align 4, !tbaa !10
  %2107 = load i32, ptr %9, align 4, !tbaa !10
  %2108 = lshr i32 %2107, 5
  %2109 = load i32, ptr %9, align 4, !tbaa !10
  %2110 = shl i32 %2109, 1
  %2111 = and i32 %2108, %2110
  %2112 = and i32 %2111, 67372036
  store i32 %2112, ptr %64, align 4, !tbaa !10
  %2113 = load i32, ptr %9, align 4, !tbaa !10
  %2114 = lshr i32 %2113, 1
  %2115 = load i32, ptr %9, align 4, !tbaa !10
  %2116 = lshr i32 %2115, 2
  %2117 = and i32 %2114, %2116
  %2118 = and i32 %2117, 134744072
  %2119 = load i32, ptr %64, align 4, !tbaa !10
  %2120 = xor i32 %2118, %2119
  %2121 = load i32, ptr %9, align 4, !tbaa !10
  %2122 = xor i32 %2121, %2120
  store i32 %2122, ptr %9, align 4, !tbaa !10
  %2123 = load i32, ptr %9, align 4, !tbaa !10
  %2124 = xor i32 %2123, -1
  store i32 %2124, ptr %9, align 4, !tbaa !10
  %2125 = load i32, ptr %9, align 4, !tbaa !10
  %2126 = and i32 %2125, 134744072
  %2127 = shl i32 %2126, 1
  %2128 = load i32, ptr %9, align 4, !tbaa !10
  %2129 = and i32 %2128, 842150450
  %2130 = shl i32 %2129, 2
  %2131 = or i32 %2127, %2130
  %2132 = load i32, ptr %9, align 4, !tbaa !10
  %2133 = and i32 %2132, 16843009
  %2134 = shl i32 %2133, 5
  %2135 = or i32 %2131, %2134
  %2136 = load i32, ptr %9, align 4, !tbaa !10
  %2137 = and i32 %2136, -2139062144
  %2138 = lshr i32 %2137, 6
  %2139 = or i32 %2135, %2138
  %2140 = load i32, ptr %9, align 4, !tbaa !10
  %2141 = and i32 %2140, 1077952576
  %2142 = lshr i32 %2141, 4
  %2143 = or i32 %2139, %2142
  %2144 = load i32, ptr %9, align 4, !tbaa !10
  %2145 = and i32 %2144, 67372036
  %2146 = lshr i32 %2145, 2
  %2147 = or i32 %2143, %2146
  store i32 %2147, ptr %9, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #2
  br label %2148

2148:                                             ; preds = %2064
  br label %2149

2149:                                             ; preds = %2148
  br label %2150

2150:                                             ; preds = %2149
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #2
  %2151 = load i32, ptr %10, align 4, !tbaa !10
  %2152 = xor i32 %2151, -1
  store i32 %2152, ptr %10, align 4, !tbaa !10
  %2153 = load i32, ptr %10, align 4, !tbaa !10
  %2154 = lshr i32 %2153, 2
  %2155 = load i32, ptr %10, align 4, !tbaa !10
  %2156 = lshr i32 %2155, 3
  %2157 = and i32 %2154, %2156
  %2158 = and i32 %2157, 286331153
  %2159 = load i32, ptr %10, align 4, !tbaa !10
  %2160 = xor i32 %2159, %2158
  store i32 %2160, ptr %10, align 4, !tbaa !10
  %2161 = load i32, ptr %10, align 4, !tbaa !10
  %2162 = shl i32 %2161, 5
  %2163 = load i32, ptr %10, align 4, !tbaa !10
  %2164 = shl i32 %2163, 1
  %2165 = and i32 %2162, %2164
  %2166 = and i32 %2165, 538976288
  store i32 %2166, ptr %65, align 4, !tbaa !10
  %2167 = load i32, ptr %10, align 4, !tbaa !10
  %2168 = shl i32 %2167, 5
  %2169 = load i32, ptr %10, align 4, !tbaa !10
  %2170 = shl i32 %2169, 4
  %2171 = and i32 %2168, %2170
  %2172 = and i32 %2171, 1077952576
  %2173 = load i32, ptr %65, align 4, !tbaa !10
  %2174 = xor i32 %2172, %2173
  %2175 = load i32, ptr %10, align 4, !tbaa !10
  %2176 = xor i32 %2175, %2174
  store i32 %2176, ptr %10, align 4, !tbaa !10
  %2177 = load i32, ptr %10, align 4, !tbaa !10
  %2178 = shl i32 %2177, 2
  %2179 = load i32, ptr %10, align 4, !tbaa !10
  %2180 = shl i32 %2179, 1
  %2181 = and i32 %2178, %2180
  %2182 = and i32 %2181, -2139062144
  store i32 %2182, ptr %65, align 4, !tbaa !10
  %2183 = load i32, ptr %10, align 4, !tbaa !10
  %2184 = lshr i32 %2183, 2
  %2185 = load i32, ptr %10, align 4, !tbaa !10
  %2186 = shl i32 %2185, 1
  %2187 = and i32 %2184, %2186
  %2188 = and i32 %2187, 33686018
  %2189 = load i32, ptr %65, align 4, !tbaa !10
  %2190 = xor i32 %2188, %2189
  %2191 = load i32, ptr %10, align 4, !tbaa !10
  %2192 = xor i32 %2191, %2190
  store i32 %2192, ptr %10, align 4, !tbaa !10
  %2193 = load i32, ptr %10, align 4, !tbaa !10
  %2194 = lshr i32 %2193, 5
  %2195 = load i32, ptr %10, align 4, !tbaa !10
  %2196 = shl i32 %2195, 1
  %2197 = and i32 %2194, %2196
  %2198 = and i32 %2197, 67372036
  store i32 %2198, ptr %65, align 4, !tbaa !10
  %2199 = load i32, ptr %10, align 4, !tbaa !10
  %2200 = lshr i32 %2199, 1
  %2201 = load i32, ptr %10, align 4, !tbaa !10
  %2202 = lshr i32 %2201, 2
  %2203 = and i32 %2200, %2202
  %2204 = and i32 %2203, 134744072
  %2205 = load i32, ptr %65, align 4, !tbaa !10
  %2206 = xor i32 %2204, %2205
  %2207 = load i32, ptr %10, align 4, !tbaa !10
  %2208 = xor i32 %2207, %2206
  store i32 %2208, ptr %10, align 4, !tbaa !10
  %2209 = load i32, ptr %10, align 4, !tbaa !10
  %2210 = xor i32 %2209, -1
  store i32 %2210, ptr %10, align 4, !tbaa !10
  %2211 = load i32, ptr %10, align 4, !tbaa !10
  %2212 = and i32 %2211, 134744072
  %2213 = shl i32 %2212, 1
  %2214 = load i32, ptr %10, align 4, !tbaa !10
  %2215 = and i32 %2214, 842150450
  %2216 = shl i32 %2215, 2
  %2217 = or i32 %2213, %2216
  %2218 = load i32, ptr %10, align 4, !tbaa !10
  %2219 = and i32 %2218, 16843009
  %2220 = shl i32 %2219, 5
  %2221 = or i32 %2217, %2220
  %2222 = load i32, ptr %10, align 4, !tbaa !10
  %2223 = and i32 %2222, -2139062144
  %2224 = lshr i32 %2223, 6
  %2225 = or i32 %2221, %2224
  %2226 = load i32, ptr %10, align 4, !tbaa !10
  %2227 = and i32 %2226, 1077952576
  %2228 = lshr i32 %2227, 4
  %2229 = or i32 %2225, %2228
  %2230 = load i32, ptr %10, align 4, !tbaa !10
  %2231 = and i32 %2230, 67372036
  %2232 = lshr i32 %2231, 2
  %2233 = or i32 %2229, %2232
  store i32 %2233, ptr %10, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #2
  br label %2234

2234:                                             ; preds = %2150
  br label %2235

2235:                                             ; preds = %2234
  br label %2236

2236:                                             ; preds = %2235
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #2
  %2237 = load i32, ptr %7, align 4, !tbaa !10
  %2238 = xor i32 %2237, -1
  store i32 %2238, ptr %7, align 4, !tbaa !10
  %2239 = load i32, ptr %7, align 4, !tbaa !10
  %2240 = lshr i32 %2239, 2
  %2241 = load i32, ptr %7, align 4, !tbaa !10
  %2242 = lshr i32 %2241, 3
  %2243 = and i32 %2240, %2242
  %2244 = and i32 %2243, 286331153
  %2245 = load i32, ptr %7, align 4, !tbaa !10
  %2246 = xor i32 %2245, %2244
  store i32 %2246, ptr %7, align 4, !tbaa !10
  %2247 = load i32, ptr %7, align 4, !tbaa !10
  %2248 = shl i32 %2247, 5
  %2249 = load i32, ptr %7, align 4, !tbaa !10
  %2250 = shl i32 %2249, 1
  %2251 = and i32 %2248, %2250
  %2252 = and i32 %2251, 538976288
  store i32 %2252, ptr %66, align 4, !tbaa !10
  %2253 = load i32, ptr %7, align 4, !tbaa !10
  %2254 = shl i32 %2253, 5
  %2255 = load i32, ptr %7, align 4, !tbaa !10
  %2256 = shl i32 %2255, 4
  %2257 = and i32 %2254, %2256
  %2258 = and i32 %2257, 1077952576
  %2259 = load i32, ptr %66, align 4, !tbaa !10
  %2260 = xor i32 %2258, %2259
  %2261 = load i32, ptr %7, align 4, !tbaa !10
  %2262 = xor i32 %2261, %2260
  store i32 %2262, ptr %7, align 4, !tbaa !10
  %2263 = load i32, ptr %7, align 4, !tbaa !10
  %2264 = shl i32 %2263, 2
  %2265 = load i32, ptr %7, align 4, !tbaa !10
  %2266 = shl i32 %2265, 1
  %2267 = and i32 %2264, %2266
  %2268 = and i32 %2267, -2139062144
  store i32 %2268, ptr %66, align 4, !tbaa !10
  %2269 = load i32, ptr %7, align 4, !tbaa !10
  %2270 = lshr i32 %2269, 2
  %2271 = load i32, ptr %7, align 4, !tbaa !10
  %2272 = shl i32 %2271, 1
  %2273 = and i32 %2270, %2272
  %2274 = and i32 %2273, 33686018
  %2275 = load i32, ptr %66, align 4, !tbaa !10
  %2276 = xor i32 %2274, %2275
  %2277 = load i32, ptr %7, align 4, !tbaa !10
  %2278 = xor i32 %2277, %2276
  store i32 %2278, ptr %7, align 4, !tbaa !10
  %2279 = load i32, ptr %7, align 4, !tbaa !10
  %2280 = lshr i32 %2279, 5
  %2281 = load i32, ptr %7, align 4, !tbaa !10
  %2282 = shl i32 %2281, 1
  %2283 = and i32 %2280, %2282
  %2284 = and i32 %2283, 67372036
  store i32 %2284, ptr %66, align 4, !tbaa !10
  %2285 = load i32, ptr %7, align 4, !tbaa !10
  %2286 = lshr i32 %2285, 1
  %2287 = load i32, ptr %7, align 4, !tbaa !10
  %2288 = lshr i32 %2287, 2
  %2289 = and i32 %2286, %2288
  %2290 = and i32 %2289, 134744072
  %2291 = load i32, ptr %66, align 4, !tbaa !10
  %2292 = xor i32 %2290, %2291
  %2293 = load i32, ptr %7, align 4, !tbaa !10
  %2294 = xor i32 %2293, %2292
  store i32 %2294, ptr %7, align 4, !tbaa !10
  %2295 = load i32, ptr %7, align 4, !tbaa !10
  %2296 = xor i32 %2295, -1
  store i32 %2296, ptr %7, align 4, !tbaa !10
  %2297 = load i32, ptr %7, align 4, !tbaa !10
  %2298 = and i32 %2297, 134744072
  %2299 = shl i32 %2298, 1
  %2300 = load i32, ptr %7, align 4, !tbaa !10
  %2301 = and i32 %2300, 842150450
  %2302 = shl i32 %2301, 2
  %2303 = or i32 %2299, %2302
  %2304 = load i32, ptr %7, align 4, !tbaa !10
  %2305 = and i32 %2304, 16843009
  %2306 = shl i32 %2305, 5
  %2307 = or i32 %2303, %2306
  %2308 = load i32, ptr %7, align 4, !tbaa !10
  %2309 = and i32 %2308, -2139062144
  %2310 = lshr i32 %2309, 6
  %2311 = or i32 %2307, %2310
  %2312 = load i32, ptr %7, align 4, !tbaa !10
  %2313 = and i32 %2312, 1077952576
  %2314 = lshr i32 %2313, 4
  %2315 = or i32 %2311, %2314
  %2316 = load i32, ptr %7, align 4, !tbaa !10
  %2317 = and i32 %2316, 67372036
  %2318 = lshr i32 %2317, 2
  %2319 = or i32 %2315, %2318
  store i32 %2319, ptr %7, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #2
  br label %2320

2320:                                             ; preds = %2236
  br label %2321

2321:                                             ; preds = %2320
  %2322 = load i8, ptr %14, align 1, !tbaa !9
  %2323 = zext i8 %2322 to i32
  %2324 = shl i32 %2323, 1
  %2325 = load i8, ptr %14, align 1, !tbaa !9
  %2326 = zext i8 %2325 to i32
  %2327 = ashr i32 %2326, 5
  %2328 = and i32 %2327, 1
  %2329 = xor i32 %2324, %2328
  %2330 = load i8, ptr %14, align 1, !tbaa !9
  %2331 = zext i8 %2330 to i32
  %2332 = ashr i32 %2331, 4
  %2333 = and i32 %2332, 1
  %2334 = xor i32 %2329, %2333
  %2335 = xor i32 %2334, 1
  %2336 = trunc i32 %2335 to i8
  store i8 %2336, ptr %14, align 1, !tbaa !9
  %2337 = load i8, ptr %14, align 1, !tbaa !9
  %2338 = zext i8 %2337 to i32
  %2339 = and i32 %2338, 63
  %2340 = trunc i32 %2339 to i8
  store i8 %2340, ptr %14, align 1, !tbaa !9
  %2341 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 2
  %2342 = load i32, ptr %2341, align 8, !tbaa !10
  %2343 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 2
  %2344 = load i32, ptr %2343, align 8, !tbaa !10
  %2345 = xor i32 %2342, %2344
  %2346 = load i8, ptr %14, align 1, !tbaa !9
  %2347 = zext i8 %2346 to i32
  %2348 = and i32 %2347, 15
  %2349 = xor i32 %2345, %2348
  %2350 = load i32, ptr %8, align 4, !tbaa !10
  %2351 = xor i32 %2350, %2349
  store i32 %2351, ptr %8, align 4, !tbaa !10
  %2352 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 3
  %2353 = load i32, ptr %2352, align 4, !tbaa !10
  %2354 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 3
  %2355 = load i32, ptr %2354, align 4, !tbaa !10
  %2356 = xor i32 %2353, %2355
  %2357 = load i8, ptr %14, align 1, !tbaa !9
  %2358 = zext i8 %2357 to i32
  %2359 = ashr i32 %2358, 4
  %2360 = xor i32 %2356, %2359
  %2361 = load i32, ptr %9, align 4, !tbaa !10
  %2362 = xor i32 %2361, %2360
  store i32 %2362, ptr %9, align 4, !tbaa !10
  %2363 = load i32, ptr %10, align 4, !tbaa !10
  %2364 = xor i32 %2363, 2
  store i32 %2364, ptr %10, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #2
  %2365 = load i32, ptr %9, align 4, !tbaa !10
  store i32 %2365, ptr %67, align 4, !tbaa !10
  %2366 = load i32, ptr %67, align 4, !tbaa !10
  %2367 = shl i32 %2366, 8
  %2368 = load i32, ptr %67, align 4, !tbaa !10
  %2369 = lshr i32 %2368, 24
  %2370 = or i32 %2367, %2369
  store i32 %2370, ptr %68, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #2
  %2371 = load i32, ptr %68, align 4, !tbaa !10
  store i32 %2371, ptr %9, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #2
  %2372 = load i32, ptr %10, align 4, !tbaa !10
  store i32 %2372, ptr %69, align 4, !tbaa !10
  %2373 = load i32, ptr %69, align 4, !tbaa !10
  %2374 = shl i32 %2373, 16
  %2375 = load i32, ptr %69, align 4, !tbaa !10
  %2376 = lshr i32 %2375, 16
  %2377 = or i32 %2374, %2376
  store i32 %2377, ptr %70, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #2
  %2378 = load i32, ptr %70, align 4, !tbaa !10
  store i32 %2378, ptr %10, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #2
  %2379 = load i32, ptr %7, align 4, !tbaa !10
  store i32 %2379, ptr %71, align 4, !tbaa !10
  %2380 = load i32, ptr %71, align 4, !tbaa !10
  %2381 = shl i32 %2380, 24
  %2382 = load i32, ptr %71, align 4, !tbaa !10
  %2383 = lshr i32 %2382, 8
  %2384 = or i32 %2381, %2383
  store i32 %2384, ptr %72, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #2
  %2385 = load i32, ptr %72, align 4, !tbaa !10
  store i32 %2385, ptr %7, align 4, !tbaa !10
  %2386 = load i32, ptr %10, align 4, !tbaa !10
  %2387 = load i32, ptr %9, align 4, !tbaa !10
  %2388 = xor i32 %2387, %2386
  store i32 %2388, ptr %9, align 4, !tbaa !10
  %2389 = load i32, ptr %8, align 4, !tbaa !10
  %2390 = load i32, ptr %10, align 4, !tbaa !10
  %2391 = xor i32 %2390, %2389
  store i32 %2391, ptr %10, align 4, !tbaa !10
  %2392 = load i32, ptr %10, align 4, !tbaa !10
  %2393 = load i32, ptr %7, align 4, !tbaa !10
  %2394 = xor i32 %2393, %2392
  store i32 %2394, ptr %7, align 4, !tbaa !10
  br label %2395

2395:                                             ; preds = %2321
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #2
  %2396 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 0
  %2397 = load i32, ptr %2396, align 16, !tbaa !10
  store i32 %2397, ptr %73, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #2
  %2398 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 1
  %2399 = load i32, ptr %2398, align 4, !tbaa !10
  store i32 %2399, ptr %74, align 4, !tbaa !10
  %2400 = load i32, ptr %74, align 4, !tbaa !10
  %2401 = shl i32 %2400, 16
  %2402 = load i32, ptr %74, align 4, !tbaa !10
  %2403 = lshr i32 %2402, 16
  %2404 = or i32 %2401, %2403
  store i32 %2404, ptr %74, align 4, !tbaa !10
  %2405 = load i32, ptr %73, align 4, !tbaa !10
  %2406 = lshr i32 %2405, 8
  %2407 = and i32 %2406, 255
  %2408 = load i32, ptr %73, align 4, !tbaa !10
  %2409 = shl i32 %2408, 16
  %2410 = and i32 %2409, 16711680
  %2411 = or i32 %2407, %2410
  %2412 = load i32, ptr %74, align 4, !tbaa !10
  %2413 = and i32 %2412, -16711936
  %2414 = or i32 %2411, %2413
  %2415 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 0
  store i32 %2414, ptr %2415, align 16, !tbaa !10
  %2416 = load i32, ptr %73, align 4, !tbaa !10
  %2417 = lshr i32 %2416, 16
  %2418 = and i32 %2417, 255
  %2419 = load i32, ptr %73, align 4, !tbaa !10
  %2420 = and i32 %2419, -16777216
  %2421 = or i32 %2418, %2420
  %2422 = load i32, ptr %74, align 4, !tbaa !10
  %2423 = shl i32 %2422, 8
  %2424 = and i32 %2423, 65280
  %2425 = or i32 %2421, %2424
  %2426 = load i32, ptr %74, align 4, !tbaa !10
  %2427 = and i32 %2426, 16711680
  %2428 = or i32 %2425, %2427
  %2429 = getelementptr inbounds [4 x i32], ptr %11, i64 0, i64 1
  store i32 %2428, ptr %2429, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #2
  br label %2430

2430:                                             ; preds = %2395
  br label %2431

2431:                                             ; preds = %2430
  br label %2432

2432:                                             ; preds = %2431
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #2
  %2433 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  %2434 = load i32, ptr %2433, align 16, !tbaa !10
  store i32 %2434, ptr %75, align 4, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #2
  %2435 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  %2436 = load i32, ptr %2435, align 4, !tbaa !10
  store i32 %2436, ptr %76, align 4, !tbaa !10
  %2437 = load i32, ptr %76, align 4, !tbaa !10
  %2438 = shl i32 %2437, 16
  %2439 = load i32, ptr %76, align 4, !tbaa !10
  %2440 = lshr i32 %2439, 16
  %2441 = or i32 %2438, %2440
  store i32 %2441, ptr %76, align 4, !tbaa !10
  %2442 = load i32, ptr %75, align 4, !tbaa !10
  %2443 = lshr i32 %2442, 8
  %2444 = and i32 %2443, 255
  %2445 = load i32, ptr %75, align 4, !tbaa !10
  %2446 = shl i32 %2445, 16
  %2447 = and i32 %2446, 16711680
  %2448 = or i32 %2444, %2447
  %2449 = load i32, ptr %76, align 4, !tbaa !10
  %2450 = and i32 %2449, -16711936
  %2451 = or i32 %2448, %2450
  %2452 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  store i32 %2451, ptr %2452, align 16, !tbaa !10
  %2453 = load i32, ptr %75, align 4, !tbaa !10
  %2454 = lshr i32 %2453, 16
  %2455 = and i32 %2454, 255
  %2456 = load i32, ptr %75, align 4, !tbaa !10
  %2457 = and i32 %2456, -16777216
  %2458 = or i32 %2455, %2457
  %2459 = load i32, ptr %76, align 4, !tbaa !10
  %2460 = shl i32 %2459, 8
  %2461 = and i32 %2460, 65280
  %2462 = or i32 %2458, %2461
  %2463 = load i32, ptr %76, align 4, !tbaa !10
  %2464 = and i32 %2463, 16711680
  %2465 = or i32 %2462, %2464
  %2466 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  store i32 %2465, ptr %2466, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #2
  br label %2467

2467:                                             ; preds = %2432
  br label %2468

2468:                                             ; preds = %2467
  br label %2469

2469:                                             ; preds = %2468
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #2
  %2470 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  %2471 = load i32, ptr %2470, align 16, !tbaa !10
  store i32 %2471, ptr %77, align 4, !tbaa !10
  %2472 = load i32, ptr %77, align 4, !tbaa !10
  %2473 = shl i32 %2472, 1
  %2474 = and i32 %2473, -16843010
  %2475 = load i32, ptr %77, align 4, !tbaa !10
  %2476 = lshr i32 %2475, 7
  %2477 = load i32, ptr %77, align 4, !tbaa !10
  %2478 = lshr i32 %2477, 5
  %2479 = xor i32 %2476, %2478
  %2480 = and i32 %2479, 16843009
  %2481 = xor i32 %2474, %2480
  %2482 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 0
  store i32 %2481, ptr %2482, align 16, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #2
  br label %2483

2483:                                             ; preds = %2469
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #2
  %2486 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  %2487 = load i32, ptr %2486, align 4, !tbaa !10
  store i32 %2487, ptr %78, align 4, !tbaa !10
  %2488 = load i32, ptr %78, align 4, !tbaa !10
  %2489 = shl i32 %2488, 1
  %2490 = and i32 %2489, -16843010
  %2491 = load i32, ptr %78, align 4, !tbaa !10
  %2492 = lshr i32 %2491, 7
  %2493 = load i32, ptr %78, align 4, !tbaa !10
  %2494 = lshr i32 %2493, 5
  %2495 = xor i32 %2492, %2494
  %2496 = and i32 %2495, 16843009
  %2497 = xor i32 %2490, %2496
  %2498 = getelementptr inbounds [4 x i32], ptr %12, i64 0, i64 1
  store i32 %2497, ptr %2498, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #2
  br label %2499

2499:                                             ; preds = %2485
  br label %2500

2500:                                             ; preds = %2499
  br label %2501

2501:                                             ; preds = %2500
  br label %2502

2502:                                             ; preds = %2501
  br label %2503

2503:                                             ; preds = %2502
  %2504 = load i32, ptr %13, align 4, !tbaa !10
  %2505 = add i32 %2504, 4
  store i32 %2505, ptr %13, align 4, !tbaa !10
  br label %395, !llvm.loop !12

2506:                                             ; preds = %395
  br label %2507

2507:                                             ; preds = %2506
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #2
  %2508 = load i32, ptr %7, align 4, !tbaa !10
  store i32 %2508, ptr %79, align 4, !tbaa !10
  %2509 = load i32, ptr %79, align 4, !tbaa !10
  %2510 = trunc i32 %2509 to i8
  %2511 = load ptr, ptr %5, align 8, !tbaa !5
  %2512 = getelementptr inbounds i8, ptr %2511, i64 0
  store i8 %2510, ptr %2512, align 1, !tbaa !9
  %2513 = load i32, ptr %79, align 4, !tbaa !10
  %2514 = lshr i32 %2513, 8
  %2515 = trunc i32 %2514 to i8
  %2516 = load ptr, ptr %5, align 8, !tbaa !5
  %2517 = getelementptr inbounds i8, ptr %2516, i64 1
  store i8 %2515, ptr %2517, align 1, !tbaa !9
  %2518 = load i32, ptr %79, align 4, !tbaa !10
  %2519 = lshr i32 %2518, 16
  %2520 = trunc i32 %2519 to i8
  %2521 = load ptr, ptr %5, align 8, !tbaa !5
  %2522 = getelementptr inbounds i8, ptr %2521, i64 2
  store i8 %2520, ptr %2522, align 1, !tbaa !9
  %2523 = load i32, ptr %79, align 4, !tbaa !10
  %2524 = lshr i32 %2523, 24
  %2525 = trunc i32 %2524 to i8
  %2526 = load ptr, ptr %5, align 8, !tbaa !5
  %2527 = getelementptr inbounds i8, ptr %2526, i64 3
  store i8 %2525, ptr %2527, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #2
  br label %2528

2528:                                             ; preds = %2507
  br label %2529

2529:                                             ; preds = %2528
  br label %2530

2530:                                             ; preds = %2529
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #2
  %2531 = load i32, ptr %8, align 4, !tbaa !10
  store i32 %2531, ptr %80, align 4, !tbaa !10
  %2532 = load i32, ptr %80, align 4, !tbaa !10
  %2533 = trunc i32 %2532 to i8
  %2534 = load ptr, ptr %5, align 8, !tbaa !5
  %2535 = getelementptr inbounds i8, ptr %2534, i64 4
  %2536 = getelementptr inbounds i8, ptr %2535, i64 0
  store i8 %2533, ptr %2536, align 1, !tbaa !9
  %2537 = load i32, ptr %80, align 4, !tbaa !10
  %2538 = lshr i32 %2537, 8
  %2539 = trunc i32 %2538 to i8
  %2540 = load ptr, ptr %5, align 8, !tbaa !5
  %2541 = getelementptr inbounds i8, ptr %2540, i64 4
  %2542 = getelementptr inbounds i8, ptr %2541, i64 1
  store i8 %2539, ptr %2542, align 1, !tbaa !9
  %2543 = load i32, ptr %80, align 4, !tbaa !10
  %2544 = lshr i32 %2543, 16
  %2545 = trunc i32 %2544 to i8
  %2546 = load ptr, ptr %5, align 8, !tbaa !5
  %2547 = getelementptr inbounds i8, ptr %2546, i64 4
  %2548 = getelementptr inbounds i8, ptr %2547, i64 2
  store i8 %2545, ptr %2548, align 1, !tbaa !9
  %2549 = load i32, ptr %80, align 4, !tbaa !10
  %2550 = lshr i32 %2549, 24
  %2551 = trunc i32 %2550 to i8
  %2552 = load ptr, ptr %5, align 8, !tbaa !5
  %2553 = getelementptr inbounds i8, ptr %2552, i64 4
  %2554 = getelementptr inbounds i8, ptr %2553, i64 3
  store i8 %2551, ptr %2554, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #2
  br label %2555

2555:                                             ; preds = %2530
  br label %2556

2556:                                             ; preds = %2555
  br label %2557

2557:                                             ; preds = %2556
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #2
  %2558 = load i32, ptr %9, align 4, !tbaa !10
  store i32 %2558, ptr %81, align 4, !tbaa !10
  %2559 = load i32, ptr %81, align 4, !tbaa !10
  %2560 = trunc i32 %2559 to i8
  %2561 = load ptr, ptr %5, align 8, !tbaa !5
  %2562 = getelementptr inbounds i8, ptr %2561, i64 8
  %2563 = getelementptr inbounds i8, ptr %2562, i64 0
  store i8 %2560, ptr %2563, align 1, !tbaa !9
  %2564 = load i32, ptr %81, align 4, !tbaa !10
  %2565 = lshr i32 %2564, 8
  %2566 = trunc i32 %2565 to i8
  %2567 = load ptr, ptr %5, align 8, !tbaa !5
  %2568 = getelementptr inbounds i8, ptr %2567, i64 8
  %2569 = getelementptr inbounds i8, ptr %2568, i64 1
  store i8 %2566, ptr %2569, align 1, !tbaa !9
  %2570 = load i32, ptr %81, align 4, !tbaa !10
  %2571 = lshr i32 %2570, 16
  %2572 = trunc i32 %2571 to i8
  %2573 = load ptr, ptr %5, align 8, !tbaa !5
  %2574 = getelementptr inbounds i8, ptr %2573, i64 8
  %2575 = getelementptr inbounds i8, ptr %2574, i64 2
  store i8 %2572, ptr %2575, align 1, !tbaa !9
  %2576 = load i32, ptr %81, align 4, !tbaa !10
  %2577 = lshr i32 %2576, 24
  %2578 = trunc i32 %2577 to i8
  %2579 = load ptr, ptr %5, align 8, !tbaa !5
  %2580 = getelementptr inbounds i8, ptr %2579, i64 8
  %2581 = getelementptr inbounds i8, ptr %2580, i64 3
  store i8 %2578, ptr %2581, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #2
  br label %2582

2582:                                             ; preds = %2557
  br label %2583

2583:                                             ; preds = %2582
  br label %2584

2584:                                             ; preds = %2583
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #2
  %2585 = load i32, ptr %10, align 4, !tbaa !10
  store i32 %2585, ptr %82, align 4, !tbaa !10
  %2586 = load i32, ptr %82, align 4, !tbaa !10
  %2587 = trunc i32 %2586 to i8
  %2588 = load ptr, ptr %5, align 8, !tbaa !5
  %2589 = getelementptr inbounds i8, ptr %2588, i64 12
  %2590 = getelementptr inbounds i8, ptr %2589, i64 0
  store i8 %2587, ptr %2590, align 1, !tbaa !9
  %2591 = load i32, ptr %82, align 4, !tbaa !10
  %2592 = lshr i32 %2591, 8
  %2593 = trunc i32 %2592 to i8
  %2594 = load ptr, ptr %5, align 8, !tbaa !5
  %2595 = getelementptr inbounds i8, ptr %2594, i64 12
  %2596 = getelementptr inbounds i8, ptr %2595, i64 1
  store i8 %2593, ptr %2596, align 1, !tbaa !9
  %2597 = load i32, ptr %82, align 4, !tbaa !10
  %2598 = lshr i32 %2597, 16
  %2599 = trunc i32 %2598 to i8
  %2600 = load ptr, ptr %5, align 8, !tbaa !5
  %2601 = getelementptr inbounds i8, ptr %2600, i64 12
  %2602 = getelementptr inbounds i8, ptr %2601, i64 2
  store i8 %2599, ptr %2602, align 1, !tbaa !9
  %2603 = load i32, ptr %82, align 4, !tbaa !10
  %2604 = lshr i32 %2603, 24
  %2605 = trunc i32 %2604 to i8
  %2606 = load ptr, ptr %5, align 8, !tbaa !5
  %2607 = getelementptr inbounds i8, ptr %2606, i64 12
  %2608 = getelementptr inbounds i8, ptr %2607, i64 3
  store i8 %2605, ptr %2608, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #2
  br label %2609

2609:                                             ; preds = %2584
  br label %2610

2610:                                             ; preds = %2609
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #2
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #2
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #2
  ret void
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 = !{!7, !7, i64 0}
!10 = !{!11, !11, i64 0}
!11 = !{!"int", !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}


; 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"

; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable
define dso_local void @skinny_128_256_encrypt_tk_full(ptr nocapture noundef readonly %0, ptr nocapture noundef writeonly %1, ptr nocapture noundef readonly %2) local_unnamed_addr #0 {
  %4 = load i32, ptr %2, align 1
  %5 = getelementptr inbounds i8, ptr %2, i64 4
  %6 = load i32, ptr %5, align 1
  %7 = getelementptr inbounds i8, ptr %2, i64 8
  %8 = load i32, ptr %7, align 1
  %9 = getelementptr inbounds i8, ptr %2, i64 12
  %10 = load i32, ptr %9, align 1
  %11 = load i32, ptr %0, align 1
  %12 = getelementptr inbounds i8, ptr %0, i64 4
  %13 = load i32, ptr %12, align 1
  %14 = getelementptr inbounds i8, ptr %0, i64 8
  %15 = load i32, ptr %14, align 1
  %16 = getelementptr inbounds i8, ptr %0, i64 12
  %17 = load i32, ptr %16, align 1
  %18 = getelementptr inbounds i8, ptr %0, i64 16
  %19 = load i32, ptr %18, align 1
  %20 = getelementptr inbounds i8, ptr %0, i64 20
  %21 = load i32, ptr %20, align 1
  %22 = getelementptr inbounds i8, ptr %0, i64 24
  %23 = load i32, ptr %22, align 1
  %24 = getelementptr inbounds i8, ptr %0, i64 28
  %25 = load i32, ptr %24, align 1
  br label %26

26:                                               ; preds = %3, %26
  %.0814 = phi i32 [ %4, %3 ], [ %1050, %26 ]
  %.0786813 = phi i32 [ %6, %3 ], [ %1039, %26 ]
  %.0787812 = phi i32 [ %8, %3 ], [ %1048, %26 ]
  %.0788811 = phi i32 [ %10, %3 ], [ %1049, %26 ]
  %.sroa.23.0810 = phi i32 [ %17, %3 ], [ %796, %26 ]
  %.sroa.16.0809 = phi i32 [ %15, %3 ], [ %788, %26 ]
  %.sroa.9.0808 = phi i32 [ %13, %3 ], [ %1065, %26 ]
  %.sroa.0242.0807 = phi i32 [ %11, %3 ], [ %1057, %26 ]
  %.sroa.35.0806 = phi i32 [ %25, %3 ], [ %827, %26 ]
  %.sroa.24.0805 = phi i32 [ %23, %3 ], [ %820, %26 ]
  %.sroa.13.0804 = phi i32 [ %21, %3 ], [ %1096, %26 ]
  %.sroa.0.0803 = phi i32 [ %19, %3 ], [ %1089, %26 ]
  %.0789802 = phi i32 [ 0, %3 ], [ %1097, %26 ]
  %.0790801 = phi i32 [ 0, %3 ], [ %1035, %26 ]
  %27 = xor i32 %.0814, -1
  %28 = lshr i32 %27, 2
  %29 = lshr i32 %27, 3
  %30 = and i32 %29, 286331153
  %31 = and i32 %30, %28
  %32 = xor i32 %31, %27
  %33 = shl i32 %32, 5
  %34 = shl i32 %32, 1
  %35 = and i32 %34, 538976288
  %36 = shl i32 %27, 4
  %37 = and i32 %36, 1077952576
  %38 = or disjoint i32 %35, %37
  %39 = and i32 %38, %33
  %40 = xor i32 %39, %32
  %41 = shl i32 %40, 2
  %42 = shl i32 %40, 1
  %43 = and i32 %42, -2139062144
  %44 = and i32 %43, %41
  %45 = and i32 %28, 33686018
  %46 = and i32 %45, %42
  %47 = or disjoint i32 %44, %46
  %48 = xor i32 %47, %40
  %49 = lshr i32 %48, 5
  %50 = shl i32 %48, 1
  %51 = and i32 %50, 67372036
  %52 = and i32 %51, %49
  %53 = lshr i32 %32, 1
  %54 = lshr i32 %40, 2
  %55 = and i32 %53, 134744072
  %56 = and i32 %55, %54
  %57 = or disjoint i32 %52, %56
  %58 = xor i32 %48, %57
  %59 = xor i32 %58, -1
  %60 = shl i32 %59, 1
  %61 = and i32 %60, 269488144
  %62 = shl i32 %59, 2
  %63 = and i32 %62, -926365496
  %64 = or disjoint i32 %61, %63
  %65 = shl i32 %59, 5
  %66 = and i32 %65, 538976288
  %67 = or disjoint i32 %64, %66
  %68 = lshr i32 %59, 6
  %69 = and i32 %68, 33686018
  %70 = or disjoint i32 %67, %69
  %71 = lshr i32 %59, 4
  %72 = and i32 %71, 67372036
  %73 = or disjoint i32 %70, %72
  %74 = lshr i32 %59, 2
  %75 = and i32 %74, 16843009
  %76 = or disjoint i32 %73, %75
  %77 = xor i32 %.0786813, -1
  %78 = lshr i32 %77, 2
  %79 = lshr i32 %77, 3
  %80 = and i32 %79, 286331153
  %81 = and i32 %80, %78
  %82 = xor i32 %81, %77
  %83 = shl i32 %82, 5
  %84 = shl i32 %82, 1
  %85 = and i32 %84, 538976288
  %86 = shl i32 %77, 4
  %87 = and i32 %86, 1077952576
  %88 = or disjoint i32 %85, %87
  %89 = and i32 %88, %83
  %90 = xor i32 %89, %82
  %91 = shl i32 %90, 2
  %92 = shl i32 %90, 1
  %93 = and i32 %92, -2139062144
  %94 = and i32 %93, %91
  %95 = and i32 %78, 33686018
  %96 = and i32 %95, %92
  %97 = or disjoint i32 %94, %96
  %98 = xor i32 %97, %90
  %99 = lshr i32 %98, 5
  %100 = shl i32 %98, 1
  %101 = and i32 %100, 67372036
  %102 = and i32 %101, %99
  %103 = lshr i32 %82, 1
  %104 = lshr i32 %90, 2
  %105 = and i32 %103, 134744072
  %106 = and i32 %105, %104
  %107 = or disjoint i32 %102, %106
  %108 = xor i32 %98, %107
  %109 = xor i32 %108, -1
  %110 = shl i32 %109, 1
  %111 = and i32 %110, 269488144
  %112 = shl i32 %109, 2
  %113 = and i32 %112, -926365496
  %114 = or disjoint i32 %111, %113
  %115 = shl i32 %109, 5
  %116 = and i32 %115, 538976288
  %117 = or disjoint i32 %114, %116
  %118 = lshr i32 %109, 6
  %119 = and i32 %118, 33686018
  %120 = or disjoint i32 %117, %119
  %121 = lshr i32 %109, 4
  %122 = and i32 %121, 67372036
  %123 = or disjoint i32 %120, %122
  %124 = lshr i32 %109, 2
  %125 = and i32 %124, 16843009
  %126 = or disjoint i32 %123, %125
  %127 = xor i32 %.0787812, -1
  %128 = lshr i32 %127, 2
  %129 = lshr i32 %127, 3
  %130 = and i32 %129, 286331153
  %131 = and i32 %130, %128
  %132 = xor i32 %131, %127
  %133 = shl i32 %132, 5
  %134 = shl i32 %132, 1
  %135 = and i32 %134, 538976288
  %136 = shl i32 %127, 4
  %137 = and i32 %136, 1077952576
  %138 = or disjoint i32 %135, %137
  %139 = and i32 %138, %133
  %140 = xor i32 %139, %132
  %141 = shl i32 %140, 2
  %142 = shl i32 %140, 1
  %143 = and i32 %142, -2139062144
  %144 = and i32 %143, %141
  %145 = and i32 %128, 33686018
  %146 = and i32 %145, %142
  %147 = or disjoint i32 %144, %146
  %148 = xor i32 %147, %140
  %149 = lshr i32 %148, 5
  %150 = shl i32 %148, 1
  %151 = and i32 %150, 67372036
  %152 = and i32 %151, %149
  %153 = lshr i32 %132, 1
  %154 = lshr i32 %140, 2
  %155 = and i32 %153, 134744072
  %156 = and i32 %155, %154
  %157 = or disjoint i32 %152, %156
  %158 = xor i32 %148, %157
  %159 = xor i32 %158, -1
  %160 = shl i32 %159, 1
  %161 = and i32 %160, 269488144
  %162 = shl i32 %159, 2
  %163 = and i32 %162, -926365496
  %164 = or disjoint i32 %161, %163
  %165 = shl i32 %159, 5
  %166 = and i32 %165, 538976288
  %167 = or disjoint i32 %164, %166
  %168 = lshr i32 %159, 6
  %169 = and i32 %168, 33686018
  %170 = or disjoint i32 %167, %169
  %171 = lshr i32 %159, 4
  %172 = and i32 %171, 67372036
  %173 = or disjoint i32 %170, %172
  %174 = lshr i32 %159, 2
  %175 = and i32 %174, 16843009
  %176 = or disjoint i32 %173, %175
  %177 = xor i32 %.0788811, -1
  %178 = lshr i32 %177, 2
  %179 = lshr i32 %177, 3
  %180 = and i32 %179, 286331153
  %181 = and i32 %180, %178
  %182 = xor i32 %181, %177
  %183 = shl i32 %182, 5
  %184 = shl i32 %182, 1
  %185 = and i32 %184, 538976288
  %186 = shl i32 %177, 4
  %187 = and i32 %186, 1077952576
  %188 = or disjoint i32 %185, %187
  %189 = and i32 %188, %183
  %190 = xor i32 %189, %182
  %191 = shl i32 %190, 2
  %192 = shl i32 %190, 1
  %193 = and i32 %192, -2139062144
  %194 = and i32 %193, %191
  %195 = and i32 %178, 33686018
  %196 = and i32 %195, %192
  %197 = or disjoint i32 %194, %196
  %198 = xor i32 %197, %190
  %199 = lshr i32 %198, 5
  %200 = shl i32 %198, 1
  %201 = and i32 %200, 67372036
  %202 = and i32 %201, %199
  %203 = lshr i32 %182, 1
  %204 = lshr i32 %190, 2
  %205 = and i32 %203, 134744072
  %206 = and i32 %205, %204
  %207 = or disjoint i32 %202, %206
  %208 = xor i32 %198, %207
  %209 = xor i32 %208, -1
  %210 = shl i32 %209, 1
  %211 = and i32 %210, 269488144
  %212 = shl i32 %209, 2
  %213 = and i32 %212, -926365496
  %214 = or disjoint i32 %211, %213
  %215 = shl i32 %209, 5
  %216 = and i32 %215, 538976288
  %217 = or disjoint i32 %214, %216
  %218 = lshr i32 %209, 6
  %219 = and i32 %218, 33686018
  %220 = or disjoint i32 %217, %219
  %221 = lshr i32 %209, 4
  %222 = and i32 %221, 67372036
  %223 = or disjoint i32 %220, %222
  %224 = lshr i32 %209, 2
  %225 = and i32 %224, 16843009
  %226 = or disjoint i32 %223, %225
  %227 = shl nuw nsw i32 %.0790801, 1
  %228 = lshr i32 %.0790801, 5
  %229 = lshr i32 %.0790801, 4
  %230 = and i32 %229, 1
  %.masked791 = and i32 %227, 62
  %.masked = or disjoint i32 %.masked791, %228
  %231 = xor i32 %230, %.masked
  %232 = xor i32 %231, 1
  %233 = and i32 %232, 15
  %234 = xor i32 %233, %76
  %235 = xor i32 %234, %.sroa.0.0803
  %236 = xor i32 %235, %.sroa.0242.0807
  %237 = lshr i32 %.masked791, 4
  %238 = xor i32 %.sroa.13.0804, %126
  %239 = xor i32 %238, %237
  %240 = xor i32 %239, %.sroa.9.0808
  %241 = xor i32 %176, 2
  %242 = tail call i32 @llvm.fshl.i32(i32 %240, i32 %240, i32 8)
  %243 = tail call i32 @llvm.fshl.i32(i32 %241, i32 %241, i32 16)
  %244 = tail call i32 @llvm.fshl.i32(i32 %226, i32 %226, i32 24)
  %245 = xor i32 %236, %243
  %246 = tail call i32 @llvm.fshl.i32(i32 %.sroa.23.0810, i32 %.sroa.23.0810, i32 16)
  %247 = lshr i32 %.sroa.16.0809, 8
  %248 = and i32 %247, 255
  %249 = shl i32 %.sroa.16.0809, 16
  %250 = and i32 %249, 16711680
  %251 = and i32 %246, -16711936
  %252 = or disjoint i32 %250, %251
  %253 = or disjoint i32 %252, %248
  %254 = lshr i32 %.sroa.16.0809, 16
  %255 = and i32 %254, 255
  %256 = and i32 %.sroa.16.0809, -16777216
  %257 = or disjoint i32 %255, %256
  %258 = shl i32 %246, 8
  %259 = and i32 %258, 65280
  %260 = and i32 %246, 16711680
  %261 = or disjoint i32 %257, %260
  %262 = or disjoint i32 %261, %259
  %263 = tail call i32 @llvm.fshl.i32(i32 %.sroa.35.0806, i32 %.sroa.35.0806, i32 16)
  %264 = lshr i32 %.sroa.24.0805, 8
  %265 = and i32 %264, 255
  %266 = shl i32 %.sroa.24.0805, 16
  %267 = and i32 %266, 16711680
  %268 = or disjoint i32 %265, %267
  %269 = and i32 %263, -16711936
  %270 = or disjoint i32 %268, %269
  %271 = lshr i32 %.sroa.24.0805, 16
  %272 = and i32 %271, 255
  %273 = and i32 %.sroa.24.0805, -16777216
  %274 = or disjoint i32 %272, %273
  %275 = shl i32 %263, 8
  %276 = and i32 %275, 65280
  %277 = and i32 %263, 16711680
  %278 = or disjoint i32 %274, %277
  %279 = or disjoint i32 %278, %276
  %280 = shl i32 %270, 1
  %281 = and i32 %280, -16843010
  %282 = lshr i32 %270, 7
  %283 = lshr i32 %270, 5
  %284 = xor i32 %282, %283
  %285 = and i32 %284, 16843009
  %286 = or disjoint i32 %285, %281
  %287 = shl i32 %279, 1
  %288 = and i32 %287, -16843010
  %289 = lshr i32 %279, 7
  %290 = lshr i32 %279, 5
  %291 = xor i32 %289, %290
  %292 = and i32 %291, 16843009
  %293 = or disjoint i32 %292, %288
  %294 = xor i32 %245, %244
  %295 = xor i32 %294, -1
  %296 = lshr i32 %295, 2
  %297 = lshr i32 %295, 3
  %298 = and i32 %297, 286331153
  %299 = and i32 %298, %296
  %300 = xor i32 %299, %295
  %301 = shl i32 %300, 5
  %302 = shl i32 %300, 1
  %303 = and i32 %302, 538976288
  %304 = shl i32 %295, 4
  %305 = and i32 %304, 1077952576
  %306 = or disjoint i32 %303, %305
  %307 = and i32 %306, %301
  %308 = xor i32 %307, %300
  %309 = shl i32 %308, 2
  %310 = shl i32 %308, 1
  %311 = and i32 %310, -2139062144
  %312 = and i32 %311, %309
  %313 = and i32 %296, 33686018
  %314 = and i32 %313, %310
  %315 = or disjoint i32 %312, %314
  %316 = xor i32 %315, %308
  %317 = lshr i32 %316, 5
  %318 = shl i32 %316, 1
  %319 = and i32 %318, 67372036
  %320 = and i32 %319, %317
  %321 = lshr i32 %300, 1
  %322 = lshr i32 %308, 2
  %323 = and i32 %321, 134744072
  %324 = and i32 %323, %322
  %325 = or disjoint i32 %320, %324
  %326 = xor i32 %316, %325
  %327 = xor i32 %326, -1
  %328 = shl i32 %327, 1
  %329 = and i32 %328, 269488144
  %330 = shl i32 %327, 2
  %331 = and i32 %330, -926365496
  %332 = or disjoint i32 %329, %331
  %333 = shl i32 %327, 5
  %334 = and i32 %333, 538976288
  %335 = or disjoint i32 %332, %334
  %336 = lshr i32 %327, 6
  %337 = and i32 %336, 33686018
  %338 = or disjoint i32 %335, %337
  %339 = lshr i32 %327, 4
  %340 = and i32 %339, 67372036
  %341 = or disjoint i32 %338, %340
  %342 = lshr i32 %327, 2
  %343 = and i32 %342, 16843009
  %344 = or disjoint i32 %341, %343
  %345 = xor i32 %236, -1
  %346 = lshr i32 %345, 2
  %347 = lshr i32 %345, 3
  %348 = and i32 %347, 286331153
  %349 = and i32 %348, %346
  %350 = xor i32 %349, %345
  %351 = shl i32 %350, 5
  %352 = shl i32 %350, 1
  %353 = and i32 %352, 538976288
  %354 = shl i32 %345, 4
  %355 = and i32 %354, 1077952576
  %356 = or disjoint i32 %353, %355
  %357 = and i32 %356, %351
  %358 = xor i32 %357, %350
  %359 = shl i32 %358, 2
  %360 = shl i32 %358, 1
  %361 = and i32 %360, -2139062144
  %362 = and i32 %361, %359
  %363 = and i32 %346, 33686018
  %364 = and i32 %363, %360
  %365 = or disjoint i32 %362, %364
  %366 = xor i32 %365, %358
  %367 = lshr i32 %366, 5
  %368 = shl i32 %366, 1
  %369 = and i32 %368, 67372036
  %370 = and i32 %369, %367
  %371 = lshr i32 %350, 1
  %372 = lshr i32 %358, 2
  %373 = and i32 %371, 134744072
  %374 = and i32 %373, %372
  %375 = or disjoint i32 %370, %374
  %376 = xor i32 %366, %375
  %377 = xor i32 %376, -1
  %378 = shl i32 %377, 1
  %379 = and i32 %378, 269488144
  %380 = shl i32 %377, 2
  %381 = and i32 %380, -926365496
  %382 = or disjoint i32 %379, %381
  %383 = shl i32 %377, 5
  %384 = and i32 %383, 538976288
  %385 = or disjoint i32 %382, %384
  %386 = lshr i32 %377, 6
  %387 = and i32 %386, 33686018
  %388 = or disjoint i32 %385, %387
  %389 = lshr i32 %377, 4
  %390 = and i32 %389, 67372036
  %391 = or disjoint i32 %388, %390
  %392 = lshr i32 %377, 2
  %393 = and i32 %392, 16843009
  %394 = or disjoint i32 %391, %393
  %395 = xor i32 %243, %242
  %396 = xor i32 %395, -1
  %397 = lshr i32 %396, 2
  %398 = lshr i32 %396, 3
  %399 = and i32 %398, 286331153
  %400 = and i32 %399, %397
  %401 = xor i32 %400, %396
  %402 = shl i32 %401, 5
  %403 = shl i32 %401, 1
  %404 = and i32 %403, 538976288
  %405 = shl i32 %396, 4
  %406 = and i32 %405, 1077952576
  %407 = or disjoint i32 %404, %406
  %408 = and i32 %407, %402
  %409 = xor i32 %408, %401
  %410 = shl i32 %409, 2
  %411 = shl i32 %409, 1
  %412 = and i32 %411, -2139062144
  %413 = and i32 %412, %410
  %414 = and i32 %397, 33686018
  %415 = and i32 %414, %411
  %416 = or disjoint i32 %413, %415
  %417 = xor i32 %416, %409
  %418 = lshr i32 %417, 5
  %419 = shl i32 %417, 1
  %420 = and i32 %419, 67372036
  %421 = and i32 %420, %418
  %422 = lshr i32 %401, 1
  %423 = lshr i32 %409, 2
  %424 = and i32 %422, 134744072
  %425 = and i32 %424, %423
  %426 = or disjoint i32 %421, %425
  %427 = xor i32 %417, %426
  %428 = xor i32 %427, -1
  %429 = shl i32 %428, 1
  %430 = and i32 %429, 269488144
  %431 = shl i32 %428, 2
  %432 = and i32 %431, -926365496
  %433 = or disjoint i32 %430, %432
  %434 = shl i32 %428, 5
  %435 = and i32 %434, 538976288
  %436 = or disjoint i32 %433, %435
  %437 = lshr i32 %428, 6
  %438 = and i32 %437, 33686018
  %439 = or disjoint i32 %436, %438
  %440 = lshr i32 %428, 4
  %441 = and i32 %440, 67372036
  %442 = or disjoint i32 %439, %441
  %443 = lshr i32 %428, 2
  %444 = and i32 %443, 16843009
  %445 = or disjoint i32 %442, %444
  %446 = xor i32 %245, -1
  %447 = lshr i32 %446, 2
  %448 = lshr i32 %446, 3
  %449 = and i32 %448, 286331153
  %450 = and i32 %449, %447
  %451 = xor i32 %450, %446
  %452 = shl i32 %451, 5
  %453 = shl i32 %451, 1
  %454 = and i32 %453, 538976288
  %455 = shl i32 %446, 4
  %456 = and i32 %455, 1077952576
  %457 = or disjoint i32 %454, %456
  %458 = and i32 %457, %452
  %459 = xor i32 %458, %451
  %460 = shl i32 %459, 2
  %461 = shl i32 %459, 1
  %462 = and i32 %461, -2139062144
  %463 = and i32 %462, %460
  %464 = and i32 %447, 33686018
  %465 = and i32 %464, %461
  %466 = or disjoint i32 %463, %465
  %467 = xor i32 %466, %459
  %468 = lshr i32 %467, 5
  %469 = shl i32 %467, 1
  %470 = and i32 %469, 67372036
  %471 = and i32 %470, %468
  %472 = lshr i32 %451, 1
  %473 = lshr i32 %459, 2
  %474 = and i32 %472, 134744072
  %475 = and i32 %474, %473
  %476 = or disjoint i32 %471, %475
  %477 = xor i32 %467, %476
  %478 = xor i32 %477, -1
  %479 = shl i32 %478, 1
  %480 = and i32 %479, 269488144
  %481 = shl i32 %478, 2
  %482 = and i32 %481, -926365496
  %483 = or disjoint i32 %480, %482
  %484 = shl i32 %478, 5
  %485 = and i32 %484, 538976288
  %486 = or disjoint i32 %483, %485
  %487 = lshr i32 %478, 6
  %488 = and i32 %487, 33686018
  %489 = or disjoint i32 %486, %488
  %490 = lshr i32 %478, 4
  %491 = and i32 %490, 67372036
  %492 = or disjoint i32 %489, %491
  %493 = lshr i32 %478, 2
  %494 = and i32 %493, 16843009
  %495 = or disjoint i32 %492, %494
  %496 = shl nuw nsw i32 %232, 1
  %497 = and i32 %237, 1
  %.masked794 = and i32 %496, 62
  %.masked792.masked = or disjoint i32 %.masked794, %230
  %498 = xor i32 %497, %.masked792.masked
  %499 = xor i32 %498, 1
  %500 = and i32 %499, 15
  %501 = xor i32 %500, %253
  %502 = xor i32 %501, %344
  %503 = xor i32 %502, %286
  %504 = lshr i32 %.masked794, 4
  %505 = xor i32 %504, %394
  %506 = xor i32 %505, %293
  %507 = xor i32 %506, %262
  %508 = xor i32 %445, 2
  %509 = tail call i32 @llvm.fshl.i32(i32 %507, i32 %507, i32 8)
  %510 = tail call i32 @llvm.fshl.i32(i32 %508, i32 %508, i32 16)
  %511 = tail call i32 @llvm.fshl.i32(i32 %495, i32 %495, i32 24)
  %512 = xor i32 %503, %510
  %513 = tail call i32 @llvm.fshl.i32(i32 %.sroa.9.0808, i32 %.sroa.9.0808, i32 16)
  %514 = lshr i32 %.sroa.0242.0807, 8
  %515 = and i32 %514, 255
  %516 = shl i32 %.sroa.0242.0807, 16
  %517 = and i32 %516, 16711680
  %518 = and i32 %513, -16711936
  %519 = or disjoint i32 %517, %518
  %520 = or disjoint i32 %519, %515
  %521 = lshr i32 %.sroa.0242.0807, 16
  %522 = and i32 %521, 255
  %523 = and i32 %.sroa.0242.0807, -16777216
  %524 = or disjoint i32 %522, %523
  %525 = shl i32 %513, 8
  %526 = and i32 %525, 65280
  %527 = and i32 %513, 16711680
  %528 = or disjoint i32 %524, %527
  %529 = or disjoint i32 %528, %526
  %530 = tail call i32 @llvm.fshl.i32(i32 %.sroa.13.0804, i32 %.sroa.13.0804, i32 16)
  %531 = lshr i32 %.sroa.0.0803, 8
  %532 = and i32 %531, 255
  %533 = shl i32 %.sroa.0.0803, 16
  %534 = and i32 %533, 16711680
  %535 = or disjoint i32 %532, %534
  %536 = and i32 %530, -16711936
  %537 = or disjoint i32 %535, %536
  %538 = lshr i32 %.sroa.0.0803, 16
  %539 = and i32 %538, 255
  %540 = and i32 %.sroa.0.0803, -16777216
  %541 = or disjoint i32 %539, %540
  %542 = shl i32 %530, 8
  %543 = and i32 %542, 65280
  %544 = and i32 %530, 16711680
  %545 = or disjoint i32 %541, %544
  %546 = or disjoint i32 %545, %543
  %547 = shl i32 %537, 1
  %548 = and i32 %547, -16843010
  %549 = lshr i32 %537, 7
  %550 = lshr i32 %537, 5
  %551 = xor i32 %549, %550
  %552 = and i32 %551, 16843009
  %553 = or disjoint i32 %552, %548
  %554 = shl i32 %546, 1
  %555 = and i32 %554, -16843010
  %556 = lshr i32 %546, 7
  %557 = lshr i32 %546, 5
  %558 = xor i32 %556, %557
  %559 = and i32 %558, 16843009
  %560 = or disjoint i32 %559, %555
  %561 = xor i32 %512, %511
  %562 = xor i32 %561, -1
  %563 = lshr i32 %562, 2
  %564 = lshr i32 %562, 3
  %565 = and i32 %564, 286331153
  %566 = and i32 %565, %563
  %567 = xor i32 %566, %562
  %568 = shl i32 %567, 5
  %569 = shl i32 %567, 1
  %570 = and i32 %569, 538976288
  %571 = shl i32 %562, 4
  %572 = and i32 %571, 1077952576
  %573 = or disjoint i32 %570, %572
  %574 = and i32 %573, %568
  %575 = xor i32 %574, %567
  %576 = shl i32 %575, 2
  %577 = shl i32 %575, 1
  %578 = and i32 %577, -2139062144
  %579 = and i32 %578, %576
  %580 = and i32 %563, 33686018
  %581 = and i32 %580, %577
  %582 = or disjoint i32 %579, %581
  %583 = xor i32 %582, %575
  %584 = lshr i32 %583, 5
  %585 = shl i32 %583, 1
  %586 = and i32 %585, 67372036
  %587 = and i32 %586, %584
  %588 = lshr i32 %567, 1
  %589 = lshr i32 %575, 2
  %590 = and i32 %588, 134744072
  %591 = and i32 %590, %589
  %592 = or disjoint i32 %587, %591
  %593 = xor i32 %583, %592
  %594 = xor i32 %593, -1
  %595 = shl i32 %594, 1
  %596 = and i32 %595, 269488144
  %597 = shl i32 %594, 2
  %598 = and i32 %597, -926365496
  %599 = or disjoint i32 %596, %598
  %600 = shl i32 %594, 5
  %601 = and i32 %600, 538976288
  %602 = or disjoint i32 %599, %601
  %603 = lshr i32 %594, 6
  %604 = and i32 %603, 33686018
  %605 = or disjoint i32 %602, %604
  %606 = lshr i32 %594, 4
  %607 = and i32 %606, 67372036
  %608 = or disjoint i32 %605, %607
  %609 = lshr i32 %594, 2
  %610 = and i32 %609, 16843009
  %611 = or disjoint i32 %608, %610
  %612 = xor i32 %503, -1
  %613 = lshr i32 %612, 2
  %614 = lshr i32 %612, 3
  %615 = and i32 %614, 286331153
  %616 = and i32 %615, %613
  %617 = xor i32 %616, %612
  %618 = shl i32 %617, 5
  %619 = shl i32 %617, 1
  %620 = and i32 %619, 538976288
  %621 = shl i32 %612, 4
  %622 = and i32 %621, 1077952576
  %623 = or disjoint i32 %620, %622
  %624 = and i32 %623, %618
  %625 = xor i32 %624, %617
  %626 = shl i32 %625, 2
  %627 = shl i32 %625, 1
  %628 = and i32 %627, -2139062144
  %629 = and i32 %628, %626
  %630 = and i32 %613, 33686018
  %631 = and i32 %630, %627
  %632 = or disjoint i32 %629, %631
  %633 = xor i32 %632, %625
  %634 = lshr i32 %633, 5
  %635 = shl i32 %633, 1
  %636 = and i32 %635, 67372036
  %637 = and i32 %636, %634
  %638 = lshr i32 %617, 1
  %639 = lshr i32 %625, 2
  %640 = and i32 %638, 134744072
  %641 = and i32 %640, %639
  %642 = or disjoint i32 %637, %641
  %643 = xor i32 %633, %642
  %644 = xor i32 %643, -1
  %645 = shl i32 %644, 1
  %646 = and i32 %645, 269488144
  %647 = shl i32 %644, 2
  %648 = and i32 %647, -926365496
  %649 = or disjoint i32 %646, %648
  %650 = shl i32 %644, 5
  %651 = and i32 %650, 538976288
  %652 = or disjoint i32 %649, %651
  %653 = lshr i32 %644, 6
  %654 = and i32 %653, 33686018
  %655 = or disjoint i32 %652, %654
  %656 = lshr i32 %644, 4
  %657 = and i32 %656, 67372036
  %658 = or disjoint i32 %655, %657
  %659 = lshr i32 %644, 2
  %660 = and i32 %659, 16843009
  %661 = or disjoint i32 %658, %660
  %662 = xor i32 %510, %509
  %663 = xor i32 %662, -1
  %664 = lshr i32 %663, 2
  %665 = lshr i32 %663, 3
  %666 = and i32 %665, 286331153
  %667 = and i32 %666, %664
  %668 = xor i32 %667, %663
  %669 = shl i32 %668, 5
  %670 = shl i32 %668, 1
  %671 = and i32 %670, 538976288
  %672 = shl i32 %663, 4
  %673 = and i32 %672, 1077952576
  %674 = or disjoint i32 %671, %673
  %675 = and i32 %674, %669
  %676 = xor i32 %675, %668
  %677 = shl i32 %676, 2
  %678 = shl i32 %676, 1
  %679 = and i32 %678, -2139062144
  %680 = and i32 %679, %677
  %681 = and i32 %664, 33686018
  %682 = and i32 %681, %678
  %683 = or disjoint i32 %680, %682
  %684 = xor i32 %683, %676
  %685 = lshr i32 %684, 5
  %686 = shl i32 %684, 1
  %687 = and i32 %686, 67372036
  %688 = and i32 %687, %685
  %689 = lshr i32 %668, 1
  %690 = lshr i32 %676, 2
  %691 = and i32 %689, 134744072
  %692 = and i32 %691, %690
  %693 = or disjoint i32 %688, %692
  %694 = xor i32 %684, %693
  %695 = xor i32 %694, -1
  %696 = shl i32 %695, 1
  %697 = and i32 %696, 269488144
  %698 = shl i32 %695, 2
  %699 = and i32 %698, -926365496
  %700 = or disjoint i32 %697, %699
  %701 = shl i32 %695, 5
  %702 = and i32 %701, 538976288
  %703 = or disjoint i32 %700, %702
  %704 = lshr i32 %695, 6
  %705 = and i32 %704, 33686018
  %706 = or disjoint i32 %703, %705
  %707 = lshr i32 %695, 4
  %708 = and i32 %707, 67372036
  %709 = or disjoint i32 %706, %708
  %710 = lshr i32 %695, 2
  %711 = and i32 %710, 16843009
  %712 = or disjoint i32 %709, %711
  %713 = xor i32 %512, -1
  %714 = lshr i32 %713, 2
  %715 = lshr i32 %713, 3
  %716 = and i32 %715, 286331153
  %717 = and i32 %716, %714
  %718 = xor i32 %717, %713
  %719 = shl i32 %718, 5
  %720 = shl i32 %718, 1
  %721 = and i32 %720, 538976288
  %722 = shl i32 %713, 4
  %723 = and i32 %722, 1077952576
  %724 = or disjoint i32 %721, %723
  %725 = and i32 %724, %719
  %726 = xor i32 %725, %718
  %727 = shl i32 %726, 2
  %728 = shl i32 %726, 1
  %729 = and i32 %728, -2139062144
  %730 = and i32 %729, %727
  %731 = and i32 %714, 33686018
  %732 = and i32 %731, %728
  %733 = or disjoint i32 %730, %732
  %734 = xor i32 %733, %726
  %735 = lshr i32 %734, 5
  %736 = shl i32 %734, 1
  %737 = and i32 %736, 67372036
  %738 = and i32 %737, %735
  %739 = lshr i32 %718, 1
  %740 = lshr i32 %726, 2
  %741 = and i32 %739, 134744072
  %742 = and i32 %741, %740
  %743 = or disjoint i32 %738, %742
  %744 = xor i32 %734, %743
  %745 = xor i32 %744, -1
  %746 = shl i32 %745, 1
  %747 = and i32 %746, 269488144
  %748 = shl i32 %745, 2
  %749 = and i32 %748, -926365496
  %750 = or disjoint i32 %747, %749
  %751 = shl i32 %745, 5
  %752 = and i32 %751, 538976288
  %753 = or disjoint i32 %750, %752
  %754 = lshr i32 %745, 6
  %755 = and i32 %754, 33686018
  %756 = or disjoint i32 %753, %755
  %757 = lshr i32 %745, 4
  %758 = and i32 %757, 67372036
  %759 = or disjoint i32 %756, %758
  %760 = lshr i32 %745, 2
  %761 = and i32 %760, 16843009
  %762 = or disjoint i32 %759, %761
  %763 = shl nuw nsw i32 %499, 1
  %764 = lshr i32 %.0790801, 3
  %765 = and i32 %764, 1
  %766 = and i32 %504, 1
  %.masked797 = and i32 %763, 62
  %.masked796 = or disjoint i32 %.masked797, %765
  %767 = xor i32 %766, %.masked796
  %768 = xor i32 %767, 1
  %769 = and i32 %768, 15
  %770 = xor i32 %520, %769
  %771 = xor i32 %770, %611
  %772 = xor i32 %771, %553
  %773 = lshr i32 %.masked797, 4
  %774 = xor i32 %773, %661
  %775 = xor i32 %774, %560
  %776 = xor i32 %775, %529
  %777 = xor i32 %712, 2
  %778 = tail call i32 @llvm.fshl.i32(i32 %776, i32 %776, i32 8)
  %779 = tail call i32 @llvm.fshl.i32(i32 %777, i32 %777, i32 16)
  %780 = tail call i32 @llvm.fshl.i32(i32 %762, i32 %762, i32 24)
  %781 = xor i32 %772, %779
  %782 = tail call i32 @llvm.fshl.i32(i32 %262, i32 %262, i32 16)
  %783 = lshr i32 %246, 8
  %784 = and i32 %783, 255
  %785 = shl nuw nsw i32 %248, 16
  %786 = or disjoint i32 %784, %785
  %787 = and i32 %782, -16711936
  %788 = or disjoint i32 %787, %786
  %789 = and i32 %.sroa.16.0809, 255
  %790 = and i32 %246, -16777216
  %791 = or disjoint i32 %790, %789
  %792 = shl i32 %782, 8
  %793 = and i32 %792, 65280
  %794 = and i32 %782, 16711680
  %795 = or disjoint i32 %791, %794
  %796 = or disjoint i32 %795, %793
  %797 = tail call i32 @llvm.fshl.i32(i32 %293, i32 %293, i32 16)
  %798 = lshr i32 %286, 8
  %799 = and i32 %798, 255
  %800 = shl i32 %286, 16
  %801 = and i32 %800, 16711680
  %802 = or disjoint i32 %799, %801
  %803 = and i32 %797, -16711936
  %804 = or disjoint i32 %802, %803
  %805 = lshr i32 %286, 16
  %806 = and i32 %805, 255
  %807 = and i32 %286, -16777216
  %808 = or disjoint i32 %806, %807
  %809 = shl i32 %797, 8
  %810 = and i32 %809, 65280
  %811 = and i32 %797, 16711680
  %812 = or disjoint i32 %808, %811
  %813 = or disjoint i32 %812, %810
  %814 = shl i32 %804, 1
  %815 = and i32 %814, -16843010
  %816 = lshr i32 %804, 7
  %817 = lshr i32 %804, 5
  %818 = xor i32 %816, %817
  %819 = and i32 %818, 16843009
  %820 = or disjoint i32 %819, %815
  %821 = shl i32 %813, 1
  %822 = and i32 %821, -16843010
  %823 = lshr i32 %813, 7
  %824 = lshr i32 %813, 5
  %825 = xor i32 %823, %824
  %826 = and i32 %825, 16843009
  %827 = or disjoint i32 %826, %822
  %828 = xor i32 %781, %780
  %829 = xor i32 %828, -1
  %830 = lshr i32 %829, 2
  %831 = lshr i32 %829, 3
  %832 = and i32 %831, 286331153
  %833 = and i32 %832, %830
  %834 = xor i32 %833, %829
  %835 = shl i32 %834, 5
  %836 = shl i32 %834, 1
  %837 = and i32 %836, 538976288
  %838 = shl i32 %829, 4
  %839 = and i32 %838, 1077952576
  %840 = or disjoint i32 %837, %839
  %841 = and i32 %840, %835
  %842 = xor i32 %841, %834
  %843 = shl i32 %842, 2
  %844 = shl i32 %842, 1
  %845 = and i32 %844, -2139062144
  %846 = and i32 %845, %843
  %847 = and i32 %830, 33686018
  %848 = and i32 %847, %844
  %849 = or disjoint i32 %846, %848
  %850 = xor i32 %849, %842
  %851 = lshr i32 %850, 5
  %852 = shl i32 %850, 1
  %853 = and i32 %852, 67372036
  %854 = and i32 %853, %851
  %855 = lshr i32 %834, 1
  %856 = lshr i32 %842, 2
  %857 = and i32 %855, 134744072
  %858 = and i32 %857, %856
  %859 = or disjoint i32 %854, %858
  %860 = xor i32 %850, %859
  %861 = xor i32 %860, -1
  %862 = shl i32 %861, 1
  %863 = and i32 %862, 269488144
  %864 = shl i32 %861, 2
  %865 = and i32 %864, -926365496
  %866 = or disjoint i32 %863, %865
  %867 = shl i32 %861, 5
  %868 = and i32 %867, 538976288
  %869 = or disjoint i32 %866, %868
  %870 = lshr i32 %861, 6
  %871 = and i32 %870, 33686018
  %872 = or disjoint i32 %869, %871
  %873 = lshr i32 %861, 4
  %874 = and i32 %873, 67372036
  %875 = or disjoint i32 %872, %874
  %876 = lshr i32 %861, 2
  %877 = and i32 %876, 16843009
  %878 = or disjoint i32 %875, %877
  %879 = xor i32 %772, -1
  %880 = lshr i32 %879, 2
  %881 = lshr i32 %879, 3
  %882 = and i32 %881, 286331153
  %883 = and i32 %882, %880
  %884 = xor i32 %883, %879
  %885 = shl i32 %884, 5
  %886 = shl i32 %884, 1
  %887 = and i32 %886, 538976288
  %888 = shl i32 %879, 4
  %889 = and i32 %888, 1077952576
  %890 = or disjoint i32 %887, %889
  %891 = and i32 %890, %885
  %892 = xor i32 %891, %884
  %893 = shl i32 %892, 2
  %894 = shl i32 %892, 1
  %895 = and i32 %894, -2139062144
  %896 = and i32 %895, %893
  %897 = and i32 %880, 33686018
  %898 = and i32 %897, %894
  %899 = or disjoint i32 %896, %898
  %900 = xor i32 %899, %892
  %901 = lshr i32 %900, 5
  %902 = shl i32 %900, 1
  %903 = and i32 %902, 67372036
  %904 = and i32 %903, %901
  %905 = lshr i32 %884, 1
  %906 = lshr i32 %892, 2
  %907 = and i32 %905, 134744072
  %908 = and i32 %907, %906
  %909 = or disjoint i32 %904, %908
  %910 = xor i32 %900, %909
  %911 = xor i32 %910, -1
  %912 = shl i32 %911, 1
  %913 = and i32 %912, 269488144
  %914 = shl i32 %911, 2
  %915 = and i32 %914, -926365496
  %916 = or disjoint i32 %913, %915
  %917 = shl i32 %911, 5
  %918 = and i32 %917, 538976288
  %919 = or disjoint i32 %916, %918
  %920 = lshr i32 %911, 6
  %921 = and i32 %920, 33686018
  %922 = or disjoint i32 %919, %921
  %923 = lshr i32 %911, 4
  %924 = and i32 %923, 67372036
  %925 = or disjoint i32 %922, %924
  %926 = lshr i32 %911, 2
  %927 = and i32 %926, 16843009
  %928 = or disjoint i32 %925, %927
  %929 = xor i32 %779, %778
  %930 = xor i32 %929, -1
  %931 = lshr i32 %930, 2
  %932 = lshr i32 %930, 3
  %933 = and i32 %932, 286331153
  %934 = and i32 %933, %931
  %935 = xor i32 %934, %930
  %936 = shl i32 %935, 5
  %937 = shl i32 %935, 1
  %938 = and i32 %937, 538976288
  %939 = shl i32 %930, 4
  %940 = and i32 %939, 1077952576
  %941 = or disjoint i32 %938, %940
  %942 = and i32 %941, %936
  %943 = xor i32 %942, %935
  %944 = shl i32 %943, 2
  %945 = shl i32 %943, 1
  %946 = and i32 %945, -2139062144
  %947 = and i32 %946, %944
  %948 = and i32 %931, 33686018
  %949 = and i32 %948, %945
  %950 = or disjoint i32 %947, %949
  %951 = xor i32 %950, %943
  %952 = lshr i32 %951, 5
  %953 = shl i32 %951, 1
  %954 = and i32 %953, 67372036
  %955 = and i32 %954, %952
  %956 = lshr i32 %935, 1
  %957 = lshr i32 %943, 2
  %958 = and i32 %956, 134744072
  %959 = and i32 %958, %957
  %960 = or disjoint i32 %955, %959
  %961 = xor i32 %951, %960
  %962 = xor i32 %961, -1
  %963 = shl i32 %962, 1
  %964 = and i32 %963, 269488144
  %965 = shl i32 %962, 2
  %966 = and i32 %965, -926365496
  %967 = or disjoint i32 %964, %966
  %968 = shl i32 %962, 5
  %969 = and i32 %968, 538976288
  %970 = or disjoint i32 %967, %969
  %971 = lshr i32 %962, 6
  %972 = and i32 %971, 33686018
  %973 = or disjoint i32 %970, %972
  %974 = lshr i32 %962, 4
  %975 = and i32 %974, 67372036
  %976 = or disjoint i32 %973, %975
  %977 = lshr i32 %962, 2
  %978 = and i32 %977, 16843009
  %979 = or disjoint i32 %976, %978
  %980 = xor i32 %781, -1
  %981 = lshr i32 %980, 2
  %982 = lshr i32 %980, 3
  %983 = and i32 %982, 286331153
  %984 = and i32 %983, %981
  %985 = xor i32 %984, %980
  %986 = shl i32 %985, 5
  %987 = shl i32 %985, 1
  %988 = and i32 %987, 538976288
  %989 = shl i32 %980, 4
  %990 = and i32 %989, 1077952576
  %991 = or disjoint i32 %988, %990
  %992 = and i32 %991, %986
  %993 = xor i32 %992, %985
  %994 = shl i32 %993, 2
  %995 = shl i32 %993, 1
  %996 = and i32 %995, -2139062144
  %997 = and i32 %996, %994
  %998 = and i32 %981, 33686018
  %999 = and i32 %998, %995
  %1000 = or disjoint i32 %997, %999
  %1001 = xor i32 %1000, %993
  %1002 = lshr i32 %1001, 5
  %1003 = shl i32 %1001, 1
  %1004 = and i32 %1003, 67372036
  %1005 = and i32 %1004, %1002
  %1006 = lshr i32 %985, 1
  %1007 = lshr i32 %993, 2
  %1008 = and i32 %1006, 134744072
  %1009 = and i32 %1008, %1007
  %1010 = or disjoint i32 %1005, %1009
  %1011 = xor i32 %1001, %1010
  %1012 = xor i32 %1011, -1
  %1013 = shl i32 %1012, 1
  %1014 = and i32 %1013, 269488144
  %1015 = shl i32 %1012, 2
  %1016 = and i32 %1015, -926365496
  %1017 = or disjoint i32 %1014, %1016
  %1018 = shl i32 %1012, 5
  %1019 = and i32 %1018, 538976288
  %1020 = or disjoint i32 %1017, %1019
  %1021 = lshr i32 %1012, 6
  %1022 = and i32 %1021, 33686018
  %1023 = or disjoint i32 %1020, %1022
  %1024 = lshr i32 %1012, 4
  %1025 = and i32 %1024, 67372036
  %1026 = or disjoint i32 %1023, %1025
  %1027 = lshr i32 %1012, 2
  %1028 = and i32 %1027, 16843009
  %1029 = or disjoint i32 %1026, %1028
  %1030 = shl nuw nsw i32 %768, 1
  %1031 = lshr i32 %.0790801, 2
  %1032 = and i32 %1031, 1
  %1033 = and i32 %773, 1
  %.masked800 = and i32 %1030, 62
  %.masked799 = or disjoint i32 %.masked800, %1032
  %1034 = xor i32 %1033, %.masked799
  %1035 = xor i32 %1034, 1
  %1036 = and i32 %1035, 15
  %1037 = xor i32 %1036, %878
  %1038 = xor i32 %1037, %788
  %1039 = xor i32 %1038, %820
  %1040 = lshr i32 %.masked800, 4
  %1041 = xor i32 %1040, %928
  %1042 = xor i32 %1041, %796
  %1043 = xor i32 %1042, %827
  %1044 = xor i32 %979, 2
  %1045 = tail call i32 @llvm.fshl.i32(i32 %1043, i32 %1043, i32 8)
  %1046 = tail call i32 @llvm.fshl.i32(i32 %1044, i32 %1044, i32 16)
  %1047 = tail call i32 @llvm.fshl.i32(i32 %1029, i32 %1029, i32 24)
  %1048 = xor i32 %1045, %1046
  %1049 = xor i32 %1039, %1046
  %1050 = xor i32 %1049, %1047
  %1051 = tail call i32 @llvm.fshl.i32(i32 %529, i32 %529, i32 16)
  %1052 = lshr i32 %513, 8
  %1053 = and i32 %1052, 255
  %1054 = shl nuw nsw i32 %515, 16
  %1055 = or disjoint i32 %1053, %1054
  %1056 = and i32 %1051, -16711936
  %1057 = or disjoint i32 %1056, %1055
  %1058 = and i32 %.sroa.0242.0807, 255
  %1059 = and i32 %513, -16777216
  %1060 = or disjoint i32 %1059, %1058
  %1061 = shl i32 %1051, 8
  %1062 = and i32 %1061, 65280
  %1063 = and i32 %1051, 16711680
  %1064 = or disjoint i32 %1060, %1063
  %1065 = or disjoint i32 %1064, %1062
  %1066 = tail call i32 @llvm.fshl.i32(i32 %560, i32 %560, i32 16)
  %1067 = lshr i32 %553, 8
  %1068 = and i32 %1067, 255
  %1069 = shl i32 %553, 16
  %1070 = and i32 %1069, 16711680
  %1071 = or disjoint i32 %1068, %1070
  %1072 = and i32 %1066, -16711936
  %1073 = or disjoint i32 %1071, %1072
  %1074 = lshr i32 %553, 16
  %1075 = and i32 %1074, 255
  %1076 = and i32 %553, -16777216
  %1077 = or disjoint i32 %1075, %1076
  %1078 = shl i32 %1066, 8
  %1079 = and i32 %1078, 65280
  %1080 = and i32 %1066, 16711680
  %1081 = or disjoint i32 %1077, %1080
  %1082 = or disjoint i32 %1081, %1079
  %1083 = shl i32 %1073, 1
  %1084 = and i32 %1083, -16843010
  %1085 = lshr i32 %1073, 7
  %1086 = lshr i32 %1073, 5
  %1087 = xor i32 %1085, %1086
  %1088 = and i32 %1087, 16843009
  %1089 = or disjoint i32 %1088, %1084
  %1090 = shl i32 %1082, 1
  %1091 = and i32 %1090, -16843010
  %1092 = lshr i32 %1082, 7
  %1093 = lshr i32 %1082, 5
  %1094 = xor i32 %1092, %1093
  %1095 = and i32 %1094, 16843009
  %1096 = or disjoint i32 %1095, %1091
  %1097 = add nuw nsw i32 %.0789802, 4
  %1098 = icmp ult i32 %.0789802, 44
  br i1 %1098, label %26, label %1099, !llvm.loop !5

1099:                                             ; preds = %26
  %1100 = trunc i32 %1050 to i8
  store i8 %1100, ptr %1, align 1, !tbaa !7
  %1101 = lshr i32 %1050, 8
  %1102 = trunc i32 %1101 to i8
  %1103 = getelementptr inbounds i8, ptr %1, i64 1
  store i8 %1102, ptr %1103, align 1, !tbaa !7
  %1104 = lshr i32 %1050, 16
  %1105 = trunc i32 %1104 to i8
  %1106 = getelementptr inbounds i8, ptr %1, i64 2
  store i8 %1105, ptr %1106, align 1, !tbaa !7
  %1107 = lshr i32 %1050, 24
  %1108 = trunc nuw i32 %1107 to i8
  %1109 = getelementptr inbounds i8, ptr %1, i64 3
  store i8 %1108, ptr %1109, align 1, !tbaa !7
  %1110 = trunc i32 %1039 to i8
  %1111 = getelementptr inbounds i8, ptr %1, i64 4
  store i8 %1110, ptr %1111, align 1, !tbaa !7
  %1112 = lshr i32 %1039, 8
  %1113 = trunc i32 %1112 to i8
  %1114 = getelementptr inbounds i8, ptr %1, i64 5
  store i8 %1113, ptr %1114, align 1, !tbaa !7
  %1115 = lshr i32 %1039, 16
  %1116 = trunc i32 %1115 to i8
  %1117 = getelementptr inbounds i8, ptr %1, i64 6
  store i8 %1116, ptr %1117, align 1, !tbaa !7
  %1118 = lshr i32 %1039, 24
  %1119 = trunc nuw i32 %1118 to i8
  %1120 = getelementptr inbounds i8, ptr %1, i64 7
  store i8 %1119, ptr %1120, align 1, !tbaa !7
  %1121 = trunc i32 %1048 to i8
  %1122 = getelementptr inbounds i8, ptr %1, i64 8
  store i8 %1121, ptr %1122, align 1, !tbaa !7
  %1123 = lshr i32 %1048, 8
  %1124 = trunc i32 %1123 to i8
  %1125 = getelementptr inbounds i8, ptr %1, i64 9
  store i8 %1124, ptr %1125, align 1, !tbaa !7
  %1126 = lshr i32 %1048, 16
  %1127 = trunc i32 %1126 to i8
  %1128 = getelementptr inbounds i8, ptr %1, i64 10
  store i8 %1127, ptr %1128, align 1, !tbaa !7
  %1129 = lshr i32 %1048, 24
  %1130 = trunc nuw i32 %1129 to i8
  %1131 = getelementptr inbounds i8, ptr %1, i64 11
  store i8 %1130, ptr %1131, align 1, !tbaa !7
  %1132 = trunc i32 %1049 to i8
  %1133 = getelementptr inbounds i8, ptr %1, i64 12
  store i8 %1132, ptr %1133, align 1, !tbaa !7
  %1134 = lshr i32 %1049, 8
  %1135 = trunc i32 %1134 to i8
  %1136 = getelementptr inbounds i8, ptr %1, i64 13
  store i8 %1135, ptr %1136, align 1, !tbaa !7
  %1137 = lshr i32 %1049, 16
  %1138 = trunc i32 %1137 to i8
  %1139 = getelementptr inbounds i8, ptr %1, i64 14
  store i8 %1138, ptr %1139, align 1, !tbaa !7
  %1140 = lshr i32 %1049, 24
  %1141 = trunc nuw i32 %1140 to i8
  %1142 = getelementptr inbounds i8, ptr %1, i64 15
  store i8 %1141, ptr %1142, align 1, !tbaa !7
  ret void
}

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.fshl.i32(i32, i32, i32) #1

attributes #0 = { nofree norecurse nosync nounwind memory(argmem: readwrite) 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 speculatable willreturn memory(none) }

!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 = distinct !{!5, !6}
!6 = !{!"llvm.loop.mustprogress"}
!7 = !{!8, !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}


; Effective O3 passes: AggressiveInstCombinePass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LoopRotatePass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass