; LLVM IR from cruppstahl/upscaledb :: 3rdparty/simdcomp/src (simdintegratedbitpacking)

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

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

; Function Attrs: alwaysinline nounwind uwtable
declare hidden void @_mm_storeu_si128(ptr noundef, <2 x i64> noundef) #1

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

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_loadu_si128(ptr noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_or_si128(<2 x i64> noundef, <2 x i64> noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_slli_epi32(<2 x i64> noundef, i32 noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_set1_epi32(i32 noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_and_si128(<2 x i64> noundef, <2 x i64> noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_srli_epi32(<2 x i64> noundef, i32 noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_add_epi32(<2 x i64> noundef, <2 x i64> noundef) #1

; Function Attrs: nounwind uwtable
define dso_local <2 x i64> @iunpack21(<2 x i64> noundef %0, ptr noundef %1, ptr noundef %2) #2 {
  %4 = alloca <2 x i64>, align 16
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca <2 x i64>, align 16
  %9 = alloca <2 x i64>, align 16
  %10 = alloca <2 x i64>, align 16
  %11 = alloca <2 x i64>, align 16
  %12 = alloca <2 x i64>, align 16
  %13 = alloca <2 x i64>, align 16
  %14 = alloca <2 x i64>, align 16
  %15 = alloca <2 x i64>, align 16
  %16 = alloca <2 x i64>, align 16
  %17 = alloca <2 x i64>, align 16
  %18 = alloca <2 x i64>, align 16
  %19 = alloca <2 x i64>, align 16
  %20 = alloca <2 x i64>, align 16
  %21 = alloca <2 x i64>, align 16
  %22 = alloca <2 x i64>, align 16
  %23 = alloca <2 x i64>, align 16
  %24 = alloca <2 x i64>, align 16
  %25 = alloca <2 x i64>, align 16
  %26 = alloca <2 x i64>, align 16
  %27 = alloca <2 x i64>, align 16
  %28 = alloca <2 x i64>, align 16
  %29 = alloca <2 x i64>, align 16
  %30 = alloca <2 x i64>, align 16
  %31 = alloca <2 x i64>, align 16
  %32 = alloca <2 x i64>, align 16
  %33 = alloca <2 x i64>, align 16
  %34 = alloca <2 x i64>, align 16
  %35 = alloca <2 x i64>, align 16
  %36 = alloca <2 x i64>, align 16
  %37 = alloca <2 x i64>, align 16
  %38 = alloca <2 x i64>, align 16
  %39 = alloca <2 x i64>, align 16
  %40 = alloca <2 x i64>, align 16
  %41 = alloca <2 x i64>, align 16
  %42 = alloca <2 x i64>, align 16
  %43 = alloca <2 x i64>, align 16
  %44 = alloca <2 x i64>, align 16
  %45 = alloca <2 x i64>, align 16
  %46 = alloca <2 x i64>, align 16
  %47 = alloca <2 x i64>, align 16
  %48 = alloca <2 x i64>, align 16
  %49 = alloca <2 x i64>, align 16
  %50 = alloca <2 x i64>, align 16
  %51 = alloca <2 x i64>, align 16
  %52 = alloca <2 x i64>, align 16
  %53 = alloca <2 x i64>, align 16
  %54 = alloca <2 x i64>, align 16
  %55 = alloca <2 x i64>, align 16
  %56 = alloca <2 x i64>, align 16
  %57 = alloca <2 x i64>, align 16
  %58 = alloca <2 x i64>, align 16
  %59 = alloca <2 x i64>, align 16
  %60 = alloca <2 x i64>, align 16
  %61 = alloca <2 x i64>, align 16
  %62 = alloca <2 x i64>, align 16
  %63 = alloca <2 x i64>, align 16
  %64 = alloca <2 x i64>, align 16
  %65 = alloca <2 x i64>, align 16
  %66 = alloca <2 x i64>, align 16
  %67 = alloca <2 x i64>, align 16
  %68 = alloca <2 x i64>, align 16
  %69 = alloca <2 x i64>, align 16
  %70 = alloca <2 x i64>, align 16
  %71 = alloca <2 x i64>, align 16
  %72 = alloca <2 x i64>, align 16
  %73 = alloca <2 x i64>, align 16
  %74 = alloca <2 x i64>, align 16
  %75 = alloca <2 x i64>, align 16
  store <2 x i64> %0, ptr %4, align 16, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !8
  store ptr %2, ptr %6, align 8, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #3
  %76 = load ptr, ptr %6, align 8, !tbaa !8
  store ptr %76, ptr %7, align 8, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #3
  %77 = load ptr, ptr %5, align 8, !tbaa !8
  %78 = call <2 x i64> @_mm_loadu_si128(ptr noundef %77)
  store <2 x i64> %78, ptr %8, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #3
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #3
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #3
  %79 = call <2 x i64> @_mm_set1_epi32(i32 noundef 2097151)
  store <2 x i64> %79, ptr %11, align 16, !tbaa !5
  %80 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %80, ptr %10, align 16, !tbaa !5
  %81 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %82 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %83 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %81, <2 x i64> noundef %82)
  store <2 x i64> %83, ptr %9, align 16, !tbaa !5
  br label %84

84:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #3
  %85 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %86 = bitcast <2 x i64> %85 to <16 x i8>
  %87 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %86, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %88 = bitcast <16 x i8> %87 to <2 x i64>
  %89 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %90 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %88, <2 x i64> noundef %89)
  store <2 x i64> %90, ptr %12, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #3
  %91 = load <2 x i64>, ptr %12, align 16, !tbaa !5
  %92 = bitcast <2 x i64> %91 to <16 x i8>
  %93 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %92, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %94 = bitcast <16 x i8> %93 to <2 x i64>
  %95 = load <2 x i64>, ptr %12, align 16, !tbaa !5
  %96 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %94, <2 x i64> noundef %95)
  store <2 x i64> %96, ptr %13, align 16, !tbaa !5
  %97 = load <2 x i64>, ptr %13, align 16, !tbaa !5
  %98 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %99 = bitcast <2 x i64> %98 to <4 x i32>
  %100 = shufflevector <4 x i32> %99, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %101 = bitcast <4 x i32> %100 to <2 x i64>
  %102 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %97, <2 x i64> noundef %101)
  store <2 x i64> %102, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #3
  br label %103

103:                                              ; preds = %84
  br label %104

104:                                              ; preds = %103
  %105 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %105, ptr %4, align 16, !tbaa !5
  %106 = load ptr, ptr %7, align 8, !tbaa !8
  %107 = getelementptr inbounds <2 x i64>, ptr %106, i32 1
  store ptr %107, ptr %7, align 8, !tbaa !8
  %108 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %106, <2 x i64> noundef %108)
  %109 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %110 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %109, i32 noundef 21)
  store <2 x i64> %110, ptr %10, align 16, !tbaa !5
  %111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %111, ptr %9, align 16, !tbaa !5
  %112 = load ptr, ptr %5, align 8, !tbaa !8
  %113 = getelementptr inbounds <2 x i64>, ptr %112, i32 1
  store ptr %113, ptr %5, align 8, !tbaa !8
  %114 = load ptr, ptr %5, align 8, !tbaa !8
  %115 = call <2 x i64> @_mm_loadu_si128(ptr noundef %114)
  store <2 x i64> %115, ptr %8, align 16, !tbaa !5
  %116 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %117 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %118 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %117, i32 noundef 11)
  %119 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %120 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %118, <2 x i64> noundef %119)
  %121 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %116, <2 x i64> noundef %120)
  store <2 x i64> %121, ptr %9, align 16, !tbaa !5
  br label %122

122:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #3
  %123 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %124 = bitcast <2 x i64> %123 to <16 x i8>
  %125 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %124, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %126 = bitcast <16 x i8> %125 to <2 x i64>
  %127 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %128 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %126, <2 x i64> noundef %127)
  store <2 x i64> %128, ptr %14, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #3
  %129 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %130 = bitcast <2 x i64> %129 to <16 x i8>
  %131 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %130, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %132 = bitcast <16 x i8> %131 to <2 x i64>
  %133 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %134 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %132, <2 x i64> noundef %133)
  store <2 x i64> %134, ptr %15, align 16, !tbaa !5
  %135 = load <2 x i64>, ptr %15, align 16, !tbaa !5
  %136 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %137 = bitcast <2 x i64> %136 to <4 x i32>
  %138 = shufflevector <4 x i32> %137, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %139 = bitcast <4 x i32> %138 to <2 x i64>
  %140 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %135, <2 x i64> noundef %139)
  store <2 x i64> %140, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #3
  br label %141

141:                                              ; preds = %122
  br label %142

142:                                              ; preds = %141
  %143 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %143, ptr %4, align 16, !tbaa !5
  %144 = load ptr, ptr %7, align 8, !tbaa !8
  %145 = getelementptr inbounds <2 x i64>, ptr %144, i32 1
  store ptr %145, ptr %7, align 8, !tbaa !8
  %146 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %144, <2 x i64> noundef %146)
  %147 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %148 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %147, i32 noundef 10)
  store <2 x i64> %148, ptr %10, align 16, !tbaa !5
  %149 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %150 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %151 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %149, <2 x i64> noundef %150)
  store <2 x i64> %151, ptr %9, align 16, !tbaa !5
  br label %152

152:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #3
  %153 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %154 = bitcast <2 x i64> %153 to <16 x i8>
  %155 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %154, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %156 = bitcast <16 x i8> %155 to <2 x i64>
  %157 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %158 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %156, <2 x i64> noundef %157)
  store <2 x i64> %158, ptr %16, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #3
  %159 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %160 = bitcast <2 x i64> %159 to <16 x i8>
  %161 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %160, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %162 = bitcast <16 x i8> %161 to <2 x i64>
  %163 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %164 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %162, <2 x i64> noundef %163)
  store <2 x i64> %164, ptr %17, align 16, !tbaa !5
  %165 = load <2 x i64>, ptr %17, align 16, !tbaa !5
  %166 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %167 = bitcast <2 x i64> %166 to <4 x i32>
  %168 = shufflevector <4 x i32> %167, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %169 = bitcast <4 x i32> %168 to <2 x i64>
  %170 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %165, <2 x i64> noundef %169)
  store <2 x i64> %170, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #3
  br label %171

171:                                              ; preds = %152
  br label %172

172:                                              ; preds = %171
  %173 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %173, ptr %4, align 16, !tbaa !5
  %174 = load ptr, ptr %7, align 8, !tbaa !8
  %175 = getelementptr inbounds <2 x i64>, ptr %174, i32 1
  store ptr %175, ptr %7, align 8, !tbaa !8
  %176 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %174, <2 x i64> noundef %176)
  %177 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %178 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %177, i32 noundef 31)
  store <2 x i64> %178, ptr %10, align 16, !tbaa !5
  %179 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %179, ptr %9, align 16, !tbaa !5
  %180 = load ptr, ptr %5, align 8, !tbaa !8
  %181 = getelementptr inbounds <2 x i64>, ptr %180, i32 1
  store ptr %181, ptr %5, align 8, !tbaa !8
  %182 = load ptr, ptr %5, align 8, !tbaa !8
  %183 = call <2 x i64> @_mm_loadu_si128(ptr noundef %182)
  store <2 x i64> %183, ptr %8, align 16, !tbaa !5
  %184 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %185 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %186 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %185, i32 noundef 1)
  %187 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %188 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %186, <2 x i64> noundef %187)
  %189 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %184, <2 x i64> noundef %188)
  store <2 x i64> %189, ptr %9, align 16, !tbaa !5
  br label %190

190:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %191 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %192 = bitcast <2 x i64> %191 to <16 x i8>
  %193 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %192, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %194 = bitcast <16 x i8> %193 to <2 x i64>
  %195 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %196 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %194, <2 x i64> noundef %195)
  store <2 x i64> %196, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %197 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %198 = bitcast <2 x i64> %197 to <16 x i8>
  %199 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %198, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %200 = bitcast <16 x i8> %199 to <2 x i64>
  %201 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %202 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %200, <2 x i64> noundef %201)
  store <2 x i64> %202, ptr %19, align 16, !tbaa !5
  %203 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %204 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %205 = bitcast <2 x i64> %204 to <4 x i32>
  %206 = shufflevector <4 x i32> %205, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %207 = bitcast <4 x i32> %206 to <2 x i64>
  %208 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %203, <2 x i64> noundef %207)
  store <2 x i64> %208, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #3
  br label %209

209:                                              ; preds = %190
  br label %210

