1324 lines · plain
1; RUN: opt -loop-reduce -S < %s | FileCheck %s2; RUN: opt -loop-reduce -lsr-complexity-limit=2147483647 -S < %s | FileCheck %s3 4; Test compile time should be <1sec (no hang).5target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"6 7; Function Attrs: argmemonly nounwind8declare void @llvm.lifetime.start.p0(ptr nocapture) #19 10; Function Attrs: argmemonly nounwind11declare void @llvm.lifetime.end.p0(ptr nocapture) #112 13; Function Attrs: nounwind readnone uwtable14define dso_local i32 @foo(i32 %arg, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6) local_unnamed_addr #3 {15; CHECK-LABEL: @foo(16; CHECK: bb33:17; CHECK: lsr.iv18; CHECK: bb58:19; CHECK: lsr.iv20; CHECK: bb81:21; CHECK: lsr.iv22; CHECK: bb104:23; CHECK: lsr.iv24; CHECK: bb127:25; CHECK: lsr.iv26; CHECK: bb150:27; CHECK: lsr.iv28; CHECK: bb173:29; CHECK: lsr.iv30; CHECK: bb196:31; CHECK: lsr.iv32; CHECK: bb219:33; CHECK: lsr.iv34; CHECK: bb242:35; CHECK: lsr.iv36; CHECK: bb265:37; CHECK: lsr.iv38; CHECK: bb288:39; CHECK: lsr.iv40; CHECK: bb311:41; CHECK: lsr.iv42; CHECK: bb340:43; CHECK: lsr.iv44; CHECK: bb403:45; CHECK: lsr.iv46; CHECK: bb433:47; CHECK: lsr.iv48; CHECK: bb567:49; CHECK: lsr.iv50; CHECK: bb611:51; CHECK: lsr.iv52; CHECK: bb655:53; CHECK: lsr.iv54; CHECK: bb699:55; CHECK: lsr.iv56; CHECK: bb743:57; CHECK: lsr.iv58; CHECK: bb787:59; CHECK: lsr.iv60; CHECK: bb831:61; CHECK: lsr.iv62; CHECK: bb875:63; CHECK: lsr.iv64; CHECK: bb919:65; CHECK: lsr.iv66; CHECK: bb963:67; CHECK: lsr.iv68; CHECK: bb1007:69; CHECK: lsr.iv70; CHECK: ret71;72bb:73 %tmp = alloca [100 x i32], align 1674 %tmp7 = alloca [100 x i32], align 1675 %tmp8 = alloca [100 x i32], align 1676 %tmp9 = alloca [100 x [100 x i32]], align 1677 %tmp10 = alloca [100 x i32], align 1678 %tmp11 = alloca [100 x [100 x i32]], align 1679 %tmp12 = alloca [100 x i32], align 1680 %tmp13 = alloca [100 x i32], align 1681 %tmp14 = alloca [100 x [100 x i32]], align 1682 %tmp15 = alloca [100 x i32], align 1683 %tmp16 = alloca [100 x [100 x i32]], align 1684 %tmp17 = alloca [100 x [100 x i32]], align 1685 %tmp18 = alloca [100 x [100 x i32]], align 1686 call void @llvm.lifetime.start.p0(ptr nonnull %tmp) #487 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp, i8 0, i64 400, i1 false)88 call void @llvm.lifetime.start.p0(ptr nonnull %tmp7) #489 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp7, i8 0, i64 400, i1 false)90 call void @llvm.lifetime.start.p0(ptr nonnull %tmp8) #491 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp8, i8 0, i64 400, i1 false)92 call void @llvm.lifetime.start.p0(ptr nonnull %tmp9) #493 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp9, i8 0, i64 40000, i1 false)94 call void @llvm.lifetime.start.p0(ptr nonnull %tmp10) #495 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp10, i8 0, i64 400, i1 false)96 call void @llvm.lifetime.start.p0(ptr nonnull %tmp11) #497 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp11, i8 0, i64 40000, i1 false)98 call void @llvm.lifetime.start.p0(ptr nonnull %tmp12) #499 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp12, i8 0, i64 400, i1 false)100 call void @llvm.lifetime.start.p0(ptr nonnull %tmp13) #4101 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp13, i8 0, i64 400, i1 false)102 call void @llvm.lifetime.start.p0(ptr nonnull %tmp14) #4103 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp14, i8 0, i64 40000, i1 false)104 call void @llvm.lifetime.start.p0(ptr nonnull %tmp15) #4105 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp15, i8 0, i64 400, i1 false)106 call void @llvm.lifetime.start.p0(ptr nonnull %tmp16) #4107 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp16, i8 0, i64 40000, i1 false)108 call void @llvm.lifetime.start.p0(ptr nonnull %tmp17) #4109 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp17, i8 0, i64 40000, i1 false)110 call void @llvm.lifetime.start.p0(ptr nonnull %tmp18) #4111 call void @llvm.memset.p0.i64(ptr nonnull align 16 %tmp18, i8 0, i64 40000, i1 false)112 %tmp32 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 3113 br label %bb33114 115bb33: ; preds = %bb33, %bb116 %tmp34 = phi i64 [ 0, %bb ], [ %tmp54, %bb33 ]117 %tmp35 = trunc i64 %tmp34 to i32118 %tmp36 = add i32 %tmp35, 48119 %tmp37 = urem i32 %tmp36, 101120 %tmp38 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp34121 store i32 %tmp37, ptr %tmp38, align 16122 %tmp39 = or i64 %tmp34, 1123 %tmp40 = trunc i64 %tmp39 to i32124 %tmp41 = sub i32 48, %tmp40125 %tmp42 = urem i32 %tmp41, 101126 %tmp43 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp39127 store i32 %tmp42, ptr %tmp43, align 4128 %tmp44 = or i64 %tmp34, 2129 %tmp45 = trunc i64 %tmp44 to i32130 %tmp46 = add i32 %tmp45, 48131 %tmp47 = urem i32 %tmp46, 101132 %tmp48 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp44133 store i32 %tmp47, ptr %tmp48, align 8134 %tmp49 = or i64 %tmp34, 3135 %tmp50 = trunc i64 %tmp49 to i32136 %tmp51 = sub i32 48, %tmp50137 %tmp52 = urem i32 %tmp51, 101138 %tmp53 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp49139 store i32 %tmp52, ptr %tmp53, align 4140 %tmp54 = add nuw nsw i64 %tmp34, 4141 %tmp55 = icmp eq i64 %tmp54, 100142 br i1 %tmp55, label %bb56, label %bb33143 144bb56: ; preds = %bb33145 %tmp57 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 88, i64 91146 br label %bb58147 148bb58: ; preds = %bb58, %bb56149 %tmp59 = phi i64 [ 0, %bb56 ], [ %tmp79, %bb58 ]150 %tmp60 = trunc i64 %tmp59 to i32151 %tmp61 = add i32 %tmp60, 83152 %tmp62 = urem i32 %tmp61, 101153 %tmp63 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp59154 store i32 %tmp62, ptr %tmp63, align 16155 %tmp64 = or i64 %tmp59, 1156 %tmp65 = trunc i64 %tmp64 to i32157 %tmp66 = sub i32 83, %tmp65158 %tmp67 = urem i32 %tmp66, 101159 %tmp68 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp64160 store i32 %tmp67, ptr %tmp68, align 4161 %tmp69 = or i64 %tmp59, 2162 %tmp70 = trunc i64 %tmp69 to i32163 %tmp71 = add i32 %tmp70, 83164 %tmp72 = urem i32 %tmp71, 101165 %tmp73 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp69166 store i32 %tmp72, ptr %tmp73, align 8167 %tmp74 = or i64 %tmp59, 3168 %tmp75 = trunc i64 %tmp74 to i32169 %tmp76 = sub i32 83, %tmp75170 %tmp77 = urem i32 %tmp76, 101171 %tmp78 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp74172 store i32 %tmp77, ptr %tmp78, align 4173 %tmp79 = add nuw nsw i64 %tmp59, 4174 %tmp80 = icmp eq i64 %tmp79, 100175 br i1 %tmp80, label %bb81, label %bb58176 177bb81: ; preds = %bb81, %bb58178 %tmp82 = phi i64 [ %tmp102, %bb81 ], [ 0, %bb58 ]179 %tmp83 = trunc i64 %tmp82 to i32180 %tmp84 = add i32 %tmp83, 15181 %tmp85 = urem i32 %tmp84, 101182 %tmp86 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp82183 store i32 %tmp85, ptr %tmp86, align 16184 %tmp87 = or i64 %tmp82, 1185 %tmp88 = trunc i64 %tmp87 to i32186 %tmp89 = sub i32 15, %tmp88187 %tmp90 = urem i32 %tmp89, 101188 %tmp91 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp87189 store i32 %tmp90, ptr %tmp91, align 4190 %tmp92 = or i64 %tmp82, 2191 %tmp93 = trunc i64 %tmp92 to i32192 %tmp94 = add i32 %tmp93, 15193 %tmp95 = urem i32 %tmp94, 101194 %tmp96 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp92195 store i32 %tmp95, ptr %tmp96, align 8196 %tmp97 = or i64 %tmp82, 3197 %tmp98 = trunc i64 %tmp97 to i32198 %tmp99 = sub i32 15, %tmp98199 %tmp100 = urem i32 %tmp99, 101200 %tmp101 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp97201 store i32 %tmp100, ptr %tmp101, align 4202 %tmp102 = add nuw nsw i64 %tmp82, 4203 %tmp103 = icmp eq i64 %tmp102, 100204 br i1 %tmp103, label %bb104, label %bb81205 206bb104: ; preds = %bb104, %bb81207 %tmp105 = phi i64 [ %tmp125, %bb104 ], [ 0, %bb81 ]208 %tmp106 = trunc i64 %tmp105 to i32209 %tmp107 = add i32 %tmp106, 60210 %tmp108 = urem i32 %tmp107, 101211 %tmp109 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp105212 store i32 %tmp108, ptr %tmp109, align 16213 %tmp110 = or i64 %tmp105, 1214 %tmp111 = trunc i64 %tmp110 to i32215 %tmp112 = sub i32 60, %tmp111216 %tmp113 = urem i32 %tmp112, 101217 %tmp114 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp110218 store i32 %tmp113, ptr %tmp114, align 4219 %tmp115 = or i64 %tmp105, 2220 %tmp116 = trunc i64 %tmp115 to i32221 %tmp117 = add i32 %tmp116, 60222 %tmp118 = urem i32 %tmp117, 101223 %tmp119 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp115224 store i32 %tmp118, ptr %tmp119, align 8225 %tmp120 = or i64 %tmp105, 3226 %tmp121 = trunc i64 %tmp120 to i32227 %tmp122 = sub i32 60, %tmp121228 %tmp123 = urem i32 %tmp122, 101229 %tmp124 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp120230 store i32 %tmp123, ptr %tmp124, align 4231 %tmp125 = add nuw nsw i64 %tmp105, 4232 %tmp126 = icmp eq i64 %tmp125, 10000233 br i1 %tmp126, label %bb127, label %bb104234 235bb127: ; preds = %bb127, %bb104236 %tmp128 = phi i64 [ %tmp148, %bb127 ], [ 0, %bb104 ]237 %tmp129 = trunc i64 %tmp128 to i32238 %tmp130 = add i32 %tmp129, 87239 %tmp131 = urem i32 %tmp130, 101240 %tmp132 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp128241 store i32 %tmp131, ptr %tmp132, align 16242 %tmp133 = or i64 %tmp128, 1243 %tmp134 = trunc i64 %tmp133 to i32244 %tmp135 = sub i32 87, %tmp134245 %tmp136 = urem i32 %tmp135, 101246 %tmp137 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp133247 store i32 %tmp136, ptr %tmp137, align 4248 %tmp138 = or i64 %tmp128, 2249 %tmp139 = trunc i64 %tmp138 to i32250 %tmp140 = add i32 %tmp139, 87251 %tmp141 = urem i32 %tmp140, 101252 %tmp142 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp138253 store i32 %tmp141, ptr %tmp142, align 8254 %tmp143 = or i64 %tmp128, 3255 %tmp144 = trunc i64 %tmp143 to i32256 %tmp145 = sub i32 87, %tmp144257 %tmp146 = urem i32 %tmp145, 101258 %tmp147 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp143259 store i32 %tmp146, ptr %tmp147, align 4260 %tmp148 = add nuw nsw i64 %tmp128, 4261 %tmp149 = icmp eq i64 %tmp148, 100262 br i1 %tmp149, label %bb150, label %bb127263 264bb150: ; preds = %bb150, %bb127265 %tmp151 = phi i64 [ %tmp171, %bb150 ], [ 0, %bb127 ]266 %tmp152 = trunc i64 %tmp151 to i32267 %tmp153 = add i32 %tmp152, 36268 %tmp154 = urem i32 %tmp153, 101269 %tmp155 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp151270 store i32 %tmp154, ptr %tmp155, align 16271 %tmp156 = or i64 %tmp151, 1272 %tmp157 = trunc i64 %tmp156 to i32273 %tmp158 = sub i32 36, %tmp157274 %tmp159 = urem i32 %tmp158, 101275 %tmp160 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp156276 store i32 %tmp159, ptr %tmp160, align 4277 %tmp161 = or i64 %tmp151, 2278 %tmp162 = trunc i64 %tmp161 to i32279 %tmp163 = add i32 %tmp162, 36280 %tmp164 = urem i32 %tmp163, 101281 %tmp165 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp161282 store i32 %tmp164, ptr %tmp165, align 8283 %tmp166 = or i64 %tmp151, 3284 %tmp167 = trunc i64 %tmp166 to i32285 %tmp168 = sub i32 36, %tmp167286 %tmp169 = urem i32 %tmp168, 101287 %tmp170 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp166288 store i32 %tmp169, ptr %tmp170, align 4289 %tmp171 = add nuw nsw i64 %tmp151, 4290 %tmp172 = icmp eq i64 %tmp171, 10000291 br i1 %tmp172, label %bb173, label %bb150292 293bb173: ; preds = %bb173, %bb150294 %tmp174 = phi i64 [ %tmp194, %bb173 ], [ 0, %bb150 ]295 %tmp175 = trunc i64 %tmp174 to i32296 %tmp176 = add i32 %tmp175, 27297 %tmp177 = urem i32 %tmp176, 101298 %tmp178 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp174299 store i32 %tmp177, ptr %tmp178, align 16300 %tmp179 = or i64 %tmp174, 1301 %tmp180 = trunc i64 %tmp179 to i32302 %tmp181 = sub i32 27, %tmp180303 %tmp182 = urem i32 %tmp181, 101304 %tmp183 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp179305 store i32 %tmp182, ptr %tmp183, align 4306 %tmp184 = or i64 %tmp174, 2307 %tmp185 = trunc i64 %tmp184 to i32308 %tmp186 = add i32 %tmp185, 27309 %tmp187 = urem i32 %tmp186, 101310 %tmp188 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp184311 store i32 %tmp187, ptr %tmp188, align 8312 %tmp189 = or i64 %tmp174, 3313 %tmp190 = trunc i64 %tmp189 to i32314 %tmp191 = sub i32 27, %tmp190315 %tmp192 = urem i32 %tmp191, 101316 %tmp193 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp189317 store i32 %tmp192, ptr %tmp193, align 4318 %tmp194 = add nuw nsw i64 %tmp174, 4319 %tmp195 = icmp eq i64 %tmp194, 100320 br i1 %tmp195, label %bb196, label %bb173321 322bb196: ; preds = %bb196, %bb173323 %tmp197 = phi i64 [ %tmp217, %bb196 ], [ 0, %bb173 ]324 %tmp198 = trunc i64 %tmp197 to i32325 %tmp199 = add i32 %tmp198, 40326 %tmp200 = urem i32 %tmp199, 101327 %tmp201 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp197328 store i32 %tmp200, ptr %tmp201, align 16329 %tmp202 = or i64 %tmp197, 1330 %tmp203 = trunc i64 %tmp202 to i32331 %tmp204 = sub i32 40, %tmp203332 %tmp205 = urem i32 %tmp204, 101333 %tmp206 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp202334 store i32 %tmp205, ptr %tmp206, align 4335 %tmp207 = or i64 %tmp197, 2336 %tmp208 = trunc i64 %tmp207 to i32337 %tmp209 = add i32 %tmp208, 40338 %tmp210 = urem i32 %tmp209, 101339 %tmp211 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp207340 store i32 %tmp210, ptr %tmp211, align 8341 %tmp212 = or i64 %tmp197, 3342 %tmp213 = trunc i64 %tmp212 to i32343 %tmp214 = sub i32 40, %tmp213344 %tmp215 = urem i32 %tmp214, 101345 %tmp216 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp212346 store i32 %tmp215, ptr %tmp216, align 4347 %tmp217 = add nuw nsw i64 %tmp197, 4348 %tmp218 = icmp eq i64 %tmp217, 100349 br i1 %tmp218, label %bb219, label %bb196350 351bb219: ; preds = %bb219, %bb196352 %tmp220 = phi i64 [ %tmp240, %bb219 ], [ 0, %bb196 ]353 %tmp221 = trunc i64 %tmp220 to i32354 %tmp222 = add i32 %tmp221, 84355 %tmp223 = urem i32 %tmp222, 101356 %tmp224 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp220357 store i32 %tmp223, ptr %tmp224, align 16358 %tmp225 = or i64 %tmp220, 1359 %tmp226 = trunc i64 %tmp225 to i32360 %tmp227 = sub i32 84, %tmp226361 %tmp228 = urem i32 %tmp227, 101362 %tmp229 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp225363 store i32 %tmp228, ptr %tmp229, align 4364 %tmp230 = or i64 %tmp220, 2365 %tmp231 = trunc i64 %tmp230 to i32366 %tmp232 = add i32 %tmp231, 84367 %tmp233 = urem i32 %tmp232, 101368 %tmp234 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp230369 store i32 %tmp233, ptr %tmp234, align 8370 %tmp235 = or i64 %tmp220, 3371 %tmp236 = trunc i64 %tmp235 to i32372 %tmp237 = sub i32 84, %tmp236373 %tmp238 = urem i32 %tmp237, 101374 %tmp239 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp235375 store i32 %tmp238, ptr %tmp239, align 4376 %tmp240 = add nuw nsw i64 %tmp220, 4377 %tmp241 = icmp eq i64 %tmp240, 10000378 br i1 %tmp241, label %bb242, label %bb219379 380bb242: ; preds = %bb242, %bb219381 %tmp243 = phi i64 [ %tmp263, %bb242 ], [ 0, %bb219 ]382 %tmp244 = trunc i64 %tmp243 to i32383 %tmp245 = add i32 %tmp244, 94384 %tmp246 = urem i32 %tmp245, 101385 %tmp247 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp243386 store i32 %tmp246, ptr %tmp247, align 16387 %tmp248 = or i64 %tmp243, 1388 %tmp249 = trunc i64 %tmp248 to i32389 %tmp250 = sub i32 94, %tmp249390 %tmp251 = urem i32 %tmp250, 101391 %tmp252 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp248392 store i32 %tmp251, ptr %tmp252, align 4393 %tmp253 = or i64 %tmp243, 2394 %tmp254 = trunc i64 %tmp253 to i32395 %tmp255 = add i32 %tmp254, 94396 %tmp256 = urem i32 %tmp255, 101397 %tmp257 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp253398 store i32 %tmp256, ptr %tmp257, align 8399 %tmp258 = or i64 %tmp243, 3400 %tmp259 = trunc i64 %tmp258 to i32401 %tmp260 = sub i32 94, %tmp259402 %tmp261 = urem i32 %tmp260, 101403 %tmp262 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp258404 store i32 %tmp261, ptr %tmp262, align 4405 %tmp263 = add nuw nsw i64 %tmp243, 4406 %tmp264 = icmp eq i64 %tmp263, 100407 br i1 %tmp264, label %bb265, label %bb242408 409bb265: ; preds = %bb265, %bb242410 %tmp266 = phi i64 [ %tmp286, %bb265 ], [ 0, %bb242 ]411 %tmp267 = trunc i64 %tmp266 to i32412 %tmp268 = add i32 %tmp267, 92413 %tmp269 = urem i32 %tmp268, 101414 %tmp270 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp266415 store i32 %tmp269, ptr %tmp270, align 16416 %tmp271 = or i64 %tmp266, 1417 %tmp272 = trunc i64 %tmp271 to i32418 %tmp273 = sub i32 92, %tmp272419 %tmp274 = urem i32 %tmp273, 101420 %tmp275 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp271421 store i32 %tmp274, ptr %tmp275, align 4422 %tmp276 = or i64 %tmp266, 2423 %tmp277 = trunc i64 %tmp276 to i32424 %tmp278 = add i32 %tmp277, 92425 %tmp279 = urem i32 %tmp278, 101426 %tmp280 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp276427 store i32 %tmp279, ptr %tmp280, align 8428 %tmp281 = or i64 %tmp266, 3429 %tmp282 = trunc i64 %tmp281 to i32430 %tmp283 = sub i32 92, %tmp282431 %tmp284 = urem i32 %tmp283, 101432 %tmp285 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp281433 store i32 %tmp284, ptr %tmp285, align 4434 %tmp286 = add nuw nsw i64 %tmp266, 4435 %tmp287 = icmp eq i64 %tmp286, 10000436 br i1 %tmp287, label %bb288, label %bb265437 438bb288: ; preds = %bb288, %bb265439 %tmp289 = phi i64 [ %tmp309, %bb288 ], [ 0, %bb265 ]440 %tmp290 = trunc i64 %tmp289 to i32441 %tmp291 = add i32 %tmp290, 87442 %tmp292 = urem i32 %tmp291, 101443 %tmp293 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp289444 store i32 %tmp292, ptr %tmp293, align 16445 %tmp294 = or i64 %tmp289, 1446 %tmp295 = trunc i64 %tmp294 to i32447 %tmp296 = sub i32 87, %tmp295448 %tmp297 = urem i32 %tmp296, 101449 %tmp298 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp294450 store i32 %tmp297, ptr %tmp298, align 4451 %tmp299 = or i64 %tmp289, 2452 %tmp300 = trunc i64 %tmp299 to i32453 %tmp301 = add i32 %tmp300, 87454 %tmp302 = urem i32 %tmp301, 101455 %tmp303 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp299456 store i32 %tmp302, ptr %tmp303, align 8457 %tmp304 = or i64 %tmp289, 3458 %tmp305 = trunc i64 %tmp304 to i32459 %tmp306 = sub i32 87, %tmp305460 %tmp307 = urem i32 %tmp306, 101461 %tmp308 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp304462 store i32 %tmp307, ptr %tmp308, align 4463 %tmp309 = add nuw nsw i64 %tmp289, 4464 %tmp310 = icmp eq i64 %tmp309, 10000465 br i1 %tmp310, label %bb311, label %bb288466 467bb311: ; preds = %bb311, %bb288468 %tmp312 = phi i64 [ %tmp332, %bb311 ], [ 0, %bb288 ]469 %tmp313 = trunc i64 %tmp312 to i32470 %tmp314 = add i32 %tmp313, 28471 %tmp315 = urem i32 %tmp314, 101472 %tmp316 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp312473 store i32 %tmp315, ptr %tmp316, align 16474 %tmp317 = or i64 %tmp312, 1475 %tmp318 = trunc i64 %tmp317 to i32476 %tmp319 = sub i32 28, %tmp318477 %tmp320 = urem i32 %tmp319, 101478 %tmp321 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp317479 store i32 %tmp320, ptr %tmp321, align 4480 %tmp322 = or i64 %tmp312, 2481 %tmp323 = trunc i64 %tmp322 to i32482 %tmp324 = add i32 %tmp323, 28483 %tmp325 = urem i32 %tmp324, 101484 %tmp326 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp322485 store i32 %tmp325, ptr %tmp326, align 8486 %tmp327 = or i64 %tmp312, 3487 %tmp328 = trunc i64 %tmp327 to i32488 %tmp329 = sub i32 28, %tmp328489 %tmp330 = urem i32 %tmp329, 101490 %tmp331 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp327491 store i32 %tmp330, ptr %tmp331, align 4492 %tmp332 = add nuw nsw i64 %tmp312, 4493 %tmp333 = icmp eq i64 %tmp332, 10000494 br i1 %tmp333, label %bb334, label %bb311495 496bb334: ; preds = %bb311497 %tmp335 = sub i32 87, %arg498 %tmp336 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 69499 %tmp337 = load i32, ptr %tmp336, align 4500 %tmp338 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 68501 %tmp339 = load i32, ptr %tmp338, align 16502 br label %bb340503 504bb340: ; preds = %bb340, %bb334505 %tmp341 = phi i32 [ %tmp339, %bb334 ], [ %tmp373, %bb340 ]506 %tmp342 = phi i32 [ %tmp337, %bb334 ], [ %tmp379, %bb340 ]507 %tmp343 = phi i64 [ 68, %bb334 ], [ %tmp371, %bb340 ]508 %tmp344 = phi i32 [ %tmp335, %bb334 ], [ %tmp382, %bb340 ]509 %tmp345 = phi i32 [ %arg2, %bb334 ], [ %tmp380, %bb340 ]510 %tmp346 = add nsw i64 %tmp343, -1511 %tmp347 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp346512 %tmp348 = load i32, ptr %tmp347, align 4513 %tmp349 = add nuw nsw i64 %tmp343, 1514 %tmp350 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp349515 %tmp351 = sub i32 %tmp342, %tmp348516 store i32 %tmp351, ptr %tmp350, align 4517 %tmp352 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp343518 %tmp353 = load i32, ptr %tmp352, align 4519 %tmp354 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp343520 %tmp355 = add i32 %tmp341, %tmp353521 store i32 %tmp355, ptr %tmp354, align 4522 %tmp356 = add i32 %tmp345, -1523 %tmp357 = sub i32 %tmp344, %tmp345524 %tmp358 = sub i32 %tmp357, %tmp351525 %tmp359 = add nsw i64 %tmp343, -2526 %tmp360 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp359527 %tmp361 = load i32, ptr %tmp360, align 4528 %tmp362 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp343529 %tmp363 = sub i32 %tmp355, %tmp361530 store i32 %tmp363, ptr %tmp362, align 4531 %tmp364 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp346532 %tmp365 = load i32, ptr %tmp364, align 4533 %tmp366 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp346534 %tmp367 = add i32 %tmp348, %tmp365535 store i32 %tmp367, ptr %tmp366, align 4536 %tmp368 = add i32 %tmp345, -2537 %tmp369 = sub i32 %tmp358, %tmp356538 %tmp370 = sub i32 %tmp369, %tmp363539 %tmp371 = add nsw i64 %tmp343, -3540 %tmp372 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp371541 %tmp373 = load i32, ptr %tmp372, align 4542 %tmp374 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp346543 %tmp375 = sub i32 %tmp367, %tmp373544 store i32 %tmp375, ptr %tmp374, align 4545 %tmp376 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp359546 %tmp377 = load i32, ptr %tmp376, align 4547 %tmp378 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp359548 %tmp379 = add i32 %tmp361, %tmp377549 store i32 %tmp379, ptr %tmp378, align 4550 %tmp380 = add i32 %tmp345, -3551 %tmp381 = sub i32 %tmp370, %tmp368552 %tmp382 = sub i32 %tmp381, %tmp375553 %tmp383 = icmp ugt i64 %tmp371, 2554 br i1 %tmp383, label %bb340, label %bb384555 556bb384: ; preds = %bb340557 %tmp385 = add i32 %arg2, -66558 %tmp386 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 52559 %tmp387 = load i32, ptr %tmp386, align 16560 store i32 %tmp387, ptr %tmp32, align 4561 %tmp388 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 97562 %tmp389 = load i32, ptr %tmp388, align 4563 %tmp390 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 31564 %tmp391 = load i32, ptr %tmp390, align 4565 %tmp392 = icmp eq i32 %tmp389, %tmp391566 br i1 %tmp392, label %bb478, label %bb393567 568bb393: ; preds = %bb384569 %tmp394 = sub i32 -79, %tmp382570 %tmp395 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 2571 %tmp397 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 2572 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %tmp395, ptr nonnull align 8 %tmp397, i64 304, i1 false)573 br label %bb399574 575bb399: ; preds = %bb424, %bb393576 %tmp400 = phi i64 [ 77, %bb393 ], [ %tmp425, %bb424 ]577 br label %bb403578 579bb401: ; preds = %bb424580 %tmp402 = add i32 %arg2, 3581 br label %bb433582 583bb403: ; preds = %bb403, %bb399584 %tmp404 = phi i64 [ 1, %bb399 ], [ %tmp414, %bb403 ]585 %tmp405 = add nuw nsw i64 %tmp404, 1586 %tmp406 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 %tmp404, i64 %tmp405587 %tmp407 = load i32, ptr %tmp406, align 4588 %tmp408 = add i32 %tmp394, %tmp407589 store i32 %tmp408, ptr %tmp406, align 4590 %tmp409 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 %tmp404, i64 %tmp405591 %tmp410 = load i32, ptr %tmp409, align 4592 %tmp411 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp405593 %tmp412 = load i32, ptr %tmp411, align 4594 %tmp413 = add i32 %tmp412, %tmp410595 store i32 %tmp413, ptr %tmp411, align 4596 %tmp414 = add nuw nsw i64 %tmp404, 2597 %tmp415 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 %tmp405, i64 %tmp414598 %tmp416 = load i32, ptr %tmp415, align 4599 %tmp417 = add i32 %tmp394, %tmp416600 store i32 %tmp417, ptr %tmp415, align 4601 %tmp418 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 %tmp405, i64 %tmp414602 %tmp419 = load i32, ptr %tmp418, align 4603 %tmp420 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp414604 %tmp421 = load i32, ptr %tmp420, align 4605 %tmp422 = add i32 %tmp421, %tmp419606 store i32 %tmp422, ptr %tmp420, align 4607 %tmp423 = icmp eq i64 %tmp414, 47608 br i1 %tmp423, label %bb424, label %bb403609 610bb424: ; preds = %bb403611 %tmp425 = add nsw i64 %tmp400, -1612 %tmp426 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp425613 %tmp427 = load i32, ptr %tmp426, align 4614 %tmp428 = add i32 %tmp427, 2615 %tmp429 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp425616 %tmp430 = load i32, ptr %tmp429, align 4617 %tmp431 = mul i32 %tmp430, %tmp428618 store i32 %tmp431, ptr %tmp429, align 4619 %tmp432 = icmp ugt i64 %tmp425, 1620 br i1 %tmp432, label %bb399, label %bb401621 622bb433: ; preds = %bb475, %bb401623 %tmp434 = phi i64 [ 2, %bb401 ], [ %tmp437, %bb475 ]624 %tmp435 = phi i32 [ 2, %bb401 ], [ %tmp476, %bb475 ]625 %tmp436 = add nsw i64 %tmp434, -1626 %tmp437 = add nuw nsw i64 %tmp434, 1627 %tmp438 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 %tmp437, i64 %tmp434628 %tmp439 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 %tmp436, i64 %tmp437629 %tmp440 = mul i32 %tmp435, 47630 br label %bb441631 632bb441: ; preds = %bb473, %bb433633 %tmp442 = phi i64 [ 1, %bb433 ], [ %tmp450, %bb473 ]634 %tmp443 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp442635 %tmp444 = load i32, ptr %tmp443, align 4636 %tmp445 = add nsw i64 %tmp442, -1637 %tmp446 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp445638 %tmp447 = load i32, ptr %tmp446, align 4639 %tmp448 = xor i32 %tmp444, -1640 %tmp449 = add i32 %tmp447, %tmp448641 store i32 %tmp449, ptr %tmp446, align 4642 %tmp450 = add nuw nsw i64 %tmp442, 1643 %tmp451 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 %tmp436, i64 %tmp450644 %tmp452 = load i32, ptr %tmp451, align 4645 %tmp453 = mul i32 %tmp452, 91646 %tmp454 = icmp eq i32 %tmp453, -30647 br i1 %tmp454, label %bb455, label %bb473648 649bb455: ; preds = %bb441650 %tmp456 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp442651 %tmp457 = load i32, ptr %tmp456, align 4652 %tmp458 = icmp ugt i32 %tmp457, %tmp402653 br i1 %tmp458, label %bb459, label %bb473654 655bb459: ; preds = %bb455656 %tmp460 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 %tmp445, i64 %tmp436657 store i32 %tmp387, ptr %tmp460, align 4658 %tmp461 = load i32, ptr %tmp57, align 4659 %tmp462 = load i32, ptr %tmp438, align 4660 %tmp463 = add i32 %tmp462, %tmp461661 %tmp464 = load i32, ptr %tmp439, align 4662 %tmp465 = add i32 %tmp464, 68663 %tmp466 = icmp eq i32 %tmp463, %tmp465664 br i1 %tmp466, label %bb471, label %bb467665 666bb467: ; preds = %bb459667 %tmp468 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp450668 %tmp469 = load i32, ptr %tmp468, align 4669 %tmp470 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp445670 store i32 %tmp469, ptr %tmp470, align 4671 br label %bb473672 673bb471: ; preds = %bb459674 %tmp472 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 %tmp437, i64 %tmp445675 store i32 %tmp440, ptr %tmp472, align 4676 br label %bb473677 678bb473: ; preds = %bb471, %bb467, %bb455, %bb441679 %tmp474 = icmp eq i64 %tmp450, 13680 br i1 %tmp474, label %bb475, label %bb441681 682bb475: ; preds = %bb473683 %tmp476 = add nuw nsw i32 %tmp435, 1684 %tmp477 = icmp eq i64 %tmp437, 69685 br i1 %tmp477, label %bb478, label %bb433686 687bb478: ; preds = %bb475, %bb384688 br label %bb479689 690bb479: ; preds = %bb479, %bb478691 %tmp480 = phi i64 [ 0, %bb478 ], [ %tmp521, %bb479 ]692 %tmp481 = phi i32 [ 0, %bb478 ], [ %tmp520, %bb479 ]693 %tmp482 = and i64 %tmp480, 1694 %tmp483 = icmp eq i64 %tmp482, 0695 %tmp484 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp480696 %tmp485 = load i32, ptr %tmp484, align 4697 %tmp486 = sub i32 0, %tmp485698 %tmp487 = select i1 %tmp483, i32 %tmp485, i32 %tmp486699 %tmp488 = add i32 %tmp487, %tmp481700 %tmp489 = add nuw nsw i64 %tmp480, 1701 %tmp490 = and i64 %tmp489, 1702 %tmp491 = icmp eq i64 %tmp490, 0703 %tmp492 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp489704 %tmp493 = load i32, ptr %tmp492, align 4705 %tmp494 = sub i32 0, %tmp493706 %tmp495 = select i1 %tmp491, i32 %tmp493, i32 %tmp494707 %tmp496 = add i32 %tmp495, %tmp488708 %tmp497 = add nuw nsw i64 %tmp480, 2709 %tmp498 = and i64 %tmp497, 1710 %tmp499 = icmp eq i64 %tmp498, 0711 %tmp500 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp497712 %tmp501 = load i32, ptr %tmp500, align 4713 %tmp502 = sub i32 0, %tmp501714 %tmp503 = select i1 %tmp499, i32 %tmp501, i32 %tmp502715 %tmp504 = add i32 %tmp503, %tmp496716 %tmp505 = add nuw nsw i64 %tmp480, 3717 %tmp506 = and i64 %tmp505, 1718 %tmp507 = icmp eq i64 %tmp506, 0719 %tmp508 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp505720 %tmp509 = load i32, ptr %tmp508, align 4721 %tmp510 = sub i32 0, %tmp509722 %tmp511 = select i1 %tmp507, i32 %tmp509, i32 %tmp510723 %tmp512 = add i32 %tmp511, %tmp504724 %tmp513 = add nuw nsw i64 %tmp480, 4725 %tmp514 = and i64 %tmp513, 1726 %tmp515 = icmp eq i64 %tmp514, 0727 %tmp516 = getelementptr inbounds [100 x i32], ptr %tmp, i64 0, i64 %tmp513728 %tmp517 = load i32, ptr %tmp516, align 4729 %tmp518 = sub i32 0, %tmp517730 %tmp519 = select i1 %tmp515, i32 %tmp517, i32 %tmp518731 %tmp520 = add i32 %tmp519, %tmp512732 %tmp521 = add nuw nsw i64 %tmp480, 5733 %tmp522 = icmp eq i64 %tmp521, 100734 br i1 %tmp522, label %bb523, label %bb479735 736bb523: ; preds = %bb523, %bb479737 %tmp524 = phi i64 [ %tmp565, %bb523 ], [ 0, %bb479 ]738 %tmp525 = phi i32 [ %tmp564, %bb523 ], [ 0, %bb479 ]739 %tmp526 = and i64 %tmp524, 1740 %tmp527 = icmp eq i64 %tmp526, 0741 %tmp528 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp524742 %tmp529 = load i32, ptr %tmp528, align 4743 %tmp530 = sub i32 0, %tmp529744 %tmp531 = select i1 %tmp527, i32 %tmp529, i32 %tmp530745 %tmp532 = add i32 %tmp531, %tmp525746 %tmp533 = add nuw nsw i64 %tmp524, 1747 %tmp534 = and i64 %tmp533, 1748 %tmp535 = icmp eq i64 %tmp534, 0749 %tmp536 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp533750 %tmp537 = load i32, ptr %tmp536, align 4751 %tmp538 = sub i32 0, %tmp537752 %tmp539 = select i1 %tmp535, i32 %tmp537, i32 %tmp538753 %tmp540 = add i32 %tmp539, %tmp532754 %tmp541 = add nuw nsw i64 %tmp524, 2755 %tmp542 = and i64 %tmp541, 1756 %tmp543 = icmp eq i64 %tmp542, 0757 %tmp544 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp541758 %tmp545 = load i32, ptr %tmp544, align 4759 %tmp546 = sub i32 0, %tmp545760 %tmp547 = select i1 %tmp543, i32 %tmp545, i32 %tmp546761 %tmp548 = add i32 %tmp547, %tmp540762 %tmp549 = add nuw nsw i64 %tmp524, 3763 %tmp550 = and i64 %tmp549, 1764 %tmp551 = icmp eq i64 %tmp550, 0765 %tmp552 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp549766 %tmp553 = load i32, ptr %tmp552, align 4767 %tmp554 = sub i32 0, %tmp553768 %tmp555 = select i1 %tmp551, i32 %tmp553, i32 %tmp554769 %tmp556 = add i32 %tmp555, %tmp548770 %tmp557 = add nuw nsw i64 %tmp524, 4771 %tmp558 = and i64 %tmp557, 1772 %tmp559 = icmp eq i64 %tmp558, 0773 %tmp560 = getelementptr inbounds [100 x i32], ptr %tmp7, i64 0, i64 %tmp557774 %tmp561 = load i32, ptr %tmp560, align 4775 %tmp562 = sub i32 0, %tmp561776 %tmp563 = select i1 %tmp559, i32 %tmp561, i32 %tmp562777 %tmp564 = add i32 %tmp563, %tmp556778 %tmp565 = add nuw nsw i64 %tmp524, 5779 %tmp566 = icmp eq i64 %tmp565, 100780 br i1 %tmp566, label %bb567, label %bb523781 782bb567: ; preds = %bb567, %bb523783 %tmp568 = phi i64 [ %tmp609, %bb567 ], [ 0, %bb523 ]784 %tmp569 = phi i32 [ %tmp608, %bb567 ], [ 0, %bb523 ]785 %tmp570 = and i64 %tmp568, 1786 %tmp571 = icmp eq i64 %tmp570, 0787 %tmp572 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp568788 %tmp573 = load i32, ptr %tmp572, align 4789 %tmp574 = sub i32 0, %tmp573790 %tmp575 = select i1 %tmp571, i32 %tmp573, i32 %tmp574791 %tmp576 = add i32 %tmp575, %tmp569792 %tmp577 = add nuw nsw i64 %tmp568, 1793 %tmp578 = and i64 %tmp577, 1794 %tmp579 = icmp eq i64 %tmp578, 0795 %tmp580 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp577796 %tmp581 = load i32, ptr %tmp580, align 4797 %tmp582 = sub i32 0, %tmp581798 %tmp583 = select i1 %tmp579, i32 %tmp581, i32 %tmp582799 %tmp584 = add i32 %tmp583, %tmp576800 %tmp585 = add nuw nsw i64 %tmp568, 2801 %tmp586 = and i64 %tmp585, 1802 %tmp587 = icmp eq i64 %tmp586, 0803 %tmp588 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp585804 %tmp589 = load i32, ptr %tmp588, align 4805 %tmp590 = sub i32 0, %tmp589806 %tmp591 = select i1 %tmp587, i32 %tmp589, i32 %tmp590807 %tmp592 = add i32 %tmp591, %tmp584808 %tmp593 = add nuw nsw i64 %tmp568, 3809 %tmp594 = and i64 %tmp593, 1810 %tmp595 = icmp eq i64 %tmp594, 0811 %tmp596 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp593812 %tmp597 = load i32, ptr %tmp596, align 4813 %tmp598 = sub i32 0, %tmp597814 %tmp599 = select i1 %tmp595, i32 %tmp597, i32 %tmp598815 %tmp600 = add i32 %tmp599, %tmp592816 %tmp601 = add nuw nsw i64 %tmp568, 4817 %tmp602 = and i64 %tmp601, 1818 %tmp603 = icmp eq i64 %tmp602, 0819 %tmp604 = getelementptr inbounds [100 x i32], ptr %tmp8, i64 0, i64 %tmp601820 %tmp605 = load i32, ptr %tmp604, align 4821 %tmp606 = sub i32 0, %tmp605822 %tmp607 = select i1 %tmp603, i32 %tmp605, i32 %tmp606823 %tmp608 = add i32 %tmp607, %tmp600824 %tmp609 = add nuw nsw i64 %tmp568, 5825 %tmp610 = icmp eq i64 %tmp609, 100826 br i1 %tmp610, label %bb611, label %bb567827 828bb611: ; preds = %bb611, %bb567829 %tmp612 = phi i64 [ %tmp653, %bb611 ], [ 0, %bb567 ]830 %tmp613 = phi i32 [ %tmp652, %bb611 ], [ 0, %bb567 ]831 %tmp614 = and i64 %tmp612, 1832 %tmp615 = icmp eq i64 %tmp614, 0833 %tmp616 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp612834 %tmp617 = load i32, ptr %tmp616, align 4835 %tmp618 = sub i32 0, %tmp617836 %tmp619 = select i1 %tmp615, i32 %tmp617, i32 %tmp618837 %tmp620 = add i32 %tmp619, %tmp613838 %tmp621 = add nuw nsw i64 %tmp612, 1839 %tmp622 = and i64 %tmp621, 1840 %tmp623 = icmp eq i64 %tmp622, 0841 %tmp624 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp621842 %tmp625 = load i32, ptr %tmp624, align 4843 %tmp626 = sub i32 0, %tmp625844 %tmp627 = select i1 %tmp623, i32 %tmp625, i32 %tmp626845 %tmp628 = add i32 %tmp627, %tmp620846 %tmp629 = add nuw nsw i64 %tmp612, 2847 %tmp630 = and i64 %tmp629, 1848 %tmp631 = icmp eq i64 %tmp630, 0849 %tmp632 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp629850 %tmp633 = load i32, ptr %tmp632, align 4851 %tmp634 = sub i32 0, %tmp633852 %tmp635 = select i1 %tmp631, i32 %tmp633, i32 %tmp634853 %tmp636 = add i32 %tmp635, %tmp628854 %tmp637 = add nuw nsw i64 %tmp612, 3855 %tmp638 = and i64 %tmp637, 1856 %tmp639 = icmp eq i64 %tmp638, 0857 %tmp640 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp637858 %tmp641 = load i32, ptr %tmp640, align 4859 %tmp642 = sub i32 0, %tmp641860 %tmp643 = select i1 %tmp639, i32 %tmp641, i32 %tmp642861 %tmp644 = add i32 %tmp643, %tmp636862 %tmp645 = add nuw nsw i64 %tmp612, 4863 %tmp646 = and i64 %tmp645, 1864 %tmp647 = icmp eq i64 %tmp646, 0865 %tmp648 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp9, i64 0, i64 0, i64 %tmp645866 %tmp649 = load i32, ptr %tmp648, align 4867 %tmp650 = sub i32 0, %tmp649868 %tmp651 = select i1 %tmp647, i32 %tmp649, i32 %tmp650869 %tmp652 = add i32 %tmp651, %tmp644870 %tmp653 = add nuw nsw i64 %tmp612, 5871 %tmp654 = icmp eq i64 %tmp653, 10000872 br i1 %tmp654, label %bb655, label %bb611873 874bb655: ; preds = %bb655, %bb611875 %tmp656 = phi i64 [ %tmp697, %bb655 ], [ 0, %bb611 ]876 %tmp657 = phi i32 [ %tmp696, %bb655 ], [ 0, %bb611 ]877 %tmp658 = and i64 %tmp656, 1878 %tmp659 = icmp eq i64 %tmp658, 0879 %tmp660 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp656880 %tmp661 = load i32, ptr %tmp660, align 4881 %tmp662 = sub i32 0, %tmp661882 %tmp663 = select i1 %tmp659, i32 %tmp661, i32 %tmp662883 %tmp664 = add i32 %tmp663, %tmp657884 %tmp665 = add nuw nsw i64 %tmp656, 1885 %tmp666 = and i64 %tmp665, 1886 %tmp667 = icmp eq i64 %tmp666, 0887 %tmp668 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp665888 %tmp669 = load i32, ptr %tmp668, align 4889 %tmp670 = sub i32 0, %tmp669890 %tmp671 = select i1 %tmp667, i32 %tmp669, i32 %tmp670891 %tmp672 = add i32 %tmp671, %tmp664892 %tmp673 = add nuw nsw i64 %tmp656, 2893 %tmp674 = and i64 %tmp673, 1894 %tmp675 = icmp eq i64 %tmp674, 0895 %tmp676 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp673896 %tmp677 = load i32, ptr %tmp676, align 4897 %tmp678 = sub i32 0, %tmp677898 %tmp679 = select i1 %tmp675, i32 %tmp677, i32 %tmp678899 %tmp680 = add i32 %tmp679, %tmp672900 %tmp681 = add nuw nsw i64 %tmp656, 3901 %tmp682 = and i64 %tmp681, 1902 %tmp683 = icmp eq i64 %tmp682, 0903 %tmp684 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp681904 %tmp685 = load i32, ptr %tmp684, align 4905 %tmp686 = sub i32 0, %tmp685906 %tmp687 = select i1 %tmp683, i32 %tmp685, i32 %tmp686907 %tmp688 = add i32 %tmp687, %tmp680908 %tmp689 = add nuw nsw i64 %tmp656, 4909 %tmp690 = and i64 %tmp689, 1910 %tmp691 = icmp eq i64 %tmp690, 0911 %tmp692 = getelementptr inbounds [100 x i32], ptr %tmp10, i64 0, i64 %tmp689912 %tmp693 = load i32, ptr %tmp692, align 4913 %tmp694 = sub i32 0, %tmp693914 %tmp695 = select i1 %tmp691, i32 %tmp693, i32 %tmp694915 %tmp696 = add i32 %tmp695, %tmp688916 %tmp697 = add nuw nsw i64 %tmp656, 5917 %tmp698 = icmp eq i64 %tmp697, 100918 br i1 %tmp698, label %bb699, label %bb655919 920bb699: ; preds = %bb699, %bb655921 %tmp700 = phi i64 [ %tmp741, %bb699 ], [ 0, %bb655 ]922 %tmp701 = phi i32 [ %tmp740, %bb699 ], [ 0, %bb655 ]923 %tmp702 = and i64 %tmp700, 1924 %tmp703 = icmp eq i64 %tmp702, 0925 %tmp704 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp700926 %tmp705 = load i32, ptr %tmp704, align 4927 %tmp706 = sub i32 0, %tmp705928 %tmp707 = select i1 %tmp703, i32 %tmp705, i32 %tmp706929 %tmp708 = add i32 %tmp707, %tmp701930 %tmp709 = add nuw nsw i64 %tmp700, 1931 %tmp710 = and i64 %tmp709, 1932 %tmp711 = icmp eq i64 %tmp710, 0933 %tmp712 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp709934 %tmp713 = load i32, ptr %tmp712, align 4935 %tmp714 = sub i32 0, %tmp713936 %tmp715 = select i1 %tmp711, i32 %tmp713, i32 %tmp714937 %tmp716 = add i32 %tmp715, %tmp708938 %tmp717 = add nuw nsw i64 %tmp700, 2939 %tmp718 = and i64 %tmp717, 1940 %tmp719 = icmp eq i64 %tmp718, 0941 %tmp720 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp717942 %tmp721 = load i32, ptr %tmp720, align 4943 %tmp722 = sub i32 0, %tmp721944 %tmp723 = select i1 %tmp719, i32 %tmp721, i32 %tmp722945 %tmp724 = add i32 %tmp723, %tmp716946 %tmp725 = add nuw nsw i64 %tmp700, 3947 %tmp726 = and i64 %tmp725, 1948 %tmp727 = icmp eq i64 %tmp726, 0949 %tmp728 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp725950 %tmp729 = load i32, ptr %tmp728, align 4951 %tmp730 = sub i32 0, %tmp729952 %tmp731 = select i1 %tmp727, i32 %tmp729, i32 %tmp730953 %tmp732 = add i32 %tmp731, %tmp724954 %tmp733 = add nuw nsw i64 %tmp700, 4955 %tmp734 = and i64 %tmp733, 1956 %tmp735 = icmp eq i64 %tmp734, 0957 %tmp736 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp11, i64 0, i64 0, i64 %tmp733958 %tmp737 = load i32, ptr %tmp736, align 4959 %tmp738 = sub i32 0, %tmp737960 %tmp739 = select i1 %tmp735, i32 %tmp737, i32 %tmp738961 %tmp740 = add i32 %tmp739, %tmp732962 %tmp741 = add nuw nsw i64 %tmp700, 5963 %tmp742 = icmp eq i64 %tmp741, 10000964 br i1 %tmp742, label %bb743, label %bb699965 966bb743: ; preds = %bb743, %bb699967 %tmp744 = phi i64 [ %tmp785, %bb743 ], [ 0, %bb699 ]968 %tmp745 = phi i32 [ %tmp784, %bb743 ], [ 0, %bb699 ]969 %tmp746 = and i64 %tmp744, 1970 %tmp747 = icmp eq i64 %tmp746, 0971 %tmp748 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp744972 %tmp749 = load i32, ptr %tmp748, align 4973 %tmp750 = sub i32 0, %tmp749974 %tmp751 = select i1 %tmp747, i32 %tmp749, i32 %tmp750975 %tmp752 = add i32 %tmp751, %tmp745976 %tmp753 = add nuw nsw i64 %tmp744, 1977 %tmp754 = and i64 %tmp753, 1978 %tmp755 = icmp eq i64 %tmp754, 0979 %tmp756 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp753980 %tmp757 = load i32, ptr %tmp756, align 4981 %tmp758 = sub i32 0, %tmp757982 %tmp759 = select i1 %tmp755, i32 %tmp757, i32 %tmp758983 %tmp760 = add i32 %tmp759, %tmp752984 %tmp761 = add nuw nsw i64 %tmp744, 2985 %tmp762 = and i64 %tmp761, 1986 %tmp763 = icmp eq i64 %tmp762, 0987 %tmp764 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp761988 %tmp765 = load i32, ptr %tmp764, align 4989 %tmp766 = sub i32 0, %tmp765990 %tmp767 = select i1 %tmp763, i32 %tmp765, i32 %tmp766991 %tmp768 = add i32 %tmp767, %tmp760992 %tmp769 = add nuw nsw i64 %tmp744, 3993 %tmp770 = and i64 %tmp769, 1994 %tmp771 = icmp eq i64 %tmp770, 0995 %tmp772 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp769996 %tmp773 = load i32, ptr %tmp772, align 4997 %tmp774 = sub i32 0, %tmp773998 %tmp775 = select i1 %tmp771, i32 %tmp773, i32 %tmp774999 %tmp776 = add i32 %tmp775, %tmp7681000 %tmp777 = add nuw nsw i64 %tmp744, 41001 %tmp778 = and i64 %tmp777, 11002 %tmp779 = icmp eq i64 %tmp778, 01003 %tmp780 = getelementptr inbounds [100 x i32], ptr %tmp12, i64 0, i64 %tmp7771004 %tmp781 = load i32, ptr %tmp780, align 41005 %tmp782 = sub i32 0, %tmp7811006 %tmp783 = select i1 %tmp779, i32 %tmp781, i32 %tmp7821007 %tmp784 = add i32 %tmp783, %tmp7761008 %tmp785 = add nuw nsw i64 %tmp744, 51009 %tmp786 = icmp eq i64 %tmp785, 1001010 br i1 %tmp786, label %bb787, label %bb7431011 1012bb787: ; preds = %bb787, %bb7431013 %tmp788 = phi i64 [ %tmp829, %bb787 ], [ 0, %bb743 ]1014 %tmp789 = phi i32 [ %tmp828, %bb787 ], [ 0, %bb743 ]1015 %tmp790 = and i64 %tmp788, 11016 %tmp791 = icmp eq i64 %tmp790, 01017 %tmp792 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp7881018 %tmp793 = load i32, ptr %tmp792, align 41019 %tmp794 = sub i32 0, %tmp7931020 %tmp795 = select i1 %tmp791, i32 %tmp793, i32 %tmp7941021 %tmp796 = add i32 %tmp795, %tmp7891022 %tmp797 = add nuw nsw i64 %tmp788, 11023 %tmp798 = and i64 %tmp797, 11024 %tmp799 = icmp eq i64 %tmp798, 01025 %tmp800 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp7971026 %tmp801 = load i32, ptr %tmp800, align 41027 %tmp802 = sub i32 0, %tmp8011028 %tmp803 = select i1 %tmp799, i32 %tmp801, i32 %tmp8021029 %tmp804 = add i32 %tmp803, %tmp7961030 %tmp805 = add nuw nsw i64 %tmp788, 21031 %tmp806 = and i64 %tmp805, 11032 %tmp807 = icmp eq i64 %tmp806, 01033 %tmp808 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp8051034 %tmp809 = load i32, ptr %tmp808, align 41035 %tmp810 = sub i32 0, %tmp8091036 %tmp811 = select i1 %tmp807, i32 %tmp809, i32 %tmp8101037 %tmp812 = add i32 %tmp811, %tmp8041038 %tmp813 = add nuw nsw i64 %tmp788, 31039 %tmp814 = and i64 %tmp813, 11040 %tmp815 = icmp eq i64 %tmp814, 01041 %tmp816 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp8131042 %tmp817 = load i32, ptr %tmp816, align 41043 %tmp818 = sub i32 0, %tmp8171044 %tmp819 = select i1 %tmp815, i32 %tmp817, i32 %tmp8181045 %tmp820 = add i32 %tmp819, %tmp8121046 %tmp821 = add nuw nsw i64 %tmp788, 41047 %tmp822 = and i64 %tmp821, 11048 %tmp823 = icmp eq i64 %tmp822, 01049 %tmp824 = getelementptr inbounds [100 x i32], ptr %tmp13, i64 0, i64 %tmp8211050 %tmp825 = load i32, ptr %tmp824, align 41051 %tmp826 = sub i32 0, %tmp8251052 %tmp827 = select i1 %tmp823, i32 %tmp825, i32 %tmp8261053 %tmp828 = add i32 %tmp827, %tmp8201054 %tmp829 = add nuw nsw i64 %tmp788, 51055 %tmp830 = icmp eq i64 %tmp829, 1001056 br i1 %tmp830, label %bb831, label %bb7871057 1058bb831: ; preds = %bb831, %bb7871059 %tmp832 = phi i64 [ %tmp873, %bb831 ], [ 0, %bb787 ]1060 %tmp833 = phi i32 [ %tmp872, %bb831 ], [ 0, %bb787 ]1061 %tmp834 = and i64 %tmp832, 11062 %tmp835 = icmp eq i64 %tmp834, 01063 %tmp836 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp8321064 %tmp837 = load i32, ptr %tmp836, align 41065 %tmp838 = sub i32 0, %tmp8371066 %tmp839 = select i1 %tmp835, i32 %tmp837, i32 %tmp8381067 %tmp840 = add i32 %tmp839, %tmp8331068 %tmp841 = add nuw nsw i64 %tmp832, 11069 %tmp842 = and i64 %tmp841, 11070 %tmp843 = icmp eq i64 %tmp842, 01071 %tmp844 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp8411072 %tmp845 = load i32, ptr %tmp844, align 41073 %tmp846 = sub i32 0, %tmp8451074 %tmp847 = select i1 %tmp843, i32 %tmp845, i32 %tmp8461075 %tmp848 = add i32 %tmp847, %tmp8401076 %tmp849 = add nuw nsw i64 %tmp832, 21077 %tmp850 = and i64 %tmp849, 11078 %tmp851 = icmp eq i64 %tmp850, 01079 %tmp852 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp8491080 %tmp853 = load i32, ptr %tmp852, align 41081 %tmp854 = sub i32 0, %tmp8531082 %tmp855 = select i1 %tmp851, i32 %tmp853, i32 %tmp8541083 %tmp856 = add i32 %tmp855, %tmp8481084 %tmp857 = add nuw nsw i64 %tmp832, 31085 %tmp858 = and i64 %tmp857, 11086 %tmp859 = icmp eq i64 %tmp858, 01087 %tmp860 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp8571088 %tmp861 = load i32, ptr %tmp860, align 41089 %tmp862 = sub i32 0, %tmp8611090 %tmp863 = select i1 %tmp859, i32 %tmp861, i32 %tmp8621091 %tmp864 = add i32 %tmp863, %tmp8561092 %tmp865 = add nuw nsw i64 %tmp832, 41093 %tmp866 = and i64 %tmp865, 11094 %tmp867 = icmp eq i64 %tmp866, 01095 %tmp868 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp14, i64 0, i64 0, i64 %tmp8651096 %tmp869 = load i32, ptr %tmp868, align 41097 %tmp870 = sub i32 0, %tmp8691098 %tmp871 = select i1 %tmp867, i32 %tmp869, i32 %tmp8701099 %tmp872 = add i32 %tmp871, %tmp8641100 %tmp873 = add nuw nsw i64 %tmp832, 51101 %tmp874 = icmp eq i64 %tmp873, 100001102 br i1 %tmp874, label %bb875, label %bb8311103 1104bb875: ; preds = %bb875, %bb8311105 %tmp876 = phi i64 [ %tmp917, %bb875 ], [ 0, %bb831 ]1106 %tmp877 = phi i32 [ %tmp916, %bb875 ], [ 0, %bb831 ]1107 %tmp878 = and i64 %tmp876, 11108 %tmp879 = icmp eq i64 %tmp878, 01109 %tmp880 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp8761110 %tmp881 = load i32, ptr %tmp880, align 41111 %tmp882 = sub i32 0, %tmp8811112 %tmp883 = select i1 %tmp879, i32 %tmp881, i32 %tmp8821113 %tmp884 = add i32 %tmp883, %tmp8771114 %tmp885 = add nuw nsw i64 %tmp876, 11115 %tmp886 = and i64 %tmp885, 11116 %tmp887 = icmp eq i64 %tmp886, 01117 %tmp888 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp8851118 %tmp889 = load i32, ptr %tmp888, align 41119 %tmp890 = sub i32 0, %tmp8891120 %tmp891 = select i1 %tmp887, i32 %tmp889, i32 %tmp8901121 %tmp892 = add i32 %tmp891, %tmp8841122 %tmp893 = add nuw nsw i64 %tmp876, 21123 %tmp894 = and i64 %tmp893, 11124 %tmp895 = icmp eq i64 %tmp894, 01125 %tmp896 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp8931126 %tmp897 = load i32, ptr %tmp896, align 41127 %tmp898 = sub i32 0, %tmp8971128 %tmp899 = select i1 %tmp895, i32 %tmp897, i32 %tmp8981129 %tmp900 = add i32 %tmp899, %tmp8921130 %tmp901 = add nuw nsw i64 %tmp876, 31131 %tmp902 = and i64 %tmp901, 11132 %tmp903 = icmp eq i64 %tmp902, 01133 %tmp904 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp9011134 %tmp905 = load i32, ptr %tmp904, align 41135 %tmp906 = sub i32 0, %tmp9051136 %tmp907 = select i1 %tmp903, i32 %tmp905, i32 %tmp9061137 %tmp908 = add i32 %tmp907, %tmp9001138 %tmp909 = add nuw nsw i64 %tmp876, 41139 %tmp910 = and i64 %tmp909, 11140 %tmp911 = icmp eq i64 %tmp910, 01141 %tmp912 = getelementptr inbounds [100 x i32], ptr %tmp15, i64 0, i64 %tmp9091142 %tmp913 = load i32, ptr %tmp912, align 41143 %tmp914 = sub i32 0, %tmp9131144 %tmp915 = select i1 %tmp911, i32 %tmp913, i32 %tmp9141145 %tmp916 = add i32 %tmp915, %tmp9081146 %tmp917 = add nuw nsw i64 %tmp876, 51147 %tmp918 = icmp eq i64 %tmp917, 1001148 br i1 %tmp918, label %bb919, label %bb8751149 1150bb919: ; preds = %bb919, %bb8751151 %tmp920 = phi i64 [ %tmp961, %bb919 ], [ 0, %bb875 ]1152 %tmp921 = phi i32 [ %tmp960, %bb919 ], [ 0, %bb875 ]1153 %tmp922 = and i64 %tmp920, 11154 %tmp923 = icmp eq i64 %tmp922, 01155 %tmp924 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp9201156 %tmp925 = load i32, ptr %tmp924, align 41157 %tmp926 = sub i32 0, %tmp9251158 %tmp927 = select i1 %tmp923, i32 %tmp925, i32 %tmp9261159 %tmp928 = add i32 %tmp927, %tmp9211160 %tmp929 = add nuw nsw i64 %tmp920, 11161 %tmp930 = and i64 %tmp929, 11162 %tmp931 = icmp eq i64 %tmp930, 01163 %tmp932 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp9291164 %tmp933 = load i32, ptr %tmp932, align 41165 %tmp934 = sub i32 0, %tmp9331166 %tmp935 = select i1 %tmp931, i32 %tmp933, i32 %tmp9341167 %tmp936 = add i32 %tmp935, %tmp9281168 %tmp937 = add nuw nsw i64 %tmp920, 21169 %tmp938 = and i64 %tmp937, 11170 %tmp939 = icmp eq i64 %tmp938, 01171 %tmp940 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp9371172 %tmp941 = load i32, ptr %tmp940, align 41173 %tmp942 = sub i32 0, %tmp9411174 %tmp943 = select i1 %tmp939, i32 %tmp941, i32 %tmp9421175 %tmp944 = add i32 %tmp943, %tmp9361176 %tmp945 = add nuw nsw i64 %tmp920, 31177 %tmp946 = and i64 %tmp945, 11178 %tmp947 = icmp eq i64 %tmp946, 01179 %tmp948 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp9451180 %tmp949 = load i32, ptr %tmp948, align 41181 %tmp950 = sub i32 0, %tmp9491182 %tmp951 = select i1 %tmp947, i32 %tmp949, i32 %tmp9501183 %tmp952 = add i32 %tmp951, %tmp9441184 %tmp953 = add nuw nsw i64 %tmp920, 41185 %tmp954 = and i64 %tmp953, 11186 %tmp955 = icmp eq i64 %tmp954, 01187 %tmp956 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp16, i64 0, i64 0, i64 %tmp9531188 %tmp957 = load i32, ptr %tmp956, align 41189 %tmp958 = sub i32 0, %tmp9571190 %tmp959 = select i1 %tmp955, i32 %tmp957, i32 %tmp9581191 %tmp960 = add i32 %tmp959, %tmp9521192 %tmp961 = add nuw nsw i64 %tmp920, 51193 %tmp962 = icmp eq i64 %tmp961, 100001194 br i1 %tmp962, label %bb963, label %bb9191195 1196bb963: ; preds = %bb963, %bb9191197 %tmp964 = phi i64 [ %tmp1005, %bb963 ], [ 0, %bb919 ]1198 %tmp965 = phi i32 [ %tmp1004, %bb963 ], [ 0, %bb919 ]1199 %tmp966 = and i64 %tmp964, 11200 %tmp967 = icmp eq i64 %tmp966, 01201 %tmp968 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp9641202 %tmp969 = load i32, ptr %tmp968, align 41203 %tmp970 = sub i32 0, %tmp9691204 %tmp971 = select i1 %tmp967, i32 %tmp969, i32 %tmp9701205 %tmp972 = add i32 %tmp971, %tmp9651206 %tmp973 = add nuw nsw i64 %tmp964, 11207 %tmp974 = and i64 %tmp973, 11208 %tmp975 = icmp eq i64 %tmp974, 01209 %tmp976 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp9731210 %tmp977 = load i32, ptr %tmp976, align 41211 %tmp978 = sub i32 0, %tmp9771212 %tmp979 = select i1 %tmp975, i32 %tmp977, i32 %tmp9781213 %tmp980 = add i32 %tmp979, %tmp9721214 %tmp981 = add nuw nsw i64 %tmp964, 21215 %tmp982 = and i64 %tmp981, 11216 %tmp983 = icmp eq i64 %tmp982, 01217 %tmp984 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp9811218 %tmp985 = load i32, ptr %tmp984, align 41219 %tmp986 = sub i32 0, %tmp9851220 %tmp987 = select i1 %tmp983, i32 %tmp985, i32 %tmp9861221 %tmp988 = add i32 %tmp987, %tmp9801222 %tmp989 = add nuw nsw i64 %tmp964, 31223 %tmp990 = and i64 %tmp989, 11224 %tmp991 = icmp eq i64 %tmp990, 01225 %tmp992 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp9891226 %tmp993 = load i32, ptr %tmp992, align 41227 %tmp994 = sub i32 0, %tmp9931228 %tmp995 = select i1 %tmp991, i32 %tmp993, i32 %tmp9941229 %tmp996 = add i32 %tmp995, %tmp9881230 %tmp997 = add nuw nsw i64 %tmp964, 41231 %tmp998 = and i64 %tmp997, 11232 %tmp999 = icmp eq i64 %tmp998, 01233 %tmp1000 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp17, i64 0, i64 0, i64 %tmp9971234 %tmp1001 = load i32, ptr %tmp1000, align 41235 %tmp1002 = sub i32 0, %tmp10011236 %tmp1003 = select i1 %tmp999, i32 %tmp1001, i32 %tmp10021237 %tmp1004 = add i32 %tmp1003, %tmp9961238 %tmp1005 = add nuw nsw i64 %tmp964, 51239 %tmp1006 = icmp eq i64 %tmp1005, 100001240 br i1 %tmp1006, label %bb1007, label %bb9631241 1242bb1007: ; preds = %bb1007, %bb9631243 %tmp1008 = phi i64 [ %tmp1049, %bb1007 ], [ 0, %bb963 ]1244 %tmp1009 = phi i32 [ %tmp1048, %bb1007 ], [ 0, %bb963 ]1245 %tmp1010 = and i64 %tmp1008, 11246 %tmp1011 = icmp eq i64 %tmp1010, 01247 %tmp1012 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp10081248 %tmp1013 = load i32, ptr %tmp1012, align 41249 %tmp1014 = sub i32 0, %tmp10131250 %tmp1015 = select i1 %tmp1011, i32 %tmp1013, i32 %tmp10141251 %tmp1016 = add i32 %tmp1015, %tmp10091252 %tmp1017 = add nuw nsw i64 %tmp1008, 11253 %tmp1018 = and i64 %tmp1017, 11254 %tmp1019 = icmp eq i64 %tmp1018, 01255 %tmp1020 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp10171256 %tmp1021 = load i32, ptr %tmp1020, align 41257 %tmp1022 = sub i32 0, %tmp10211258 %tmp1023 = select i1 %tmp1019, i32 %tmp1021, i32 %tmp10221259 %tmp1024 = add i32 %tmp1023, %tmp10161260 %tmp1025 = add nuw nsw i64 %tmp1008, 21261 %tmp1026 = and i64 %tmp1025, 11262 %tmp1027 = icmp eq i64 %tmp1026, 01263 %tmp1028 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp10251264 %tmp1029 = load i32, ptr %tmp1028, align 41265 %tmp1030 = sub i32 0, %tmp10291266 %tmp1031 = select i1 %tmp1027, i32 %tmp1029, i32 %tmp10301267 %tmp1032 = add i32 %tmp1031, %tmp10241268 %tmp1033 = add nuw nsw i64 %tmp1008, 31269 %tmp1034 = and i64 %tmp1033, 11270 %tmp1035 = icmp eq i64 %tmp1034, 01271 %tmp1036 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp10331272 %tmp1037 = load i32, ptr %tmp1036, align 41273 %tmp1038 = sub i32 0, %tmp10371274 %tmp1039 = select i1 %tmp1035, i32 %tmp1037, i32 %tmp10381275 %tmp1040 = add i32 %tmp1039, %tmp10321276 %tmp1041 = add nuw nsw i64 %tmp1008, 41277 %tmp1042 = and i64 %tmp1041, 11278 %tmp1043 = icmp eq i64 %tmp1042, 01279 %tmp1044 = getelementptr inbounds [100 x [100 x i32]], ptr %tmp18, i64 0, i64 0, i64 %tmp10411280 %tmp1045 = load i32, ptr %tmp1044, align 41281 %tmp1046 = sub i32 0, %tmp10451282 %tmp1047 = select i1 %tmp1043, i32 %tmp1045, i32 %tmp10461283 %tmp1048 = add i32 %tmp1047, %tmp10401284 %tmp1049 = add nuw nsw i64 %tmp1008, 51285 %tmp1050 = icmp eq i64 %tmp1049, 100001286 br i1 %tmp1050, label %bb1051, label %bb10071287 1288bb1051: ; preds = %bb10071289 %tmp1052 = add i32 %tmp382, %tmp3851290 %tmp1053 = add i32 %tmp1052, %tmp5201291 %tmp1054 = add i32 %tmp1053, %tmp5641292 %tmp1055 = sub i32 %tmp1054, %tmp6081293 %tmp1056 = add i32 %tmp1055, %tmp6521294 %tmp1057 = sub i32 %tmp1056, %tmp6961295 %tmp1058 = add i32 %tmp1057, %tmp7401296 %tmp1059 = sub i32 %tmp1058, %tmp7841297 %tmp1060 = add i32 %tmp1059, %tmp8281298 %tmp1061 = sub i32 %tmp1060, %tmp8721299 %tmp1062 = add i32 %tmp1061, %tmp9161300 %tmp1063 = sub i32 %tmp1062, %tmp9601301 %tmp1064 = add i32 %tmp1063, %tmp10041302 %tmp1065 = sub i32 %tmp1064, %tmp10481303 call void @llvm.lifetime.end.p0(ptr nonnull %tmp18) #41304 call void @llvm.lifetime.end.p0(ptr nonnull %tmp17) #41305 call void @llvm.lifetime.end.p0(ptr nonnull %tmp16) #41306 call void @llvm.lifetime.end.p0(ptr nonnull %tmp15) #41307 call void @llvm.lifetime.end.p0(ptr nonnull %tmp14) #41308 call void @llvm.lifetime.end.p0(ptr nonnull %tmp13) #41309 call void @llvm.lifetime.end.p0(ptr nonnull %tmp12) #41310 call void @llvm.lifetime.end.p0(ptr nonnull %tmp11) #41311 call void @llvm.lifetime.end.p0(ptr nonnull %tmp10) #41312 call void @llvm.lifetime.end.p0(ptr nonnull %tmp9) #41313 call void @llvm.lifetime.end.p0(ptr nonnull %tmp8) #41314 call void @llvm.lifetime.end.p0(ptr nonnull %tmp7) #41315 call void @llvm.lifetime.end.p0(ptr nonnull %tmp) #41316 ret i32 %tmp10651317}1318 1319; Function Attrs: argmemonly nounwind1320declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1) #11321 1322; Function Attrs: argmemonly nounwind1323declare void @llvm.memcpy.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1) #11324