; 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> @iunpack12(<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 4095)
  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 12)
  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 24)
  store <2 x i64> %140, ptr %10, align 16, !tbaa !5
  %141 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %141, ptr %9, align 16, !tbaa !5
  %142 = load ptr, ptr %5, align 8, !tbaa !8
  %143 = getelementptr inbounds <2 x i64>, ptr %142, i32 1
  store ptr %143, ptr %5, align 8, !tbaa !8
  %144 = load ptr, ptr %5, align 8, !tbaa !8
  %145 = call <2 x i64> @_mm_loadu_si128(ptr noundef %144)
  store <2 x i64> %145, ptr %8, align 16, !tbaa !5
  %146 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %147 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %148 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %147, i32 noundef 8)
  %149 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %150 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %148, <2 x i64> noundef %149)
  %151 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %146, <2 x i64> noundef %150)
  store <2 x i64> %151, ptr %9, align 16, !tbaa !5
  br label %152

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

171:                                              ; preds = %152
  br label %172

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

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

201:                                              ; preds = %182
  br label %202

202:                                              ; preds = %201
  %203 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %203, ptr %4, align 16, !tbaa !5
  %204 = load ptr, ptr %7, align 8, !tbaa !8
  %205 = getelementptr inbounds <2 x i64>, ptr %204, i32 1
  store ptr %205, ptr %7, align 8, !tbaa !8
  %206 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %204, <2 x i64> noundef %206)
  %207 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %208 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %207, i32 noundef 16)
  store <2 x i64> %208, ptr %10, align 16, !tbaa !5
  %209 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %210 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %211 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %209, <2 x i64> noundef %210)
  store <2 x i64> %211, ptr %9, align 16, !tbaa !5
  br label %212

212:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %213 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %214 = bitcast <2 x i64> %213 to <16 x i8>
  %215 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %214, <16 x i32> <i32 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>
  %216 = bitcast <16 x i8> %215 to <2 x i64>
  %217 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %218 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %216, <2 x i64> noundef %217)
  store <2 x i64> %218, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %219 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %220 = bitcast <2 x i64> %219 to <16 x i8>
  %221 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %220, <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>
  %222 = bitcast <16 x i8> %221 to <2 x i64>
  %223 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %224 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %222, <2 x i64> noundef %223)
  store <2 x i64> %224, ptr %21, align 16, !tbaa !5
  %225 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %226 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %227 = bitcast <2 x i64> %226 to <4 x i32>
  %228 = shufflevector <4 x i32> %227, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %229 = bitcast <4 x i32> %228 to <2 x i64>
  %230 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %225, <2 x i64> noundef %229)
  store <2 x i64> %230, 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 %231

231:                                              ; preds = %212
  br label %232

232:                                              ; preds = %231
  %233 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %233, ptr %4, align 16, !tbaa !5
  %234 = load ptr, ptr %7, align 8, !tbaa !8
  %235 = getelementptr inbounds <2 x i64>, ptr %234, i32 1
  store ptr %235, ptr %7, align 8, !tbaa !8
  %236 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %234, <2 x i64> noundef %236)
  %237 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %238 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %237, i32 noundef 28)
  store <2 x i64> %238, ptr %10, align 16, !tbaa !5
  %239 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %239, ptr %9, align 16, !tbaa !5
  %240 = load ptr, ptr %5, align 8, !tbaa !8
  %241 = getelementptr inbounds <2 x i64>, ptr %240, i32 1
  store ptr %241, ptr %5, align 8, !tbaa !8
  %242 = load ptr, ptr %5, align 8, !tbaa !8
  %243 = call <2 x i64> @_mm_loadu_si128(ptr noundef %242)
  store <2 x i64> %243, ptr %8, align 16, !tbaa !5
  %244 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %245 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %246 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %245, i32 noundef 4)
  %247 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %248 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %246, <2 x i64> noundef %247)
  %249 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %244, <2 x i64> noundef %248)
  store <2 x i64> %249, ptr %9, align 16, !tbaa !5
  br label %250

250:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %251 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %252 = bitcast <2 x i64> %251 to <16 x i8>
  %253 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %252, <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>
  %254 = bitcast <16 x i8> %253 to <2 x i64>
  %255 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %256 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %254, <2 x i64> noundef %255)
  store <2 x i64> %256, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %257 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %258 = bitcast <2 x i64> %257 to <16 x i8>
  %259 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %258, <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>
  %260 = bitcast <16 x i8> %259 to <2 x i64>
  %261 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %262 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %260, <2 x i64> noundef %261)
  store <2 x i64> %262, ptr %23, align 16, !tbaa !5
  %263 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %264 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %265 = bitcast <2 x i64> %264 to <4 x i32>
  %266 = shufflevector <4 x i32> %265, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %267 = bitcast <4 x i32> %266 to <2 x i64>
  %268 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %263, <2 x i64> noundef %267)
  store <2 x i64> %268, 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 %269

269:                                              ; preds = %250
  br label %270

270:                                              ; preds = %269
  %271 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %271, ptr %4, align 16, !tbaa !5
  %272 = load ptr, ptr %7, align 8, !tbaa !8
  %273 = getelementptr inbounds <2 x i64>, ptr %272, i32 1
  store ptr %273, ptr %7, align 8, !tbaa !8
  %274 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %272, <2 x i64> noundef %274)
  %275 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %276 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %275, i32 noundef 8)
  store <2 x i64> %276, ptr %10, align 16, !tbaa !5
  %277 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %278 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %279 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %277, <2 x i64> noundef %278)
  store <2 x i64> %279, ptr %9, align 16, !tbaa !5
  br label %280

280:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %281 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %282 = bitcast <2 x i64> %281 to <16 x i8>
  %283 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %282, <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>
  %284 = bitcast <16 x i8> %283 to <2 x i64>
  %285 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %286 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %284, <2 x i64> noundef %285)
  store <2 x i64> %286, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %287 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %288 = bitcast <2 x i64> %287 to <16 x i8>
  %289 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %288, <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>
  %290 = bitcast <16 x i8> %289 to <2 x i64>
  %291 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %292 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %290, <2 x i64> noundef %291)
  store <2 x i64> %292, ptr %25, align 16, !tbaa !5
  %293 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %294 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %295 = bitcast <2 x i64> %294 to <4 x i32>
  %296 = shufflevector <4 x i32> %295, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %297 = bitcast <4 x i32> %296 to <2 x i64>
  %298 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %293, <2 x i64> noundef %297)
  store <2 x i64> %298, 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 %299

299:                                              ; preds = %280
  br label %300

300:                                              ; preds = %299
  %301 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %301, ptr %4, align 16, !tbaa !5
  %302 = load ptr, ptr %7, align 8, !tbaa !8
  %303 = getelementptr inbounds <2 x i64>, ptr %302, i32 1
  store ptr %303, ptr %7, align 8, !tbaa !8
  %304 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %302, <2 x i64> noundef %304)
  %305 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %306 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %305, i32 noundef 20)
  store <2 x i64> %306, ptr %10, align 16, !tbaa !5
  %307 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %307, ptr %9, align 16, !tbaa !5
  %308 = load ptr, ptr %5, align 8, !tbaa !8
  %309 = getelementptr inbounds <2 x i64>, ptr %308, i32 1
  store ptr %309, ptr %5, align 8, !tbaa !8
  %310 = load ptr, ptr %5, align 8, !tbaa !8
  %311 = call <2 x i64> @_mm_loadu_si128(ptr noundef %310)
  store <2 x i64> %311, ptr %8, align 16, !tbaa !5
  br label %312