210:                                              ; preds = %209
  %211 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %211, ptr %4, align 16, !tbaa !5
  %212 = load ptr, ptr %7, align 8, !tbaa !8
  %213 = getelementptr inbounds <2 x i64>, ptr %212, i32 1
  store ptr %213, ptr %7, align 8, !tbaa !8
  %214 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %212, <2 x i64> noundef %214)
  %215 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %216 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %215, i32 noundef 20)
  store <2 x i64> %216, ptr %10, align 16, !tbaa !5
  %217 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %217, ptr %9, align 16, !tbaa !5
  %218 = load ptr, ptr %5, align 8, !tbaa !8
  %219 = getelementptr inbounds <2 x i64>, ptr %218, i32 1
  store ptr %219, ptr %5, align 8, !tbaa !8
  %220 = load ptr, ptr %5, align 8, !tbaa !8
  %221 = call <2 x i64> @_mm_loadu_si128(ptr noundef %220)
  store <2 x i64> %221, ptr %8, align 16, !tbaa !5
  %222 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %223 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %224 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %223, i32 noundef 12)
  %225 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %226 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %224, <2 x i64> noundef %225)
  %227 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %222, <2 x i64> noundef %226)
  store <2 x i64> %227, ptr %9, align 16, !tbaa !5
  br label %228

228:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %229 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %230 = bitcast <2 x i64> %229 to <16 x i8>
  %231 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %230, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %232 = bitcast <16 x i8> %231 to <2 x i64>
  %233 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %234 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %232, <2 x i64> noundef %233)
  store <2 x i64> %234, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %235 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %236 = bitcast <2 x i64> %235 to <16 x i8>
  %237 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %236, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %238 = bitcast <16 x i8> %237 to <2 x i64>
  %239 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %240 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %238, <2 x i64> noundef %239)
  store <2 x i64> %240, ptr %21, align 16, !tbaa !5
  %241 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %242 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %243 = bitcast <2 x i64> %242 to <4 x i32>
  %244 = shufflevector <4 x i32> %243, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %245 = bitcast <4 x i32> %244 to <2 x i64>
  %246 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %241, <2 x i64> noundef %245)
  store <2 x i64> %246, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #3
  br label %247

247:                                              ; preds = %228
  br label %248

248:                                              ; preds = %247
  %249 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %249, ptr %4, align 16, !tbaa !5
  %250 = load ptr, ptr %7, align 8, !tbaa !8
  %251 = getelementptr inbounds <2 x i64>, ptr %250, i32 1
  store ptr %251, ptr %7, align 8, !tbaa !8
  %252 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %250, <2 x i64> noundef %252)
  %253 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %254 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %253, i32 noundef 9)
  store <2 x i64> %254, ptr %10, align 16, !tbaa !5
  %255 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %256 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %257 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %255, <2 x i64> noundef %256)
  store <2 x i64> %257, ptr %9, align 16, !tbaa !5
  br label %258

258:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %259 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %260 = bitcast <2 x i64> %259 to <16 x i8>
  %261 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %260, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %262 = bitcast <16 x i8> %261 to <2 x i64>
  %263 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %264 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %262, <2 x i64> noundef %263)
  store <2 x i64> %264, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %265 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %266 = bitcast <2 x i64> %265 to <16 x i8>
  %267 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %266, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %268 = bitcast <16 x i8> %267 to <2 x i64>
  %269 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %270 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %268, <2 x i64> noundef %269)
  store <2 x i64> %270, ptr %23, align 16, !tbaa !5
  %271 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %272 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %273 = bitcast <2 x i64> %272 to <4 x i32>
  %274 = shufflevector <4 x i32> %273, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %275 = bitcast <4 x i32> %274 to <2 x i64>
  %276 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %271, <2 x i64> noundef %275)
  store <2 x i64> %276, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #3
  br label %277

277:                                              ; preds = %258
  br label %278

278:                                              ; preds = %277
  %279 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %279, ptr %4, align 16, !tbaa !5
  %280 = load ptr, ptr %7, align 8, !tbaa !8
  %281 = getelementptr inbounds <2 x i64>, ptr %280, i32 1
  store ptr %281, ptr %7, align 8, !tbaa !8
  %282 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %280, <2 x i64> noundef %282)
  %283 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %284 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %283, i32 noundef 30)
  store <2 x i64> %284, ptr %10, align 16, !tbaa !5
  %285 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %285, ptr %9, align 16, !tbaa !5
  %286 = load ptr, ptr %5, align 8, !tbaa !8
  %287 = getelementptr inbounds <2 x i64>, ptr %286, i32 1
  store ptr %287, ptr %5, align 8, !tbaa !8
  %288 = load ptr, ptr %5, align 8, !tbaa !8
  %289 = call <2 x i64> @_mm_loadu_si128(ptr noundef %288)
  store <2 x i64> %289, ptr %8, align 16, !tbaa !5
  %290 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %291 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %292 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %291, i32 noundef 2)
  %293 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %294 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %292, <2 x i64> noundef %293)
  %295 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %290, <2 x i64> noundef %294)
  store <2 x i64> %295, ptr %9, align 16, !tbaa !5
  br label %296

296:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %297 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %298 = bitcast <2 x i64> %297 to <16 x i8>
  %299 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %298, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %300 = bitcast <16 x i8> %299 to <2 x i64>
  %301 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %302 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %300, <2 x i64> noundef %301)
  store <2 x i64> %302, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %303 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %304 = bitcast <2 x i64> %303 to <16 x i8>
  %305 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %304, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %306 = bitcast <16 x i8> %305 to <2 x i64>
  %307 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %308 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %306, <2 x i64> noundef %307)
  store <2 x i64> %308, ptr %25, align 16, !tbaa !5
  %309 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %310 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %311 = bitcast <2 x i64> %310 to <4 x i32>
  %312 = shufflevector <4 x i32> %311, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %313 = bitcast <4 x i32> %312 to <2 x i64>
  %314 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %309, <2 x i64> noundef %313)
  store <2 x i64> %314, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #3
  br label %315

315:                                              ; preds = %296
  br label %316

316:                                              ; preds = %315
  %317 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %317, ptr %4, align 16, !tbaa !5
  %318 = load ptr, ptr %7, align 8, !tbaa !8
  %319 = getelementptr inbounds <2 x i64>, ptr %318, i32 1
  store ptr %319, ptr %7, align 8, !tbaa !8
  %320 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %318, <2 x i64> noundef %320)
  %321 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %322 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %321, i32 noundef 19)
  store <2 x i64> %322, ptr %10, align 16, !tbaa !5
  %323 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %323, ptr %9, align 16, !tbaa !5
  %324 = load ptr, ptr %5, align 8, !tbaa !8
  %325 = getelementptr inbounds <2 x i64>, ptr %324, i32 1
  store ptr %325, ptr %5, align 8, !tbaa !8
  %326 = load ptr, ptr %5, align 8, !tbaa !8
  %327 = call <2 x i64> @_mm_loadu_si128(ptr noundef %326)
  store <2 x i64> %327, ptr %8, align 16, !tbaa !5
  %328 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %329 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %330 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %329, i32 noundef 13)
  %331 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %332 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %330, <2 x i64> noundef %331)
  %333 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %328, <2 x i64> noundef %332)
  store <2 x i64> %333, ptr %9, align 16, !tbaa !5
  br label %334

334:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %335 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %336 = bitcast <2 x i64> %335 to <16 x i8>
  %337 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %336, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %338 = bitcast <16 x i8> %337 to <2 x i64>
  %339 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %340 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %338, <2 x i64> noundef %339)
  store <2 x i64> %340, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %341 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %342 = bitcast <2 x i64> %341 to <16 x i8>
  %343 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %342, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %344 = bitcast <16 x i8> %343 to <2 x i64>
  %345 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %346 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %344, <2 x i64> noundef %345)
  store <2 x i64> %346, ptr %27, align 16, !tbaa !5
  %347 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %348 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %349 = bitcast <2 x i64> %348 to <4 x i32>
  %350 = shufflevector <4 x i32> %349, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %351 = bitcast <4 x i32> %350 to <2 x i64>
  %352 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %347, <2 x i64> noundef %351)
  store <2 x i64> %352, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #3
  br label %353

353:                                              ; preds = %334
  br label %354

354:                                              ; preds = %353
  %355 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %355, ptr %4, align 16, !tbaa !5
  %356 = load ptr, ptr %7, align 8, !tbaa !8
  %357 = getelementptr inbounds <2 x i64>, ptr %356, i32 1
  store ptr %357, ptr %7, align 8, !tbaa !8
  %358 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %356, <2 x i64> noundef %358)
  %359 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %360 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %359, i32 noundef 8)
  store <2 x i64> %360, ptr %10, align 16, !tbaa !5
  %361 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %362 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %363 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %361, <2 x i64> noundef %362)
  store <2 x i64> %363, ptr %9, align 16, !tbaa !5
  br label %364

364:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %365 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %366 = bitcast <2 x i64> %365 to <16 x i8>
  %367 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %366, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %368 = bitcast <16 x i8> %367 to <2 x i64>
  %369 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %370 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %368, <2 x i64> noundef %369)
  store <2 x i64> %370, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %371 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %372 = bitcast <2 x i64> %371 to <16 x i8>
  %373 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %372, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %374 = bitcast <16 x i8> %373 to <2 x i64>
  %375 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %376 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %374, <2 x i64> noundef %375)
  store <2 x i64> %376, ptr %29, align 16, !tbaa !5
  %377 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %378 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %379 = bitcast <2 x i64> %378 to <4 x i32>
  %380 = shufflevector <4 x i32> %379, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %381 = bitcast <4 x i32> %380 to <2 x i64>
  %382 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %377, <2 x i64> noundef %381)
  store <2 x i64> %382, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #3
  br label %383

383:                                              ; preds = %364
  br label %384

384:                                              ; preds = %383
  %385 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %385, ptr %4, align 16, !tbaa !5
  %386 = load ptr, ptr %7, align 8, !tbaa !8
  %387 = getelementptr inbounds <2 x i64>, ptr %386, i32 1
  store ptr %387, ptr %7, align 8, !tbaa !8
  %388 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %386, <2 x i64> noundef %388)
  %389 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %390 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %389, i32 noundef 29)
  store <2 x i64> %390, ptr %10, align 16, !tbaa !5
  %391 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %391, ptr %9, align 16, !tbaa !5
  %392 = load ptr, ptr %5, align 8, !tbaa !8
  %393 = getelementptr inbounds <2 x i64>, ptr %392, i32 1
  store ptr %393, ptr %5, align 8, !tbaa !8
  %394 = load ptr, ptr %5, align 8, !tbaa !8
  %395 = call <2 x i64> @_mm_loadu_si128(ptr noundef %394)
  store <2 x i64> %395, ptr %8, align 16, !tbaa !5
  %396 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %397 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %398 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %397, i32 noundef 3)
  %399 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %400 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %398, <2 x i64> noundef %399)
  %401 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %396, <2 x i64> noundef %400)
  store <2 x i64> %401, ptr %9, align 16, !tbaa !5
  br label %402

402:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %403 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %404 = bitcast <2 x i64> %403 to <16 x i8>
  %405 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %404, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %406 = bitcast <16 x i8> %405 to <2 x i64>
  %407 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %408 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %406, <2 x i64> noundef %407)
  store <2 x i64> %408, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %409 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %410 = bitcast <2 x i64> %409 to <16 x i8>
  %411 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %410, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %412 = bitcast <16 x i8> %411 to <2 x i64>
  %413 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %414 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %412, <2 x i64> noundef %413)
  store <2 x i64> %414, ptr %31, align 16, !tbaa !5
  %415 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %416 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %417 = bitcast <2 x i64> %416 to <4 x i32>
  %418 = shufflevector <4 x i32> %417, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %419 = bitcast <4 x i32> %418 to <2 x i64>
  %420 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %415, <2 x i64> noundef %419)
  store <2 x i64> %420, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #3
  br label %421

421:                                              ; preds = %402
  br label %422

422:                                              ; preds = %421
  %423 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %423, ptr %4, align 16, !tbaa !5
  %424 = load ptr, ptr %7, align 8, !tbaa !8
  %425 = getelementptr inbounds <2 x i64>, ptr %424, i32 1
  store ptr %425, ptr %7, align 8, !tbaa !8
  %426 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %424, <2 x i64> noundef %426)
  %427 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %428 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %427, i32 noundef 18)
  store <2 x i64> %428, ptr %10, align 16, !tbaa !5
  %429 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %429, ptr %9, align 16, !tbaa !5
  %430 = load ptr, ptr %5, align 8, !tbaa !8
  %431 = getelementptr inbounds <2 x i64>, ptr %430, i32 1
  store ptr %431, ptr %5, align 8, !tbaa !8
  %432 = load ptr, ptr %5, align 8, !tbaa !8
  %433 = call <2 x i64> @_mm_loadu_si128(ptr noundef %432)
  store <2 x i64> %433, ptr %8, align 16, !tbaa !5
  %434 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %435 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %436 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %435, i32 noundef 14)
  %437 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %438 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %436, <2 x i64> noundef %437)
  %439 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %434, <2 x i64> noundef %438)
  store <2 x i64> %439, ptr %9, align 16, !tbaa !5
  br label %440

440:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %441 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %442 = bitcast <2 x i64> %441 to <16 x i8>
  %443 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %442, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %444 = bitcast <16 x i8> %443 to <2 x i64>
  %445 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %446 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %444, <2 x i64> noundef %445)
  store <2 x i64> %446, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %447 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %448 = bitcast <2 x i64> %447 to <16 x i8>
  %449 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %448, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %450 = bitcast <16 x i8> %449 to <2 x i64>
  %451 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %452 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %450, <2 x i64> noundef %451)
  store <2 x i64> %452, ptr %33, align 16, !tbaa !5
  %453 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %454 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %455 = bitcast <2 x i64> %454 to <4 x i32>
  %456 = shufflevector <4 x i32> %455, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %457 = bitcast <4 x i32> %456 to <2 x i64>
  %458 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %453, <2 x i64> noundef %457)
  store <2 x i64> %458, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #3
  br label %459

459:                                              ; preds = %440
  br label %460

460:                                              ; preds = %459
  %461 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %461, ptr %4, align 16, !tbaa !5
  %462 = load ptr, ptr %7, align 8, !tbaa !8
  %463 = getelementptr inbounds <2 x i64>, ptr %462, i32 1
  store ptr %463, ptr %7, align 8, !tbaa !8
  %464 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %462, <2 x i64> noundef %464)
  %465 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %466 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %465, i32 noundef 7)
  store <2 x i64> %466, ptr %10, align 16, !tbaa !5
  %467 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %468 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %469 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %467, <2 x i64> noundef %468)
  store <2 x i64> %469, ptr %9, align 16, !tbaa !5
  br label %470

470:                                              ; preds = %460
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %471 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %472 = bitcast <2 x i64> %471 to <16 x i8>
  %473 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %472, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %474 = bitcast <16 x i8> %473 to <2 x i64>
  %475 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %476 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %474, <2 x i64> noundef %475)
  store <2 x i64> %476, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %477 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %478 = bitcast <2 x i64> %477 to <16 x i8>
  %479 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %478, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %480 = bitcast <16 x i8> %479 to <2 x i64>
  %481 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %482 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %480, <2 x i64> noundef %481)
  store <2 x i64> %482, ptr %35, align 16, !tbaa !5
  %483 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %484 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %485 = bitcast <2 x i64> %484 to <4 x i32>
  %486 = shufflevector <4 x i32> %485, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %487 = bitcast <4 x i32> %486 to <2 x i64>
  %488 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %483, <2 x i64> noundef %487)
  store <2 x i64> %488, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #3
  br label %489

489:                                              ; preds = %470
  br label %490

490:                                              ; preds = %489
  %491 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %491, ptr %4, align 16, !tbaa !5
  %492 = load ptr, ptr %7, align 8, !tbaa !8
  %493 = getelementptr inbounds <2 x i64>, ptr %492, i32 1
  store ptr %493, ptr %7, align 8, !tbaa !8
  %494 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %492, <2 x i64> noundef %494)
  %495 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %496 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %495, i32 noundef 28)
  store <2 x i64> %496, ptr %10, align 16, !tbaa !5
  %497 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %497, ptr %9, align 16, !tbaa !5
  %498 = load ptr, ptr %5, align 8, !tbaa !8
  %499 = getelementptr inbounds <2 x i64>, ptr %498, i32 1
  store ptr %499, ptr %5, align 8, !tbaa !8
  %500 = load ptr, ptr %5, align 8, !tbaa !8
  %501 = call <2 x i64> @_mm_loadu_si128(ptr noundef %500)
  store <2 x i64> %501, ptr %8, align 16, !tbaa !5
  %502 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %503 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %504 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %503, i32 noundef 4)
  %505 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %506 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %504, <2 x i64> noundef %505)
  %507 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %502, <2 x i64> noundef %506)
  store <2 x i64> %507, ptr %9, align 16, !tbaa !5
  br label %508

508:                                              ; preds = %490
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %509 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %510 = bitcast <2 x i64> %509 to <16 x i8>
  %511 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %510, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %512 = bitcast <16 x i8> %511 to <2 x i64>
  %513 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %514 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %512, <2 x i64> noundef %513)
  store <2 x i64> %514, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %515 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %516 = bitcast <2 x i64> %515 to <16 x i8>
  %517 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %516, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %518 = bitcast <16 x i8> %517 to <2 x i64>
  %519 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %520 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %518, <2 x i64> noundef %519)
  store <2 x i64> %520, ptr %37, align 16, !tbaa !5
  %521 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %522 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %523 = bitcast <2 x i64> %522 to <4 x i32>
  %524 = shufflevector <4 x i32> %523, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %525 = bitcast <4 x i32> %524 to <2 x i64>
  %526 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %521, <2 x i64> noundef %525)
  store <2 x i64> %526, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #3
  br label %527

527:                                              ; preds = %508
  br label %528

528:                                              ; preds = %527
  %529 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %529, ptr %4, align 16, !tbaa !5
  %530 = load ptr, ptr %7, align 8, !tbaa !8
  %531 = getelementptr inbounds <2 x i64>, ptr %530, i32 1
  store ptr %531, ptr %7, align 8, !tbaa !8
  %532 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %530, <2 x i64> noundef %532)
  %533 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %534 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %533, i32 noundef 17)
  store <2 x i64> %534, ptr %10, align 16, !tbaa !5
  %535 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %535, ptr %9, align 16, !tbaa !5
  %536 = load ptr, ptr %5, align 8, !tbaa !8
  %537 = getelementptr inbounds <2 x i64>, ptr %536, i32 1
  store ptr %537, ptr %5, align 8, !tbaa !8
  %538 = load ptr, ptr %5, align 8, !tbaa !8
  %539 = call <2 x i64> @_mm_loadu_si128(ptr noundef %538)
  store <2 x i64> %539, ptr %8, align 16, !tbaa !5
  %540 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %541 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %542 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %541, i32 noundef 15)
  %543 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %544 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %542, <2 x i64> noundef %543)
  %545 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %540, <2 x i64> noundef %544)
  store <2 x i64> %545, ptr %9, align 16, !tbaa !5
  br label %546

546:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %547 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %548 = bitcast <2 x i64> %547 to <16 x i8>
  %549 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %548, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %550 = bitcast <16 x i8> %549 to <2 x i64>
  %551 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %552 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %550, <2 x i64> noundef %551)
  store <2 x i64> %552, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %553 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %554 = bitcast <2 x i64> %553 to <16 x i8>
  %555 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %554, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %556 = bitcast <16 x i8> %555 to <2 x i64>
  %557 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %558 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %556, <2 x i64> noundef %557)
  store <2 x i64> %558, ptr %39, align 16, !tbaa !5
  %559 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %560 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %561 = bitcast <2 x i64> %560 to <4 x i32>
  %562 = shufflevector <4 x i32> %561, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %563 = bitcast <4 x i32> %562 to <2 x i64>
  %564 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %559, <2 x i64> noundef %563)
  store <2 x i64> %564, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #3
  br label %565

565:                                              ; preds = %546
  br label %566

566:                                              ; preds = %565
  %567 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %567, ptr %4, align 16, !tbaa !5
  %568 = load ptr, ptr %7, align 8, !tbaa !8
  %569 = getelementptr inbounds <2 x i64>, ptr %568, i32 1
  store ptr %569, ptr %7, align 8, !tbaa !8
  %570 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %568, <2 x i64> noundef %570)
  %571 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %572 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %571, i32 noundef 6)
  store <2 x i64> %572, ptr %10, align 16, !tbaa !5
  %573 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %574 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %575 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %573, <2 x i64> noundef %574)
  store <2 x i64> %575, ptr %9, align 16, !tbaa !5
  br label %576

576:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %577 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %578 = bitcast <2 x i64> %577 to <16 x i8>
  %579 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %578, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %580 = bitcast <16 x i8> %579 to <2 x i64>
  %581 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %582 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %580, <2 x i64> noundef %581)
  store <2 x i64> %582, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %583 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %584 = bitcast <2 x i64> %583 to <16 x i8>
  %585 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %584, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %586 = bitcast <16 x i8> %585 to <2 x i64>
  %587 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %588 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %586, <2 x i64> noundef %587)
  store <2 x i64> %588, ptr %41, align 16, !tbaa !5
  %589 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %590 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %591 = bitcast <2 x i64> %590 to <4 x i32>
  %592 = shufflevector <4 x i32> %591, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %593 = bitcast <4 x i32> %592 to <2 x i64>
  %594 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %589, <2 x i64> noundef %593)
  store <2 x i64> %594, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #3
  br label %595

595:                                              ; preds = %576
  br label %596

596:                                              ; preds = %595
  %597 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %597, ptr %4, align 16, !tbaa !5
  %598 = load ptr, ptr %7, align 8, !tbaa !8
  %599 = getelementptr inbounds <2 x i64>, ptr %598, i32 1
  store ptr %599, ptr %7, align 8, !tbaa !8
  %600 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %598, <2 x i64> noundef %600)
  %601 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %602 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %601, i32 noundef 27)
  store <2 x i64> %602, ptr %10, align 16, !tbaa !5
  %603 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %603, ptr %9, align 16, !tbaa !5
  %604 = load ptr, ptr %5, align 8, !tbaa !8
  %605 = getelementptr inbounds <2 x i64>, ptr %604, i32 1
  store ptr %605, ptr %5, align 8, !tbaa !8
  %606 = load ptr, ptr %5, align 8, !tbaa !8
  %607 = call <2 x i64> @_mm_loadu_si128(ptr noundef %606)
  store <2 x i64> %607, ptr %8, align 16, !tbaa !5
  %608 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %609 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %610 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %609, i32 noundef 5)
  %611 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %612 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %610, <2 x i64> noundef %611)
  %613 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %608, <2 x i64> noundef %612)
  store <2 x i64> %613, ptr %9, align 16, !tbaa !5
  br label %614

614:                                              ; preds = %596
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %615 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %616 = bitcast <2 x i64> %615 to <16 x i8>
  %617 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %616, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %618 = bitcast <16 x i8> %617 to <2 x i64>
  %619 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %620 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %618, <2 x i64> noundef %619)
  store <2 x i64> %620, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %621 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %622 = bitcast <2 x i64> %621 to <16 x i8>
  %623 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %622, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %624 = bitcast <16 x i8> %623 to <2 x i64>
  %625 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %626 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %624, <2 x i64> noundef %625)
  store <2 x i64> %626, ptr %43, align 16, !tbaa !5
  %627 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %628 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %629 = bitcast <2 x i64> %628 to <4 x i32>
  %630 = shufflevector <4 x i32> %629, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %631 = bitcast <4 x i32> %630 to <2 x i64>
  %632 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %627, <2 x i64> noundef %631)
  store <2 x i64> %632, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #3
  br label %633

633:                                              ; preds = %614
  br label %634

634:                                              ; preds = %633
  %635 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %635, ptr %4, align 16, !tbaa !5
  %636 = load ptr, ptr %7, align 8, !tbaa !8
  %637 = getelementptr inbounds <2 x i64>, ptr %636, i32 1
  store ptr %637, ptr %7, align 8, !tbaa !8
  %638 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %636, <2 x i64> noundef %638)
  %639 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %640 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %639, i32 noundef 16)
  store <2 x i64> %640, ptr %10, align 16, !tbaa !5
  %641 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %641, ptr %9, align 16, !tbaa !5
  %642 = load ptr, ptr %5, align 8, !tbaa !8
  %643 = getelementptr inbounds <2 x i64>, ptr %642, i32 1
  store ptr %643, ptr %5, align 8, !tbaa !8
  %644 = load ptr, ptr %5, align 8, !tbaa !8
  %645 = call <2 x i64> @_mm_loadu_si128(ptr noundef %644)
  store <2 x i64> %645, ptr %8, align 16, !tbaa !5
  %646 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %647 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %648 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %647, i32 noundef 16)
  %649 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %650 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %648, <2 x i64> noundef %649)
  %651 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %646, <2 x i64> noundef %650)
  store <2 x i64> %651, ptr %9, align 16, !tbaa !5
  br label %652

652:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %653 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %654 = bitcast <2 x i64> %653 to <16 x i8>
  %655 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %654, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %656 = bitcast <16 x i8> %655 to <2 x i64>
  %657 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %658 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %656, <2 x i64> noundef %657)
  store <2 x i64> %658, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %659 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %660 = bitcast <2 x i64> %659 to <16 x i8>
  %661 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %660, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %662 = bitcast <16 x i8> %661 to <2 x i64>
  %663 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %664 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %662, <2 x i64> noundef %663)
  store <2 x i64> %664, ptr %45, align 16, !tbaa !5
  %665 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %666 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %667 = bitcast <2 x i64> %666 to <4 x i32>
  %668 = shufflevector <4 x i32> %667, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %669 = bitcast <4 x i32> %668 to <2 x i64>
  %670 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %665, <2 x i64> noundef %669)
  store <2 x i64> %670, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #3
  br label %671

671:                                              ; preds = %652
  br label %672

672:                                              ; preds = %671
  %673 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %673, ptr %4, align 16, !tbaa !5
  %674 = load ptr, ptr %7, align 8, !tbaa !8
  %675 = getelementptr inbounds <2 x i64>, ptr %674, i32 1
  store ptr %675, ptr %7, align 8, !tbaa !8
  %676 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %674, <2 x i64> noundef %676)
  %677 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %678 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %677, i32 noundef 5)
  store <2 x i64> %678, ptr %10, align 16, !tbaa !5
  %679 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %680 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %681 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %679, <2 x i64> noundef %680)
  store <2 x i64> %681, ptr %9, align 16, !tbaa !5
  br label %682

682:                                              ; preds = %672
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %683 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %684 = bitcast <2 x i64> %683 to <16 x i8>
  %685 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %684, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %686 = bitcast <16 x i8> %685 to <2 x i64>
  %687 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %688 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %686, <2 x i64> noundef %687)
  store <2 x i64> %688, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %689 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %690 = bitcast <2 x i64> %689 to <16 x i8>
  %691 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %690, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %692 = bitcast <16 x i8> %691 to <2 x i64>
  %693 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %694 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %692, <2 x i64> noundef %693)
  store <2 x i64> %694, ptr %47, align 16, !tbaa !5
  %695 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %696 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %697 = bitcast <2 x i64> %696 to <4 x i32>
  %698 = shufflevector <4 x i32> %697, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %699 = bitcast <4 x i32> %698 to <2 x i64>
  %700 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %695, <2 x i64> noundef %699)
  store <2 x i64> %700, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #3
  br label %701

701:                                              ; preds = %682
  br label %702

702:                                              ; preds = %701
  %703 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %703, ptr %4, align 16, !tbaa !5
  %704 = load ptr, ptr %7, align 8, !tbaa !8
  %705 = getelementptr inbounds <2 x i64>, ptr %704, i32 1
  store ptr %705, ptr %7, align 8, !tbaa !8
  %706 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %704, <2 x i64> noundef %706)
  %707 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %708 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %707, i32 noundef 26)
  store <2 x i64> %708, ptr %10, align 16, !tbaa !5
  %709 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %709, ptr %9, align 16, !tbaa !5
  %710 = load ptr, ptr %5, align 8, !tbaa !8
  %711 = getelementptr inbounds <2 x i64>, ptr %710, i32 1
  store ptr %711, ptr %5, align 8, !tbaa !8
  %712 = load ptr, ptr %5, align 8, !tbaa !8
  %713 = call <2 x i64> @_mm_loadu_si128(ptr noundef %712)
  store <2 x i64> %713, ptr %8, align 16, !tbaa !5
  %714 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %715 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %716 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %715, i32 noundef 6)
  %717 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %718 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %716, <2 x i64> noundef %717)
  %719 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %714, <2 x i64> noundef %718)
  store <2 x i64> %719, ptr %9, align 16, !tbaa !5
  br label %720

720:                                              ; preds = %702
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %721 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %722 = bitcast <2 x i64> %721 to <16 x i8>
  %723 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %722, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %724 = bitcast <16 x i8> %723 to <2 x i64>
  %725 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %726 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %724, <2 x i64> noundef %725)
  store <2 x i64> %726, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %727 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %728 = bitcast <2 x i64> %727 to <16 x i8>
  %729 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %728, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %730 = bitcast <16 x i8> %729 to <2 x i64>
  %731 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %732 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %730, <2 x i64> noundef %731)
  store <2 x i64> %732, ptr %49, align 16, !tbaa !5
  %733 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %734 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %735 = bitcast <2 x i64> %734 to <4 x i32>
  %736 = shufflevector <4 x i32> %735, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %737 = bitcast <4 x i32> %736 to <2 x i64>
  %738 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %733, <2 x i64> noundef %737)
  store <2 x i64> %738, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #3
  br label %739

739:                                              ; preds = %720
  br label %740

740:                                              ; preds = %739
  %741 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %741, ptr %4, align 16, !tbaa !5
  %742 = load ptr, ptr %7, align 8, !tbaa !8
  %743 = getelementptr inbounds <2 x i64>, ptr %742, i32 1
  store ptr %743, ptr %7, align 8, !tbaa !8
  %744 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %742, <2 x i64> noundef %744)
  %745 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %746 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %745, i32 noundef 15)
  store <2 x i64> %746, ptr %10, align 16, !tbaa !5
  %747 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %747, ptr %9, align 16, !tbaa !5
  %748 = load ptr, ptr %5, align 8, !tbaa !8
  %749 = getelementptr inbounds <2 x i64>, ptr %748, i32 1
  store ptr %749, ptr %5, align 8, !tbaa !8
  %750 = load ptr, ptr %5, align 8, !tbaa !8
  %751 = call <2 x i64> @_mm_loadu_si128(ptr noundef %750)
  store <2 x i64> %751, ptr %8, align 16, !tbaa !5
  %752 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %753 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %754 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %753, i32 noundef 17)
  %755 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %756 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %754, <2 x i64> noundef %755)
  %757 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %752, <2 x i64> noundef %756)
  store <2 x i64> %757, ptr %9, align 16, !tbaa !5
  br label %758

758:                                              ; preds = %740
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %759 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %760 = bitcast <2 x i64> %759 to <16 x i8>
  %761 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %760, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %762 = bitcast <16 x i8> %761 to <2 x i64>
  %763 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %764 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %762, <2 x i64> noundef %763)
  store <2 x i64> %764, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %765 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %766 = bitcast <2 x i64> %765 to <16 x i8>
  %767 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %766, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %768 = bitcast <16 x i8> %767 to <2 x i64>
  %769 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %770 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %768, <2 x i64> noundef %769)
  store <2 x i64> %770, ptr %51, align 16, !tbaa !5
  %771 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %772 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %773 = bitcast <2 x i64> %772 to <4 x i32>
  %774 = shufflevector <4 x i32> %773, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %775 = bitcast <4 x i32> %774 to <2 x i64>
  %776 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %771, <2 x i64> noundef %775)
  store <2 x i64> %776, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #3
  br label %777

777:                                              ; preds = %758
  br label %778

778:                                              ; preds = %777
  %779 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %779, ptr %4, align 16, !tbaa !5
  %780 = load ptr, ptr %7, align 8, !tbaa !8
  %781 = getelementptr inbounds <2 x i64>, ptr %780, i32 1
  store ptr %781, ptr %7, align 8, !tbaa !8
  %782 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %780, <2 x i64> noundef %782)
  %783 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %784 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %783, i32 noundef 4)
  store <2 x i64> %784, ptr %10, align 16, !tbaa !5
  %785 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %786 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %787 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %785, <2 x i64> noundef %786)
  store <2 x i64> %787, ptr %9, align 16, !tbaa !5
  br label %788

788:                                              ; preds = %778
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %789 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %790 = bitcast <2 x i64> %789 to <16 x i8>
  %791 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %790, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %792 = bitcast <16 x i8> %791 to <2 x i64>
  %793 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %794 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %792, <2 x i64> noundef %793)
  store <2 x i64> %794, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %795 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %796 = bitcast <2 x i64> %795 to <16 x i8>
  %797 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %796, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %798 = bitcast <16 x i8> %797 to <2 x i64>
  %799 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %800 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %798, <2 x i64> noundef %799)
  store <2 x i64> %800, ptr %53, align 16, !tbaa !5
  %801 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %802 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %803 = bitcast <2 x i64> %802 to <4 x i32>
  %804 = shufflevector <4 x i32> %803, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %805 = bitcast <4 x i32> %804 to <2 x i64>
  %806 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %801, <2 x i64> noundef %805)
  store <2 x i64> %806, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #3
  br label %807

807:                                              ; preds = %788
  br label %808

808:                                              ; preds = %807
  %809 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %809, ptr %4, align 16, !tbaa !5
  %810 = load ptr, ptr %7, align 8, !tbaa !8
  %811 = getelementptr inbounds <2 x i64>, ptr %810, i32 1
  store ptr %811, ptr %7, align 8, !tbaa !8
  %812 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %810, <2 x i64> noundef %812)
  %813 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %814 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %813, i32 noundef 25)
  store <2 x i64> %814, ptr %10, align 16, !tbaa !5
  %815 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %815, ptr %9, align 16, !tbaa !5
  %816 = load ptr, ptr %5, align 8, !tbaa !8
  %817 = getelementptr inbounds <2 x i64>, ptr %816, i32 1
  store ptr %817, ptr %5, align 8, !tbaa !8
  %818 = load ptr, ptr %5, align 8, !tbaa !8
  %819 = call <2 x i64> @_mm_loadu_si128(ptr noundef %818)
  store <2 x i64> %819, ptr %8, align 16, !tbaa !5
  %820 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %821 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %822 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %821, i32 noundef 7)
  %823 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %824 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %822, <2 x i64> noundef %823)
  %825 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %820, <2 x i64> noundef %824)
  store <2 x i64> %825, ptr %9, align 16, !tbaa !5
  br label %826

826:                                              ; preds = %808
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %827 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %828 = bitcast <2 x i64> %827 to <16 x i8>
  %829 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %828, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %830 = bitcast <16 x i8> %829 to <2 x i64>
  %831 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %832 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %830, <2 x i64> noundef %831)
  store <2 x i64> %832, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %833 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %834 = bitcast <2 x i64> %833 to <16 x i8>
  %835 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %834, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %836 = bitcast <16 x i8> %835 to <2 x i64>
  %837 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %838 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %836, <2 x i64> noundef %837)
  store <2 x i64> %838, ptr %55, align 16, !tbaa !5
  %839 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %840 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %841 = bitcast <2 x i64> %840 to <4 x i32>
  %842 = shufflevector <4 x i32> %841, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %843 = bitcast <4 x i32> %842 to <2 x i64>
  %844 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %839, <2 x i64> noundef %843)
  store <2 x i64> %844, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #3
  br label %845

845:                                              ; preds = %826
  br label %846

846:                                              ; preds = %845
  %847 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %847, ptr %4, align 16, !tbaa !5
  %848 = load ptr, ptr %7, align 8, !tbaa !8
  %849 = getelementptr inbounds <2 x i64>, ptr %848, i32 1
  store ptr %849, ptr %7, align 8, !tbaa !8
  %850 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %848, <2 x i64> noundef %850)
  %851 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %852 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %851, i32 noundef 14)
  store <2 x i64> %852, ptr %10, align 16, !tbaa !5
  %853 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %853, ptr %9, align 16, !tbaa !5
  %854 = load ptr, ptr %5, align 8, !tbaa !8
  %855 = getelementptr inbounds <2 x i64>, ptr %854, i32 1
  store ptr %855, ptr %5, align 8, !tbaa !8
  %856 = load ptr, ptr %5, align 8, !tbaa !8
  %857 = call <2 x i64> @_mm_loadu_si128(ptr noundef %856)
  store <2 x i64> %857, ptr %8, align 16, !tbaa !5
  %858 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %859 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %860 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %859, i32 noundef 18)
  %861 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %862 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %860, <2 x i64> noundef %861)
  %863 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %858, <2 x i64> noundef %862)
  store <2 x i64> %863, ptr %9, align 16, !tbaa !5
  br label %864

864:                                              ; preds = %846
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %865 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %866 = bitcast <2 x i64> %865 to <16 x i8>
  %867 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %866, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %868 = bitcast <16 x i8> %867 to <2 x i64>
  %869 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %870 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %868, <2 x i64> noundef %869)
  store <2 x i64> %870, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %871 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %872 = bitcast <2 x i64> %871 to <16 x i8>
  %873 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %872, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %874 = bitcast <16 x i8> %873 to <2 x i64>
  %875 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %876 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %874, <2 x i64> noundef %875)
  store <2 x i64> %876, ptr %57, align 16, !tbaa !5
  %877 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %878 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %879 = bitcast <2 x i64> %878 to <4 x i32>
  %880 = shufflevector <4 x i32> %879, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %881 = bitcast <4 x i32> %880 to <2 x i64>
  %882 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %877, <2 x i64> noundef %881)
  store <2 x i64> %882, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #3
  br label %883

