; 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_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> @iunpack2(<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 3)
  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 2)
  store <2 x i64> %110, ptr %10, align 16, !tbaa !5
  %111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %112 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %113 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %111, <2 x i64> noundef %112)
  store <2 x i64> %113, ptr %9, align 16, !tbaa !5
  br label %114

114:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #3
  %115 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %116 = bitcast <2 x i64> %115 to <16 x i8>
  %117 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %116, <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>
  %118 = bitcast <16 x i8> %117 to <2 x i64>
  %119 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %120 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %118, <2 x i64> noundef %119)
  store <2 x i64> %120, ptr %14, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #3
  %121 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %122 = bitcast <2 x i64> %121 to <16 x i8>
  %123 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %122, <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>
  %124 = bitcast <16 x i8> %123 to <2 x i64>
  %125 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %126 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %124, <2 x i64> noundef %125)
  store <2 x i64> %126, ptr %15, align 16, !tbaa !5
  %127 = load <2 x i64>, ptr %15, align 16, !tbaa !5
  %128 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %129 = bitcast <2 x i64> %128 to <4 x i32>
  %130 = shufflevector <4 x i32> %129, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %131 = bitcast <4 x i32> %130 to <2 x i64>
  %132 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %127, <2 x i64> noundef %131)
  store <2 x i64> %132, 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 %133

133:                                              ; preds = %114
  br label %134

134:                                              ; preds = %133
  %135 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %135, ptr %4, align 16, !tbaa !5
  %136 = load ptr, ptr %7, align 8, !tbaa !8
  %137 = getelementptr inbounds <2 x i64>, ptr %136, i32 1
  store ptr %137, ptr %7, align 8, !tbaa !8
  %138 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %136, <2 x i64> noundef %138)
  %139 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %140 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %139, i32 noundef 4)
  store <2 x i64> %140, ptr %10, align 16, !tbaa !5
  %141 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %142 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %143 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %141, <2 x i64> noundef %142)
  store <2 x i64> %143, ptr %9, align 16, !tbaa !5
  br label %144

144:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #3
  %145 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %146 = bitcast <2 x i64> %145 to <16 x i8>
  %147 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %146, <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>
  %148 = bitcast <16 x i8> %147 to <2 x i64>
  %149 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %150 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %148, <2 x i64> noundef %149)
  store <2 x i64> %150, ptr %16, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #3
  %151 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %152 = bitcast <2 x i64> %151 to <16 x i8>
  %153 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %152, <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>
  %154 = bitcast <16 x i8> %153 to <2 x i64>
  %155 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %156 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %154, <2 x i64> noundef %155)
  store <2 x i64> %156, ptr %17, align 16, !tbaa !5
  %157 = load <2 x i64>, ptr %17, align 16, !tbaa !5
  %158 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %159 = bitcast <2 x i64> %158 to <4 x i32>
  %160 = shufflevector <4 x i32> %159, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %161 = bitcast <4 x i32> %160 to <2 x i64>
  %162 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %157, <2 x i64> noundef %161)
  store <2 x i64> %162, 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 %163

163:                                              ; preds = %144
  br label %164

164:                                              ; preds = %163
  %165 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %165, ptr %4, align 16, !tbaa !5
  %166 = load ptr, ptr %7, align 8, !tbaa !8
  %167 = getelementptr inbounds <2 x i64>, ptr %166, i32 1
  store ptr %167, ptr %7, align 8, !tbaa !8
  %168 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %166, <2 x i64> noundef %168)
  %169 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %170 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %169, i32 noundef 6)
  store <2 x i64> %170, ptr %10, align 16, !tbaa !5
  %171 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %172 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %173 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %171, <2 x i64> noundef %172)
  store <2 x i64> %173, ptr %9, align 16, !tbaa !5
  br label %174

174:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %175 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %176 = bitcast <2 x i64> %175 to <16 x i8>
  %177 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %176, <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>
  %178 = bitcast <16 x i8> %177 to <2 x i64>
  %179 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %180 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %178, <2 x i64> noundef %179)
  store <2 x i64> %180, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %181 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %182 = bitcast <2 x i64> %181 to <16 x i8>
  %183 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %182, <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>
  %184 = bitcast <16 x i8> %183 to <2 x i64>
  %185 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %186 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %184, <2 x i64> noundef %185)
  store <2 x i64> %186, ptr %19, align 16, !tbaa !5
  %187 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %188 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %189 = bitcast <2 x i64> %188 to <4 x i32>
  %190 = shufflevector <4 x i32> %189, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %191 = bitcast <4 x i32> %190 to <2 x i64>
  %192 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %187, <2 x i64> noundef %191)
  store <2 x i64> %192, 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 %193

193:                                              ; preds = %174
  br label %194

194:                                              ; preds = %193
  %195 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %195, ptr %4, align 16, !tbaa !5
  %196 = load ptr, ptr %7, align 8, !tbaa !8
  %197 = getelementptr inbounds <2 x i64>, ptr %196, i32 1
  store ptr %197, ptr %7, align 8, !tbaa !8
  %198 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %196, <2 x i64> noundef %198)
  %199 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %200 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %199, i32 noundef 8)
  store <2 x i64> %200, ptr %10, align 16, !tbaa !5
  %201 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %202 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %203 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %201, <2 x i64> noundef %202)
  store <2 x i64> %203, ptr %9, align 16, !tbaa !5
  br label %204

204:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %205 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %206 = bitcast <2 x i64> %205 to <16 x i8>
  %207 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %206, <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>
  %208 = bitcast <16 x i8> %207 to <2 x i64>
  %209 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %210 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %208, <2 x i64> noundef %209)
  store <2 x i64> %210, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %211 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %212 = bitcast <2 x i64> %211 to <16 x i8>
  %213 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %212, <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>
  %214 = bitcast <16 x i8> %213 to <2 x i64>
  %215 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %216 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %214, <2 x i64> noundef %215)
  store <2 x i64> %216, ptr %21, align 16, !tbaa !5
  %217 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %218 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %219 = bitcast <2 x i64> %218 to <4 x i32>
  %220 = shufflevector <4 x i32> %219, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %221 = bitcast <4 x i32> %220 to <2 x i64>
  %222 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %217, <2 x i64> noundef %221)
  store <2 x i64> %222, 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 %223

223:                                              ; preds = %204
  br label %224

224:                                              ; preds = %223
  %225 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %225, ptr %4, align 16, !tbaa !5
  %226 = load ptr, ptr %7, align 8, !tbaa !8
  %227 = getelementptr inbounds <2 x i64>, ptr %226, i32 1
  store ptr %227, ptr %7, align 8, !tbaa !8
  %228 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %226, <2 x i64> noundef %228)
  %229 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %230 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %229, i32 noundef 10)
  store <2 x i64> %230, ptr %10, align 16, !tbaa !5
  %231 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %232 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %233 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %231, <2 x i64> noundef %232)
  store <2 x i64> %233, ptr %9, align 16, !tbaa !5
  br label %234

234:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %235 = load <2 x i64>, ptr %9, 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 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>
  %238 = bitcast <16 x i8> %237 to <2 x i64>
  %239 = load <2 x i64>, ptr %9, 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 %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %241 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %242 = bitcast <2 x i64> %241 to <16 x i8>
  %243 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %242, <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>
  %244 = bitcast <16 x i8> %243 to <2 x i64>
  %245 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %246 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %244, <2 x i64> noundef %245)
  store <2 x i64> %246, ptr %23, align 16, !tbaa !5
  %247 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %248 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %249 = bitcast <2 x i64> %248 to <4 x i32>
  %250 = shufflevector <4 x i32> %249, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %251 = bitcast <4 x i32> %250 to <2 x i64>
  %252 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %247, <2 x i64> noundef %251)
  store <2 x i64> %252, 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 %253

253:                                              ; preds = %234
  br label %254

254:                                              ; preds = %253
  %255 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %255, ptr %4, align 16, !tbaa !5
  %256 = load ptr, ptr %7, align 8, !tbaa !8
  %257 = getelementptr inbounds <2 x i64>, ptr %256, i32 1
  store ptr %257, ptr %7, align 8, !tbaa !8
  %258 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %256, <2 x i64> noundef %258)
  %259 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %260 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %259, i32 noundef 12)
  store <2 x i64> %260, ptr %10, align 16, !tbaa !5
  %261 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %262 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %263 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %261, <2 x i64> noundef %262)
  store <2 x i64> %263, ptr %9, align 16, !tbaa !5
  br label %264

264:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %265 = load <2 x i64>, ptr %9, 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 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>
  %268 = bitcast <16 x i8> %267 to <2 x i64>
  %269 = load <2 x i64>, ptr %9, 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 %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %271 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %272 = bitcast <2 x i64> %271 to <16 x i8>
  %273 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %272, <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>
  %274 = bitcast <16 x i8> %273 to <2 x i64>
  %275 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %276 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %274, <2 x i64> noundef %275)
  store <2 x i64> %276, ptr %25, align 16, !tbaa !5
  %277 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %278 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %279 = bitcast <2 x i64> %278 to <4 x i32>
  %280 = shufflevector <4 x i32> %279, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %281 = bitcast <4 x i32> %280 to <2 x i64>
  %282 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %277, <2 x i64> noundef %281)
  store <2 x i64> %282, 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 %283

283:                                              ; preds = %264
  br label %284

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

294:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %295 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %296 = bitcast <2 x i64> %295 to <16 x i8>
  %297 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %296, <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>
  %298 = bitcast <16 x i8> %297 to <2 x i64>
  %299 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %300 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %298, <2 x i64> noundef %299)
  store <2 x i64> %300, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %301 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %302 = bitcast <2 x i64> %301 to <16 x i8>
  %303 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %302, <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>
  %304 = bitcast <16 x i8> %303 to <2 x i64>
  %305 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %306 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %304, <2 x i64> noundef %305)
  store <2 x i64> %306, ptr %27, align 16, !tbaa !5
  %307 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %308 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %309 = bitcast <2 x i64> %308 to <4 x i32>
  %310 = shufflevector <4 x i32> %309, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %311 = bitcast <4 x i32> %310 to <2 x i64>
  %312 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %307, <2 x i64> noundef %311)
  store <2 x i64> %312, 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 %313

313:                                              ; preds = %294
  br label %314

314:                                              ; preds = %313
  %315 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %315, ptr %4, align 16, !tbaa !5
  %316 = load ptr, ptr %7, align 8, !tbaa !8
  %317 = getelementptr inbounds <2 x i64>, ptr %316, i32 1
  store ptr %317, ptr %7, align 8, !tbaa !8
  %318 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %316, <2 x i64> noundef %318)
  %319 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %320 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %319, i32 noundef 16)
  store <2 x i64> %320, ptr %10, align 16, !tbaa !5
  %321 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %322 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %323 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %321, <2 x i64> noundef %322)
  store <2 x i64> %323, ptr %9, align 16, !tbaa !5
  br label %324

324:                                              ; preds = %314
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %325 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %326 = bitcast <2 x i64> %325 to <16 x i8>
  %327 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %326, <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>
  %328 = bitcast <16 x i8> %327 to <2 x i64>
  %329 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %330 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %328, <2 x i64> noundef %329)
  store <2 x i64> %330, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %331 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %332 = bitcast <2 x i64> %331 to <16 x i8>
  %333 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %332, <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>
  %334 = bitcast <16 x i8> %333 to <2 x i64>
  %335 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %336 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %334, <2 x i64> noundef %335)
  store <2 x i64> %336, ptr %29, align 16, !tbaa !5
  %337 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %338 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %339 = bitcast <2 x i64> %338 to <4 x i32>
  %340 = shufflevector <4 x i32> %339, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %341 = bitcast <4 x i32> %340 to <2 x i64>
  %342 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %337, <2 x i64> noundef %341)
  store <2 x i64> %342, 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 %343

343:                                              ; preds = %324
  br label %344

344:                                              ; preds = %343
  %345 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %345, ptr %4, align 16, !tbaa !5
  %346 = load ptr, ptr %7, align 8, !tbaa !8
  %347 = getelementptr inbounds <2 x i64>, ptr %346, i32 1
  store ptr %347, ptr %7, align 8, !tbaa !8
  %348 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %346, <2 x i64> noundef %348)
  %349 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %350 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %349, i32 noundef 18)
  store <2 x i64> %350, ptr %10, align 16, !tbaa !5
  %351 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %352 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %353 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %351, <2 x i64> noundef %352)
  store <2 x i64> %353, ptr %9, align 16, !tbaa !5
  br label %354

354:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %355 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %356 = bitcast <2 x i64> %355 to <16 x i8>
  %357 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %356, <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>
  %358 = bitcast <16 x i8> %357 to <2 x i64>
  %359 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %360 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %358, <2 x i64> noundef %359)
  store <2 x i64> %360, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %361 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %362 = bitcast <2 x i64> %361 to <16 x i8>
  %363 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %362, <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>
  %364 = bitcast <16 x i8> %363 to <2 x i64>
  %365 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %366 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %364, <2 x i64> noundef %365)
  store <2 x i64> %366, ptr %31, align 16, !tbaa !5
  %367 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %368 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %369 = bitcast <2 x i64> %368 to <4 x i32>
  %370 = shufflevector <4 x i32> %369, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %371 = bitcast <4 x i32> %370 to <2 x i64>
  %372 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %367, <2 x i64> noundef %371)
  store <2 x i64> %372, 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 %373

373:                                              ; preds = %354
  br label %374

374:                                              ; preds = %373
  %375 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %375, ptr %4, align 16, !tbaa !5
  %376 = load ptr, ptr %7, align 8, !tbaa !8
  %377 = getelementptr inbounds <2 x i64>, ptr %376, i32 1
  store ptr %377, ptr %7, align 8, !tbaa !8
  %378 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %376, <2 x i64> noundef %378)
  %379 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %380 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %379, i32 noundef 20)
  store <2 x i64> %380, ptr %10, align 16, !tbaa !5
  %381 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %382 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %383 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %381, <2 x i64> noundef %382)
  store <2 x i64> %383, ptr %9, align 16, !tbaa !5
  br label %384

384:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %385 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %386 = bitcast <2 x i64> %385 to <16 x i8>
  %387 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %386, <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>
  %388 = bitcast <16 x i8> %387 to <2 x i64>
  %389 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %390 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %388, <2 x i64> noundef %389)
  store <2 x i64> %390, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %391 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %392 = bitcast <2 x i64> %391 to <16 x i8>
  %393 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %392, <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>
  %394 = bitcast <16 x i8> %393 to <2 x i64>
  %395 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %396 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %394, <2 x i64> noundef %395)
  store <2 x i64> %396, ptr %33, align 16, !tbaa !5
  %397 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %398 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %399 = bitcast <2 x i64> %398 to <4 x i32>
  %400 = shufflevector <4 x i32> %399, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %401 = bitcast <4 x i32> %400 to <2 x i64>
  %402 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %397, <2 x i64> noundef %401)
  store <2 x i64> %402, 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 %403

403:                                              ; preds = %384
  br label %404

404:                                              ; preds = %403
  %405 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %405, ptr %4, align 16, !tbaa !5
  %406 = load ptr, ptr %7, align 8, !tbaa !8
  %407 = getelementptr inbounds <2 x i64>, ptr %406, i32 1
  store ptr %407, ptr %7, align 8, !tbaa !8
  %408 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %406, <2 x i64> noundef %408)
  %409 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %410 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %409, i32 noundef 22)
  store <2 x i64> %410, ptr %10, align 16, !tbaa !5
  %411 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %412 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %413 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %411, <2 x i64> noundef %412)
  store <2 x i64> %413, ptr %9, align 16, !tbaa !5
  br label %414

414:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %415 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %416 = bitcast <2 x i64> %415 to <16 x i8>
  %417 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %416, <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>
  %418 = bitcast <16 x i8> %417 to <2 x i64>
  %419 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %420 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %418, <2 x i64> noundef %419)
  store <2 x i64> %420, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %421 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %422 = bitcast <2 x i64> %421 to <16 x i8>
  %423 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %422, <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>
  %424 = bitcast <16 x i8> %423 to <2 x i64>
  %425 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %426 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %424, <2 x i64> noundef %425)
  store <2 x i64> %426, ptr %35, align 16, !tbaa !5
  %427 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %428 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %429 = bitcast <2 x i64> %428 to <4 x i32>
  %430 = shufflevector <4 x i32> %429, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %431 = bitcast <4 x i32> %430 to <2 x i64>
  %432 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %427, <2 x i64> noundef %431)
  store <2 x i64> %432, 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 %433

433:                                              ; preds = %414
  br label %434

434:                                              ; preds = %433
  %435 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %435, ptr %4, align 16, !tbaa !5
  %436 = load ptr, ptr %7, align 8, !tbaa !8
  %437 = getelementptr inbounds <2 x i64>, ptr %436, i32 1
  store ptr %437, ptr %7, align 8, !tbaa !8
  %438 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %436, <2 x i64> noundef %438)
  %439 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %440 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %439, i32 noundef 24)
  store <2 x i64> %440, ptr %10, align 16, !tbaa !5
  %441 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %442 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %443 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %441, <2 x i64> noundef %442)
  store <2 x i64> %443, ptr %9, align 16, !tbaa !5
  br label %444

444:                                              ; preds = %434
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %445 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %446 = bitcast <2 x i64> %445 to <16 x i8>
  %447 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %446, <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>
  %448 = bitcast <16 x i8> %447 to <2 x i64>
  %449 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %450 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %448, <2 x i64> noundef %449)
  store <2 x i64> %450, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %451 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %452 = bitcast <2 x i64> %451 to <16 x i8>
  %453 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %452, <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>
  %454 = bitcast <16 x i8> %453 to <2 x i64>
  %455 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %456 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %454, <2 x i64> noundef %455)
  store <2 x i64> %456, ptr %37, align 16, !tbaa !5
  %457 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %458 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %459 = bitcast <2 x i64> %458 to <4 x i32>
  %460 = shufflevector <4 x i32> %459, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %461 = bitcast <4 x i32> %460 to <2 x i64>
  %462 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %457, <2 x i64> noundef %461)
  store <2 x i64> %462, 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 %463

463:                                              ; preds = %444
  br label %464

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

474:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %475 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %476 = bitcast <2 x i64> %475 to <16 x i8>
  %477 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %476, <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>
  %478 = bitcast <16 x i8> %477 to <2 x i64>
  %479 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %480 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %478, <2 x i64> noundef %479)
  store <2 x i64> %480, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %481 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %482 = bitcast <2 x i64> %481 to <16 x i8>
  %483 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %482, <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>
  %484 = bitcast <16 x i8> %483 to <2 x i64>
  %485 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %486 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %484, <2 x i64> noundef %485)
  store <2 x i64> %486, ptr %39, align 16, !tbaa !5
  %487 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %488 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %489 = bitcast <2 x i64> %488 to <4 x i32>
  %490 = shufflevector <4 x i32> %489, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %491 = bitcast <4 x i32> %490 to <2 x i64>
  %492 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %487, <2 x i64> noundef %491)
  store <2 x i64> %492, 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 %493

493:                                              ; preds = %474
  br label %494

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

504:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %505 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %506 = bitcast <2 x i64> %505 to <16 x i8>
  %507 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %506, <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>
  %508 = bitcast <16 x i8> %507 to <2 x i64>
  %509 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %510 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %508, <2 x i64> noundef %509)
  store <2 x i64> %510, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %511 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %512 = bitcast <2 x i64> %511 to <16 x i8>
  %513 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %512, <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>
  %514 = bitcast <16 x i8> %513 to <2 x i64>
  %515 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %516 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %514, <2 x i64> noundef %515)
  store <2 x i64> %516, ptr %41, align 16, !tbaa !5
  %517 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %518 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %519 = bitcast <2 x i64> %518 to <4 x i32>
  %520 = shufflevector <4 x i32> %519, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %521 = bitcast <4 x i32> %520 to <2 x i64>
  %522 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %517, <2 x i64> noundef %521)
  store <2 x i64> %522, 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 %523

523:                                              ; preds = %504
  br label %524

524:                                              ; preds = %523
  %525 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %525, ptr %4, align 16, !tbaa !5
  %526 = load ptr, ptr %7, align 8, !tbaa !8
  %527 = getelementptr inbounds <2 x i64>, ptr %526, i32 1
  store ptr %527, ptr %7, align 8, !tbaa !8
  %528 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %526, <2 x i64> noundef %528)
  %529 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %530 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %529, i32 noundef 30)
  store <2 x i64> %530, ptr %10, align 16, !tbaa !5
  %531 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %531, ptr %9, align 16, !tbaa !5
  %532 = load ptr, ptr %5, align 8, !tbaa !8
  %533 = getelementptr inbounds <2 x i64>, ptr %532, i32 1
  store ptr %533, ptr %5, align 8, !tbaa !8
  %534 = load ptr, ptr %5, align 8, !tbaa !8
  %535 = call <2 x i64> @_mm_loadu_si128(ptr noundef %534)
  store <2 x i64> %535, ptr %8, align 16, !tbaa !5
  br label %536

536:                                              ; preds = %524
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %537 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %538 = bitcast <2 x i64> %537 to <16 x i8>
  %539 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %538, <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>
  %540 = bitcast <16 x i8> %539 to <2 x i64>
  %541 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %542 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %540, <2 x i64> noundef %541)
  store <2 x i64> %542, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %543 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %544 = bitcast <2 x i64> %543 to <16 x i8>
  %545 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %544, <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>
  %546 = bitcast <16 x i8> %545 to <2 x i64>
  %547 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %548 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %546, <2 x i64> noundef %547)
  store <2 x i64> %548, ptr %43, align 16, !tbaa !5
  %549 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %550 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %551 = bitcast <2 x i64> %550 to <4 x i32>
  %552 = shufflevector <4 x i32> %551, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %553 = bitcast <4 x i32> %552 to <2 x i64>
  %554 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %549, <2 x i64> noundef %553)
  store <2 x i64> %554, 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 %555

555:                                              ; preds = %536
  br label %556

556:                                              ; preds = %555
  %557 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %557, ptr %4, align 16, !tbaa !5
  %558 = load ptr, ptr %7, align 8, !tbaa !8
  %559 = getelementptr inbounds <2 x i64>, ptr %558, i32 1
  store ptr %559, ptr %7, align 8, !tbaa !8
  %560 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %558, <2 x i64> noundef %560)
  %561 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %561, ptr %10, align 16, !tbaa !5
  %562 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %563 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %564 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %562, <2 x i64> noundef %563)
  store <2 x i64> %564, ptr %9, align 16, !tbaa !5
  br label %565

565:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %566 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %567 = bitcast <2 x i64> %566 to <16 x i8>
  %568 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %567, <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>
  %569 = bitcast <16 x i8> %568 to <2 x i64>
  %570 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %571 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %569, <2 x i64> noundef %570)
  store <2 x i64> %571, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %572 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %573 = bitcast <2 x i64> %572 to <16 x i8>
  %574 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %573, <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>
  %575 = bitcast <16 x i8> %574 to <2 x i64>
  %576 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %577 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %575, <2 x i64> noundef %576)
  store <2 x i64> %577, ptr %45, align 16, !tbaa !5
  %578 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %579 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %580 = bitcast <2 x i64> %579 to <4 x i32>
  %581 = shufflevector <4 x i32> %580, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %582 = bitcast <4 x i32> %581 to <2 x i64>
  %583 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %578, <2 x i64> noundef %582)
  store <2 x i64> %583, 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 %584

584:                                              ; preds = %565
  br label %585

585:                                              ; preds = %584
  %586 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %586, ptr %4, align 16, !tbaa !5
  %587 = load ptr, ptr %7, align 8, !tbaa !8
  %588 = getelementptr inbounds <2 x i64>, ptr %587, i32 1
  store ptr %588, ptr %7, align 8, !tbaa !8
  %589 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %587, <2 x i64> noundef %589)
  %590 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %591 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %590, i32 noundef 2)
  store <2 x i64> %591, ptr %10, align 16, !tbaa !5
  %592 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %593 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %594 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %592, <2 x i64> noundef %593)
  store <2 x i64> %594, ptr %9, align 16, !tbaa !5
  br label %595

595:                                              ; preds = %585
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %596 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %597 = bitcast <2 x i64> %596 to <16 x i8>
  %598 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %597, <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>
  %599 = bitcast <16 x i8> %598 to <2 x i64>
  %600 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %601 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %599, <2 x i64> noundef %600)
  store <2 x i64> %601, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %602 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %603 = bitcast <2 x i64> %602 to <16 x i8>
  %604 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %603, <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>
  %605 = bitcast <16 x i8> %604 to <2 x i64>
  %606 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %607 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %605, <2 x i64> noundef %606)
  store <2 x i64> %607, ptr %47, align 16, !tbaa !5
  %608 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %609 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %610 = bitcast <2 x i64> %609 to <4 x i32>
  %611 = shufflevector <4 x i32> %610, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %612 = bitcast <4 x i32> %611 to <2 x i64>
  %613 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %608, <2 x i64> noundef %612)
  store <2 x i64> %613, 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 %614

614:                                              ; preds = %595
  br label %615

615:                                              ; preds = %614
  %616 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %616, ptr %4, align 16, !tbaa !5
  %617 = load ptr, ptr %7, align 8, !tbaa !8
  %618 = getelementptr inbounds <2 x i64>, ptr %617, i32 1
  store ptr %618, ptr %7, align 8, !tbaa !8
  %619 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %617, <2 x i64> noundef %619)
  %620 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %621 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %620, i32 noundef 4)
  store <2 x i64> %621, ptr %10, align 16, !tbaa !5
  %622 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %623 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %624 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %622, <2 x i64> noundef %623)
  store <2 x i64> %624, ptr %9, align 16, !tbaa !5
  br label %625

625:                                              ; preds = %615
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %626 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %627 = bitcast <2 x i64> %626 to <16 x i8>
  %628 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %627, <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>
  %629 = bitcast <16 x i8> %628 to <2 x i64>
  %630 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %631 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %629, <2 x i64> noundef %630)
  store <2 x i64> %631, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %632 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %633 = bitcast <2 x i64> %632 to <16 x i8>
  %634 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %633, <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>
  %635 = bitcast <16 x i8> %634 to <2 x i64>
  %636 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %637 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %635, <2 x i64> noundef %636)
  store <2 x i64> %637, ptr %49, align 16, !tbaa !5
  %638 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %639 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %640 = bitcast <2 x i64> %639 to <4 x i32>
  %641 = shufflevector <4 x i32> %640, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %642 = bitcast <4 x i32> %641 to <2 x i64>
  %643 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %638, <2 x i64> noundef %642)
  store <2 x i64> %643, 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 %644

644:                                              ; preds = %625
  br label %645

645:                                              ; preds = %644
  %646 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %646, ptr %4, align 16, !tbaa !5
  %647 = load ptr, ptr %7, align 8, !tbaa !8
  %648 = getelementptr inbounds <2 x i64>, ptr %647, i32 1
  store ptr %648, ptr %7, align 8, !tbaa !8
  %649 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %647, <2 x i64> noundef %649)
  %650 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %651 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %650, i32 noundef 6)
  store <2 x i64> %651, ptr %10, align 16, !tbaa !5
  %652 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %653 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %654 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %652, <2 x i64> noundef %653)
  store <2 x i64> %654, ptr %9, align 16, !tbaa !5
  br label %655

655:                                              ; preds = %645
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %656 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %657 = bitcast <2 x i64> %656 to <16 x i8>
  %658 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %657, <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>
  %659 = bitcast <16 x i8> %658 to <2 x i64>
  %660 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %661 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %659, <2 x i64> noundef %660)
  store <2 x i64> %661, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %662 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %663 = bitcast <2 x i64> %662 to <16 x i8>
  %664 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %663, <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>
  %665 = bitcast <16 x i8> %664 to <2 x i64>
  %666 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %667 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %665, <2 x i64> noundef %666)
  store <2 x i64> %667, ptr %51, align 16, !tbaa !5
  %668 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %669 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %670 = bitcast <2 x i64> %669 to <4 x i32>
  %671 = shufflevector <4 x i32> %670, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %672 = bitcast <4 x i32> %671 to <2 x i64>
  %673 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %668, <2 x i64> noundef %672)
  store <2 x i64> %673, 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 %674

674:                                              ; preds = %655
  br label %675

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

685:                                              ; preds = %675
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %686 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %687 = bitcast <2 x i64> %686 to <16 x i8>
  %688 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %687, <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>
  %689 = bitcast <16 x i8> %688 to <2 x i64>
  %690 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %691 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %689, <2 x i64> noundef %690)
  store <2 x i64> %691, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %692 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %693 = bitcast <2 x i64> %692 to <16 x i8>
  %694 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %693, <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>
  %695 = bitcast <16 x i8> %694 to <2 x i64>
  %696 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %697 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %695, <2 x i64> noundef %696)
  store <2 x i64> %697, ptr %53, align 16, !tbaa !5
  %698 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %699 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %700 = bitcast <2 x i64> %699 to <4 x i32>
  %701 = shufflevector <4 x i32> %700, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %702 = bitcast <4 x i32> %701 to <2 x i64>
  %703 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %698, <2 x i64> noundef %702)
  store <2 x i64> %703, 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 %704

704:                                              ; preds = %685
  br label %705

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

715:                                              ; preds = %705
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %716 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %717 = bitcast <2 x i64> %716 to <16 x i8>
  %718 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %717, <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>
  %719 = bitcast <16 x i8> %718 to <2 x i64>
  %720 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %721 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %719, <2 x i64> noundef %720)
  store <2 x i64> %721, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %722 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %723 = bitcast <2 x i64> %722 to <16 x i8>
  %724 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %723, <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>
  %725 = bitcast <16 x i8> %724 to <2 x i64>
  %726 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %727 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %725, <2 x i64> noundef %726)
  store <2 x i64> %727, ptr %55, align 16, !tbaa !5
  %728 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %729 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %730 = bitcast <2 x i64> %729 to <4 x i32>
  %731 = shufflevector <4 x i32> %730, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %732 = bitcast <4 x i32> %731 to <2 x i64>
  %733 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %728, <2 x i64> noundef %732)
  store <2 x i64> %733, 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 %734

734:                                              ; preds = %715
  br label %735

735:                                              ; preds = %734
  %736 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %736, ptr %4, align 16, !tbaa !5
  %737 = load ptr, ptr %7, align 8, !tbaa !8
  %738 = getelementptr inbounds <2 x i64>, ptr %737, i32 1
  store ptr %738, ptr %7, align 8, !tbaa !8
  %739 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %737, <2 x i64> noundef %739)
  %740 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %741 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %740, i32 noundef 12)
  store <2 x i64> %741, ptr %10, align 16, !tbaa !5
  %742 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %743 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %744 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %742, <2 x i64> noundef %743)
  store <2 x i64> %744, ptr %9, align 16, !tbaa !5
  br label %745

745:                                              ; preds = %735
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %746 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %747 = bitcast <2 x i64> %746 to <16 x i8>
  %748 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %747, <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>
  %749 = bitcast <16 x i8> %748 to <2 x i64>
  %750 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %751 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %749, <2 x i64> noundef %750)
  store <2 x i64> %751, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %752 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %753 = bitcast <2 x i64> %752 to <16 x i8>
  %754 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %753, <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>
  %755 = bitcast <16 x i8> %754 to <2 x i64>
  %756 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %757 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %755, <2 x i64> noundef %756)
  store <2 x i64> %757, ptr %57, align 16, !tbaa !5
  %758 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %759 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %760 = bitcast <2 x i64> %759 to <4 x i32>
  %761 = shufflevector <4 x i32> %760, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %762 = bitcast <4 x i32> %761 to <2 x i64>
  %763 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %758, <2 x i64> noundef %762)
  store <2 x i64> %763, 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 %764

764:                                              ; preds = %745
  br label %765

765:                                              ; preds = %764
  %766 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %766, ptr %4, align 16, !tbaa !5
  %767 = load ptr, ptr %7, align 8, !tbaa !8
  %768 = getelementptr inbounds <2 x i64>, ptr %767, i32 1
  store ptr %768, ptr %7, align 8, !tbaa !8
  %769 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %767, <2 x i64> noundef %769)
  %770 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %771 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %770, i32 noundef 14)
  store <2 x i64> %771, ptr %10, align 16, !tbaa !5
  %772 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %773 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %774 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %772, <2 x i64> noundef %773)
  store <2 x i64> %774, ptr %9, align 16, !tbaa !5
  br label %775

775:                                              ; preds = %765
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %776 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %777 = bitcast <2 x i64> %776 to <16 x i8>
  %778 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %777, <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>
  %779 = bitcast <16 x i8> %778 to <2 x i64>
  %780 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %781 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %779, <2 x i64> noundef %780)
  store <2 x i64> %781, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %782 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %783 = bitcast <2 x i64> %782 to <16 x i8>
  %784 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %783, <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>
  %785 = bitcast <16 x i8> %784 to <2 x i64>
  %786 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %787 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %785, <2 x i64> noundef %786)
  store <2 x i64> %787, ptr %59, align 16, !tbaa !5
  %788 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %789 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %790 = bitcast <2 x i64> %789 to <4 x i32>
  %791 = shufflevector <4 x i32> %790, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %792 = bitcast <4 x i32> %791 to <2 x i64>
  %793 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %788, <2 x i64> noundef %792)
  store <2 x i64> %793, 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 %794

794:                                              ; preds = %775
  br label %795

795:                                              ; preds = %794
  %796 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %796, ptr %4, align 16, !tbaa !5
  %797 = load ptr, ptr %7, align 8, !tbaa !8
  %798 = getelementptr inbounds <2 x i64>, ptr %797, i32 1
  store ptr %798, ptr %7, align 8, !tbaa !8
  %799 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %797, <2 x i64> noundef %799)
  %800 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %801 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %800, i32 noundef 16)
  store <2 x i64> %801, ptr %10, align 16, !tbaa !5
  %802 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %803 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %804 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %802, <2 x i64> noundef %803)
  store <2 x i64> %804, ptr %9, align 16, !tbaa !5
  br label %805

805:                                              ; preds = %795
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %806 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %807 = bitcast <2 x i64> %806 to <16 x i8>
  %808 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %807, <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>
  %809 = bitcast <16 x i8> %808 to <2 x i64>
  %810 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %811 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %809, <2 x i64> noundef %810)
  store <2 x i64> %811, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %812 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %813 = bitcast <2 x i64> %812 to <16 x i8>
  %814 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %813, <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>
  %815 = bitcast <16 x i8> %814 to <2 x i64>
  %816 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %817 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %815, <2 x i64> noundef %816)
  store <2 x i64> %817, ptr %61, align 16, !tbaa !5
  %818 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %819 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %820 = bitcast <2 x i64> %819 to <4 x i32>
  %821 = shufflevector <4 x i32> %820, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %822 = bitcast <4 x i32> %821 to <2 x i64>
  %823 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %818, <2 x i64> noundef %822)
  store <2 x i64> %823, 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 %824

824:                                              ; preds = %805
  br label %825

825:                                              ; preds = %824
  %826 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %826, ptr %4, align 16, !tbaa !5
  %827 = load ptr, ptr %7, align 8, !tbaa !8
  %828 = getelementptr inbounds <2 x i64>, ptr %827, i32 1
  store ptr %828, ptr %7, align 8, !tbaa !8
  %829 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %827, <2 x i64> noundef %829)
  %830 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %831 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %830, i32 noundef 18)
  store <2 x i64> %831, ptr %10, align 16, !tbaa !5
  %832 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %833 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %834 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %832, <2 x i64> noundef %833)
  store <2 x i64> %834, ptr %9, align 16, !tbaa !5
  br label %835

835:                                              ; preds = %825
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %836 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %837 = bitcast <2 x i64> %836 to <16 x i8>
  %838 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %837, <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>
  %839 = bitcast <16 x i8> %838 to <2 x i64>
  %840 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %841 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %839, <2 x i64> noundef %840)
  store <2 x i64> %841, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %842 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %843 = bitcast <2 x i64> %842 to <16 x i8>
  %844 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %843, <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>
  %845 = bitcast <16 x i8> %844 to <2 x i64>
  %846 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %847 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %845, <2 x i64> noundef %846)
  store <2 x i64> %847, ptr %63, align 16, !tbaa !5
  %848 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %849 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %850 = bitcast <2 x i64> %849 to <4 x i32>
  %851 = shufflevector <4 x i32> %850, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %852 = bitcast <4 x i32> %851 to <2 x i64>
  %853 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %848, <2 x i64> noundef %852)
  store <2 x i64> %853, 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 %854

854:                                              ; preds = %835
  br label %855

855:                                              ; preds = %854
  %856 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %856, ptr %4, align 16, !tbaa !5
  %857 = load ptr, ptr %7, align 8, !tbaa !8
  %858 = getelementptr inbounds <2 x i64>, ptr %857, i32 1
  store ptr %858, ptr %7, align 8, !tbaa !8
  %859 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %857, <2 x i64> noundef %859)
  %860 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %861 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %860, i32 noundef 20)
  store <2 x i64> %861, ptr %10, align 16, !tbaa !5
  %862 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %863 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %864 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %862, <2 x i64> noundef %863)
  store <2 x i64> %864, ptr %9, align 16, !tbaa !5
  br label %865

865:                                              ; preds = %855
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %866 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %867 = bitcast <2 x i64> %866 to <16 x i8>
  %868 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %867, <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>
  %869 = bitcast <16 x i8> %868 to <2 x i64>
  %870 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %871 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %869, <2 x i64> noundef %870)
  store <2 x i64> %871, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %872 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %873 = bitcast <2 x i64> %872 to <16 x i8>
  %874 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %873, <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>
  %875 = bitcast <16 x i8> %874 to <2 x i64>
  %876 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %877 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %875, <2 x i64> noundef %876)
  store <2 x i64> %877, ptr %65, align 16, !tbaa !5
  %878 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %879 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %880 = bitcast <2 x i64> %879 to <4 x i32>
  %881 = shufflevector <4 x i32> %880, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %882 = bitcast <4 x i32> %881 to <2 x i64>
  %883 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %878, <2 x i64> noundef %882)
  store <2 x i64> %883, 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 %884

884:                                              ; preds = %865
  br label %885

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

895:                                              ; preds = %885
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %896 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %897 = bitcast <2 x i64> %896 to <16 x i8>
  %898 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %897, <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>
  %899 = bitcast <16 x i8> %898 to <2 x i64>
  %900 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %901 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %899, <2 x i64> noundef %900)
  store <2 x i64> %901, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %902 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %903 = bitcast <2 x i64> %902 to <16 x i8>
  %904 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %903, <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>
  %905 = bitcast <16 x i8> %904 to <2 x i64>
  %906 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %907 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %905, <2 x i64> noundef %906)
  store <2 x i64> %907, ptr %67, align 16, !tbaa !5
  %908 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %909 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %910 = bitcast <2 x i64> %909 to <4 x i32>
  %911 = shufflevector <4 x i32> %910, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %912 = bitcast <4 x i32> %911 to <2 x i64>
  %913 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %908, <2 x i64> noundef %912)
  store <2 x i64> %913, 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 %914

914:                                              ; preds = %895
  br label %915

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

925:                                              ; preds = %915
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %926 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %927 = bitcast <2 x i64> %926 to <16 x i8>
  %928 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %927, <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>
  %929 = bitcast <16 x i8> %928 to <2 x i64>
  %930 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %931 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %929, <2 x i64> noundef %930)
  store <2 x i64> %931, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %932 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %933 = bitcast <2 x i64> %932 to <16 x i8>
  %934 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %933, <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>
  %935 = bitcast <16 x i8> %934 to <2 x i64>
  %936 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %937 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %935, <2 x i64> noundef %936)
  store <2 x i64> %937, ptr %69, align 16, !tbaa !5
  %938 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %939 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %940 = bitcast <2 x i64> %939 to <4 x i32>
  %941 = shufflevector <4 x i32> %940, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %942 = bitcast <4 x i32> %941 to <2 x i64>
  %943 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %938, <2 x i64> noundef %942)
  store <2 x i64> %943, 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 %944

944:                                              ; preds = %925
  br label %945

945:                                              ; preds = %944
  %946 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %946, ptr %4, align 16, !tbaa !5
  %947 = load ptr, ptr %7, align 8, !tbaa !8
  %948 = getelementptr inbounds <2 x i64>, ptr %947, i32 1
  store ptr %948, ptr %7, align 8, !tbaa !8
  %949 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %947, <2 x i64> noundef %949)
  %950 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %951 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %950, i32 noundef 26)
  store <2 x i64> %951, ptr %10, align 16, !tbaa !5
  %952 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %953 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %954 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %952, <2 x i64> noundef %953)
  store <2 x i64> %954, ptr %9, align 16, !tbaa !5
  br label %955

955:                                              ; preds = %945
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %956 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %957 = bitcast <2 x i64> %956 to <16 x i8>
  %958 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %957, <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>
  %959 = bitcast <16 x i8> %958 to <2 x i64>
  %960 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %961 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %959, <2 x i64> noundef %960)
  store <2 x i64> %961, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %962 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %963 = bitcast <2 x i64> %962 to <16 x i8>
  %964 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %963, <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>
  %965 = bitcast <16 x i8> %964 to <2 x i64>
  %966 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %967 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %965, <2 x i64> noundef %966)
  store <2 x i64> %967, ptr %71, align 16, !tbaa !5
  %968 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %969 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %970 = bitcast <2 x i64> %969 to <4 x i32>
  %971 = shufflevector <4 x i32> %970, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %972 = bitcast <4 x i32> %971 to <2 x i64>
  %973 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %968, <2 x i64> noundef %972)
  store <2 x i64> %973, 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 %974

974:                                              ; preds = %955
  br label %975

975:                                              ; preds = %974
  %976 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %976, ptr %4, align 16, !tbaa !5
  %977 = load ptr, ptr %7, align 8, !tbaa !8
  %978 = getelementptr inbounds <2 x i64>, ptr %977, i32 1
  store ptr %978, ptr %7, align 8, !tbaa !8
  %979 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %977, <2 x i64> noundef %979)
  %980 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %981 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %980, i32 noundef 28)
  store <2 x i64> %981, ptr %10, align 16, !tbaa !5
  %982 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %983 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %984 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %982, <2 x i64> noundef %983)
  store <2 x i64> %984, ptr %9, align 16, !tbaa !5
  br label %985

985:                                              ; preds = %975
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %986 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %987 = bitcast <2 x i64> %986 to <16 x i8>
  %988 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %987, <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>
  %989 = bitcast <16 x i8> %988 to <2 x i64>
  %990 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %991 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %989, <2 x i64> noundef %990)
  store <2 x i64> %991, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %992 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %993 = bitcast <2 x i64> %992 to <16 x i8>
  %994 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %993, <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>
  %995 = bitcast <16 x i8> %994 to <2 x i64>
  %996 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %997 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %995, <2 x i64> noundef %996)
  store <2 x i64> %997, ptr %73, align 16, !tbaa !5
  %998 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %999 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1000 = bitcast <2 x i64> %999 to <4 x i32>
  %1001 = shufflevector <4 x i32> %1000, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1002 = bitcast <4 x i32> %1001 to <2 x i64>
  %1003 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %998, <2 x i64> noundef %1002)
  store <2 x i64> %1003, 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 %1004

1004:                                             ; preds = %985
  br label %1005

1005:                                             ; preds = %1004
  %1006 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1006, ptr %4, align 16, !tbaa !5
  %1007 = load ptr, ptr %7, align 8, !tbaa !8
  %1008 = getelementptr inbounds <2 x i64>, ptr %1007, i32 1
  store ptr %1008, ptr %7, align 8, !tbaa !8
  %1009 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1007, <2 x i64> noundef %1009)
  %1010 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1011 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1010, i32 noundef 30)
  store <2 x i64> %1011, ptr %10, align 16, !tbaa !5
  %1012 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1012, ptr %9, align 16, !tbaa !5
  br label %1013

1013:                                             ; preds = %1005
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1014 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1015 = bitcast <2 x i64> %1014 to <16 x i8>
  %1016 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1015, <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>
  %1017 = bitcast <16 x i8> %1016 to <2 x i64>
  %1018 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1019 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1017, <2 x i64> noundef %1018)
  store <2 x i64> %1019, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1020 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1021 = bitcast <2 x i64> %1020 to <16 x i8>
  %1022 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1021, <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>
  %1023 = bitcast <16 x i8> %1022 to <2 x i64>
  %1024 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1025 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1023, <2 x i64> noundef %1024)
  store <2 x i64> %1025, ptr %75, align 16, !tbaa !5
  %1026 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1027 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1028 = bitcast <2 x i64> %1027 to <4 x i32>
  %1029 = shufflevector <4 x i32> %1028, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1030 = bitcast <4 x i32> %1029 to <2 x i64>
  %1031 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1026, <2 x i64> noundef %1030)
  store <2 x i64> %1031, 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 %1032

1032:                                             ; preds = %1013
  br label %1033

1033:                                             ; preds = %1032
  %1034 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1034, ptr %4, align 16, !tbaa !5
  %1035 = load ptr, ptr %7, align 8, !tbaa !8
  %1036 = getelementptr inbounds <2 x i64>, ptr %1035, i32 1
  store ptr %1036, ptr %7, align 8, !tbaa !8
  %1037 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1035, <2 x i64> noundef %1037)
  %1038 = 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> %1038
}

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

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