312:                                              ; preds = %300
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %313 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %314 = bitcast <2 x i64> %313 to <16 x i8>
  %315 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %314, <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>
  %316 = bitcast <16 x i8> %315 to <2 x i64>
  %317 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %318 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %316, <2 x i64> noundef %317)
  store <2 x i64> %318, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %319 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %320 = bitcast <2 x i64> %319 to <16 x i8>
  %321 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %320, <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>
  %322 = bitcast <16 x i8> %321 to <2 x i64>
  %323 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %324 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %322, <2 x i64> noundef %323)
  store <2 x i64> %324, ptr %27, align 16, !tbaa !5
  %325 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %326 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %327 = bitcast <2 x i64> %326 to <4 x i32>
  %328 = shufflevector <4 x i32> %327, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %329 = bitcast <4 x i32> %328 to <2 x i64>
  %330 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %325, <2 x i64> noundef %329)
  store <2 x i64> %330, 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 %331

331:                                              ; preds = %312
  br label %332

332:                                              ; preds = %331
  %333 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %333, ptr %4, align 16, !tbaa !5
  %334 = load ptr, ptr %7, align 8, !tbaa !8
  %335 = getelementptr inbounds <2 x i64>, ptr %334, i32 1
  store ptr %335, ptr %7, align 8, !tbaa !8
  %336 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %334, <2 x i64> noundef %336)
  %337 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %337, ptr %10, align 16, !tbaa !5
  %338 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %339 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %340 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %338, <2 x i64> noundef %339)
  store <2 x i64> %340, ptr %9, align 16, !tbaa !5
  br label %341

341:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %342 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %343 = bitcast <2 x i64> %342 to <16 x i8>
  %344 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %343, <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>
  %345 = bitcast <16 x i8> %344 to <2 x i64>
  %346 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %347 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %345, <2 x i64> noundef %346)
  store <2 x i64> %347, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %348 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %349 = bitcast <2 x i64> %348 to <16 x i8>
  %350 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %349, <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>
  %351 = bitcast <16 x i8> %350 to <2 x i64>
  %352 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %353 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %351, <2 x i64> noundef %352)
  store <2 x i64> %353, ptr %29, align 16, !tbaa !5
  %354 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %355 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %356 = bitcast <2 x i64> %355 to <4 x i32>
  %357 = shufflevector <4 x i32> %356, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %358 = bitcast <4 x i32> %357 to <2 x i64>
  %359 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %354, <2 x i64> noundef %358)
  store <2 x i64> %359, 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 %360

360:                                              ; preds = %341
  br label %361

361:                                              ; preds = %360
  %362 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %362, ptr %4, align 16, !tbaa !5
  %363 = load ptr, ptr %7, align 8, !tbaa !8
  %364 = getelementptr inbounds <2 x i64>, ptr %363, i32 1
  store ptr %364, ptr %7, align 8, !tbaa !8
  %365 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %363, <2 x i64> noundef %365)
  %366 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %367 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %366, i32 noundef 12)
  store <2 x i64> %367, ptr %10, align 16, !tbaa !5
  %368 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %369 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %370 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %368, <2 x i64> noundef %369)
  store <2 x i64> %370, ptr %9, align 16, !tbaa !5
  br label %371

371:                                              ; preds = %361
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %372 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %373 = bitcast <2 x i64> %372 to <16 x i8>
  %374 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %373, <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>
  %375 = bitcast <16 x i8> %374 to <2 x i64>
  %376 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %377 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %375, <2 x i64> noundef %376)
  store <2 x i64> %377, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %378 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %379 = bitcast <2 x i64> %378 to <16 x i8>
  %380 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %379, <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>
  %381 = bitcast <16 x i8> %380 to <2 x i64>
  %382 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %383 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %381, <2 x i64> noundef %382)
  store <2 x i64> %383, ptr %31, align 16, !tbaa !5
  %384 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %385 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %386 = bitcast <2 x i64> %385 to <4 x i32>
  %387 = shufflevector <4 x i32> %386, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %388 = bitcast <4 x i32> %387 to <2 x i64>
  %389 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %384, <2 x i64> noundef %388)
  store <2 x i64> %389, 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 %390

390:                                              ; preds = %371
  br label %391

391:                                              ; preds = %390
  %392 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %392, ptr %4, align 16, !tbaa !5
  %393 = load ptr, ptr %7, align 8, !tbaa !8
  %394 = getelementptr inbounds <2 x i64>, ptr %393, i32 1
  store ptr %394, ptr %7, align 8, !tbaa !8
  %395 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %393, <2 x i64> noundef %395)
  %396 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %397 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %396, i32 noundef 24)
  store <2 x i64> %397, ptr %10, align 16, !tbaa !5
  %398 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %398, ptr %9, align 16, !tbaa !5
  %399 = load ptr, ptr %5, align 8, !tbaa !8
  %400 = getelementptr inbounds <2 x i64>, ptr %399, i32 1
  store ptr %400, ptr %5, align 8, !tbaa !8
  %401 = load ptr, ptr %5, align 8, !tbaa !8
  %402 = call <2 x i64> @_mm_loadu_si128(ptr noundef %401)
  store <2 x i64> %402, ptr %8, align 16, !tbaa !5
  %403 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %404 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %405 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %404, i32 noundef 8)
  %406 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %407 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %405, <2 x i64> noundef %406)
  %408 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %403, <2 x i64> noundef %407)
  store <2 x i64> %408, ptr %9, align 16, !tbaa !5
  br label %409

409:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %410 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %411 = bitcast <2 x i64> %410 to <16 x i8>
  %412 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %411, <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>
  %413 = bitcast <16 x i8> %412 to <2 x i64>
  %414 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %415 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %413, <2 x i64> noundef %414)
  store <2 x i64> %415, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %416 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %417 = bitcast <2 x i64> %416 to <16 x i8>
  %418 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %417, <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>
  %419 = bitcast <16 x i8> %418 to <2 x i64>
  %420 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %421 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %419, <2 x i64> noundef %420)
  store <2 x i64> %421, ptr %33, align 16, !tbaa !5
  %422 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %423 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %424 = bitcast <2 x i64> %423 to <4 x i32>
  %425 = shufflevector <4 x i32> %424, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %426 = bitcast <4 x i32> %425 to <2 x i64>
  %427 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %422, <2 x i64> noundef %426)
  store <2 x i64> %427, 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 %428

428:                                              ; preds = %409
  br label %429

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

439:                                              ; preds = %429
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %440 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %441 = bitcast <2 x i64> %440 to <16 x i8>
  %442 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %441, <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>
  %443 = bitcast <16 x i8> %442 to <2 x i64>
  %444 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %445 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %443, <2 x i64> noundef %444)
  store <2 x i64> %445, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %446 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %447 = bitcast <2 x i64> %446 to <16 x i8>
  %448 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %447, <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>
  %449 = bitcast <16 x i8> %448 to <2 x i64>
  %450 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %451 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %449, <2 x i64> noundef %450)
  store <2 x i64> %451, ptr %35, align 16, !tbaa !5
  %452 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %453 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %454 = bitcast <2 x i64> %453 to <4 x i32>
  %455 = shufflevector <4 x i32> %454, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %456 = bitcast <4 x i32> %455 to <2 x i64>
  %457 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %452, <2 x i64> noundef %456)
  store <2 x i64> %457, 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 %458

458:                                              ; preds = %439
  br label %459

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

469:                                              ; preds = %459
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %470 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %471 = bitcast <2 x i64> %470 to <16 x i8>
  %472 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %471, <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>
  %473 = bitcast <16 x i8> %472 to <2 x i64>
  %474 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %475 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %473, <2 x i64> noundef %474)
  store <2 x i64> %475, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %476 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %477 = bitcast <2 x i64> %476 to <16 x i8>
  %478 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %477, <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>
  %479 = bitcast <16 x i8> %478 to <2 x i64>
  %480 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %481 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %479, <2 x i64> noundef %480)
  store <2 x i64> %481, ptr %37, align 16, !tbaa !5
  %482 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %483 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %484 = bitcast <2 x i64> %483 to <4 x i32>
  %485 = shufflevector <4 x i32> %484, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %486 = bitcast <4 x i32> %485 to <2 x i64>
  %487 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %482, <2 x i64> noundef %486)
  store <2 x i64> %487, 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 %488

488:                                              ; preds = %469
  br label %489

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

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

526:                                              ; preds = %507
  br label %527

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

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

556:                                              ; preds = %537
  br label %557

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

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

588:                                              ; preds = %569
  br label %589

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

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

617:                                              ; preds = %598
  br label %618

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

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

647:                                              ; preds = %628
  br label %648

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

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

685:                                              ; preds = %666
  br label %686

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

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

715:                                              ; preds = %696
  br label %716

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

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

745:                                              ; preds = %726
  br label %746

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

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

783:                                              ; preds = %764
  br label %784

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

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

813:                                              ; preds = %794
  br label %814

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

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

845:                                              ; preds = %826
  br label %846

846:                                              ; preds = %845
  %847 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %847, ptr %4, align 16, !tbaa !5
  %848 = load ptr, ptr %7, align 8, !tbaa !8
  %849 = getelementptr inbounds <2 x i64>, ptr %848, i32 1
  store ptr %849, ptr %7, align 8, !tbaa !8
  %850 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %848, <2 x i64> noundef %850)
  %851 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %851, ptr %10, align 16, !tbaa !5
  %852 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %853 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %854 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %852, <2 x i64> noundef %853)
  store <2 x i64> %854, ptr %9, align 16, !tbaa !5
  br label %855

855:                                              ; preds = %846
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %856 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %857 = bitcast <2 x i64> %856 to <16 x i8>
  %858 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %857, <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>
  %859 = bitcast <16 x i8> %858 to <2 x i64>
  %860 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %861 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %859, <2 x i64> noundef %860)
  store <2 x i64> %861, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %862 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %863 = bitcast <2 x i64> %862 to <16 x i8>
  %864 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %863, <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>
  %865 = bitcast <16 x i8> %864 to <2 x i64>
  %866 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %867 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %865, <2 x i64> noundef %866)
  store <2 x i64> %867, ptr %61, align 16, !tbaa !5
  %868 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %869 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %870 = bitcast <2 x i64> %869 to <4 x i32>
  %871 = shufflevector <4 x i32> %870, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %872 = bitcast <4 x i32> %871 to <2 x i64>
  %873 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %868, <2 x i64> noundef %872)
  store <2 x i64> %873, 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 %874

874:                                              ; preds = %855
  br label %875

875:                                              ; preds = %874
  %876 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %876, ptr %4, align 16, !tbaa !5
  %877 = load ptr, ptr %7, align 8, !tbaa !8
  %878 = getelementptr inbounds <2 x i64>, ptr %877, i32 1
  store ptr %878, ptr %7, align 8, !tbaa !8
  %879 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %877, <2 x i64> noundef %879)
  %880 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %881 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %880, i32 noundef 12)
  store <2 x i64> %881, ptr %10, align 16, !tbaa !5
  %882 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %883 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %884 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %882, <2 x i64> noundef %883)
  store <2 x i64> %884, ptr %9, align 16, !tbaa !5
  br label %885

885:                                              ; preds = %875
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %886 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %887 = bitcast <2 x i64> %886 to <16 x i8>
  %888 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %887, <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>
  %889 = bitcast <16 x i8> %888 to <2 x i64>
  %890 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %891 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %889, <2 x i64> noundef %890)
  store <2 x i64> %891, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %892 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %893 = bitcast <2 x i64> %892 to <16 x i8>
  %894 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %893, <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>
  %895 = bitcast <16 x i8> %894 to <2 x i64>
  %896 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %897 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %895, <2 x i64> noundef %896)
  store <2 x i64> %897, ptr %63, align 16, !tbaa !5
  %898 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %899 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %900 = bitcast <2 x i64> %899 to <4 x i32>
  %901 = shufflevector <4 x i32> %900, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %902 = bitcast <4 x i32> %901 to <2 x i64>
  %903 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %898, <2 x i64> noundef %902)
  store <2 x i64> %903, 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 %904

904:                                              ; preds = %885
  br label %905

905:                                              ; preds = %904
  %906 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %906, ptr %4, align 16, !tbaa !5
  %907 = load ptr, ptr %7, align 8, !tbaa !8
  %908 = getelementptr inbounds <2 x i64>, ptr %907, i32 1
  store ptr %908, ptr %7, align 8, !tbaa !8
  %909 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %907, <2 x i64> noundef %909)
  %910 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %911 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %910, i32 noundef 24)
  store <2 x i64> %911, ptr %10, align 16, !tbaa !5
  %912 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %912, ptr %9, align 16, !tbaa !5
  %913 = load ptr, ptr %5, align 8, !tbaa !8
  %914 = getelementptr inbounds <2 x i64>, ptr %913, i32 1
  store ptr %914, ptr %5, align 8, !tbaa !8
  %915 = load ptr, ptr %5, align 8, !tbaa !8
  %916 = call <2 x i64> @_mm_loadu_si128(ptr noundef %915)
  store <2 x i64> %916, ptr %8, align 16, !tbaa !5
  %917 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %918 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %919 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %918, i32 noundef 8)
  %920 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %921 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %919, <2 x i64> noundef %920)
  %922 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %917, <2 x i64> noundef %921)
  store <2 x i64> %922, ptr %9, align 16, !tbaa !5
  br label %923

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

942:                                              ; preds = %923
  br label %943

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

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

972:                                              ; preds = %953
  br label %973

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

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

1002:                                             ; preds = %983
  br label %1003

1003:                                             ; preds = %1002
  %1004 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1004, ptr %4, align 16, !tbaa !5
  %1005 = load ptr, ptr %7, align 8, !tbaa !8
  %1006 = getelementptr inbounds <2 x i64>, ptr %1005, i32 1
  store ptr %1006, ptr %7, align 8, !tbaa !8
  %1007 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1005, <2 x i64> noundef %1007)
  %1008 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1009 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1008, i32 noundef 28)
  store <2 x i64> %1009, ptr %10, align 16, !tbaa !5
  %1010 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1010, ptr %9, align 16, !tbaa !5
  %1011 = load ptr, ptr %5, align 8, !tbaa !8
  %1012 = getelementptr inbounds <2 x i64>, ptr %1011, i32 1
  store ptr %1012, ptr %5, align 8, !tbaa !8
  %1013 = load ptr, ptr %5, align 8, !tbaa !8
  %1014 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1013)
  store <2 x i64> %1014, ptr %8, align 16, !tbaa !5
  %1015 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1016 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1017 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1016, i32 noundef 4)
  %1018 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1019 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1017, <2 x i64> noundef %1018)
  %1020 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1015, <2 x i64> noundef %1019)
  store <2 x i64> %1020, ptr %9, align 16, !tbaa !5
  br label %1021

1021:                                             ; preds = %1003
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1022 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1023 = bitcast <2 x i64> %1022 to <16 x i8>
  %1024 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1023, <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>
  %1025 = bitcast <16 x i8> %1024 to <2 x i64>
  %1026 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1027 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1025, <2 x i64> noundef %1026)
  store <2 x i64> %1027, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1028 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1029 = bitcast <2 x i64> %1028 to <16 x i8>
  %1030 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1029, <16 x i32> <i32 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>
  %1031 = bitcast <16 x i8> %1030 to <2 x i64>
  %1032 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1033 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1031, <2 x i64> noundef %1032)
  store <2 x i64> %1033, ptr %71, align 16, !tbaa !5
  %1034 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1035 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1036 = bitcast <2 x i64> %1035 to <4 x i32>
  %1037 = shufflevector <4 x i32> %1036, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1038 = bitcast <4 x i32> %1037 to <2 x i64>
  %1039 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1034, <2 x i64> noundef %1038)
  store <2 x i64> %1039, 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 %1040

1040:                                             ; preds = %1021
  br label %1041

1041:                                             ; preds = %1040
  %1042 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1042, ptr %4, align 16, !tbaa !5
  %1043 = load ptr, ptr %7, align 8, !tbaa !8
  %1044 = getelementptr inbounds <2 x i64>, ptr %1043, i32 1
  store ptr %1044, ptr %7, align 8, !tbaa !8
  %1045 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1043, <2 x i64> noundef %1045)
  %1046 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1047 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1046, i32 noundef 8)
  store <2 x i64> %1047, ptr %10, align 16, !tbaa !5
  %1048 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1049 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1050 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1048, <2 x i64> noundef %1049)
  store <2 x i64> %1050, ptr %9, align 16, !tbaa !5
  br label %1051

1051:                                             ; preds = %1041
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1052 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1053 = bitcast <2 x i64> %1052 to <16 x i8>
  %1054 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1053, <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>
  %1055 = bitcast <16 x i8> %1054 to <2 x i64>
  %1056 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1057 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1055, <2 x i64> noundef %1056)
  store <2 x i64> %1057, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1058 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1059 = bitcast <2 x i64> %1058 to <16 x i8>
  %1060 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1059, <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>
  %1061 = bitcast <16 x i8> %1060 to <2 x i64>
  %1062 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1063 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1061, <2 x i64> noundef %1062)
  store <2 x i64> %1063, ptr %73, align 16, !tbaa !5
  %1064 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1065 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1066 = bitcast <2 x i64> %1065 to <4 x i32>
  %1067 = shufflevector <4 x i32> %1066, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1068 = bitcast <4 x i32> %1067 to <2 x i64>
  %1069 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1064, <2 x i64> noundef %1068)
  store <2 x i64> %1069, 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 %1070

1070:                                             ; preds = %1051
  br label %1071

1071:                                             ; preds = %1070
  %1072 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1072, ptr %4, align 16, !tbaa !5
  %1073 = load ptr, ptr %7, align 8, !tbaa !8
  %1074 = getelementptr inbounds <2 x i64>, ptr %1073, i32 1
  store ptr %1074, ptr %7, align 8, !tbaa !8
  %1075 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1073, <2 x i64> noundef %1075)
  %1076 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1077 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1076, i32 noundef 20)
  store <2 x i64> %1077, ptr %10, align 16, !tbaa !5
  %1078 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1078, ptr %9, align 16, !tbaa !5
  br label %1079

1079:                                             ; preds = %1071
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1080 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1081 = bitcast <2 x i64> %1080 to <16 x i8>
  %1082 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1081, <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>
  %1083 = bitcast <16 x i8> %1082 to <2 x i64>
  %1084 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1085 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1083, <2 x i64> noundef %1084)
  store <2 x i64> %1085, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1086 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1087 = bitcast <2 x i64> %1086 to <16 x i8>
  %1088 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1087, <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>
  %1089 = bitcast <16 x i8> %1088 to <2 x i64>
  %1090 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1091 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1089, <2 x i64> noundef %1090)
  store <2 x i64> %1091, ptr %75, align 16, !tbaa !5
  %1092 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1093 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1094 = bitcast <2 x i64> %1093 to <4 x i32>
  %1095 = shufflevector <4 x i32> %1094, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1096 = bitcast <4 x i32> %1095 to <2 x i64>
  %1097 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1092, <2 x i64> noundef %1096)
  store <2 x i64> %1097, 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 %1098

1098:                                             ; preds = %1079
  br label %1099

1099:                                             ; preds = %1098
  %1100 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1100, ptr %4, align 16, !tbaa !5
  %1101 = load ptr, ptr %7, align 8, !tbaa !8
  %1102 = getelementptr inbounds <2 x i64>, ptr %1101, i32 1
  store ptr %1102, ptr %7, align 8, !tbaa !8
  %1103 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1101, <2 x i64> noundef %1103)
  %1104 = 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> %1104
}

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

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