883:                                              ; preds = %864
  br label %884

884:                                              ; preds = %883
  %885 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %885, ptr %4, align 16, !tbaa !5
  %886 = load ptr, ptr %7, align 8, !tbaa !8
  %887 = getelementptr inbounds <2 x i64>, ptr %886, i32 1
  store ptr %887, ptr %7, align 8, !tbaa !8
  %888 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %886, <2 x i64> noundef %888)
  %889 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %890 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %889, i32 noundef 3)
  store <2 x i64> %890, ptr %10, align 16, !tbaa !5
  %891 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %892 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %893 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %891, <2 x i64> noundef %892)
  store <2 x i64> %893, ptr %9, align 16, !tbaa !5
  br label %894

894:                                              ; preds = %884
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %895 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %896 = bitcast <2 x i64> %895 to <16 x i8>
  %897 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %896, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %898 = bitcast <16 x i8> %897 to <2 x i64>
  %899 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %900 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %898, <2 x i64> noundef %899)
  store <2 x i64> %900, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %901 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %902 = bitcast <2 x i64> %901 to <16 x i8>
  %903 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %902, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %904 = bitcast <16 x i8> %903 to <2 x i64>
  %905 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %906 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %904, <2 x i64> noundef %905)
  store <2 x i64> %906, ptr %59, align 16, !tbaa !5
  %907 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %908 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %909 = bitcast <2 x i64> %908 to <4 x i32>
  %910 = shufflevector <4 x i32> %909, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %911 = bitcast <4 x i32> %910 to <2 x i64>
  %912 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %907, <2 x i64> noundef %911)
  store <2 x i64> %912, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #3
  br label %913

913:                                              ; preds = %894
  br label %914

914:                                              ; preds = %913
  %915 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %915, ptr %4, align 16, !tbaa !5
  %916 = load ptr, ptr %7, align 8, !tbaa !8
  %917 = getelementptr inbounds <2 x i64>, ptr %916, i32 1
  store ptr %917, ptr %7, align 8, !tbaa !8
  %918 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %916, <2 x i64> noundef %918)
  %919 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %920 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %919, i32 noundef 24)
  store <2 x i64> %920, ptr %10, align 16, !tbaa !5
  %921 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %921, ptr %9, align 16, !tbaa !5
  %922 = load ptr, ptr %5, align 8, !tbaa !8
  %923 = getelementptr inbounds <2 x i64>, ptr %922, i32 1
  store ptr %923, ptr %5, align 8, !tbaa !8
  %924 = load ptr, ptr %5, align 8, !tbaa !8
  %925 = call <2 x i64> @_mm_loadu_si128(ptr noundef %924)
  store <2 x i64> %925, ptr %8, align 16, !tbaa !5
  %926 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %927 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %928 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %927, i32 noundef 8)
  %929 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %930 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %928, <2 x i64> noundef %929)
  %931 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %926, <2 x i64> noundef %930)
  store <2 x i64> %931, ptr %9, align 16, !tbaa !5
  br label %932

932:                                              ; preds = %914
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %933 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %934 = bitcast <2 x i64> %933 to <16 x i8>
  %935 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %934, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %936 = bitcast <16 x i8> %935 to <2 x i64>
  %937 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %938 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %936, <2 x i64> noundef %937)
  store <2 x i64> %938, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %939 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %940 = bitcast <2 x i64> %939 to <16 x i8>
  %941 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %940, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %942 = bitcast <16 x i8> %941 to <2 x i64>
  %943 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %944 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %942, <2 x i64> noundef %943)
  store <2 x i64> %944, ptr %61, align 16, !tbaa !5
  %945 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %946 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %947 = bitcast <2 x i64> %946 to <4 x i32>
  %948 = shufflevector <4 x i32> %947, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %949 = bitcast <4 x i32> %948 to <2 x i64>
  %950 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %945, <2 x i64> noundef %949)
  store <2 x i64> %950, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #3
  br label %951

951:                                              ; preds = %932
  br label %952

952:                                              ; preds = %951
  %953 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %953, ptr %4, align 16, !tbaa !5
  %954 = load ptr, ptr %7, align 8, !tbaa !8
  %955 = getelementptr inbounds <2 x i64>, ptr %954, i32 1
  store ptr %955, ptr %7, align 8, !tbaa !8
  %956 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %954, <2 x i64> noundef %956)
  %957 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %958 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %957, i32 noundef 13)
  store <2 x i64> %958, ptr %10, align 16, !tbaa !5
  %959 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %959, ptr %9, align 16, !tbaa !5
  %960 = load ptr, ptr %5, align 8, !tbaa !8
  %961 = getelementptr inbounds <2 x i64>, ptr %960, i32 1
  store ptr %961, ptr %5, align 8, !tbaa !8
  %962 = load ptr, ptr %5, align 8, !tbaa !8
  %963 = call <2 x i64> @_mm_loadu_si128(ptr noundef %962)
  store <2 x i64> %963, ptr %8, align 16, !tbaa !5
  %964 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %965 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %966 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %965, i32 noundef 19)
  %967 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %968 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %966, <2 x i64> noundef %967)
  %969 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %964, <2 x i64> noundef %968)
  store <2 x i64> %969, ptr %9, align 16, !tbaa !5
  br label %970

970:                                              ; preds = %952
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %971 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %972 = bitcast <2 x i64> %971 to <16 x i8>
  %973 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %972, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %974 = bitcast <16 x i8> %973 to <2 x i64>
  %975 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %976 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %974, <2 x i64> noundef %975)
  store <2 x i64> %976, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %977 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %978 = bitcast <2 x i64> %977 to <16 x i8>
  %979 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %978, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %980 = bitcast <16 x i8> %979 to <2 x i64>
  %981 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %982 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %980, <2 x i64> noundef %981)
  store <2 x i64> %982, ptr %63, align 16, !tbaa !5
  %983 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %984 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %985 = bitcast <2 x i64> %984 to <4 x i32>
  %986 = shufflevector <4 x i32> %985, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %987 = bitcast <4 x i32> %986 to <2 x i64>
  %988 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %983, <2 x i64> noundef %987)
  store <2 x i64> %988, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #3
  br label %989

989:                                              ; preds = %970
  br label %990

990:                                              ; preds = %989
  %991 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %991, ptr %4, align 16, !tbaa !5
  %992 = load ptr, ptr %7, align 8, !tbaa !8
  %993 = getelementptr inbounds <2 x i64>, ptr %992, i32 1
  store ptr %993, ptr %7, align 8, !tbaa !8
  %994 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %992, <2 x i64> noundef %994)
  %995 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %996 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %995, i32 noundef 2)
  store <2 x i64> %996, ptr %10, align 16, !tbaa !5
  %997 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %998 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %999 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %997, <2 x i64> noundef %998)
  store <2 x i64> %999, ptr %9, align 16, !tbaa !5
  br label %1000

1000:                                             ; preds = %990
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %1001 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1002 = bitcast <2 x i64> %1001 to <16 x i8>
  %1003 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1002, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1004 = bitcast <16 x i8> %1003 to <2 x i64>
  %1005 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1006 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1004, <2 x i64> noundef %1005)
  store <2 x i64> %1006, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %1007 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %1008 = bitcast <2 x i64> %1007 to <16 x i8>
  %1009 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1008, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1010 = bitcast <16 x i8> %1009 to <2 x i64>
  %1011 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %1012 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1010, <2 x i64> noundef %1011)
  store <2 x i64> %1012, ptr %65, align 16, !tbaa !5
  %1013 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %1014 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1015 = bitcast <2 x i64> %1014 to <4 x i32>
  %1016 = shufflevector <4 x i32> %1015, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1017 = bitcast <4 x i32> %1016 to <2 x i64>
  %1018 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1013, <2 x i64> noundef %1017)
  store <2 x i64> %1018, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #3
  br label %1019

1019:                                             ; preds = %1000
  br label %1020

1020:                                             ; preds = %1019
  %1021 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1021, ptr %4, align 16, !tbaa !5
  %1022 = load ptr, ptr %7, align 8, !tbaa !8
  %1023 = getelementptr inbounds <2 x i64>, ptr %1022, i32 1
  store ptr %1023, ptr %7, align 8, !tbaa !8
  %1024 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1022, <2 x i64> noundef %1024)
  %1025 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1026 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1025, i32 noundef 23)
  store <2 x i64> %1026, ptr %10, align 16, !tbaa !5
  %1027 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1027, ptr %9, align 16, !tbaa !5
  %1028 = load ptr, ptr %5, align 8, !tbaa !8
  %1029 = getelementptr inbounds <2 x i64>, ptr %1028, i32 1
  store ptr %1029, ptr %5, align 8, !tbaa !8
  %1030 = load ptr, ptr %5, align 8, !tbaa !8
  %1031 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1030)
  store <2 x i64> %1031, ptr %8, align 16, !tbaa !5
  %1032 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1033 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1034 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1033, i32 noundef 9)
  %1035 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1036 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1034, <2 x i64> noundef %1035)
  %1037 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1032, <2 x i64> noundef %1036)
  store <2 x i64> %1037, ptr %9, align 16, !tbaa !5
  br label %1038

1038:                                             ; preds = %1020
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %1039 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1040 = bitcast <2 x i64> %1039 to <16 x i8>
  %1041 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1040, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1042 = bitcast <16 x i8> %1041 to <2 x i64>
  %1043 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1044 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1042, <2 x i64> noundef %1043)
  store <2 x i64> %1044, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %1045 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1046 = bitcast <2 x i64> %1045 to <16 x i8>
  %1047 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1046, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1048 = bitcast <16 x i8> %1047 to <2 x i64>
  %1049 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1050 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1048, <2 x i64> noundef %1049)
  store <2 x i64> %1050, ptr %67, align 16, !tbaa !5
  %1051 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %1052 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1053 = bitcast <2 x i64> %1052 to <4 x i32>
  %1054 = shufflevector <4 x i32> %1053, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1055 = bitcast <4 x i32> %1054 to <2 x i64>
  %1056 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1051, <2 x i64> noundef %1055)
  store <2 x i64> %1056, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #3
  br label %1057

1057:                                             ; preds = %1038
  br label %1058

1058:                                             ; preds = %1057
  %1059 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1059, ptr %4, align 16, !tbaa !5
  %1060 = load ptr, ptr %7, align 8, !tbaa !8
  %1061 = getelementptr inbounds <2 x i64>, ptr %1060, i32 1
  store ptr %1061, ptr %7, align 8, !tbaa !8
  %1062 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1060, <2 x i64> noundef %1062)
  %1063 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1064 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1063, i32 noundef 12)
  store <2 x i64> %1064, ptr %10, align 16, !tbaa !5
  %1065 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1065, ptr %9, align 16, !tbaa !5
  %1066 = load ptr, ptr %5, align 8, !tbaa !8
  %1067 = getelementptr inbounds <2 x i64>, ptr %1066, i32 1
  store ptr %1067, ptr %5, align 8, !tbaa !8
  %1068 = load ptr, ptr %5, align 8, !tbaa !8
  %1069 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1068)
  store <2 x i64> %1069, ptr %8, align 16, !tbaa !5
  %1070 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1071 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1072 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1071, i32 noundef 20)
  %1073 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1074 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1072, <2 x i64> noundef %1073)
  %1075 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1070, <2 x i64> noundef %1074)
  store <2 x i64> %1075, ptr %9, align 16, !tbaa !5
  br label %1076

1076:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %1077 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1078 = bitcast <2 x i64> %1077 to <16 x i8>
  %1079 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1078, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1080 = bitcast <16 x i8> %1079 to <2 x i64>
  %1081 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1082 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1080, <2 x i64> noundef %1081)
  store <2 x i64> %1082, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %1083 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1084 = bitcast <2 x i64> %1083 to <16 x i8>
  %1085 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1084, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1086 = bitcast <16 x i8> %1085 to <2 x i64>
  %1087 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1088 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1086, <2 x i64> noundef %1087)
  store <2 x i64> %1088, ptr %69, align 16, !tbaa !5
  %1089 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %1090 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1091 = bitcast <2 x i64> %1090 to <4 x i32>
  %1092 = shufflevector <4 x i32> %1091, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1093 = bitcast <4 x i32> %1092 to <2 x i64>
  %1094 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1089, <2 x i64> noundef %1093)
  store <2 x i64> %1094, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #3
  br label %1095

1095:                                             ; preds = %1076
  br label %1096

1096:                                             ; preds = %1095
  %1097 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1097, ptr %4, align 16, !tbaa !5
  %1098 = load ptr, ptr %7, align 8, !tbaa !8
  %1099 = getelementptr inbounds <2 x i64>, ptr %1098, i32 1
  store ptr %1099, ptr %7, align 8, !tbaa !8
  %1100 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1098, <2 x i64> noundef %1100)
  %1101 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1102 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1101, i32 noundef 1)
  store <2 x i64> %1102, ptr %10, align 16, !tbaa !5
  %1103 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1104 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1105 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1103, <2 x i64> noundef %1104)
  store <2 x i64> %1105, ptr %9, align 16, !tbaa !5
  br label %1106

1106:                                             ; preds = %1096
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1107 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1108 = bitcast <2 x i64> %1107 to <16 x i8>
  %1109 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1108, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1110 = bitcast <16 x i8> %1109 to <2 x i64>
  %1111 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1112 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1110, <2 x i64> noundef %1111)
  store <2 x i64> %1112, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1113 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1114 = bitcast <2 x i64> %1113 to <16 x i8>
  %1115 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1114, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1116 = bitcast <16 x i8> %1115 to <2 x i64>
  %1117 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1118 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1116, <2 x i64> noundef %1117)
  store <2 x i64> %1118, ptr %71, align 16, !tbaa !5
  %1119 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1120 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1121 = bitcast <2 x i64> %1120 to <4 x i32>
  %1122 = shufflevector <4 x i32> %1121, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1123 = bitcast <4 x i32> %1122 to <2 x i64>
  %1124 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1119, <2 x i64> noundef %1123)
  store <2 x i64> %1124, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #3
  br label %1125

1125:                                             ; preds = %1106
  br label %1126

1126:                                             ; preds = %1125
  %1127 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1127, ptr %4, align 16, !tbaa !5
  %1128 = load ptr, ptr %7, align 8, !tbaa !8
  %1129 = getelementptr inbounds <2 x i64>, ptr %1128, i32 1
  store ptr %1129, ptr %7, align 8, !tbaa !8
  %1130 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1128, <2 x i64> noundef %1130)
  %1131 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1132 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1131, i32 noundef 22)
  store <2 x i64> %1132, ptr %10, align 16, !tbaa !5
  %1133 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1133, ptr %9, align 16, !tbaa !5
  %1134 = load ptr, ptr %5, align 8, !tbaa !8
  %1135 = getelementptr inbounds <2 x i64>, ptr %1134, i32 1
  store ptr %1135, ptr %5, align 8, !tbaa !8
  %1136 = load ptr, ptr %5, align 8, !tbaa !8
  %1137 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1136)
  store <2 x i64> %1137, ptr %8, align 16, !tbaa !5
  %1138 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1139 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1140 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1139, i32 noundef 10)
  %1141 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1142 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1140, <2 x i64> noundef %1141)
  %1143 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1138, <2 x i64> noundef %1142)
  store <2 x i64> %1143, ptr %9, align 16, !tbaa !5
  br label %1144

1144:                                             ; preds = %1126
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1145 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1146 = bitcast <2 x i64> %1145 to <16 x i8>
  %1147 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1146, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1148 = bitcast <16 x i8> %1147 to <2 x i64>
  %1149 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1150 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1148, <2 x i64> noundef %1149)
  store <2 x i64> %1150, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1151 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1152 = bitcast <2 x i64> %1151 to <16 x i8>
  %1153 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1152, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1154 = bitcast <16 x i8> %1153 to <2 x i64>
  %1155 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1156 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1154, <2 x i64> noundef %1155)
  store <2 x i64> %1156, ptr %73, align 16, !tbaa !5
  %1157 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1158 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1159 = bitcast <2 x i64> %1158 to <4 x i32>
  %1160 = shufflevector <4 x i32> %1159, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1161 = bitcast <4 x i32> %1160 to <2 x i64>
  %1162 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1157, <2 x i64> noundef %1161)
  store <2 x i64> %1162, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #3
  br label %1163

1163:                                             ; preds = %1144
  br label %1164

1164:                                             ; preds = %1163
  %1165 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1165, ptr %4, align 16, !tbaa !5
  %1166 = load ptr, ptr %7, align 8, !tbaa !8
  %1167 = getelementptr inbounds <2 x i64>, ptr %1166, i32 1
  store ptr %1167, ptr %7, align 8, !tbaa !8
  %1168 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1166, <2 x i64> noundef %1168)
  %1169 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1170 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1169, i32 noundef 11)
  store <2 x i64> %1170, ptr %10, align 16, !tbaa !5
  %1171 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1171, ptr %9, align 16, !tbaa !5
  br label %1172

1172:                                             ; preds = %1164
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1173 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1174 = bitcast <2 x i64> %1173 to <16 x i8>
  %1175 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1174, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1176 = bitcast <16 x i8> %1175 to <2 x i64>
  %1177 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1178 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1176, <2 x i64> noundef %1177)
  store <2 x i64> %1178, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1179 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1180 = bitcast <2 x i64> %1179 to <16 x i8>
  %1181 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1180, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1182 = bitcast <16 x i8> %1181 to <2 x i64>
  %1183 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1184 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1182, <2 x i64> noundef %1183)
  store <2 x i64> %1184, ptr %75, align 16, !tbaa !5
  %1185 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1186 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1187 = bitcast <2 x i64> %1186 to <4 x i32>
  %1188 = shufflevector <4 x i32> %1187, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1189 = bitcast <4 x i32> %1188 to <2 x i64>
  %1190 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1185, <2 x i64> noundef %1189)
  store <2 x i64> %1190, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #3
  br label %1191

1191:                                             ; preds = %1172
  br label %1192

