; LLVM IR from tangjz/acm-icpc :: lydsy (3097)

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

@n = external dso_local global i32, align 4
@l = external dso_local global i32, align 4
@s = external dso_local global [100001 x i8], align 16
@.str = external hidden unnamed_addr constant [10 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() #0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  store i32 0, ptr %1, align 4
  store i32 1, ptr @n, align 4, !tbaa !5
  store i8 97, ptr @s, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #3
  store i32 0, ptr %2, align 4, !tbaa !5
  br label %7

7:                                                ; preds = %37, %0
  %8 = load i32, ptr %2, align 4, !tbaa !5
  %9 = icmp slt i32 %8, 12
  br i1 %9, label %11, label %10

10:                                               ; preds = %7
  store i32 2, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #3
  br label %40

11:                                               ; preds = %7
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #3
  store i32 0, ptr %4, align 4, !tbaa !5
  br label %12

12:                                               ; preds = %31, %11
  %13 = load i32, ptr %4, align 4, !tbaa !5
  %14 = load i32, ptr @n, align 4, !tbaa !5
  %15 = icmp slt i32 %13, %14
  br i1 %15, label %17, label %16

16:                                               ; preds = %12
  store i32 5, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #3
  br label %34

17:                                               ; preds = %12
  %18 = load i32, ptr %4, align 4, !tbaa !5
  %19 = sext i32 %18 to i64
  %20 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %19
  %21 = load i8, ptr %20, align 1, !tbaa !9
  %22 = sext i8 %21 to i32
  %23 = icmp eq i32 %22, 97
  %24 = zext i1 %23 to i64
  %25 = select i1 %23, i8 98, i8 97
  %26 = load i32, ptr %4, align 4, !tbaa !5
  %27 = load i32, ptr @n, align 4, !tbaa !5
  %28 = add nsw i32 %26, %27
  %29 = sext i32 %28 to i64
  %30 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %29
  store i8 %25, ptr %30, align 1, !tbaa !9
  br label %31

31:                                               ; preds = %17
  %32 = load i32, ptr %4, align 4, !tbaa !5
  %33 = add nsw i32 %32, 1
  store i32 %33, ptr %4, align 4, !tbaa !5
  br label %12, !llvm.loop !10

34:                                               ; preds = %16
  %35 = load i32, ptr @n, align 4, !tbaa !5
  %36 = shl i32 %35, 1
  store i32 %36, ptr @n, align 4, !tbaa !5
  br label %37

37:                                               ; preds = %34
  %38 = load i32, ptr %2, align 4, !tbaa !5
  %39 = add nsw i32 %38, 1
  store i32 %39, ptr %2, align 4, !tbaa !5
  br label %7, !llvm.loop !12

40:                                               ; preds = %10
  %41 = load i32, ptr @n, align 4, !tbaa !5
  %42 = ashr i32 %41, 1
  store i32 %42, ptr @l, align 4, !tbaa !5
  %43 = load i32, ptr @n, align 4, !tbaa !5
  %44 = add nsw i32 %43, 1
  store i32 %44, ptr @n, align 4, !tbaa !5
  %45 = sext i32 %43 to i64
  %46 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %45
  store i8 97, ptr %46, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #3
  store i32 1, ptr %5, align 4, !tbaa !5
  br label %47

47:                                               ; preds = %57, %40
  %48 = load i32, ptr %5, align 4, !tbaa !5
  %49 = load i32, ptr @l, align 4, !tbaa !5
  %50 = icmp slt i32 %48, %49
  br i1 %50, label %52, label %51

51:                                               ; preds = %47
  store i32 8, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #3
  br label %60

52:                                               ; preds = %47
  %53 = load i32, ptr @n, align 4, !tbaa !5
  %54 = add nsw i32 %53, 1
  store i32 %54, ptr @n, align 4, !tbaa !5
  %55 = sext i32 %53 to i64
  %56 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %55
  store i8 97, ptr %56, align 1, !tbaa !9
  br label %57

57:                                               ; preds = %52
  %58 = load i32, ptr %5, align 4, !tbaa !5
  %59 = add nsw i32 %58, 1
  store i32 %59, ptr %5, align 4, !tbaa !5
  br label %47, !llvm.loop !13

60:                                               ; preds = %51
  %61 = load i32, ptr @n, align 4, !tbaa !5
  %62 = add nsw i32 %61, 1
  store i32 %62, ptr @n, align 4, !tbaa !5
  %63 = sext i32 %61 to i64
  %64 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %63
  store i8 98, ptr %64, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #3
  store i32 1, ptr %6, align 4, !tbaa !5
  br label %65

65:                                               ; preds = %75, %60
  %66 = load i32, ptr %6, align 4, !tbaa !5
  %67 = load i32, ptr @l, align 4, !tbaa !5
  %68 = icmp slt i32 %66, %67
  br i1 %68, label %70, label %69

69:                                               ; preds = %65
  store i32 11, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #3
  br label %78

70:                                               ; preds = %65
  %71 = load i32, ptr @n, align 4, !tbaa !5
  %72 = add nsw i32 %71, 1
  store i32 %72, ptr @n, align 4, !tbaa !5
  %73 = sext i32 %71 to i64
  %74 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %73
  store i8 97, ptr %74, align 1, !tbaa !9
  br label %75

75:                                               ; preds = %70
  %76 = load i32, ptr %6, align 4, !tbaa !5
  %77 = add nsw i32 %76, 1
  store i32 %77, ptr %6, align 4, !tbaa !5
  br label %65, !llvm.loop !14

78:                                               ; preds = %69
  %79 = load i32, ptr @n, align 4, !tbaa !5
  %80 = sext i32 %79 to i64
  %81 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %80
  store i8 0, ptr %81, align 1, !tbaa !9
  %82 = load i32, ptr @n, align 4, !tbaa !5
  %83 = load i32, ptr @l, align 4, !tbaa !5
  %84 = call i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %82, i32 noundef %83, ptr noundef @s)
  ret i32 0
}

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

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

declare i32 @printf(ptr noundef, ...) #2

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!7, !7, i64 0}
!10 = distinct !{!10, !11}
!11 = !{!"llvm.loop.mustprogress"}
!12 = distinct !{!12, !11}
!13 = distinct !{!13, !11}
!14 = distinct !{!14, !11}


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

@n = external dso_local local_unnamed_addr global i32, align 4
@l = external dso_local local_unnamed_addr global i32, align 4
@s = external dso_local global [100001 x i8], align 16
@.str = external hidden unnamed_addr constant [10 x i8], align 1

; Function Attrs: mustprogress nofree norecurse nounwind uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 {
.lr.ph.preheader.6:
  store i32 1, ptr @n, align 4, !tbaa !5
  store <8 x i8> <i8 97, i8 98, i8 98, i8 97, i8 98, i8 97, i8 97, i8 98>, ptr @s, align 16, !tbaa !9
  store i8 98, ptr getelementptr inbounds (i8, ptr @s, i64 8), align 8, !tbaa !9
  %0 = load <4 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 1), align 1, !tbaa !9
  %1 = icmp eq <4 x i8> %0, <i8 97, i8 97, i8 97, i8 97>
  %2 = select <4 x i1> %1, <4 x i8> <i8 98, i8 98, i8 98, i8 98>, <4 x i8> <i8 97, i8 97, i8 97, i8 97>
  store <4 x i8> %2, ptr getelementptr inbounds (i8, ptr @s, i64 9), align 1, !tbaa !9
  %3 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 5), align 1, !tbaa !9
  %4 = icmp eq i8 %3, 97
  %5 = select i1 %4, i8 98, i8 97
  store i8 %5, ptr getelementptr inbounds (i8, ptr @s, i64 13), align 1, !tbaa !9
  %6 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 6), align 2, !tbaa !9
  %7 = icmp eq i8 %6, 97
  %8 = select i1 %7, i8 98, i8 97
  store i8 %8, ptr getelementptr inbounds (i8, ptr @s, i64 14), align 2, !tbaa !9
  %9 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 7), align 1, !tbaa !9
  %10 = icmp eq i8 %9, 97
  %11 = select i1 %10, i8 98, i8 97
  store i8 %11, ptr getelementptr inbounds (i8, ptr @s, i64 15), align 1, !tbaa !9
  store i8 98, ptr getelementptr inbounds (i8, ptr @s, i64 16), align 16, !tbaa !9
  %12 = load <8 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 1), align 1, !tbaa !9
  %13 = icmp eq <8 x i8> %12, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %14 = select <8 x i1> %13, <8 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <8 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <8 x i8> %14, ptr getelementptr inbounds (i8, ptr @s, i64 17), align 1, !tbaa !9
  %15 = load <4 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 9), align 1, !tbaa !9
  %16 = icmp eq <4 x i8> %15, <i8 97, i8 97, i8 97, i8 97>
  %17 = select <4 x i1> %16, <4 x i8> <i8 98, i8 98, i8 98, i8 98>, <4 x i8> <i8 97, i8 97, i8 97, i8 97>
  store <4 x i8> %17, ptr getelementptr inbounds (i8, ptr @s, i64 25), align 1, !tbaa !9
  %18 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 13), align 1, !tbaa !9
  %19 = icmp eq i8 %18, 97
  %20 = select i1 %19, i8 98, i8 97
  store i8 %20, ptr getelementptr inbounds (i8, ptr @s, i64 29), align 1, !tbaa !9
  %21 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 14), align 2, !tbaa !9
  %22 = icmp eq i8 %21, 97
  %23 = select i1 %22, i8 98, i8 97
  store i8 %23, ptr getelementptr inbounds (i8, ptr @s, i64 30), align 2, !tbaa !9
  %24 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 15), align 1, !tbaa !9
  %25 = icmp eq i8 %24, 97
  %26 = select i1 %25, i8 98, i8 97
  store i8 %26, ptr getelementptr inbounds (i8, ptr @s, i64 31), align 1, !tbaa !9
  store i8 98, ptr getelementptr inbounds (i8, ptr @s, i64 32), align 16, !tbaa !9
  %27 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 1), align 1, !tbaa !9
  %28 = icmp eq <16 x i8> %27, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %29 = select <16 x i1> %28, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %29, ptr getelementptr inbounds (i8, ptr @s, i64 33), align 1, !tbaa !9
  %30 = load <8 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 17), align 1, !tbaa !9
  %31 = icmp eq <8 x i8> %30, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %32 = select <8 x i1> %31, <8 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <8 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <8 x i8> %32, ptr getelementptr inbounds (i8, ptr @s, i64 49), align 1, !tbaa !9
  %33 = load <4 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 25), align 1, !tbaa !9
  %34 = icmp eq <4 x i8> %33, <i8 97, i8 97, i8 97, i8 97>
  %35 = select <4 x i1> %34, <4 x i8> <i8 98, i8 98, i8 98, i8 98>, <4 x i8> <i8 97, i8 97, i8 97, i8 97>
  store <4 x i8> %35, ptr getelementptr inbounds (i8, ptr @s, i64 57), align 1, !tbaa !9
  %36 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 29), align 1, !tbaa !9
  %37 = icmp eq i8 %36, 97
  %38 = select i1 %37, i8 98, i8 97
  store i8 %38, ptr getelementptr inbounds (i8, ptr @s, i64 61), align 1, !tbaa !9
  %39 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 30), align 2, !tbaa !9
  %40 = icmp eq i8 %39, 97
  %41 = select i1 %40, i8 98, i8 97
  store i8 %41, ptr getelementptr inbounds (i8, ptr @s, i64 62), align 2, !tbaa !9
  %42 = load i8, ptr getelementptr inbounds (i8, ptr @s, i64 31), align 1, !tbaa !9
  %43 = icmp eq i8 %42, 97
  %44 = select i1 %43, i8 98, i8 97
  store i8 %44, ptr getelementptr inbounds (i8, ptr @s, i64 63), align 1, !tbaa !9
  %wide.load = load <16 x i8>, ptr @s, align 16, !tbaa !9
  %wide.load35 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 16), align 16, !tbaa !9
  %45 = icmp eq <16 x i8> %wide.load, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %46 = icmp eq <16 x i8> %wide.load35, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %47 = select <16 x i1> %45, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %48 = select <16 x i1> %46, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %47, ptr getelementptr inbounds (i8, ptr @s, i64 64), align 16, !tbaa !9
  store <16 x i8> %48, ptr getelementptr inbounds (i8, ptr @s, i64 80), align 16, !tbaa !9
  %wide.load.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 32), align 16, !tbaa !9
  %wide.load35.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 48), align 16, !tbaa !9
  %49 = icmp eq <16 x i8> %wide.load.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %50 = icmp eq <16 x i8> %wide.load35.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %51 = select <16 x i1> %49, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %52 = select <16 x i1> %50, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %51, ptr getelementptr inbounds (i8, ptr @s, i64 96), align 16, !tbaa !9
  store <16 x i8> %52, ptr getelementptr inbounds (i8, ptr @s, i64 112), align 16, !tbaa !9
  %wide.load42 = load <16 x i8>, ptr @s, align 16, !tbaa !9
  %wide.load43 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 16), align 16, !tbaa !9
  %53 = icmp eq <16 x i8> %wide.load42, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %54 = icmp eq <16 x i8> %wide.load43, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %55 = select <16 x i1> %53, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %56 = select <16 x i1> %54, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %55, ptr getelementptr inbounds (i8, ptr @s, i64 128), align 16, !tbaa !9
  store <16 x i8> %56, ptr getelementptr inbounds (i8, ptr @s, i64 144), align 16, !tbaa !9
  %wide.load42.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 32), align 16, !tbaa !9
  %wide.load43.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 48), align 16, !tbaa !9
  %57 = icmp eq <16 x i8> %wide.load42.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %58 = icmp eq <16 x i8> %wide.load43.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %59 = select <16 x i1> %57, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %60 = select <16 x i1> %58, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %59, ptr getelementptr inbounds (i8, ptr @s, i64 160), align 16, !tbaa !9
  store <16 x i8> %60, ptr getelementptr inbounds (i8, ptr @s, i64 176), align 16, !tbaa !9
  %wide.load42.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 64), align 16, !tbaa !9
  %wide.load43.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 80), align 16, !tbaa !9
  %61 = icmp eq <16 x i8> %wide.load42.2, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %62 = icmp eq <16 x i8> %wide.load43.2, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %63 = select <16 x i1> %61, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %64 = select <16 x i1> %62, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %63, ptr getelementptr inbounds (i8, ptr @s, i64 192), align 16, !tbaa !9
  store <16 x i8> %64, ptr getelementptr inbounds (i8, ptr @s, i64 208), align 16, !tbaa !9
  %wide.load42.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 96), align 16, !tbaa !9
  %wide.load43.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 112), align 16, !tbaa !9
  %65 = icmp eq <16 x i8> %wide.load42.3, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %66 = icmp eq <16 x i8> %wide.load43.3, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %67 = select <16 x i1> %65, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %68 = select <16 x i1> %66, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %67, ptr getelementptr inbounds (i8, ptr @s, i64 224), align 16, !tbaa !9
  store <16 x i8> %68, ptr getelementptr inbounds (i8, ptr @s, i64 240), align 16, !tbaa !9
  %wide.load51 = load <16 x i8>, ptr @s, align 16, !tbaa !9
  %wide.load52 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 16), align 16, !tbaa !9
  %69 = icmp eq <16 x i8> %wide.load51, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %70 = icmp eq <16 x i8> %wide.load52, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %71 = select <16 x i1> %69, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %72 = select <16 x i1> %70, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %71, ptr getelementptr inbounds (i8, ptr @s, i64 256), align 16, !tbaa !9
  store <16 x i8> %72, ptr getelementptr inbounds (i8, ptr @s, i64 272), align 16, !tbaa !9
  %wide.load51.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 32), align 16, !tbaa !9
  %wide.load52.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 48), align 16, !tbaa !9
  %73 = icmp eq <16 x i8> %wide.load51.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %74 = icmp eq <16 x i8> %wide.load52.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %75 = select <16 x i1> %73, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %76 = select <16 x i1> %74, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %75, ptr getelementptr inbounds (i8, ptr @s, i64 288), align 16, !tbaa !9
  store <16 x i8> %76, ptr getelementptr inbounds (i8, ptr @s, i64 304), align 16, !tbaa !9
  %wide.load51.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 64), align 16, !tbaa !9
  %wide.load52.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 80), align 16, !tbaa !9
  %77 = icmp eq <16 x i8> %wide.load51.2, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %78 = icmp eq <16 x i8> %wide.load52.2, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %79 = select <16 x i1> %77, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %80 = select <16 x i1> %78, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %79, ptr getelementptr inbounds (i8, ptr @s, i64 320), align 16, !tbaa !9
  store <16 x i8> %80, ptr getelementptr inbounds (i8, ptr @s, i64 336), align 16, !tbaa !9
  %wide.load51.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 96), align 16, !tbaa !9
  %wide.load52.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 112), align 16, !tbaa !9
  %81 = icmp eq <16 x i8> %wide.load51.3, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %82 = icmp eq <16 x i8> %wide.load52.3, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %83 = select <16 x i1> %81, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %84 = select <16 x i1> %82, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %83, ptr getelementptr inbounds (i8, ptr @s, i64 352), align 16, !tbaa !9
  store <16 x i8> %84, ptr getelementptr inbounds (i8, ptr @s, i64 368), align 16, !tbaa !9
  %wide.load51.4 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 128), align 16, !tbaa !9
  %wide.load52.4 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 144), align 16, !tbaa !9
  %85 = icmp eq <16 x i8> %wide.load51.4, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %86 = icmp eq <16 x i8> %wide.load52.4, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %87 = select <16 x i1> %85, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %88 = select <16 x i1> %86, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %87, ptr getelementptr inbounds (i8, ptr @s, i64 384), align 16, !tbaa !9
  store <16 x i8> %88, ptr getelementptr inbounds (i8, ptr @s, i64 400), align 16, !tbaa !9
  %wide.load51.5 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 160), align 16, !tbaa !9
  %wide.load52.5 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 176), align 16, !tbaa !9
  %89 = icmp eq <16 x i8> %wide.load51.5, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %90 = icmp eq <16 x i8> %wide.load52.5, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %91 = select <16 x i1> %89, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %92 = select <16 x i1> %90, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %91, ptr getelementptr inbounds (i8, ptr @s, i64 416), align 16, !tbaa !9
  store <16 x i8> %92, ptr getelementptr inbounds (i8, ptr @s, i64 432), align 16, !tbaa !9
  %wide.load51.6 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 192), align 16, !tbaa !9
  %wide.load52.6 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 208), align 16, !tbaa !9
  %93 = icmp eq <16 x i8> %wide.load51.6, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %94 = icmp eq <16 x i8> %wide.load52.6, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %95 = select <16 x i1> %93, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %96 = select <16 x i1> %94, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %95, ptr getelementptr inbounds (i8, ptr @s, i64 448), align 16, !tbaa !9
  store <16 x i8> %96, ptr getelementptr inbounds (i8, ptr @s, i64 464), align 16, !tbaa !9
  %wide.load51.7 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 224), align 16, !tbaa !9
  %wide.load52.7 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 240), align 16, !tbaa !9
  %97 = icmp eq <16 x i8> %wide.load51.7, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %98 = icmp eq <16 x i8> %wide.load52.7, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %99 = select <16 x i1> %97, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %100 = select <16 x i1> %98, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %99, ptr getelementptr inbounds (i8, ptr @s, i64 480), align 16, !tbaa !9
  store <16 x i8> %100, ptr getelementptr inbounds (i8, ptr @s, i64 496), align 16, !tbaa !9
  %wide.load60 = load <16 x i8>, ptr @s, align 16, !tbaa !9
  %wide.load61 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 16), align 16, !tbaa !9
  %101 = icmp eq <16 x i8> %wide.load60, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %102 = icmp eq <16 x i8> %wide.load61, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %103 = select <16 x i1> %101, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %104 = select <16 x i1> %102, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %103, ptr getelementptr inbounds (i8, ptr @s, i64 512), align 16, !tbaa !9
  store <16 x i8> %104, ptr getelementptr inbounds (i8, ptr @s, i64 528), align 16, !tbaa !9
  %wide.load60.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 32), align 16, !tbaa !9
  %wide.load61.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 48), align 16, !tbaa !9
  %105 = icmp eq <16 x i8> %wide.load60.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %106 = icmp eq <16 x i8> %wide.load61.1, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %107 = select <16 x i1> %105, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %108 = select <16 x i1> %106, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %107, ptr getelementptr inbounds (i8, ptr @s, i64 544), align 16, !tbaa !9
  store <16 x i8> %108, ptr getelementptr inbounds (i8, ptr @s, i64 560), align 16, !tbaa !9
  %wide.load60.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 64), align 16, !tbaa !9
  %wide.load61.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 80), align 16, !tbaa !9
  %109 = icmp eq <16 x i8> %wide.load60.2, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %110 = icmp eq <16 x i8> %wide.load61.2, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %111 = select <16 x i1> %109, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %112 = select <16 x i1> %110, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %111, ptr getelementptr inbounds (i8, ptr @s, i64 576), align 16, !tbaa !9
  store <16 x i8> %112, ptr getelementptr inbounds (i8, ptr @s, i64 592), align 16, !tbaa !9
  %wide.load60.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 96), align 16, !tbaa !9
  %wide.load61.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 112), align 16, !tbaa !9
  %113 = icmp eq <16 x i8> %wide.load60.3, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %114 = icmp eq <16 x i8> %wide.load61.3, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %115 = select <16 x i1> %113, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %116 = select <16 x i1> %114, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %115, ptr getelementptr inbounds (i8, ptr @s, i64 608), align 16, !tbaa !9
  store <16 x i8> %116, ptr getelementptr inbounds (i8, ptr @s, i64 624), align 16, !tbaa !9
  %wide.load60.4 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 128), align 16, !tbaa !9
  %wide.load61.4 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 144), align 16, !tbaa !9
  %117 = icmp eq <16 x i8> %wide.load60.4, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %118 = icmp eq <16 x i8> %wide.load61.4, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %119 = select <16 x i1> %117, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %120 = select <16 x i1> %118, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %119, ptr getelementptr inbounds (i8, ptr @s, i64 640), align 16, !tbaa !9
  store <16 x i8> %120, ptr getelementptr inbounds (i8, ptr @s, i64 656), align 16, !tbaa !9
  %wide.load60.5 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 160), align 16, !tbaa !9
  %wide.load61.5 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 176), align 16, !tbaa !9
  %121 = icmp eq <16 x i8> %wide.load60.5, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %122 = icmp eq <16 x i8> %wide.load61.5, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %123 = select <16 x i1> %121, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %124 = select <16 x i1> %122, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %123, ptr getelementptr inbounds (i8, ptr @s, i64 672), align 16, !tbaa !9
  store <16 x i8> %124, ptr getelementptr inbounds (i8, ptr @s, i64 688), align 16, !tbaa !9
  %wide.load60.6 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 192), align 16, !tbaa !9
  %wide.load61.6 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 208), align 16, !tbaa !9
  %125 = icmp eq <16 x i8> %wide.load60.6, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %126 = icmp eq <16 x i8> %wide.load61.6, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %127 = select <16 x i1> %125, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %128 = select <16 x i1> %126, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %127, ptr getelementptr inbounds (i8, ptr @s, i64 704), align 16, !tbaa !9
  store <16 x i8> %128, ptr getelementptr inbounds (i8, ptr @s, i64 720), align 16, !tbaa !9
  %wide.load60.7 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 224), align 16, !tbaa !9
  %wide.load61.7 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 240), align 16, !tbaa !9
  %129 = icmp eq <16 x i8> %wide.load60.7, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %130 = icmp eq <16 x i8> %wide.load61.7, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %131 = select <16 x i1> %129, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %132 = select <16 x i1> %130, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %131, ptr getelementptr inbounds (i8, ptr @s, i64 736), align 16, !tbaa !9
  store <16 x i8> %132, ptr getelementptr inbounds (i8, ptr @s, i64 752), align 16, !tbaa !9
  %wide.load60.8 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 256), align 16, !tbaa !9
  %wide.load61.8 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 272), align 16, !tbaa !9
  %133 = icmp eq <16 x i8> %wide.load60.8, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %134 = icmp eq <16 x i8> %wide.load61.8, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %135 = select <16 x i1> %133, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %136 = select <16 x i1> %134, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %135, ptr getelementptr inbounds (i8, ptr @s, i64 768), align 16, !tbaa !9
  store <16 x i8> %136, ptr getelementptr inbounds (i8, ptr @s, i64 784), align 16, !tbaa !9
  %wide.load60.9 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 288), align 16, !tbaa !9
  %wide.load61.9 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 304), align 16, !tbaa !9
  %137 = icmp eq <16 x i8> %wide.load60.9, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %138 = icmp eq <16 x i8> %wide.load61.9, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %139 = select <16 x i1> %137, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %140 = select <16 x i1> %138, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %139, ptr getelementptr inbounds (i8, ptr @s, i64 800), align 16, !tbaa !9
  store <16 x i8> %140, ptr getelementptr inbounds (i8, ptr @s, i64 816), align 16, !tbaa !9
  %wide.load60.10 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 320), align 16, !tbaa !9
  %wide.load61.10 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 336), align 16, !tbaa !9
  %141 = icmp eq <16 x i8> %wide.load60.10, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %142 = icmp eq <16 x i8> %wide.load61.10, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %143 = select <16 x i1> %141, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %144 = select <16 x i1> %142, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %143, ptr getelementptr inbounds (i8, ptr @s, i64 832), align 16, !tbaa !9
  store <16 x i8> %144, ptr getelementptr inbounds (i8, ptr @s, i64 848), align 16, !tbaa !9
  %wide.load60.11 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 352), align 16, !tbaa !9
  %wide.load61.11 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 368), align 16, !tbaa !9
  %145 = icmp eq <16 x i8> %wide.load60.11, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %146 = icmp eq <16 x i8> %wide.load61.11, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %147 = select <16 x i1> %145, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %148 = select <16 x i1> %146, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %147, ptr getelementptr inbounds (i8, ptr @s, i64 864), align 16, !tbaa !9
  store <16 x i8> %148, ptr getelementptr inbounds (i8, ptr @s, i64 880), align 16, !tbaa !9
  %wide.load60.12 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 384), align 16, !tbaa !9
  %wide.load61.12 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 400), align 16, !tbaa !9
  %149 = icmp eq <16 x i8> %wide.load60.12, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %150 = icmp eq <16 x i8> %wide.load61.12, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %151 = select <16 x i1> %149, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %152 = select <16 x i1> %150, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %151, ptr getelementptr inbounds (i8, ptr @s, i64 896), align 16, !tbaa !9
  store <16 x i8> %152, ptr getelementptr inbounds (i8, ptr @s, i64 912), align 16, !tbaa !9
  %wide.load60.13 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 416), align 16, !tbaa !9
  %wide.load61.13 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 432), align 16, !tbaa !9
  %153 = icmp eq <16 x i8> %wide.load60.13, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %154 = icmp eq <16 x i8> %wide.load61.13, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %155 = select <16 x i1> %153, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %156 = select <16 x i1> %154, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %155, ptr getelementptr inbounds (i8, ptr @s, i64 928), align 16, !tbaa !9
  store <16 x i8> %156, ptr getelementptr inbounds (i8, ptr @s, i64 944), align 16, !tbaa !9
  %wide.load60.14 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 448), align 16, !tbaa !9
  %wide.load61.14 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 464), align 16, !tbaa !9
  %157 = icmp eq <16 x i8> %wide.load60.14, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %158 = icmp eq <16 x i8> %wide.load61.14, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %159 = select <16 x i1> %157, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %160 = select <16 x i1> %158, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %159, ptr getelementptr inbounds (i8, ptr @s, i64 960), align 16, !tbaa !9
  store <16 x i8> %160, ptr getelementptr inbounds (i8, ptr @s, i64 976), align 16, !tbaa !9
  %wide.load60.15 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 480), align 16, !tbaa !9
  %wide.load61.15 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @s, i64 496), align 16, !tbaa !9
  %161 = icmp eq <16 x i8> %wide.load60.15, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %162 = icmp eq <16 x i8> %wide.load61.15, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %163 = select <16 x i1> %161, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %164 = select <16 x i1> %162, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  store <16 x i8> %163, ptr getelementptr inbounds (i8, ptr @s, i64 992), align 16, !tbaa !9
  store <16 x i8> %164, ptr getelementptr inbounds (i8, ptr @s, i64 1008), align 16, !tbaa !9
  br label %vector.body67

vector.body67:                                    ; preds = %.lr.ph.preheader.6, %vector.body67
  %index68 = phi i64 [ %index.next71, %vector.body67 ], [ 0, %.lr.ph.preheader.6 ]
  %165 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %index68
  %166 = getelementptr inbounds i8, ptr %165, i64 16
  %wide.load69 = load <16 x i8>, ptr %165, align 16, !tbaa !9
  %wide.load70 = load <16 x i8>, ptr %166, align 16, !tbaa !9
  %167 = icmp eq <16 x i8> %wide.load69, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %168 = icmp eq <16 x i8> %wide.load70, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %169 = select <16 x i1> %167, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %170 = select <16 x i1> %168, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %171 = add nuw nsw i64 %index68, 1024
  %172 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %171
  %173 = getelementptr inbounds i8, ptr %172, i64 16
  store <16 x i8> %169, ptr %172, align 16, !tbaa !9
  store <16 x i8> %170, ptr %173, align 16, !tbaa !9
  %index.next71 = add nuw i64 %index68, 32
  %174 = icmp eq i64 %index.next71, 1024
  br i1 %174, label %vector.body76, label %vector.body67, !llvm.loop !10

vector.body76:                                    ; preds = %vector.body67, %vector.body76
  %index77 = phi i64 [ %index.next80, %vector.body76 ], [ 0, %vector.body67 ]
  %175 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %index77
  %176 = getelementptr inbounds i8, ptr %175, i64 16
  %wide.load78 = load <16 x i8>, ptr %175, align 16, !tbaa !9
  %wide.load79 = load <16 x i8>, ptr %176, align 16, !tbaa !9
  %177 = icmp eq <16 x i8> %wide.load78, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %178 = icmp eq <16 x i8> %wide.load79, <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %179 = select <16 x i1> %177, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %180 = select <16 x i1> %178, <16 x i8> <i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98, i8 98>, <16 x i8> <i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97, i8 97>
  %181 = add nuw nsw i64 %index77, 2048
  %182 = getelementptr inbounds [100001 x i8], ptr @s, i64 0, i64 %181
  %183 = getelementptr inbounds i8, ptr %182, i64 16
  store <16 x i8> %179, ptr %182, align 16, !tbaa !9
  store <16 x i8> %180, ptr %183, align 16, !tbaa !9
  %index.next80 = add nuw i64 %index77, 32
  %184 = icmp eq i64 %index.next80, 2048
  br i1 %184, label %middle.block72, label %vector.body76, !llvm.loop !14

middle.block72:                                   ; preds = %vector.body76
  store i32 2048, ptr @l, align 4, !tbaa !5
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(2048) getelementptr inbounds (i8, ptr @s, i64 4096), i8 97, i64 2048, i1 false)
  store i8 98, ptr getelementptr inbounds (i8, ptr @s, i64 6144), align 16, !tbaa !9
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(2047) getelementptr inbounds (i8, ptr @s, i64 6145), i8 97, i64 2047, i1 false), !tbaa !9
  store i32 8192, ptr @n, align 4, !tbaa !5
  store i8 0, ptr getelementptr inbounds (i8, ptr @s, i64 8192), align 16, !tbaa !9
  %185 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef 8192, i32 noundef 2048, ptr noundef nonnull @s)
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

attributes #0 = { mustprogress nofree norecurse nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "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 = { nocallback nofree nounwind willreturn memory(argmem: write) }

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!7, !7, i64 0}
!10 = distinct !{!10, !11, !12, !13}
!11 = !{!"llvm.loop.mustprogress"}
!12 = !{!"llvm.loop.isvectorized", i32 1}
!13 = !{!"llvm.loop.unroll.runtime.disable"}
!14 = distinct !{!14, !11, !12, !13}


; Effective O3 passes: DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopIdiomRecognizePass,LoopInstSimplifyPass,LoopLoadEliminationPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,LoopVectorizePass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass