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

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

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

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

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

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

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

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

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

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

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

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

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

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

133:                                              ; preds = %114
  br label %134

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

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

163:                                              ; preds = %144
  br label %164

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

174:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %175 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %176 = bitcast <2 x i64> %175 to <16 x i8>
  %177 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %176, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %178 = bitcast <16 x i8> %177 to <2 x i64>
  %179 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %180 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %178, <2 x i64> noundef %179)
  store <2 x i64> %180, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %181 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %182 = bitcast <2 x i64> %181 to <16 x i8>
  %183 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %182, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %184 = bitcast <16 x i8> %183 to <2 x i64>
  %185 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %186 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %184, <2 x i64> noundef %185)
  store <2 x i64> %186, ptr %19, align 16, !tbaa !5
  %187 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %188 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %189 = bitcast <2 x i64> %188 to <4 x i32>
  %190 = shufflevector <4 x i32> %189, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %191 = bitcast <4 x i32> %190 to <2 x i64>
  %192 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %187, <2 x i64> noundef %191)
  store <2 x i64> %192, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #3
  br label %193

193:                                              ; preds = %174
  br label %194

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

204:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %205 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %206 = bitcast <2 x i64> %205 to <16 x i8>
  %207 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %206, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %208 = bitcast <16 x i8> %207 to <2 x i64>
  %209 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %210 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %208, <2 x i64> noundef %209)
  store <2 x i64> %210, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %211 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %212 = bitcast <2 x i64> %211 to <16 x i8>
  %213 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %212, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %214 = bitcast <16 x i8> %213 to <2 x i64>
  %215 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %216 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %214, <2 x i64> noundef %215)
  store <2 x i64> %216, ptr %21, align 16, !tbaa !5
  %217 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %218 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %219 = bitcast <2 x i64> %218 to <4 x i32>
  %220 = shufflevector <4 x i32> %219, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %221 = bitcast <4 x i32> %220 to <2 x i64>
  %222 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %217, <2 x i64> noundef %221)
  store <2 x i64> %222, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #3
  br label %223

223:                                              ; preds = %204
  br label %224

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

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

253:                                              ; preds = %234
  br label %254

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

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

283:                                              ; preds = %264
  br label %284

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

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

313:                                              ; preds = %294
  br label %314

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

324:                                              ; preds = %314
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %325 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %326 = bitcast <2 x i64> %325 to <16 x i8>
  %327 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %326, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %328 = bitcast <16 x i8> %327 to <2 x i64>
  %329 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %330 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %328, <2 x i64> noundef %329)
  store <2 x i64> %330, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %331 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %332 = bitcast <2 x i64> %331 to <16 x i8>
  %333 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %332, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %334 = bitcast <16 x i8> %333 to <2 x i64>
  %335 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %336 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %334, <2 x i64> noundef %335)
  store <2 x i64> %336, ptr %29, align 16, !tbaa !5
  %337 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %338 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %339 = bitcast <2 x i64> %338 to <4 x i32>
  %340 = shufflevector <4 x i32> %339, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %341 = bitcast <4 x i32> %340 to <2 x i64>
  %342 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %337, <2 x i64> noundef %341)
  store <2 x i64> %342, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #3
  br label %343

343:                                              ; preds = %324
  br label %344

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

354:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %355 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %356 = bitcast <2 x i64> %355 to <16 x i8>
  %357 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %356, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %358 = bitcast <16 x i8> %357 to <2 x i64>
  %359 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %360 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %358, <2 x i64> noundef %359)
  store <2 x i64> %360, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %361 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %362 = bitcast <2 x i64> %361 to <16 x i8>
  %363 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %362, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %364 = bitcast <16 x i8> %363 to <2 x i64>
  %365 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %366 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %364, <2 x i64> noundef %365)
  store <2 x i64> %366, ptr %31, align 16, !tbaa !5
  %367 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %368 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %369 = bitcast <2 x i64> %368 to <4 x i32>
  %370 = shufflevector <4 x i32> %369, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %371 = bitcast <4 x i32> %370 to <2 x i64>
  %372 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %367, <2 x i64> noundef %371)
  store <2 x i64> %372, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #3
  br label %373

373:                                              ; preds = %354
  br label %374

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

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

411:                                              ; preds = %392
  br label %412

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

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

441:                                              ; preds = %422
  br label %442

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

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

471:                                              ; preds = %452
  br label %472

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

482:                                              ; preds = %472
  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
  %508 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %507, i32 noundef 10)
  store <2 x i64> %508, ptr %10, align 16, !tbaa !5
  %509 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %510 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %511 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %509, <2 x i64> noundef %510)
  store <2 x i64> %511, ptr %9, align 16, !tbaa !5
  br label %512

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

531:                                              ; preds = %512
  br label %532

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

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

561:                                              ; preds = %542
  br label %562

562:                                              ; preds = %561
  %563 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %563, ptr %4, align 16, !tbaa !5
  %564 = load ptr, ptr %7, align 8, !tbaa !8
  %565 = getelementptr inbounds <2 x i64>, ptr %564, i32 1
  store ptr %565, ptr %7, align 8, !tbaa !8
  %566 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %564, <2 x i64> noundef %566)
  %567 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %568 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %567, i32 noundef 16)
  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 = %562
  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 19)
  store <2 x i64> %598, ptr %10, align 16, !tbaa !5
  %599 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %600 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %601 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %599, <2 x i64> noundef %600)
  store <2 x i64> %601, ptr %9, align 16, !tbaa !5
  br label %602

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

621:                                              ; preds = %602
  br label %622

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

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

651:                                              ; preds = %632
  br label %652

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

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

681:                                              ; preds = %662
  br label %682

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

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

711:                                              ; preds = %692
  br label %712

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

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

749:                                              ; preds = %730
  br label %750

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

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

779:                                              ; preds = %760
  br label %780

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

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

809:                                              ; preds = %790
  br label %810

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

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

839:                                              ; preds = %820
  br label %840

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

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

869:                                              ; preds = %850
  br label %870

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

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

899:                                              ; preds = %880
  br label %900

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

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

929:                                              ; preds = %910
  br label %930

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

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

959:                                              ; preds = %940
  br label %960

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

970:                                              ; preds = %960
  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
  %996 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %995, i32 noundef 26)
  store <2 x i64> %996, ptr %10, align 16, !tbaa !5
  %997 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %998 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %999 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %997, <2 x i64> noundef %998)
  store <2 x i64> %999, ptr %9, align 16, !tbaa !5
  br label %1000

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

1019:                                             ; preds = %1000
  br label %1020

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

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

1047:                                             ; preds = %1028
  br label %1048

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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