1192:                                             ; preds = %1191
  %1193 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1193, ptr %4, align 16, !tbaa !5
  %1194 = load ptr, ptr %7, align 8, !tbaa !8
  %1195 = getelementptr inbounds <2 x i64>, ptr %1194, i32 1
  store ptr %1195, ptr %7, align 8, !tbaa !8
  %1196 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1194, <2 x i64> noundef %1196)
  %1197 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #3
  ret <2 x i64> %1197
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { alwaysinline nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind uwtable "min-legal-vector-width"="128" "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 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !6, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: alwaysinline nounwind uwtable
declare hidden void @_mm_storeu_si128(ptr noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_loadu_si128(ptr noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_or_si128(<2 x i64> noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_slli_epi32(<2 x i64> noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_set1_epi32(i32 noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_and_si128(<2 x i64> noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_srli_epi32(<2 x i64> noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_add_epi32(<2 x i64> noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local noundef <2 x i64> @iunpack21(<2 x i64> noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #1 {
  %4 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef %1)
  %5 = tail call <2 x i64> @_mm_set1_epi32(i32 noundef 2097151)
  %6 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %4, <2 x i64> noundef %5)
  %7 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %6, <2 x i32> <i32 1, i32 2>
  %8 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %7, <2 x i64> noundef %6)
  %9 = bitcast <2 x i64> %8 to <16 x i8>
  %10 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %9, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %11 = bitcast <16 x i8> %10 to <2 x i64>
  %12 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %11, <2 x i64> noundef %8)
  %13 = bitcast <2 x i64> %0 to <4 x i32>
  %14 = shufflevector <4 x i32> %13, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %15 = bitcast <4 x i32> %14 to <2 x i64>
  %16 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %12, <2 x i64> noundef %15)
  %17 = getelementptr inbounds i8, ptr %2, i64 16
  tail call void @_mm_storeu_si128(ptr noundef %2, <2 x i64> noundef %16)
  %18 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 21)
  %19 = getelementptr inbounds i8, ptr %1, i64 16
  %20 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %19)
  %21 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %20, i32 noundef 11)
  %22 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %21, <2 x i64> noundef %5)
  %23 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %18, <2 x i64> noundef %22)
  %24 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %23, <2 x i32> <i32 1, i32 2>
  %25 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %24, <2 x i64> noundef %23)
  %26 = bitcast <2 x i64> %25 to <16 x i8>
  %27 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %26, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %28 = bitcast <16 x i8> %27 to <2 x i64>
  %29 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %28, <2 x i64> noundef %25)
  %30 = bitcast <2 x i64> %16 to <4 x i32>
  %31 = shufflevector <4 x i32> %30, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %32 = bitcast <4 x i32> %31 to <2 x i64>
  %33 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %29, <2 x i64> noundef %32)
  %34 = getelementptr inbounds i8, ptr %2, i64 32
  tail call void @_mm_storeu_si128(ptr noundef nonnull %17, <2 x i64> noundef %33)
  %35 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %20, i32 noundef 10)
  %36 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %35, <2 x i64> noundef %5)
  %37 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %36, <2 x i32> <i32 1, i32 2>
  %38 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %37, <2 x i64> noundef %36)
  %39 = bitcast <2 x i64> %38 to <16 x i8>
  %40 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %39, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %41 = bitcast <16 x i8> %40 to <2 x i64>
  %42 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %41, <2 x i64> noundef %38)
  %43 = bitcast <2 x i64> %33 to <4 x i32>
  %44 = shufflevector <4 x i32> %43, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %45 = bitcast <4 x i32> %44 to <2 x i64>
  %46 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %42, <2 x i64> noundef %45)
  %47 = getelementptr inbounds i8, ptr %2, i64 48
  tail call void @_mm_storeu_si128(ptr noundef nonnull %34, <2 x i64> noundef %46)
  %48 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %20, i32 noundef 31)
  %49 = getelementptr inbounds i8, ptr %1, i64 32
  %50 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %49)
  %51 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %50, i32 noundef 1)
  %52 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %51, <2 x i64> noundef %5)
  %53 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %48, <2 x i64> noundef %52)
  %54 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %53, <2 x i32> <i32 1, i32 2>
  %55 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %54, <2 x i64> noundef %53)
  %56 = bitcast <2 x i64> %55 to <16 x i8>
  %57 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %56, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %58 = bitcast <16 x i8> %57 to <2 x i64>
  %59 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %58, <2 x i64> noundef %55)
  %60 = bitcast <2 x i64> %46 to <4 x i32>
  %61 = shufflevector <4 x i32> %60, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %62 = bitcast <4 x i32> %61 to <2 x i64>
  %63 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %59, <2 x i64> noundef %62)
  %64 = getelementptr inbounds i8, ptr %2, i64 64
  tail call void @_mm_storeu_si128(ptr noundef nonnull %47, <2 x i64> noundef %63)
  %65 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %50, i32 noundef 20)
  %66 = getelementptr inbounds i8, ptr %1, i64 48
  %67 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %66)
  %68 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %67, i32 noundef 12)
  %69 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %68, <2 x i64> noundef %5)
  %70 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %65, <2 x i64> noundef %69)
  %71 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %70, <2 x i32> <i32 1, i32 2>
  %72 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %71, <2 x i64> noundef %70)
  %73 = bitcast <2 x i64> %72 to <16 x i8>
  %74 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %73, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %75 = bitcast <16 x i8> %74 to <2 x i64>
  %76 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %75, <2 x i64> noundef %72)
  %77 = bitcast <2 x i64> %63 to <4 x i32>
  %78 = shufflevector <4 x i32> %77, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %79 = bitcast <4 x i32> %78 to <2 x i64>
  %80 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %76, <2 x i64> noundef %79)
  %81 = getelementptr inbounds i8, ptr %2, i64 80
  tail call void @_mm_storeu_si128(ptr noundef nonnull %64, <2 x i64> noundef %80)
  %82 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %67, i32 noundef 9)
  %83 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %82, <2 x i64> noundef %5)
  %84 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %83, <2 x i32> <i32 1, i32 2>
  %85 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %84, <2 x i64> noundef %83)
  %86 = bitcast <2 x i64> %85 to <16 x i8>
  %87 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %86, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %88 = bitcast <16 x i8> %87 to <2 x i64>
  %89 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %88, <2 x i64> noundef %85)
  %90 = bitcast <2 x i64> %80 to <4 x i32>
  %91 = shufflevector <4 x i32> %90, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %92 = bitcast <4 x i32> %91 to <2 x i64>
  %93 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %89, <2 x i64> noundef %92)
  %94 = getelementptr inbounds i8, ptr %2, i64 96
  tail call void @_mm_storeu_si128(ptr noundef nonnull %81, <2 x i64> noundef %93)
  %95 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %67, i32 noundef 30)
  %96 = getelementptr inbounds i8, ptr %1, i64 64
  %97 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %96)
  %98 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %97, i32 noundef 2)
  %99 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %98, <2 x i64> noundef %5)
  %100 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %95, <2 x i64> noundef %99)
  %101 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %100, <2 x i32> <i32 1, i32 2>
  %102 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %101, <2 x i64> noundef %100)
  %103 = bitcast <2 x i64> %102 to <16 x i8>
  %104 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %103, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %105 = bitcast <16 x i8> %104 to <2 x i64>
  %106 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %105, <2 x i64> noundef %102)
  %107 = bitcast <2 x i64> %93 to <4 x i32>
  %108 = shufflevector <4 x i32> %107, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %109 = bitcast <4 x i32> %108 to <2 x i64>
  %110 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %106, <2 x i64> noundef %109)
  %111 = getelementptr inbounds i8, ptr %2, i64 112
  tail call void @_mm_storeu_si128(ptr noundef nonnull %94, <2 x i64> noundef %110)
  %112 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %97, i32 noundef 19)
  %113 = getelementptr inbounds i8, ptr %1, i64 80
  %114 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %113)
  %115 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %114, i32 noundef 13)
  %116 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %115, <2 x i64> noundef %5)
  %117 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %112, <2 x i64> noundef %116)
  %118 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %117, <2 x i32> <i32 1, i32 2>
  %119 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %118, <2 x i64> noundef %117)
  %120 = bitcast <2 x i64> %119 to <16 x i8>
  %121 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %120, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %122 = bitcast <16 x i8> %121 to <2 x i64>
  %123 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %122, <2 x i64> noundef %119)
  %124 = bitcast <2 x i64> %110 to <4 x i32>
  %125 = shufflevector <4 x i32> %124, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %126 = bitcast <4 x i32> %125 to <2 x i64>
  %127 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %123, <2 x i64> noundef %126)
  %128 = getelementptr inbounds i8, ptr %2, i64 128
  tail call void @_mm_storeu_si128(ptr noundef nonnull %111, <2 x i64> noundef %127)
  %129 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %114, i32 noundef 8)
  %130 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %129, <2 x i64> noundef %5)
  %131 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %130, <2 x i32> <i32 1, i32 2>
  %132 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %131, <2 x i64> noundef %130)
  %133 = bitcast <2 x i64> %132 to <16 x i8>
  %134 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %133, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %135 = bitcast <16 x i8> %134 to <2 x i64>
  %136 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %135, <2 x i64> noundef %132)
  %137 = bitcast <2 x i64> %127 to <4 x i32>
  %138 = shufflevector <4 x i32> %137, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %139 = bitcast <4 x i32> %138 to <2 x i64>
  %140 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %136, <2 x i64> noundef %139)
  %141 = getelementptr inbounds i8, ptr %2, i64 144
  tail call void @_mm_storeu_si128(ptr noundef nonnull %128, <2 x i64> noundef %140)
  %142 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %114, i32 noundef 29)
  %143 = getelementptr inbounds i8, ptr %1, i64 96
  %144 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %143)
  %145 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %144, i32 noundef 3)
  %146 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %145, <2 x i64> noundef %5)
  %147 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %142, <2 x i64> noundef %146)
  %148 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %147, <2 x i32> <i32 1, i32 2>
  %149 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %148, <2 x i64> noundef %147)
  %150 = bitcast <2 x i64> %149 to <16 x i8>
  %151 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %150, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %152 = bitcast <16 x i8> %151 to <2 x i64>
  %153 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %152, <2 x i64> noundef %149)
  %154 = bitcast <2 x i64> %140 to <4 x i32>
  %155 = shufflevector <4 x i32> %154, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %156 = bitcast <4 x i32> %155 to <2 x i64>
  %157 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %153, <2 x i64> noundef %156)
  %158 = getelementptr inbounds i8, ptr %2, i64 160
  tail call void @_mm_storeu_si128(ptr noundef nonnull %141, <2 x i64> noundef %157)
  %159 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %144, i32 noundef 18)
  %160 = getelementptr inbounds i8, ptr %1, i64 112
  %161 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %160)
  %162 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %161, i32 noundef 14)
  %163 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %162, <2 x i64> noundef %5)
  %164 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %159, <2 x i64> noundef %163)
  %165 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %164, <2 x i32> <i32 1, i32 2>
  %166 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %165, <2 x i64> noundef %164)
  %167 = bitcast <2 x i64> %166 to <16 x i8>
  %168 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %167, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %169 = bitcast <16 x i8> %168 to <2 x i64>
  %170 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %169, <2 x i64> noundef %166)
  %171 = bitcast <2 x i64> %157 to <4 x i32>
  %172 = shufflevector <4 x i32> %171, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %173 = bitcast <4 x i32> %172 to <2 x i64>
  %174 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %170, <2 x i64> noundef %173)
  %175 = getelementptr inbounds i8, ptr %2, i64 176
  tail call void @_mm_storeu_si128(ptr noundef nonnull %158, <2 x i64> noundef %174)
  %176 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %161, i32 noundef 7)
  %177 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %176, <2 x i64> noundef %5)
  %178 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %177, <2 x i32> <i32 1, i32 2>
  %179 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %178, <2 x i64> noundef %177)
  %180 = bitcast <2 x i64> %179 to <16 x i8>
  %181 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %180, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %182 = bitcast <16 x i8> %181 to <2 x i64>
  %183 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %182, <2 x i64> noundef %179)
  %184 = bitcast <2 x i64> %174 to <4 x i32>
  %185 = shufflevector <4 x i32> %184, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %186 = bitcast <4 x i32> %185 to <2 x i64>
  %187 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %183, <2 x i64> noundef %186)
  %188 = getelementptr inbounds i8, ptr %2, i64 192
  tail call void @_mm_storeu_si128(ptr noundef nonnull %175, <2 x i64> noundef %187)
  %189 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %161, i32 noundef 28)
  %190 = getelementptr inbounds i8, ptr %1, i64 128
  %191 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %190)
  %192 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %191, i32 noundef 4)
  %193 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %192, <2 x i64> noundef %5)
  %194 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %189, <2 x i64> noundef %193)
  %195 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %194, <2 x i32> <i32 1, i32 2>
  %196 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %195, <2 x i64> noundef %194)
  %197 = bitcast <2 x i64> %196 to <16 x i8>
  %198 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %197, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %199 = bitcast <16 x i8> %198 to <2 x i64>
  %200 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %199, <2 x i64> noundef %196)
  %201 = bitcast <2 x i64> %187 to <4 x i32>
  %202 = shufflevector <4 x i32> %201, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %203 = bitcast <4 x i32> %202 to <2 x i64>
  %204 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %200, <2 x i64> noundef %203)
  %205 = getelementptr inbounds i8, ptr %2, i64 208
  tail call void @_mm_storeu_si128(ptr noundef nonnull %188, <2 x i64> noundef %204)
  %206 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %191, i32 noundef 17)
  %207 = getelementptr inbounds i8, ptr %1, i64 144
  %208 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %207)
  %209 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %208, i32 noundef 15)
  %210 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %209, <2 x i64> noundef %5)
  %211 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %206, <2 x i64> noundef %210)
  %212 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %211, <2 x i32> <i32 1, i32 2>
  %213 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %212, <2 x i64> noundef %211)
  %214 = bitcast <2 x i64> %213 to <16 x i8>
  %215 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %214, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %216 = bitcast <16 x i8> %215 to <2 x i64>
  %217 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %216, <2 x i64> noundef %213)
  %218 = bitcast <2 x i64> %204 to <4 x i32>
  %219 = shufflevector <4 x i32> %218, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %220 = bitcast <4 x i32> %219 to <2 x i64>
  %221 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %217, <2 x i64> noundef %220)
  %222 = getelementptr inbounds i8, ptr %2, i64 224
  tail call void @_mm_storeu_si128(ptr noundef nonnull %205, <2 x i64> noundef %221)
  %223 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %208, i32 noundef 6)
  %224 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %223, <2 x i64> noundef %5)
  %225 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %224, <2 x i32> <i32 1, i32 2>
  %226 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %225, <2 x i64> noundef %224)
  %227 = bitcast <2 x i64> %226 to <16 x i8>
  %228 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %227, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %229 = bitcast <16 x i8> %228 to <2 x i64>
  %230 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %229, <2 x i64> noundef %226)
  %231 = bitcast <2 x i64> %221 to <4 x i32>
  %232 = shufflevector <4 x i32> %231, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %233 = bitcast <4 x i32> %232 to <2 x i64>
  %234 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %230, <2 x i64> noundef %233)
  %235 = getelementptr inbounds i8, ptr %2, i64 240
  tail call void @_mm_storeu_si128(ptr noundef nonnull %222, <2 x i64> noundef %234)
  %236 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %208, i32 noundef 27)
  %237 = getelementptr inbounds i8, ptr %1, i64 160
  %238 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %237)
  %239 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %238, i32 noundef 5)
  %240 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %239, <2 x i64> noundef %5)
  %241 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %236, <2 x i64> noundef %240)
  %242 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %241, <2 x i32> <i32 1, i32 2>
  %243 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %242, <2 x i64> noundef %241)
  %244 = bitcast <2 x i64> %243 to <16 x i8>
  %245 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %244, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %246 = bitcast <16 x i8> %245 to <2 x i64>
  %247 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %246, <2 x i64> noundef %243)
  %248 = bitcast <2 x i64> %234 to <4 x i32>
  %249 = shufflevector <4 x i32> %248, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %250 = bitcast <4 x i32> %249 to <2 x i64>
  %251 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %247, <2 x i64> noundef %250)
  %252 = getelementptr inbounds i8, ptr %2, i64 256
  tail call void @_mm_storeu_si128(ptr noundef nonnull %235, <2 x i64> noundef %251)
  %253 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %238, i32 noundef 16)
  %254 = getelementptr inbounds i8, ptr %1, i64 176
  %255 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %254)
  %256 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %255, i32 noundef 16)
  %257 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %256, <2 x i64> noundef %5)
  %258 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %253, <2 x i64> noundef %257)
  %259 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %258, <2 x i32> <i32 1, i32 2>
  %260 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %259, <2 x i64> noundef %258)
  %261 = bitcast <2 x i64> %260 to <16 x i8>
  %262 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %261, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %263 = bitcast <16 x i8> %262 to <2 x i64>
  %264 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %263, <2 x i64> noundef %260)
  %265 = bitcast <2 x i64> %251 to <4 x i32>
  %266 = shufflevector <4 x i32> %265, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %267 = bitcast <4 x i32> %266 to <2 x i64>
  %268 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %264, <2 x i64> noundef %267)
  %269 = getelementptr inbounds i8, ptr %2, i64 272
  tail call void @_mm_storeu_si128(ptr noundef nonnull %252, <2 x i64> noundef %268)
  %270 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %255, i32 noundef 5)
  %271 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %270, <2 x i64> noundef %5)
  %272 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %271, <2 x i32> <i32 1, i32 2>
  %273 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %272, <2 x i64> noundef %271)
  %274 = bitcast <2 x i64> %273 to <16 x i8>
  %275 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %274, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %276 = bitcast <16 x i8> %275 to <2 x i64>
  %277 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %276, <2 x i64> noundef %273)
  %278 = bitcast <2 x i64> %268 to <4 x i32>
  %279 = shufflevector <4 x i32> %278, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %280 = bitcast <4 x i32> %279 to <2 x i64>
  %281 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %277, <2 x i64> noundef %280)
  %282 = getelementptr inbounds i8, ptr %2, i64 288
  tail call void @_mm_storeu_si128(ptr noundef nonnull %269, <2 x i64> noundef %281)
  %283 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %255, i32 noundef 26)
  %284 = getelementptr inbounds i8, ptr %1, i64 192
  %285 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %284)
  %286 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %285, i32 noundef 6)
  %287 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %286, <2 x i64> noundef %5)
  %288 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %283, <2 x i64> noundef %287)
  %289 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %288, <2 x i32> <i32 1, i32 2>
  %290 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %289, <2 x i64> noundef %288)
  %291 = bitcast <2 x i64> %290 to <16 x i8>
  %292 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %291, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %293 = bitcast <16 x i8> %292 to <2 x i64>
  %294 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %293, <2 x i64> noundef %290)
  %295 = bitcast <2 x i64> %281 to <4 x i32>
  %296 = shufflevector <4 x i32> %295, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %297 = bitcast <4 x i32> %296 to <2 x i64>
  %298 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %294, <2 x i64> noundef %297)
  %299 = getelementptr inbounds i8, ptr %2, i64 304
  tail call void @_mm_storeu_si128(ptr noundef nonnull %282, <2 x i64> noundef %298)
  %300 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %285, i32 noundef 15)
  %301 = getelementptr inbounds i8, ptr %1, i64 208
  %302 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %301)
  %303 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %302, i32 noundef 17)
  %304 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %303, <2 x i64> noundef %5)
  %305 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %300, <2 x i64> noundef %304)
  %306 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %305, <2 x i32> <i32 1, i32 2>
  %307 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %306, <2 x i64> noundef %305)
  %308 = bitcast <2 x i64> %307 to <16 x i8>
  %309 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %308, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %310 = bitcast <16 x i8> %309 to <2 x i64>
  %311 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %310, <2 x i64> noundef %307)
  %312 = bitcast <2 x i64> %298 to <4 x i32>
  %313 = shufflevector <4 x i32> %312, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %314 = bitcast <4 x i32> %313 to <2 x i64>
  %315 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %311, <2 x i64> noundef %314)
  %316 = getelementptr inbounds i8, ptr %2, i64 320
  tail call void @_mm_storeu_si128(ptr noundef nonnull %299, <2 x i64> noundef %315)
  %317 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %302, i32 noundef 4)
  %318 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %317, <2 x i64> noundef %5)
  %319 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %318, <2 x i32> <i32 1, i32 2>
  %320 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %319, <2 x i64> noundef %318)
  %321 = bitcast <2 x i64> %320 to <16 x i8>
  %322 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %321, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %323 = bitcast <16 x i8> %322 to <2 x i64>
  %324 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %323, <2 x i64> noundef %320)
  %325 = bitcast <2 x i64> %315 to <4 x i32>
  %326 = shufflevector <4 x i32> %325, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %327 = bitcast <4 x i32> %326 to <2 x i64>
  %328 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %324, <2 x i64> noundef %327)
  %329 = getelementptr inbounds i8, ptr %2, i64 336
  tail call void @_mm_storeu_si128(ptr noundef nonnull %316, <2 x i64> noundef %328)
  %330 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %302, i32 noundef 25)
  %331 = getelementptr inbounds i8, ptr %1, i64 224
  %332 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %331)
  %333 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %332, i32 noundef 7)
  %334 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %333, <2 x i64> noundef %5)
  %335 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %330, <2 x i64> noundef %334)
  %336 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %335, <2 x i32> <i32 1, i32 2>
  %337 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %336, <2 x i64> noundef %335)
  %338 = bitcast <2 x i64> %337 to <16 x i8>
  %339 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %338, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %340 = bitcast <16 x i8> %339 to <2 x i64>
  %341 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %340, <2 x i64> noundef %337)
  %342 = bitcast <2 x i64> %328 to <4 x i32>
  %343 = shufflevector <4 x i32> %342, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %344 = bitcast <4 x i32> %343 to <2 x i64>
  %345 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %341, <2 x i64> noundef %344)
  %346 = getelementptr inbounds i8, ptr %2, i64 352
  tail call void @_mm_storeu_si128(ptr noundef nonnull %329, <2 x i64> noundef %345)
  %347 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %332, i32 noundef 14)
  %348 = getelementptr inbounds i8, ptr %1, i64 240
  %349 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %348)
  %350 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %349, i32 noundef 18)
  %351 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %350, <2 x i64> noundef %5)
  %352 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %347, <2 x i64> noundef %351)
  %353 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %352, <2 x i32> <i32 1, i32 2>
  %354 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %353, <2 x i64> noundef %352)
  %355 = bitcast <2 x i64> %354 to <16 x i8>
  %356 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %355, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %357 = bitcast <16 x i8> %356 to <2 x i64>
  %358 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %357, <2 x i64> noundef %354)
  %359 = bitcast <2 x i64> %345 to <4 x i32>
  %360 = shufflevector <4 x i32> %359, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %361 = bitcast <4 x i32> %360 to <2 x i64>
  %362 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %358, <2 x i64> noundef %361)
  %363 = getelementptr inbounds i8, ptr %2, i64 368
  tail call void @_mm_storeu_si128(ptr noundef nonnull %346, <2 x i64> noundef %362)
  %364 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %349, i32 noundef 3)
  %365 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %364, <2 x i64> noundef %5)
  %366 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %365, <2 x i32> <i32 1, i32 2>
  %367 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %366, <2 x i64> noundef %365)
  %368 = bitcast <2 x i64> %367 to <16 x i8>
  %369 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %368, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %370 = bitcast <16 x i8> %369 to <2 x i64>
  %371 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %370, <2 x i64> noundef %367)
  %372 = bitcast <2 x i64> %362 to <4 x i32>
  %373 = shufflevector <4 x i32> %372, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %374 = bitcast <4 x i32> %373 to <2 x i64>
  %375 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %371, <2 x i64> noundef %374)
  %376 = getelementptr inbounds i8, ptr %2, i64 384
  tail call void @_mm_storeu_si128(ptr noundef nonnull %363, <2 x i64> noundef %375)
  %377 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %349, i32 noundef 24)
  %378 = getelementptr inbounds i8, ptr %1, i64 256
  %379 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %378)
  %380 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %379, i32 noundef 8)
  %381 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %380, <2 x i64> noundef %5)
  %382 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %377, <2 x i64> noundef %381)
  %383 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %382, <2 x i32> <i32 1, i32 2>
  %384 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %383, <2 x i64> noundef %382)
  %385 = bitcast <2 x i64> %384 to <16 x i8>
  %386 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %385, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %387 = bitcast <16 x i8> %386 to <2 x i64>
  %388 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %387, <2 x i64> noundef %384)
  %389 = bitcast <2 x i64> %375 to <4 x i32>
  %390 = shufflevector <4 x i32> %389, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %391 = bitcast <4 x i32> %390 to <2 x i64>
  %392 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %388, <2 x i64> noundef %391)
  %393 = getelementptr inbounds i8, ptr %2, i64 400
  tail call void @_mm_storeu_si128(ptr noundef nonnull %376, <2 x i64> noundef %392)
  %394 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %379, i32 noundef 13)
  %395 = getelementptr inbounds i8, ptr %1, i64 272
  %396 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %395)
  %397 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %396, i32 noundef 19)
  %398 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %397, <2 x i64> noundef %5)
  %399 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %394, <2 x i64> noundef %398)
  %400 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %399, <2 x i32> <i32 1, i32 2>
  %401 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %400, <2 x i64> noundef %399)
  %402 = bitcast <2 x i64> %401 to <16 x i8>
  %403 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %402, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %404 = bitcast <16 x i8> %403 to <2 x i64>
  %405 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %404, <2 x i64> noundef %401)
  %406 = bitcast <2 x i64> %392 to <4 x i32>
  %407 = shufflevector <4 x i32> %406, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %408 = bitcast <4 x i32> %407 to <2 x i64>
  %409 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %405, <2 x i64> noundef %408)
  %410 = getelementptr inbounds i8, ptr %2, i64 416
  tail call void @_mm_storeu_si128(ptr noundef nonnull %393, <2 x i64> noundef %409)
  %411 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %396, i32 noundef 2)
  %412 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %411, <2 x i64> noundef %5)
  %413 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %412, <2 x i32> <i32 1, i32 2>
  %414 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %413, <2 x i64> noundef %412)
  %415 = bitcast <2 x i64> %414 to <16 x i8>
  %416 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %415, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %417 = bitcast <16 x i8> %416 to <2 x i64>
  %418 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %417, <2 x i64> noundef %414)
  %419 = bitcast <2 x i64> %409 to <4 x i32>
  %420 = shufflevector <4 x i32> %419, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %421 = bitcast <4 x i32> %420 to <2 x i64>
  %422 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %418, <2 x i64> noundef %421)
  %423 = getelementptr inbounds i8, ptr %2, i64 432
  tail call void @_mm_storeu_si128(ptr noundef nonnull %410, <2 x i64> noundef %422)
  %424 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %396, i32 noundef 23)
  %425 = getelementptr inbounds i8, ptr %1, i64 288
  %426 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %425)
  %427 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %426, i32 noundef 9)
  %428 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %427, <2 x i64> noundef %5)
  %429 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %424, <2 x i64> noundef %428)
  %430 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %429, <2 x i32> <i32 1, i32 2>
  %431 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %430, <2 x i64> noundef %429)
  %432 = bitcast <2 x i64> %431 to <16 x i8>
  %433 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %432, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %434 = bitcast <16 x i8> %433 to <2 x i64>
  %435 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %434, <2 x i64> noundef %431)
  %436 = bitcast <2 x i64> %422 to <4 x i32>
  %437 = shufflevector <4 x i32> %436, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %438 = bitcast <4 x i32> %437 to <2 x i64>
  %439 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %435, <2 x i64> noundef %438)
  %440 = getelementptr inbounds i8, ptr %2, i64 448
  tail call void @_mm_storeu_si128(ptr noundef nonnull %423, <2 x i64> noundef %439)
  %441 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %426, i32 noundef 12)
  %442 = getelementptr inbounds i8, ptr %1, i64 304
  %443 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %442)
  %444 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %443, i32 noundef 20)
  %445 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %444, <2 x i64> noundef %5)
  %446 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %441, <2 x i64> noundef %445)
  %447 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %446, <2 x i32> <i32 1, i32 2>
  %448 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %447, <2 x i64> noundef %446)
  %449 = bitcast <2 x i64> %448 to <16 x i8>
  %450 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %449, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %451 = bitcast <16 x i8> %450 to <2 x i64>
  %452 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %451, <2 x i64> noundef %448)
  %453 = bitcast <2 x i64> %439 to <4 x i32>
  %454 = shufflevector <4 x i32> %453, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %455 = bitcast <4 x i32> %454 to <2 x i64>
  %456 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %452, <2 x i64> noundef %455)
  %457 = getelementptr inbounds i8, ptr %2, i64 464
  tail call void @_mm_storeu_si128(ptr noundef nonnull %440, <2 x i64> noundef %456)
  %458 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %443, i32 noundef 1)
  %459 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %458, <2 x i64> noundef %5)
  %460 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %459, <2 x i32> <i32 1, i32 2>
  %461 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %460, <2 x i64> noundef %459)
  %462 = bitcast <2 x i64> %461 to <16 x i8>
  %463 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %462, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %464 = bitcast <16 x i8> %463 to <2 x i64>
  %465 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %464, <2 x i64> noundef %461)
  %466 = bitcast <2 x i64> %456 to <4 x i32>
  %467 = shufflevector <4 x i32> %466, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %468 = bitcast <4 x i32> %467 to <2 x i64>
  %469 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %465, <2 x i64> noundef %468)
  %470 = getelementptr inbounds i8, ptr %2, i64 480
  tail call void @_mm_storeu_si128(ptr noundef nonnull %457, <2 x i64> noundef %469)
  %471 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %443, i32 noundef 22)
  %472 = getelementptr inbounds i8, ptr %1, i64 320
  %473 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %472)
  %474 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %473, i32 noundef 10)
  %475 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %474, <2 x i64> noundef %5)
  %476 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %471, <2 x i64> noundef %475)
  %477 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %476, <2 x i32> <i32 1, i32 2>
  %478 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %477, <2 x i64> noundef %476)
  %479 = bitcast <2 x i64> %478 to <16 x i8>
  %480 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %479, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %481 = bitcast <16 x i8> %480 to <2 x i64>
  %482 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %481, <2 x i64> noundef %478)
  %483 = bitcast <2 x i64> %469 to <4 x i32>
  %484 = shufflevector <4 x i32> %483, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %485 = bitcast <4 x i32> %484 to <2 x i64>
  %486 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %482, <2 x i64> noundef %485)
  %487 = getelementptr inbounds i8, ptr %2, i64 496
  tail call void @_mm_storeu_si128(ptr noundef nonnull %470, <2 x i64> noundef %486)
  %488 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %473, i32 noundef 11)
  %489 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %488, <2 x i32> <i32 1, i32 2>
  %490 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %489, <2 x i64> noundef %488)
  %491 = bitcast <2 x i64> %490 to <16 x i8>
  %492 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %491, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %493 = bitcast <16 x i8> %492 to <2 x i64>
  %494 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %493, <2 x i64> noundef %490)
  %495 = bitcast <2 x i64> %486 to <4 x i32>
  %496 = shufflevector <4 x i32> %495, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %497 = bitcast <4 x i32> %496 to <2 x i64>
  %498 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %494, <2 x i64> noundef %497)
  tail call void @_mm_storeu_si128(ptr noundef nonnull %487, <2 x i64> noundef %498)
  ret <2 x i64> %498
}

attributes #0 = { alwaysinline nounwind uwtable "min-legal-vector-width"="128" "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 = { nounwind uwtable "min-legal-vector-width"="128" "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" }

!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)"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass