; 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> @iunpack16(<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 65535)
  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 16)
  store <2 x i64> %110, ptr %10, align 16, !tbaa !5
  %111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %111, ptr %9, align 16, !tbaa !5
  %112 = load ptr, ptr %5, align 8, !tbaa !8
  %113 = getelementptr inbounds <2 x i64>, ptr %112, i32 1
  store ptr %113, ptr %5, align 8, !tbaa !8
  %114 = load ptr, ptr %5, align 8, !tbaa !8
  %115 = call <2 x i64> @_mm_loadu_si128(ptr noundef %114)
  store <2 x i64> %115, ptr %8, align 16, !tbaa !5
  br label %116

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

135:                                              ; preds = %116
  br label %136

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

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

164:                                              ; preds = %145
  br label %165

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

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

196:                                              ; preds = %177
  br label %197

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

206:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %207 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %208 = bitcast <2 x i64> %207 to <16 x i8>
  %209 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %208, <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>
  %210 = bitcast <16 x i8> %209 to <2 x i64>
  %211 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %212 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %210, <2 x i64> noundef %211)
  store <2 x i64> %212, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %213 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %214 = bitcast <2 x i64> %213 to <16 x i8>
  %215 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %214, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %216 = bitcast <16 x i8> %215 to <2 x i64>
  %217 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %218 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %216, <2 x i64> noundef %217)
  store <2 x i64> %218, ptr %21, align 16, !tbaa !5
  %219 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %220 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %221 = bitcast <2 x i64> %220 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 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %219, <2 x i64> noundef %223)
  store <2 x i64> %224, 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 %225

225:                                              ; preds = %206
  br label %226

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

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

257:                                              ; preds = %238
  br label %258

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

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

286:                                              ; preds = %267
  br label %287

287:                                              ; preds = %286
  %288 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %288, ptr %4, align 16, !tbaa !5
  %289 = load ptr, ptr %7, align 8, !tbaa !8
  %290 = getelementptr inbounds <2 x i64>, ptr %289, i32 1
  store ptr %290, ptr %7, align 8, !tbaa !8
  %291 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %289, <2 x i64> noundef %291)
  %292 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %293 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %292, i32 noundef 16)
  store <2 x i64> %293, ptr %10, align 16, !tbaa !5
  %294 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %294, ptr %9, align 16, !tbaa !5
  %295 = load ptr, ptr %5, align 8, !tbaa !8
  %296 = getelementptr inbounds <2 x i64>, ptr %295, i32 1
  store ptr %296, ptr %5, align 8, !tbaa !8
  %297 = load ptr, ptr %5, align 8, !tbaa !8
  %298 = call <2 x i64> @_mm_loadu_si128(ptr noundef %297)
  store <2 x i64> %298, ptr %8, align 16, !tbaa !5
  br label %299

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

318:                                              ; preds = %299
  br label %319

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

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

347:                                              ; preds = %328
  br label %348

348:                                              ; preds = %347
  %349 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %349, ptr %4, align 16, !tbaa !5
  %350 = load ptr, ptr %7, align 8, !tbaa !8
  %351 = getelementptr inbounds <2 x i64>, ptr %350, i32 1
  store ptr %351, ptr %7, align 8, !tbaa !8
  %352 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %350, <2 x i64> noundef %352)
  %353 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %354 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %353, i32 noundef 16)
  store <2 x i64> %354, ptr %10, align 16, !tbaa !5
  %355 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %355, ptr %9, align 16, !tbaa !5
  %356 = load ptr, ptr %5, align 8, !tbaa !8
  %357 = getelementptr inbounds <2 x i64>, ptr %356, i32 1
  store ptr %357, ptr %5, align 8, !tbaa !8
  %358 = load ptr, ptr %5, align 8, !tbaa !8
  %359 = call <2 x i64> @_mm_loadu_si128(ptr noundef %358)
  store <2 x i64> %359, ptr %8, align 16, !tbaa !5
  br label %360

360:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %361 = load <2 x i64>, ptr %9, 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 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>
  %364 = bitcast <16 x i8> %363 to <2 x i64>
  %365 = load <2 x i64>, ptr %9, 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 %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %367 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %368 = bitcast <2 x i64> %367 to <16 x i8>
  %369 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %368, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %370 = bitcast <16 x i8> %369 to <2 x i64>
  %371 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %372 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %370, <2 x i64> noundef %371)
  store <2 x i64> %372, ptr %31, align 16, !tbaa !5
  %373 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %374 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %375 = bitcast <2 x i64> %374 to <4 x i32>
  %376 = shufflevector <4 x i32> %375, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %377 = bitcast <4 x i32> %376 to <2 x i64>
  %378 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %373, <2 x i64> noundef %377)
  store <2 x i64> %378, 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 %379

379:                                              ; preds = %360
  br label %380

380:                                              ; preds = %379
  %381 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %381, ptr %4, align 16, !tbaa !5
  %382 = load ptr, ptr %7, align 8, !tbaa !8
  %383 = getelementptr inbounds <2 x i64>, ptr %382, i32 1
  store ptr %383, ptr %7, align 8, !tbaa !8
  %384 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %382, <2 x i64> noundef %384)
  %385 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %385, ptr %10, align 16, !tbaa !5
  %386 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %387 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %388 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %386, <2 x i64> noundef %387)
  store <2 x i64> %388, ptr %9, align 16, !tbaa !5
  br label %389

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

408:                                              ; preds = %389
  br label %409

409:                                              ; preds = %408
  %410 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %410, ptr %4, align 16, !tbaa !5
  %411 = load ptr, ptr %7, align 8, !tbaa !8
  %412 = getelementptr inbounds <2 x i64>, ptr %411, i32 1
  store ptr %412, ptr %7, align 8, !tbaa !8
  %413 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %411, <2 x i64> noundef %413)
  %414 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %415 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %414, i32 noundef 16)
  store <2 x i64> %415, ptr %10, align 16, !tbaa !5
  %416 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %416, ptr %9, align 16, !tbaa !5
  %417 = load ptr, ptr %5, align 8, !tbaa !8
  %418 = getelementptr inbounds <2 x i64>, ptr %417, i32 1
  store ptr %418, ptr %5, align 8, !tbaa !8
  %419 = load ptr, ptr %5, align 8, !tbaa !8
  %420 = call <2 x i64> @_mm_loadu_si128(ptr noundef %419)
  store <2 x i64> %420, ptr %8, align 16, !tbaa !5
  br label %421

421:                                              ; preds = %409
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %422 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %423 = bitcast <2 x i64> %422 to <16 x i8>
  %424 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %423, <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>
  %425 = bitcast <16 x i8> %424 to <2 x i64>
  %426 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %427 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %425, <2 x i64> noundef %426)
  store <2 x i64> %427, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %428 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %429 = bitcast <2 x i64> %428 to <16 x i8>
  %430 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %429, <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>
  %431 = bitcast <16 x i8> %430 to <2 x i64>
  %432 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %433 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %431, <2 x i64> noundef %432)
  store <2 x i64> %433, ptr %35, align 16, !tbaa !5
  %434 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %435 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %436 = bitcast <2 x i64> %435 to <4 x i32>
  %437 = shufflevector <4 x i32> %436, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %438 = bitcast <4 x i32> %437 to <2 x i64>
  %439 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %434, <2 x i64> noundef %438)
  store <2 x i64> %439, 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 %440

440:                                              ; preds = %421
  br label %441

441:                                              ; preds = %440
  %442 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %442, ptr %4, align 16, !tbaa !5
  %443 = load ptr, ptr %7, align 8, !tbaa !8
  %444 = getelementptr inbounds <2 x i64>, ptr %443, i32 1
  store ptr %444, ptr %7, align 8, !tbaa !8
  %445 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %443, <2 x i64> noundef %445)
  %446 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %446, ptr %10, align 16, !tbaa !5
  %447 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %448 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %449 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %447, <2 x i64> noundef %448)
  store <2 x i64> %449, ptr %9, align 16, !tbaa !5
  br label %450

450:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %451 = load <2 x i64>, ptr %9, 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 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>
  %454 = bitcast <16 x i8> %453 to <2 x i64>
  %455 = load <2 x i64>, ptr %9, 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 %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %457 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %458 = bitcast <2 x i64> %457 to <16 x i8>
  %459 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %458, <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>
  %460 = bitcast <16 x i8> %459 to <2 x i64>
  %461 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %462 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %460, <2 x i64> noundef %461)
  store <2 x i64> %462, ptr %37, align 16, !tbaa !5
  %463 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %464 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %465 = bitcast <2 x i64> %464 to <4 x i32>
  %466 = shufflevector <4 x i32> %465, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %467 = bitcast <4 x i32> %466 to <2 x i64>
  %468 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %463, <2 x i64> noundef %467)
  store <2 x i64> %468, 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 %469

469:                                              ; preds = %450
  br label %470

470:                                              ; preds = %469
  %471 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %471, ptr %4, align 16, !tbaa !5
  %472 = load ptr, ptr %7, align 8, !tbaa !8
  %473 = getelementptr inbounds <2 x i64>, ptr %472, i32 1
  store ptr %473, ptr %7, align 8, !tbaa !8
  %474 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %472, <2 x i64> noundef %474)
  %475 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %476 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %475, i32 noundef 16)
  store <2 x i64> %476, ptr %10, align 16, !tbaa !5
  %477 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %477, ptr %9, align 16, !tbaa !5
  %478 = load ptr, ptr %5, align 8, !tbaa !8
  %479 = getelementptr inbounds <2 x i64>, ptr %478, i32 1
  store ptr %479, ptr %5, align 8, !tbaa !8
  %480 = load ptr, ptr %5, align 8, !tbaa !8
  %481 = call <2 x i64> @_mm_loadu_si128(ptr noundef %480)
  store <2 x i64> %481, ptr %8, align 16, !tbaa !5
  br label %482

482:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %483 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %484 = bitcast <2 x i64> %483 to <16 x i8>
  %485 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %484, <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>
  %486 = bitcast <16 x i8> %485 to <2 x i64>
  %487 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %488 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %486, <2 x i64> noundef %487)
  store <2 x i64> %488, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %489 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %490 = bitcast <2 x i64> %489 to <16 x i8>
  %491 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %490, <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>
  %492 = bitcast <16 x i8> %491 to <2 x i64>
  %493 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %494 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %492, <2 x i64> noundef %493)
  store <2 x i64> %494, ptr %39, align 16, !tbaa !5
  %495 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %496 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %497 = bitcast <2 x i64> %496 to <4 x i32>
  %498 = shufflevector <4 x i32> %497, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %499 = bitcast <4 x i32> %498 to <2 x i64>
  %500 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %495, <2 x i64> noundef %499)
  store <2 x i64> %500, 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 %501

501:                                              ; preds = %482
  br label %502

502:                                              ; preds = %501
  %503 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %503, ptr %4, align 16, !tbaa !5
  %504 = load ptr, ptr %7, align 8, !tbaa !8
  %505 = getelementptr inbounds <2 x i64>, ptr %504, i32 1
  store ptr %505, ptr %7, align 8, !tbaa !8
  %506 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %504, <2 x i64> noundef %506)
  %507 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %507, ptr %10, align 16, !tbaa !5
  %508 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %509 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %510 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %508, <2 x i64> noundef %509)
  store <2 x i64> %510, ptr %9, align 16, !tbaa !5
  br label %511

511:                                              ; preds = %502
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %512 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %513 = bitcast <2 x i64> %512 to <16 x i8>
  %514 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %513, <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>
  %515 = bitcast <16 x i8> %514 to <2 x i64>
  %516 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %517 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %515, <2 x i64> noundef %516)
  store <2 x i64> %517, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %518 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %519 = bitcast <2 x i64> %518 to <16 x i8>
  %520 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %519, <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>
  %521 = bitcast <16 x i8> %520 to <2 x i64>
  %522 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %523 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %521, <2 x i64> noundef %522)
  store <2 x i64> %523, ptr %41, align 16, !tbaa !5
  %524 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %525 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %526 = bitcast <2 x i64> %525 to <4 x i32>
  %527 = shufflevector <4 x i32> %526, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %528 = bitcast <4 x i32> %527 to <2 x i64>
  %529 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %524, <2 x i64> noundef %528)
  store <2 x i64> %529, 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 %530

530:                                              ; preds = %511
  br label %531

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

543:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %544 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %545 = bitcast <2 x i64> %544 to <16 x i8>
  %546 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %545, <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>
  %547 = bitcast <16 x i8> %546 to <2 x i64>
  %548 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %549 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %547, <2 x i64> noundef %548)
  store <2 x i64> %549, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %550 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %551 = bitcast <2 x i64> %550 to <16 x i8>
  %552 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %551, <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>
  %553 = bitcast <16 x i8> %552 to <2 x i64>
  %554 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %555 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %553, <2 x i64> noundef %554)
  store <2 x i64> %555, ptr %43, align 16, !tbaa !5
  %556 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %557 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %558 = bitcast <2 x i64> %557 to <4 x i32>
  %559 = shufflevector <4 x i32> %558, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %560 = bitcast <4 x i32> %559 to <2 x i64>
  %561 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %556, <2 x i64> noundef %560)
  store <2 x i64> %561, 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 %562

562:                                              ; preds = %543
  br label %563

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

572:                                              ; preds = %563
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %573 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %574 = bitcast <2 x i64> %573 to <16 x i8>
  %575 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %574, <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>
  %576 = bitcast <16 x i8> %575 to <2 x i64>
  %577 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %578 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %576, <2 x i64> noundef %577)
  store <2 x i64> %578, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %579 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %580 = bitcast <2 x i64> %579 to <16 x i8>
  %581 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %580, <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>
  %582 = bitcast <16 x i8> %581 to <2 x i64>
  %583 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %584 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %582, <2 x i64> noundef %583)
  store <2 x i64> %584, ptr %45, align 16, !tbaa !5
  %585 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %586 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %587 = bitcast <2 x i64> %586 to <4 x i32>
  %588 = shufflevector <4 x i32> %587, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %589 = bitcast <4 x i32> %588 to <2 x i64>
  %590 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %585, <2 x i64> noundef %589)
  store <2 x i64> %590, 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 %591

591:                                              ; preds = %572
  br label %592

592:                                              ; preds = %591
  %593 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %593, ptr %4, align 16, !tbaa !5
  %594 = load ptr, ptr %7, align 8, !tbaa !8
  %595 = getelementptr inbounds <2 x i64>, ptr %594, i32 1
  store ptr %595, ptr %7, align 8, !tbaa !8
  %596 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %594, <2 x i64> noundef %596)
  %597 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %598 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %597, i32 noundef 16)
  store <2 x i64> %598, ptr %10, align 16, !tbaa !5
  %599 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %599, ptr %9, align 16, !tbaa !5
  %600 = load ptr, ptr %5, align 8, !tbaa !8
  %601 = getelementptr inbounds <2 x i64>, ptr %600, i32 1
  store ptr %601, ptr %5, align 8, !tbaa !8
  %602 = load ptr, ptr %5, align 8, !tbaa !8
  %603 = call <2 x i64> @_mm_loadu_si128(ptr noundef %602)
  store <2 x i64> %603, ptr %8, align 16, !tbaa !5
  br label %604

604:                                              ; preds = %592
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %605 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %606 = bitcast <2 x i64> %605 to <16 x i8>
  %607 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %606, <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>
  %608 = bitcast <16 x i8> %607 to <2 x i64>
  %609 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %610 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %608, <2 x i64> noundef %609)
  store <2 x i64> %610, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %611 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %612 = bitcast <2 x i64> %611 to <16 x i8>
  %613 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %612, <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>
  %614 = bitcast <16 x i8> %613 to <2 x i64>
  %615 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %616 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %614, <2 x i64> noundef %615)
  store <2 x i64> %616, ptr %47, align 16, !tbaa !5
  %617 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %618 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %619 = bitcast <2 x i64> %618 to <4 x i32>
  %620 = shufflevector <4 x i32> %619, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %621 = bitcast <4 x i32> %620 to <2 x i64>
  %622 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %617, <2 x i64> noundef %621)
  store <2 x i64> %622, 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 %623

623:                                              ; preds = %604
  br label %624

624:                                              ; preds = %623
  %625 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %625, ptr %4, align 16, !tbaa !5
  %626 = load ptr, ptr %7, align 8, !tbaa !8
  %627 = getelementptr inbounds <2 x i64>, ptr %626, i32 1
  store ptr %627, ptr %7, align 8, !tbaa !8
  %628 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %626, <2 x i64> noundef %628)
  %629 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %629, ptr %10, align 16, !tbaa !5
  %630 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %631 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %632 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %630, <2 x i64> noundef %631)
  store <2 x i64> %632, ptr %9, align 16, !tbaa !5
  br label %633

633:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %634 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %635 = bitcast <2 x i64> %634 to <16 x i8>
  %636 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %635, <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>
  %637 = bitcast <16 x i8> %636 to <2 x i64>
  %638 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %639 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %637, <2 x i64> noundef %638)
  store <2 x i64> %639, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %640 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %641 = bitcast <2 x i64> %640 to <16 x i8>
  %642 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %641, <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>
  %643 = bitcast <16 x i8> %642 to <2 x i64>
  %644 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %645 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %643, <2 x i64> noundef %644)
  store <2 x i64> %645, ptr %49, align 16, !tbaa !5
  %646 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %647 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %648 = bitcast <2 x i64> %647 to <4 x i32>
  %649 = shufflevector <4 x i32> %648, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %650 = bitcast <4 x i32> %649 to <2 x i64>
  %651 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %646, <2 x i64> noundef %650)
  store <2 x i64> %651, 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 %652

652:                                              ; preds = %633
  br label %653

653:                                              ; preds = %652
  %654 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %654, ptr %4, align 16, !tbaa !5
  %655 = load ptr, ptr %7, align 8, !tbaa !8
  %656 = getelementptr inbounds <2 x i64>, ptr %655, i32 1
  store ptr %656, ptr %7, align 8, !tbaa !8
  %657 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %655, <2 x i64> noundef %657)
  %658 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %659 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %658, i32 noundef 16)
  store <2 x i64> %659, ptr %10, align 16, !tbaa !5
  %660 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %660, ptr %9, align 16, !tbaa !5
  %661 = load ptr, ptr %5, align 8, !tbaa !8
  %662 = getelementptr inbounds <2 x i64>, ptr %661, i32 1
  store ptr %662, ptr %5, align 8, !tbaa !8
  %663 = load ptr, ptr %5, align 8, !tbaa !8
  %664 = call <2 x i64> @_mm_loadu_si128(ptr noundef %663)
  store <2 x i64> %664, ptr %8, align 16, !tbaa !5
  br label %665

665:                                              ; preds = %653
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %666 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %667 = bitcast <2 x i64> %666 to <16 x i8>
  %668 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %667, <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>
  %669 = bitcast <16 x i8> %668 to <2 x i64>
  %670 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %671 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %669, <2 x i64> noundef %670)
  store <2 x i64> %671, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %672 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %673 = bitcast <2 x i64> %672 to <16 x i8>
  %674 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %673, <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>
  %675 = bitcast <16 x i8> %674 to <2 x i64>
  %676 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %677 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %675, <2 x i64> noundef %676)
  store <2 x i64> %677, ptr %51, align 16, !tbaa !5
  %678 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %679 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %680 = bitcast <2 x i64> %679 to <4 x i32>
  %681 = shufflevector <4 x i32> %680, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %682 = bitcast <4 x i32> %681 to <2 x i64>
  %683 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %678, <2 x i64> noundef %682)
  store <2 x i64> %683, 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 %684

684:                                              ; preds = %665
  br label %685

685:                                              ; preds = %684
  %686 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %686, ptr %4, align 16, !tbaa !5
  %687 = load ptr, ptr %7, align 8, !tbaa !8
  %688 = getelementptr inbounds <2 x i64>, ptr %687, i32 1
  store ptr %688, ptr %7, align 8, !tbaa !8
  %689 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %687, <2 x i64> noundef %689)
  %690 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %690, ptr %10, align 16, !tbaa !5
  %691 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %692 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %693 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %691, <2 x i64> noundef %692)
  store <2 x i64> %693, ptr %9, align 16, !tbaa !5
  br label %694

694:                                              ; preds = %685
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %695 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %696 = bitcast <2 x i64> %695 to <16 x i8>
  %697 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %696, <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>
  %698 = bitcast <16 x i8> %697 to <2 x i64>
  %699 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %700 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %698, <2 x i64> noundef %699)
  store <2 x i64> %700, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %701 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %702 = bitcast <2 x i64> %701 to <16 x i8>
  %703 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %702, <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>
  %704 = bitcast <16 x i8> %703 to <2 x i64>
  %705 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %706 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %704, <2 x i64> noundef %705)
  store <2 x i64> %706, ptr %53, align 16, !tbaa !5
  %707 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %708 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %709 = bitcast <2 x i64> %708 to <4 x i32>
  %710 = shufflevector <4 x i32> %709, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %711 = bitcast <4 x i32> %710 to <2 x i64>
  %712 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %707, <2 x i64> noundef %711)
  store <2 x i64> %712, 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 %713

713:                                              ; preds = %694
  br label %714

714:                                              ; preds = %713
  %715 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %715, ptr %4, align 16, !tbaa !5
  %716 = load ptr, ptr %7, align 8, !tbaa !8
  %717 = getelementptr inbounds <2 x i64>, ptr %716, i32 1
  store ptr %717, ptr %7, align 8, !tbaa !8
  %718 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %716, <2 x i64> noundef %718)
  %719 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %720 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %719, i32 noundef 16)
  store <2 x i64> %720, ptr %10, align 16, !tbaa !5
  %721 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %721, ptr %9, align 16, !tbaa !5
  %722 = load ptr, ptr %5, align 8, !tbaa !8
  %723 = getelementptr inbounds <2 x i64>, ptr %722, i32 1
  store ptr %723, ptr %5, align 8, !tbaa !8
  %724 = load ptr, ptr %5, align 8, !tbaa !8
  %725 = call <2 x i64> @_mm_loadu_si128(ptr noundef %724)
  store <2 x i64> %725, ptr %8, align 16, !tbaa !5
  br label %726

726:                                              ; preds = %714
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %727 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %728 = bitcast <2 x i64> %727 to <16 x i8>
  %729 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %728, <16 x i32> <i32 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>
  %730 = bitcast <16 x i8> %729 to <2 x i64>
  %731 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %732 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %730, <2 x i64> noundef %731)
  store <2 x i64> %732, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %733 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %734 = bitcast <2 x i64> %733 to <16 x i8>
  %735 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %734, <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>
  %736 = bitcast <16 x i8> %735 to <2 x i64>
  %737 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %738 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %736, <2 x i64> noundef %737)
  store <2 x i64> %738, ptr %55, align 16, !tbaa !5
  %739 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %740 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %741 = bitcast <2 x i64> %740 to <4 x i32>
  %742 = shufflevector <4 x i32> %741, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %743 = bitcast <4 x i32> %742 to <2 x i64>
  %744 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %739, <2 x i64> noundef %743)
  store <2 x i64> %744, 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 %745

745:                                              ; preds = %726
  br label %746

746:                                              ; preds = %745
  %747 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %747, ptr %4, align 16, !tbaa !5
  %748 = load ptr, ptr %7, align 8, !tbaa !8
  %749 = getelementptr inbounds <2 x i64>, ptr %748, i32 1
  store ptr %749, ptr %7, align 8, !tbaa !8
  %750 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %748, <2 x i64> noundef %750)
  %751 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %751, ptr %10, align 16, !tbaa !5
  %752 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %753 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %754 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %752, <2 x i64> noundef %753)
  store <2 x i64> %754, ptr %9, align 16, !tbaa !5
  br label %755

755:                                              ; preds = %746
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %756 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %757 = bitcast <2 x i64> %756 to <16 x i8>
  %758 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %757, <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>
  %759 = bitcast <16 x i8> %758 to <2 x i64>
  %760 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %761 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %759, <2 x i64> noundef %760)
  store <2 x i64> %761, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %762 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %763 = bitcast <2 x i64> %762 to <16 x i8>
  %764 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %763, <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>
  %765 = bitcast <16 x i8> %764 to <2 x i64>
  %766 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %767 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %765, <2 x i64> noundef %766)
  store <2 x i64> %767, ptr %57, align 16, !tbaa !5
  %768 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %769 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %770 = bitcast <2 x i64> %769 to <4 x i32>
  %771 = shufflevector <4 x i32> %770, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %772 = bitcast <4 x i32> %771 to <2 x i64>
  %773 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %768, <2 x i64> noundef %772)
  store <2 x i64> %773, 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 %774

774:                                              ; preds = %755
  br label %775

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

787:                                              ; preds = %775
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %788 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %789 = bitcast <2 x i64> %788 to <16 x i8>
  %790 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %789, <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>
  %791 = bitcast <16 x i8> %790 to <2 x i64>
  %792 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %793 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %791, <2 x i64> noundef %792)
  store <2 x i64> %793, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %794 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %795 = bitcast <2 x i64> %794 to <16 x i8>
  %796 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %795, <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>
  %797 = bitcast <16 x i8> %796 to <2 x i64>
  %798 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %799 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %797, <2 x i64> noundef %798)
  store <2 x i64> %799, ptr %59, align 16, !tbaa !5
  %800 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %801 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %802 = bitcast <2 x i64> %801 to <4 x i32>
  %803 = shufflevector <4 x i32> %802, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %804 = bitcast <4 x i32> %803 to <2 x i64>
  %805 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %800, <2 x i64> noundef %804)
  store <2 x i64> %805, 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 %806

806:                                              ; preds = %787
  br label %807

807:                                              ; preds = %806
  %808 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %808, ptr %4, align 16, !tbaa !5
  %809 = load ptr, ptr %7, align 8, !tbaa !8
  %810 = getelementptr inbounds <2 x i64>, ptr %809, i32 1
  store ptr %810, ptr %7, align 8, !tbaa !8
  %811 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %809, <2 x i64> noundef %811)
  %812 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %812, ptr %10, align 16, !tbaa !5
  %813 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %814 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %815 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %813, <2 x i64> noundef %814)
  store <2 x i64> %815, ptr %9, align 16, !tbaa !5
  br label %816

816:                                              ; preds = %807
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %817 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %818 = bitcast <2 x i64> %817 to <16 x i8>
  %819 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %818, <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>
  %820 = bitcast <16 x i8> %819 to <2 x i64>
  %821 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %822 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %820, <2 x i64> noundef %821)
  store <2 x i64> %822, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %823 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %824 = bitcast <2 x i64> %823 to <16 x i8>
  %825 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %824, <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>
  %826 = bitcast <16 x i8> %825 to <2 x i64>
  %827 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %828 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %826, <2 x i64> noundef %827)
  store <2 x i64> %828, ptr %61, align 16, !tbaa !5
  %829 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %830 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %831 = bitcast <2 x i64> %830 to <4 x i32>
  %832 = shufflevector <4 x i32> %831, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %833 = bitcast <4 x i32> %832 to <2 x i64>
  %834 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %829, <2 x i64> noundef %833)
  store <2 x i64> %834, 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 %835

835:                                              ; preds = %816
  br label %836

836:                                              ; preds = %835
  %837 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %837, ptr %4, align 16, !tbaa !5
  %838 = load ptr, ptr %7, align 8, !tbaa !8
  %839 = getelementptr inbounds <2 x i64>, ptr %838, i32 1
  store ptr %839, ptr %7, align 8, !tbaa !8
  %840 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %838, <2 x i64> noundef %840)
  %841 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %842 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %841, i32 noundef 16)
  store <2 x i64> %842, ptr %10, align 16, !tbaa !5
  %843 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %843, ptr %9, align 16, !tbaa !5
  %844 = load ptr, ptr %5, align 8, !tbaa !8
  %845 = getelementptr inbounds <2 x i64>, ptr %844, i32 1
  store ptr %845, ptr %5, align 8, !tbaa !8
  %846 = load ptr, ptr %5, align 8, !tbaa !8
  %847 = call <2 x i64> @_mm_loadu_si128(ptr noundef %846)
  store <2 x i64> %847, ptr %8, align 16, !tbaa !5
  br label %848

848:                                              ; preds = %836
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %849 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %850 = bitcast <2 x i64> %849 to <16 x i8>
  %851 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %850, <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>
  %852 = bitcast <16 x i8> %851 to <2 x i64>
  %853 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %854 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %852, <2 x i64> noundef %853)
  store <2 x i64> %854, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %855 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %856 = bitcast <2 x i64> %855 to <16 x i8>
  %857 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %856, <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>
  %858 = bitcast <16 x i8> %857 to <2 x i64>
  %859 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %860 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %858, <2 x i64> noundef %859)
  store <2 x i64> %860, ptr %63, align 16, !tbaa !5
  %861 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %862 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %863 = bitcast <2 x i64> %862 to <4 x i32>
  %864 = shufflevector <4 x i32> %863, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %865 = bitcast <4 x i32> %864 to <2 x i64>
  %866 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %861, <2 x i64> noundef %865)
  store <2 x i64> %866, 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 %867

867:                                              ; preds = %848
  br label %868

868:                                              ; preds = %867
  %869 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %869, ptr %4, align 16, !tbaa !5
  %870 = load ptr, ptr %7, align 8, !tbaa !8
  %871 = getelementptr inbounds <2 x i64>, ptr %870, i32 1
  store ptr %871, ptr %7, align 8, !tbaa !8
  %872 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %870, <2 x i64> noundef %872)
  %873 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %873, ptr %10, align 16, !tbaa !5
  %874 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %875 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %876 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %874, <2 x i64> noundef %875)
  store <2 x i64> %876, ptr %9, align 16, !tbaa !5
  br label %877

877:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %878 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %879 = bitcast <2 x i64> %878 to <16 x i8>
  %880 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %879, <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>
  %881 = bitcast <16 x i8> %880 to <2 x i64>
  %882 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %883 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %881, <2 x i64> noundef %882)
  store <2 x i64> %883, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %884 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %885 = bitcast <2 x i64> %884 to <16 x i8>
  %886 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %885, <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>
  %887 = bitcast <16 x i8> %886 to <2 x i64>
  %888 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %889 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %887, <2 x i64> noundef %888)
  store <2 x i64> %889, ptr %65, align 16, !tbaa !5
  %890 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %891 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %892 = bitcast <2 x i64> %891 to <4 x i32>
  %893 = shufflevector <4 x i32> %892, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %894 = bitcast <4 x i32> %893 to <2 x i64>
  %895 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %890, <2 x i64> noundef %894)
  store <2 x i64> %895, 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 %896

896:                                              ; preds = %877
  br label %897

897:                                              ; preds = %896
  %898 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %898, ptr %4, align 16, !tbaa !5
  %899 = load ptr, ptr %7, align 8, !tbaa !8
  %900 = getelementptr inbounds <2 x i64>, ptr %899, i32 1
  store ptr %900, ptr %7, align 8, !tbaa !8
  %901 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %899, <2 x i64> noundef %901)
  %902 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %903 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %902, i32 noundef 16)
  store <2 x i64> %903, ptr %10, align 16, !tbaa !5
  %904 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %904, ptr %9, align 16, !tbaa !5
  %905 = load ptr, ptr %5, align 8, !tbaa !8
  %906 = getelementptr inbounds <2 x i64>, ptr %905, i32 1
  store ptr %906, ptr %5, align 8, !tbaa !8
  %907 = load ptr, ptr %5, align 8, !tbaa !8
  %908 = call <2 x i64> @_mm_loadu_si128(ptr noundef %907)
  store <2 x i64> %908, ptr %8, align 16, !tbaa !5
  br label %909

909:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %910 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %911 = bitcast <2 x i64> %910 to <16 x i8>
  %912 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %911, <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>
  %913 = bitcast <16 x i8> %912 to <2 x i64>
  %914 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %915 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %913, <2 x i64> noundef %914)
  store <2 x i64> %915, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %916 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %917 = bitcast <2 x i64> %916 to <16 x i8>
  %918 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %917, <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>
  %919 = bitcast <16 x i8> %918 to <2 x i64>
  %920 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %921 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %919, <2 x i64> noundef %920)
  store <2 x i64> %921, ptr %67, align 16, !tbaa !5
  %922 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %923 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %924 = bitcast <2 x i64> %923 to <4 x i32>
  %925 = shufflevector <4 x i32> %924, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %926 = bitcast <4 x i32> %925 to <2 x i64>
  %927 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %922, <2 x i64> noundef %926)
  store <2 x i64> %927, 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 %928

928:                                              ; preds = %909
  br label %929

929:                                              ; preds = %928
  %930 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %930, ptr %4, align 16, !tbaa !5
  %931 = load ptr, ptr %7, align 8, !tbaa !8
  %932 = getelementptr inbounds <2 x i64>, ptr %931, i32 1
  store ptr %932, ptr %7, align 8, !tbaa !8
  %933 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %931, <2 x i64> noundef %933)
  %934 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %934, ptr %10, align 16, !tbaa !5
  %935 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %936 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %937 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %935, <2 x i64> noundef %936)
  store <2 x i64> %937, ptr %9, align 16, !tbaa !5
  br label %938

938:                                              ; preds = %929
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %939 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %940 = bitcast <2 x i64> %939 to <16 x i8>
  %941 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %940, <16 x i32> <i32 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>
  %942 = bitcast <16 x i8> %941 to <2 x i64>
  %943 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %944 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %942, <2 x i64> noundef %943)
  store <2 x i64> %944, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %945 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %946 = bitcast <2 x i64> %945 to <16 x i8>
  %947 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %946, <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>
  %948 = bitcast <16 x i8> %947 to <2 x i64>
  %949 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %950 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %948, <2 x i64> noundef %949)
  store <2 x i64> %950, ptr %69, align 16, !tbaa !5
  %951 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %952 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %953 = bitcast <2 x i64> %952 to <4 x i32>
  %954 = shufflevector <4 x i32> %953, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %955 = bitcast <4 x i32> %954 to <2 x i64>
  %956 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %951, <2 x i64> noundef %955)
  store <2 x i64> %956, 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 %957

957:                                              ; preds = %938
  br label %958

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

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

989:                                              ; preds = %970
  br label %990

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

999:                                              ; preds = %990
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1000 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1001 = bitcast <2 x i64> %1000 to <16 x i8>
  %1002 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1001, <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>
  %1003 = bitcast <16 x i8> %1002 to <2 x i64>
  %1004 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1005 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1003, <2 x i64> noundef %1004)
  store <2 x i64> %1005, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1006 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1007 = bitcast <2 x i64> %1006 to <16 x i8>
  %1008 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1007, <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>
  %1009 = bitcast <16 x i8> %1008 to <2 x i64>
  %1010 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1011 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1009, <2 x i64> noundef %1010)
  store <2 x i64> %1011, ptr %73, align 16, !tbaa !5
  %1012 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1013 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1014 = bitcast <2 x i64> %1013 to <4 x i32>
  %1015 = shufflevector <4 x i32> %1014, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1016 = bitcast <4 x i32> %1015 to <2 x i64>
  %1017 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1012, <2 x i64> noundef %1016)
  store <2 x i64> %1017, 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 %1018

1018:                                             ; preds = %999
  br label %1019

1019:                                             ; preds = %1018
  %1020 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1020, ptr %4, align 16, !tbaa !5
  %1021 = load ptr, ptr %7, align 8, !tbaa !8
  %1022 = getelementptr inbounds <2 x i64>, ptr %1021, i32 1
  store ptr %1022, ptr %7, align 8, !tbaa !8
  %1023 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1021, <2 x i64> noundef %1023)
  %1024 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1025 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1024, i32 noundef 16)
  store <2 x i64> %1025, ptr %10, align 16, !tbaa !5
  %1026 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1026, ptr %9, align 16, !tbaa !5
  br label %1027

1027:                                             ; preds = %1019
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1028 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1029 = bitcast <2 x i64> %1028 to <16 x i8>
  %1030 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1029, <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>
  %1031 = bitcast <16 x i8> %1030 to <2 x i64>
  %1032 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1033 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1031, <2 x i64> noundef %1032)
  store <2 x i64> %1033, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1034 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1035 = bitcast <2 x i64> %1034 to <16 x i8>
  %1036 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1035, <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>
  %1037 = bitcast <16 x i8> %1036 to <2 x i64>
  %1038 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1039 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1037, <2 x i64> noundef %1038)
  store <2 x i64> %1039, ptr %75, align 16, !tbaa !5
  %1040 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1041 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1042 = bitcast <2 x i64> %1041 to <4 x i32>
  %1043 = shufflevector <4 x i32> %1042, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1044 = bitcast <4 x i32> %1043 to <2 x i64>
  %1045 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1040, <2 x i64> noundef %1044)
  store <2 x i64> %1045, 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 %1046

1046:                                             ; preds = %1027
  br label %1047

1047:                                             ; preds = %1046
  %1048 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1048, ptr %4, align 16, !tbaa !5
  %1049 = load ptr, ptr %7, align 8, !tbaa !8
  %1050 = getelementptr inbounds <2 x i64>, ptr %1049, i32 1
  store ptr %1050, ptr %7, align 8, !tbaa !8
  %1051 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1049, <2 x i64> noundef %1051)
  %1052 = 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> %1052
}

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> @iunpack16(<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 65535)
  %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 16)
  %19 = getelementptr inbounds i8, ptr %1, i64 16
  %20 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %19)
  %21 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %18, <2 x i32> <i32 1, i32 2>
  %22 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %21, <2 x i64> noundef %18)
  %23 = bitcast <2 x i64> %22 to <16 x i8>
  %24 = 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> %23, <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>
  %25 = bitcast <16 x i8> %24 to <2 x i64>
  %26 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %25, <2 x i64> noundef %22)
  %27 = bitcast <2 x i64> %16 to <4 x i32>
  %28 = shufflevector <4 x i32> %27, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %29 = bitcast <4 x i32> %28 to <2 x i64>
  %30 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %26, <2 x i64> noundef %29)
  %31 = getelementptr inbounds i8, ptr %2, i64 32
  tail call void @_mm_storeu_si128(ptr noundef nonnull %17, <2 x i64> noundef %30)
  %32 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %20, <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> %30 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 %31, <2 x i64> noundef %42)
  %44 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %20, i32 noundef 16)
  %45 = getelementptr inbounds i8, ptr %1, i64 32
  %46 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %45)
  %47 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %44, <2 x i32> <i32 1, i32 2>
  %48 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %47, <2 x i64> noundef %44)
  %49 = bitcast <2 x i64> %48 to <16 x i8>
  %50 = 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> %49, <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>
  %51 = bitcast <16 x i8> %50 to <2 x i64>
  %52 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %51, <2 x i64> noundef %48)
  %53 = bitcast <2 x i64> %42 to <4 x i32>
  %54 = shufflevector <4 x i32> %53, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %55 = bitcast <4 x i32> %54 to <2 x i64>
  %56 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %52, <2 x i64> noundef %55)
  %57 = getelementptr inbounds i8, ptr %2, i64 64
  tail call void @_mm_storeu_si128(ptr noundef nonnull %43, <2 x i64> noundef %56)
  %58 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %46, <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> %56 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 %57, <2 x i64> noundef %68)
  %70 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %46, i32 noundef 16)
  %71 = getelementptr inbounds i8, ptr %1, i64 48
  %72 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %71)
  %73 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %70, <2 x i32> <i32 1, i32 2>
  %74 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %73, <2 x i64> noundef %70)
  %75 = bitcast <2 x i64> %74 to <16 x i8>
  %76 = 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> %75, <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>
  %77 = bitcast <16 x i8> %76 to <2 x i64>
  %78 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %77, <2 x i64> noundef %74)
  %79 = bitcast <2 x i64> %68 to <4 x i32>
  %80 = shufflevector <4 x i32> %79, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %81 = bitcast <4 x i32> %80 to <2 x i64>
  %82 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %78, <2 x i64> noundef %81)
  %83 = getelementptr inbounds i8, ptr %2, i64 96
  tail call void @_mm_storeu_si128(ptr noundef nonnull %69, <2 x i64> noundef %82)
  %84 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %72, <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> %82 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 %83, <2 x i64> noundef %94)
  %96 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %72, i32 noundef 16)
  %97 = getelementptr inbounds i8, ptr %1, i64 64
  %98 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %97)
  %99 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %96, <2 x i32> <i32 1, i32 2>
  %100 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %99, <2 x i64> noundef %96)
  %101 = bitcast <2 x i64> %100 to <16 x i8>
  %102 = 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> %101, <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>
  %103 = bitcast <16 x i8> %102 to <2 x i64>
  %104 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %103, <2 x i64> noundef %100)
  %105 = bitcast <2 x i64> %94 to <4 x i32>
  %106 = shufflevector <4 x i32> %105, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %107 = bitcast <4 x i32> %106 to <2 x i64>
  %108 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %104, <2 x i64> noundef %107)
  %109 = getelementptr inbounds i8, ptr %2, i64 128
  tail call void @_mm_storeu_si128(ptr noundef nonnull %95, <2 x i64> noundef %108)
  %110 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %98, <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> %108 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 %109, <2 x i64> noundef %120)
  %122 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 16)
  %123 = getelementptr inbounds i8, ptr %1, i64 80
  %124 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %123)
  %125 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %122, <2 x i32> <i32 1, i32 2>
  %126 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %125, <2 x i64> noundef %122)
  %127 = bitcast <2 x i64> %126 to <16 x i8>
  %128 = 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> %127, <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>
  %129 = bitcast <16 x i8> %128 to <2 x i64>
  %130 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %129, <2 x i64> noundef %126)
  %131 = bitcast <2 x i64> %120 to <4 x i32>
  %132 = shufflevector <4 x i32> %131, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %133 = bitcast <4 x i32> %132 to <2 x i64>
  %134 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %130, <2 x i64> noundef %133)
  %135 = getelementptr inbounds i8, ptr %2, i64 160
  tail call void @_mm_storeu_si128(ptr noundef nonnull %121, <2 x i64> noundef %134)
  %136 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %124, <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> %134 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 %135, <2 x i64> noundef %146)
  %148 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %124, i32 noundef 16)
  %149 = getelementptr inbounds i8, ptr %1, i64 96
  %150 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %149)
  %151 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %148, <2 x i32> <i32 1, i32 2>
  %152 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %151, <2 x i64> noundef %148)
  %153 = bitcast <2 x i64> %152 to <16 x i8>
  %154 = 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> %153, <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>
  %155 = bitcast <16 x i8> %154 to <2 x i64>
  %156 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %155, <2 x i64> noundef %152)
  %157 = bitcast <2 x i64> %146 to <4 x i32>
  %158 = shufflevector <4 x i32> %157, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %159 = bitcast <4 x i32> %158 to <2 x i64>
  %160 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %156, <2 x i64> noundef %159)
  %161 = getelementptr inbounds i8, ptr %2, i64 192
  tail call void @_mm_storeu_si128(ptr noundef nonnull %147, <2 x i64> noundef %160)
  %162 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %150, <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> %160 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 %161, <2 x i64> noundef %172)
  %174 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %150, i32 noundef 16)
  %175 = getelementptr inbounds i8, ptr %1, i64 112
  %176 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %175)
  %177 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %174, <2 x i32> <i32 1, i32 2>
  %178 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %177, <2 x i64> noundef %174)
  %179 = bitcast <2 x i64> %178 to <16 x i8>
  %180 = 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> %179, <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>
  %181 = bitcast <16 x i8> %180 to <2 x i64>
  %182 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %181, <2 x i64> noundef %178)
  %183 = bitcast <2 x i64> %172 to <4 x i32>
  %184 = shufflevector <4 x i32> %183, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %185 = bitcast <4 x i32> %184 to <2 x i64>
  %186 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %182, <2 x i64> noundef %185)
  %187 = getelementptr inbounds i8, ptr %2, i64 224
  tail call void @_mm_storeu_si128(ptr noundef nonnull %173, <2 x i64> noundef %186)
  %188 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %176, <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> %186 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 %187, <2 x i64> noundef %198)
  %200 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %176, i32 noundef 16)
  %201 = getelementptr inbounds i8, ptr %1, i64 128
  %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 16)
  %227 = getelementptr inbounds i8, ptr %1, i64 144
  %228 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %227)
  %229 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %226, <2 x i32> <i32 1, i32 2>
  %230 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %229, <2 x i64> noundef %226)
  %231 = bitcast <2 x i64> %230 to <16 x i8>
  %232 = 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> %231, <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>
  %233 = bitcast <16 x i8> %232 to <2 x i64>
  %234 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %233, <2 x i64> noundef %230)
  %235 = bitcast <2 x i64> %224 to <4 x i32>
  %236 = shufflevector <4 x i32> %235, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %237 = bitcast <4 x i32> %236 to <2 x i64>
  %238 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %234, <2 x i64> noundef %237)
  %239 = getelementptr inbounds i8, ptr %2, i64 288
  tail call void @_mm_storeu_si128(ptr noundef nonnull %225, <2 x i64> noundef %238)
  %240 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %228, <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> %238 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 %239, <2 x i64> noundef %250)
  %252 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %228, i32 noundef 16)
  %253 = getelementptr inbounds i8, ptr %1, i64 160
  %254 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %253)
  %255 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %252, <2 x i32> <i32 1, i32 2>
  %256 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %255, <2 x i64> noundef %252)
  %257 = bitcast <2 x i64> %256 to <16 x i8>
  %258 = 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> %257, <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>
  %259 = bitcast <16 x i8> %258 to <2 x i64>
  %260 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %259, <2 x i64> noundef %256)
  %261 = bitcast <2 x i64> %250 to <4 x i32>
  %262 = shufflevector <4 x i32> %261, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %263 = bitcast <4 x i32> %262 to <2 x i64>
  %264 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %260, <2 x i64> noundef %263)
  %265 = getelementptr inbounds i8, ptr %2, i64 320
  tail call void @_mm_storeu_si128(ptr noundef nonnull %251, <2 x i64> noundef %264)
  %266 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %254, <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> %264 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 %265, <2 x i64> noundef %276)
  %278 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %254, i32 noundef 16)
  %279 = getelementptr inbounds i8, ptr %1, i64 176
  %280 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %279)
  %281 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %278, <2 x i32> <i32 1, i32 2>
  %282 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %281, <2 x i64> noundef %278)
  %283 = bitcast <2 x i64> %282 to <16 x i8>
  %284 = 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> %283, <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>
  %285 = bitcast <16 x i8> %284 to <2 x i64>
  %286 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %285, <2 x i64> noundef %282)
  %287 = bitcast <2 x i64> %276 to <4 x i32>
  %288 = shufflevector <4 x i32> %287, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %289 = bitcast <4 x i32> %288 to <2 x i64>
  %290 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %286, <2 x i64> noundef %289)
  %291 = getelementptr inbounds i8, ptr %2, i64 352
  tail call void @_mm_storeu_si128(ptr noundef nonnull %277, <2 x i64> noundef %290)
  %292 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %280, <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> %290 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 %291, <2 x i64> noundef %302)
  %304 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %280, i32 noundef 16)
  %305 = getelementptr inbounds i8, ptr %1, i64 192
  %306 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %305)
  %307 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %304, <2 x i32> <i32 1, i32 2>
  %308 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %307, <2 x i64> noundef %304)
  %309 = bitcast <2 x i64> %308 to <16 x i8>
  %310 = 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> %309, <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>
  %311 = bitcast <16 x i8> %310 to <2 x i64>
  %312 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %311, <2 x i64> noundef %308)
  %313 = bitcast <2 x i64> %302 to <4 x i32>
  %314 = shufflevector <4 x i32> %313, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %315 = bitcast <4 x i32> %314 to <2 x i64>
  %316 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %312, <2 x i64> noundef %315)
  %317 = getelementptr inbounds i8, ptr %2, i64 384
  tail call void @_mm_storeu_si128(ptr noundef nonnull %303, <2 x i64> noundef %316)
  %318 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %306, <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> %316 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 %317, <2 x i64> noundef %328)
  %330 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 16)
  %331 = getelementptr inbounds i8, ptr %1, i64 208
  %332 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %331)
  %333 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %330, <2 x i32> <i32 1, i32 2>
  %334 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %333, <2 x i64> noundef %330)
  %335 = bitcast <2 x i64> %334 to <16 x i8>
  %336 = 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> %335, <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>
  %337 = bitcast <16 x i8> %336 to <2 x i64>
  %338 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %337, <2 x i64> noundef %334)
  %339 = bitcast <2 x i64> %328 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 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %338, <2 x i64> noundef %341)
  %343 = getelementptr inbounds i8, ptr %2, i64 416
  tail call void @_mm_storeu_si128(ptr noundef nonnull %329, <2 x i64> noundef %342)
  %344 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %332, <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> %342 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 %343, <2 x i64> noundef %354)
  %356 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %332, i32 noundef 16)
  %357 = getelementptr inbounds i8, ptr %1, i64 224
  %358 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %357)
  %359 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %356, <2 x i32> <i32 1, i32 2>
  %360 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %359, <2 x i64> noundef %356)
  %361 = bitcast <2 x i64> %360 to <16 x i8>
  %362 = 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> %361, <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>
  %363 = bitcast <16 x i8> %362 to <2 x i64>
  %364 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %363, <2 x i64> noundef %360)
  %365 = bitcast <2 x i64> %354 to <4 x i32>
  %366 = shufflevector <4 x i32> %365, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %367 = bitcast <4 x i32> %366 to <2 x i64>
  %368 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %364, <2 x i64> noundef %367)
  %369 = getelementptr inbounds i8, ptr %2, i64 448
  tail call void @_mm_storeu_si128(ptr noundef nonnull %355, <2 x i64> noundef %368)
  %370 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %358, <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> %368 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 %369, <2 x i64> noundef %380)
  %382 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %358, i32 noundef 16)
  %383 = getelementptr inbounds i8, ptr %1, i64 240
  %384 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %383)
  %385 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %382, <2 x i32> <i32 1, i32 2>
  %386 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %385, <2 x i64> noundef %382)
  %387 = bitcast <2 x i64> %386 to <16 x i8>
  %388 = 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> %387, <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>
  %389 = bitcast <16 x i8> %388 to <2 x i64>
  %390 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %389, <2 x i64> noundef %386)
  %391 = bitcast <2 x i64> %380 to <4 x i32>
  %392 = shufflevector <4 x i32> %391, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %393 = bitcast <4 x i32> %392 to <2 x i64>
  %394 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %390, <2 x i64> noundef %393)
  %395 = getelementptr inbounds i8, ptr %2, i64 480
  tail call void @_mm_storeu_si128(ptr noundef nonnull %381, <2 x i64> noundef %394)
  %396 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %384, <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> %394 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 %395, <2 x i64> noundef %406)
  %408 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %384, i32 noundef 16)
  %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