; 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> @iunpack14(<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 16383)
  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 14)
  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 28)
  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 4)
  %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 10)
  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 24)
  store <2 x i64> %208, ptr %10, align 16, !tbaa !5
  %209 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %209, ptr %9, align 16, !tbaa !5
  %210 = load ptr, ptr %5, align 8, !tbaa !8
  %211 = getelementptr inbounds <2 x i64>, ptr %210, i32 1
  store ptr %211, ptr %5, align 8, !tbaa !8
  %212 = load ptr, ptr %5, align 8, !tbaa !8
  %213 = call <2 x i64> @_mm_loadu_si128(ptr noundef %212)
  store <2 x i64> %213, ptr %8, align 16, !tbaa !5
  %214 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %215 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %216 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %215, i32 noundef 8)
  %217 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %218 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %216, <2 x i64> noundef %217)
  %219 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %214, <2 x i64> noundef %218)
  store <2 x i64> %219, ptr %9, align 16, !tbaa !5
  br label %220

220:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %221 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %222 = bitcast <2 x i64> %221 to <16 x i8>
  %223 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %222, <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>
  %224 = bitcast <16 x i8> %223 to <2 x i64>
  %225 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %226 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %224, <2 x i64> noundef %225)
  store <2 x i64> %226, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %227 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %228 = bitcast <2 x i64> %227 to <16 x i8>
  %229 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %228, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %230 = bitcast <16 x i8> %229 to <2 x i64>
  %231 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %232 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %230, <2 x i64> noundef %231)
  store <2 x i64> %232, ptr %21, align 16, !tbaa !5
  %233 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %234 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %235 = bitcast <2 x i64> %234 to <4 x i32>
  %236 = shufflevector <4 x i32> %235, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %237 = bitcast <4 x i32> %236 to <2 x i64>
  %238 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %233, <2 x i64> noundef %237)
  store <2 x i64> %238, 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 %239

239:                                              ; preds = %220
  br label %240

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

250:                                              ; preds = %240
  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 20)
  store <2 x i64> %276, ptr %10, align 16, !tbaa !5
  %277 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %277, ptr %9, align 16, !tbaa !5
  %278 = load ptr, ptr %5, align 8, !tbaa !8
  %279 = getelementptr inbounds <2 x i64>, ptr %278, i32 1
  store ptr %279, ptr %5, align 8, !tbaa !8
  %280 = load ptr, ptr %5, align 8, !tbaa !8
  %281 = call <2 x i64> @_mm_loadu_si128(ptr noundef %280)
  store <2 x i64> %281, ptr %8, align 16, !tbaa !5
  %282 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %283 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %284 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %283, i32 noundef 12)
  %285 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %286 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %284, <2 x i64> noundef %285)
  %287 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %282, <2 x i64> noundef %286)
  store <2 x i64> %287, ptr %9, align 16, !tbaa !5
  br label %288

288:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %289 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %290 = bitcast <2 x i64> %289 to <16 x i8>
  %291 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %290, <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>
  %292 = bitcast <16 x i8> %291 to <2 x i64>
  %293 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %294 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %292, <2 x i64> noundef %293)
  store <2 x i64> %294, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %295 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %296 = bitcast <2 x i64> %295 to <16 x i8>
  %297 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %296, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %298 = bitcast <16 x i8> %297 to <2 x i64>
  %299 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %300 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %298, <2 x i64> noundef %299)
  store <2 x i64> %300, ptr %25, align 16, !tbaa !5
  %301 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %302 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %303 = bitcast <2 x i64> %302 to <4 x i32>
  %304 = shufflevector <4 x i32> %303, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %305 = bitcast <4 x i32> %304 to <2 x i64>
  %306 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %301, <2 x i64> noundef %305)
  store <2 x i64> %306, 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 %307

307:                                              ; preds = %288
  br label %308

308:                                              ; preds = %307
  %309 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %309, ptr %4, align 16, !tbaa !5
  %310 = load ptr, ptr %7, align 8, !tbaa !8
  %311 = getelementptr inbounds <2 x i64>, ptr %310, i32 1
  store ptr %311, ptr %7, align 8, !tbaa !8
  %312 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %310, <2 x i64> noundef %312)
  %313 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %314 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %313, i32 noundef 2)
  store <2 x i64> %314, ptr %10, align 16, !tbaa !5
  %315 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %316 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %317 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %315, <2 x i64> noundef %316)
  store <2 x i64> %317, ptr %9, align 16, !tbaa !5
  br label %318

318:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %319 = load <2 x i64>, ptr %9, 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 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>
  %322 = bitcast <16 x i8> %321 to <2 x i64>
  %323 = load <2 x i64>, ptr %9, 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 %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %325 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %326 = bitcast <2 x i64> %325 to <16 x i8>
  %327 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %326, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %328 = bitcast <16 x i8> %327 to <2 x i64>
  %329 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %330 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %328, <2 x i64> noundef %329)
  store <2 x i64> %330, ptr %27, align 16, !tbaa !5
  %331 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %332 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %333 = bitcast <2 x i64> %332 to <4 x i32>
  %334 = shufflevector <4 x i32> %333, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %335 = bitcast <4 x i32> %334 to <2 x i64>
  %336 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %331, <2 x i64> noundef %335)
  store <2 x i64> %336, 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 %337

337:                                              ; preds = %318
  br label %338

338:                                              ; preds = %337
  %339 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %339, ptr %4, align 16, !tbaa !5
  %340 = load ptr, ptr %7, align 8, !tbaa !8
  %341 = getelementptr inbounds <2 x i64>, ptr %340, i32 1
  store ptr %341, ptr %7, align 8, !tbaa !8
  %342 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %340, <2 x i64> noundef %342)
  %343 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %344 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %343, i32 noundef 16)
  store <2 x i64> %344, ptr %10, align 16, !tbaa !5
  %345 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %346 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %347 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %345, <2 x i64> noundef %346)
  store <2 x i64> %347, ptr %9, align 16, !tbaa !5
  br label %348

348:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %349 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %350 = bitcast <2 x i64> %349 to <16 x i8>
  %351 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %350, <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>
  %352 = bitcast <16 x i8> %351 to <2 x i64>
  %353 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %354 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %352, <2 x i64> noundef %353)
  store <2 x i64> %354, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %355 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %356 = bitcast <2 x i64> %355 to <16 x i8>
  %357 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %356, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %358 = bitcast <16 x i8> %357 to <2 x i64>
  %359 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %360 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %358, <2 x i64> noundef %359)
  store <2 x i64> %360, ptr %29, align 16, !tbaa !5
  %361 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %362 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %363 = bitcast <2 x i64> %362 to <4 x i32>
  %364 = shufflevector <4 x i32> %363, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %365 = bitcast <4 x i32> %364 to <2 x i64>
  %366 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %361, <2 x i64> noundef %365)
  store <2 x i64> %366, 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 %367

367:                                              ; preds = %348
  br label %368

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

386:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %387 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %388 = bitcast <2 x i64> %387 to <16 x i8>
  %389 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %388, <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>
  %390 = bitcast <16 x i8> %389 to <2 x i64>
  %391 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %392 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %390, <2 x i64> noundef %391)
  store <2 x i64> %392, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %393 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %394 = bitcast <2 x i64> %393 to <16 x i8>
  %395 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %394, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %396 = bitcast <16 x i8> %395 to <2 x i64>
  %397 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %398 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %396, <2 x i64> noundef %397)
  store <2 x i64> %398, ptr %31, align 16, !tbaa !5
  %399 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %400 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %401 = bitcast <2 x i64> %400 to <4 x i32>
  %402 = shufflevector <4 x i32> %401, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %403 = bitcast <4 x i32> %402 to <2 x i64>
  %404 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %399, <2 x i64> noundef %403)
  store <2 x i64> %404, 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 %405

405:                                              ; preds = %386
  br label %406

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

416:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %417 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %418 = bitcast <2 x i64> %417 to <16 x i8>
  %419 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %418, <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>
  %420 = bitcast <16 x i8> %419 to <2 x i64>
  %421 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %422 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %420, <2 x i64> noundef %421)
  store <2 x i64> %422, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %423 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %424 = bitcast <2 x i64> %423 to <16 x i8>
  %425 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %424, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %426 = bitcast <16 x i8> %425 to <2 x i64>
  %427 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %428 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %426, <2 x i64> noundef %427)
  store <2 x i64> %428, ptr %33, align 16, !tbaa !5
  %429 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %430 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %431 = bitcast <2 x i64> %430 to <4 x i32>
  %432 = shufflevector <4 x i32> %431, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %433 = bitcast <4 x i32> %432 to <2 x i64>
  %434 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %429, <2 x i64> noundef %433)
  store <2 x i64> %434, 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 %435

435:                                              ; preds = %416
  br label %436

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

454:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %455 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %456 = bitcast <2 x i64> %455 to <16 x i8>
  %457 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %456, <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>
  %458 = bitcast <16 x i8> %457 to <2 x i64>
  %459 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %460 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %458, <2 x i64> noundef %459)
  store <2 x i64> %460, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %461 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %462 = bitcast <2 x i64> %461 to <16 x i8>
  %463 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %462, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %464 = bitcast <16 x i8> %463 to <2 x i64>
  %465 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %466 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %464, <2 x i64> noundef %465)
  store <2 x i64> %466, ptr %35, align 16, !tbaa !5
  %467 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %468 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %469 = bitcast <2 x i64> %468 to <4 x i32>
  %470 = shufflevector <4 x i32> %469, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %471 = bitcast <4 x i32> %470 to <2 x i64>
  %472 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %467, <2 x i64> noundef %471)
  store <2 x i64> %472, 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 %473

473:                                              ; preds = %454
  br label %474

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

484:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %485 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %486 = bitcast <2 x i64> %485 to <16 x i8>
  %487 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %486, <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>
  %488 = bitcast <16 x i8> %487 to <2 x i64>
  %489 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %490 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %488, <2 x i64> noundef %489)
  store <2 x i64> %490, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %491 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %492 = bitcast <2 x i64> %491 to <16 x i8>
  %493 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %492, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %494 = bitcast <16 x i8> %493 to <2 x i64>
  %495 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %496 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %494, <2 x i64> noundef %495)
  store <2 x i64> %496, ptr %37, align 16, !tbaa !5
  %497 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %498 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %499 = bitcast <2 x i64> %498 to <4 x i32>
  %500 = shufflevector <4 x i32> %499, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %501 = bitcast <4 x i32> %500 to <2 x i64>
  %502 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %497, <2 x i64> noundef %501)
  store <2 x i64> %502, 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 %503

503:                                              ; preds = %484
  br label %504

504:                                              ; preds = %503
  %505 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %505, ptr %4, align 16, !tbaa !5
  %506 = load ptr, ptr %7, align 8, !tbaa !8
  %507 = getelementptr inbounds <2 x i64>, ptr %506, i32 1
  store ptr %507, ptr %7, align 8, !tbaa !8
  %508 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %506, <2 x i64> noundef %508)
  %509 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %510 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %509, i32 noundef 22)
  store <2 x i64> %510, ptr %10, align 16, !tbaa !5
  %511 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %511, ptr %9, align 16, !tbaa !5
  %512 = load ptr, ptr %5, align 8, !tbaa !8
  %513 = getelementptr inbounds <2 x i64>, ptr %512, i32 1
  store ptr %513, ptr %5, align 8, !tbaa !8
  %514 = load ptr, ptr %5, align 8, !tbaa !8
  %515 = call <2 x i64> @_mm_loadu_si128(ptr noundef %514)
  store <2 x i64> %515, ptr %8, align 16, !tbaa !5
  %516 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %517 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %518 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %517, i32 noundef 10)
  %519 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %520 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %518, <2 x i64> noundef %519)
  %521 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %516, <2 x i64> noundef %520)
  store <2 x i64> %521, ptr %9, align 16, !tbaa !5
  br label %522

522:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %523 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %524 = bitcast <2 x i64> %523 to <16 x i8>
  %525 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %524, <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>
  %526 = bitcast <16 x i8> %525 to <2 x i64>
  %527 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %528 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %526, <2 x i64> noundef %527)
  store <2 x i64> %528, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %529 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %530 = bitcast <2 x i64> %529 to <16 x i8>
  %531 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %530, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %532 = bitcast <16 x i8> %531 to <2 x i64>
  %533 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %534 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %532, <2 x i64> noundef %533)
  store <2 x i64> %534, ptr %39, align 16, !tbaa !5
  %535 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %536 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %537 = bitcast <2 x i64> %536 to <4 x i32>
  %538 = shufflevector <4 x i32> %537, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %539 = bitcast <4 x i32> %538 to <2 x i64>
  %540 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %535, <2 x i64> noundef %539)
  store <2 x i64> %540, 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 %541

541:                                              ; preds = %522
  br label %542

542:                                              ; preds = %541
  %543 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %543, ptr %4, align 16, !tbaa !5
  %544 = load ptr, ptr %7, align 8, !tbaa !8
  %545 = getelementptr inbounds <2 x i64>, ptr %544, i32 1
  store ptr %545, ptr %7, align 8, !tbaa !8
  %546 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %544, <2 x i64> noundef %546)
  %547 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %548 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %547, i32 noundef 4)
  store <2 x i64> %548, ptr %10, align 16, !tbaa !5
  %549 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %550 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %551 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %549, <2 x i64> noundef %550)
  store <2 x i64> %551, ptr %9, align 16, !tbaa !5
  br label %552

552:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %553 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %554 = bitcast <2 x i64> %553 to <16 x i8>
  %555 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %554, <16 x i32> <i32 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>
  %556 = bitcast <16 x i8> %555 to <2 x i64>
  %557 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %558 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %556, <2 x i64> noundef %557)
  store <2 x i64> %558, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %559 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %560 = bitcast <2 x i64> %559 to <16 x i8>
  %561 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %560, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %562 = bitcast <16 x i8> %561 to <2 x i64>
  %563 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %564 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %562, <2 x i64> noundef %563)
  store <2 x i64> %564, ptr %41, align 16, !tbaa !5
  %565 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %566 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %567 = bitcast <2 x i64> %566 to <4 x i32>
  %568 = shufflevector <4 x i32> %567, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %569 = bitcast <4 x i32> %568 to <2 x i64>
  %570 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %565, <2 x i64> noundef %569)
  store <2 x i64> %570, 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 %571

571:                                              ; preds = %552
  br label %572

572:                                              ; preds = %571
  %573 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %573, ptr %4, align 16, !tbaa !5
  %574 = load ptr, ptr %7, align 8, !tbaa !8
  %575 = getelementptr inbounds <2 x i64>, ptr %574, i32 1
  store ptr %575, ptr %7, align 8, !tbaa !8
  %576 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %574, <2 x i64> noundef %576)
  %577 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %578 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %577, i32 noundef 18)
  store <2 x i64> %578, ptr %10, align 16, !tbaa !5
  %579 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %579, ptr %9, align 16, !tbaa !5
  %580 = load ptr, ptr %5, align 8, !tbaa !8
  %581 = getelementptr inbounds <2 x i64>, ptr %580, i32 1
  store ptr %581, ptr %5, align 8, !tbaa !8
  %582 = load ptr, ptr %5, align 8, !tbaa !8
  %583 = call <2 x i64> @_mm_loadu_si128(ptr noundef %582)
  store <2 x i64> %583, ptr %8, align 16, !tbaa !5
  br label %584

584:                                              ; preds = %572
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %585 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %586 = bitcast <2 x i64> %585 to <16 x i8>
  %587 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %586, <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>
  %588 = bitcast <16 x i8> %587 to <2 x i64>
  %589 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %590 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %588, <2 x i64> noundef %589)
  store <2 x i64> %590, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %591 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %592 = bitcast <2 x i64> %591 to <16 x i8>
  %593 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %592, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %594 = bitcast <16 x i8> %593 to <2 x i64>
  %595 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %596 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %594, <2 x i64> noundef %595)
  store <2 x i64> %596, ptr %43, align 16, !tbaa !5
  %597 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %598 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %599 = bitcast <2 x i64> %598 to <4 x i32>
  %600 = shufflevector <4 x i32> %599, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %601 = bitcast <4 x i32> %600 to <2 x i64>
  %602 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %597, <2 x i64> noundef %601)
  store <2 x i64> %602, 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 %603

603:                                              ; preds = %584
  br label %604

604:                                              ; preds = %603
  %605 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %605, ptr %4, align 16, !tbaa !5
  %606 = load ptr, ptr %7, align 8, !tbaa !8
  %607 = getelementptr inbounds <2 x i64>, ptr %606, i32 1
  store ptr %607, ptr %7, align 8, !tbaa !8
  %608 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %606, <2 x i64> noundef %608)
  %609 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %609, ptr %10, align 16, !tbaa !5
  %610 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %611 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %612 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %610, <2 x i64> noundef %611)
  store <2 x i64> %612, ptr %9, align 16, !tbaa !5
  br label %613

613:                                              ; preds = %604
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %614 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %615 = bitcast <2 x i64> %614 to <16 x i8>
  %616 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %615, <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>
  %617 = bitcast <16 x i8> %616 to <2 x i64>
  %618 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %619 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %617, <2 x i64> noundef %618)
  store <2 x i64> %619, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %620 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %621 = bitcast <2 x i64> %620 to <16 x i8>
  %622 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %621, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %623 = bitcast <16 x i8> %622 to <2 x i64>
  %624 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %625 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %623, <2 x i64> noundef %624)
  store <2 x i64> %625, ptr %45, align 16, !tbaa !5
  %626 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %627 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %628 = bitcast <2 x i64> %627 to <4 x i32>
  %629 = shufflevector <4 x i32> %628, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %630 = bitcast <4 x i32> %629 to <2 x i64>
  %631 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %626, <2 x i64> noundef %630)
  store <2 x i64> %631, 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 %632

632:                                              ; preds = %613
  br label %633

633:                                              ; preds = %632
  %634 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %634, ptr %4, align 16, !tbaa !5
  %635 = load ptr, ptr %7, align 8, !tbaa !8
  %636 = getelementptr inbounds <2 x i64>, ptr %635, i32 1
  store ptr %636, ptr %7, align 8, !tbaa !8
  %637 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %635, <2 x i64> noundef %637)
  %638 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %639 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %638, i32 noundef 14)
  store <2 x i64> %639, ptr %10, align 16, !tbaa !5
  %640 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %641 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %642 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %640, <2 x i64> noundef %641)
  store <2 x i64> %642, ptr %9, align 16, !tbaa !5
  br label %643

643:                                              ; preds = %633
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %644 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %645 = bitcast <2 x i64> %644 to <16 x i8>
  %646 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %645, <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>
  %647 = bitcast <16 x i8> %646 to <2 x i64>
  %648 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %649 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %647, <2 x i64> noundef %648)
  store <2 x i64> %649, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %650 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %651 = bitcast <2 x i64> %650 to <16 x i8>
  %652 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %651, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %653 = bitcast <16 x i8> %652 to <2 x i64>
  %654 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %655 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %653, <2 x i64> noundef %654)
  store <2 x i64> %655, ptr %47, align 16, !tbaa !5
  %656 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %657 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %658 = bitcast <2 x i64> %657 to <4 x i32>
  %659 = shufflevector <4 x i32> %658, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %660 = bitcast <4 x i32> %659 to <2 x i64>
  %661 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %656, <2 x i64> noundef %660)
  store <2 x i64> %661, 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 %662

662:                                              ; preds = %643
  br label %663

663:                                              ; preds = %662
  %664 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %664, ptr %4, align 16, !tbaa !5
  %665 = load ptr, ptr %7, align 8, !tbaa !8
  %666 = getelementptr inbounds <2 x i64>, ptr %665, i32 1
  store ptr %666, ptr %7, align 8, !tbaa !8
  %667 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %665, <2 x i64> noundef %667)
  %668 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %669 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %668, i32 noundef 28)
  store <2 x i64> %669, ptr %10, align 16, !tbaa !5
  %670 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %670, ptr %9, align 16, !tbaa !5
  %671 = load ptr, ptr %5, align 8, !tbaa !8
  %672 = getelementptr inbounds <2 x i64>, ptr %671, i32 1
  store ptr %672, ptr %5, align 8, !tbaa !8
  %673 = load ptr, ptr %5, align 8, !tbaa !8
  %674 = call <2 x i64> @_mm_loadu_si128(ptr noundef %673)
  store <2 x i64> %674, ptr %8, align 16, !tbaa !5
  %675 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %676 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %677 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %676, i32 noundef 4)
  %678 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %679 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %677, <2 x i64> noundef %678)
  %680 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %675, <2 x i64> noundef %679)
  store <2 x i64> %680, ptr %9, align 16, !tbaa !5
  br label %681

681:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %682 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %683 = bitcast <2 x i64> %682 to <16 x i8>
  %684 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %683, <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>
  %685 = bitcast <16 x i8> %684 to <2 x i64>
  %686 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %687 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %685, <2 x i64> noundef %686)
  store <2 x i64> %687, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %688 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %689 = bitcast <2 x i64> %688 to <16 x i8>
  %690 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %689, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %691 = bitcast <16 x i8> %690 to <2 x i64>
  %692 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %693 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %691, <2 x i64> noundef %692)
  store <2 x i64> %693, ptr %49, align 16, !tbaa !5
  %694 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %695 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %696 = bitcast <2 x i64> %695 to <4 x i32>
  %697 = shufflevector <4 x i32> %696, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %698 = bitcast <4 x i32> %697 to <2 x i64>
  %699 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %694, <2 x i64> noundef %698)
  store <2 x i64> %699, 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 %700

700:                                              ; preds = %681
  br label %701

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

711:                                              ; preds = %701
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %712 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %713 = bitcast <2 x i64> %712 to <16 x i8>
  %714 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %713, <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>
  %715 = bitcast <16 x i8> %714 to <2 x i64>
  %716 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %717 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %715, <2 x i64> noundef %716)
  store <2 x i64> %717, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %718 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %719 = bitcast <2 x i64> %718 to <16 x i8>
  %720 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %719, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %721 = bitcast <16 x i8> %720 to <2 x i64>
  %722 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %723 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %721, <2 x i64> noundef %722)
  store <2 x i64> %723, ptr %51, align 16, !tbaa !5
  %724 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %725 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %726 = bitcast <2 x i64> %725 to <4 x i32>
  %727 = shufflevector <4 x i32> %726, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %728 = bitcast <4 x i32> %727 to <2 x i64>
  %729 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %724, <2 x i64> noundef %728)
  store <2 x i64> %729, 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 %730

730:                                              ; preds = %711
  br label %731

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

749:                                              ; preds = %731
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %750 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %751 = bitcast <2 x i64> %750 to <16 x i8>
  %752 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %751, <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>
  %753 = bitcast <16 x i8> %752 to <2 x i64>
  %754 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %755 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %753, <2 x i64> noundef %754)
  store <2 x i64> %755, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %756 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %757 = bitcast <2 x i64> %756 to <16 x i8>
  %758 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %757, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %759 = bitcast <16 x i8> %758 to <2 x i64>
  %760 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %761 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %759, <2 x i64> noundef %760)
  store <2 x i64> %761, ptr %53, align 16, !tbaa !5
  %762 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %763 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %764 = bitcast <2 x i64> %763 to <4 x i32>
  %765 = shufflevector <4 x i32> %764, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %766 = bitcast <4 x i32> %765 to <2 x i64>
  %767 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %762, <2 x i64> noundef %766)
  store <2 x i64> %767, 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 %768

768:                                              ; preds = %749
  br label %769

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

779:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %780 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %781 = bitcast <2 x i64> %780 to <16 x i8>
  %782 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %781, <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>
  %783 = bitcast <16 x i8> %782 to <2 x i64>
  %784 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %785 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %783, <2 x i64> noundef %784)
  store <2 x i64> %785, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %786 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %787 = bitcast <2 x i64> %786 to <16 x i8>
  %788 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %787, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %789 = bitcast <16 x i8> %788 to <2 x i64>
  %790 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %791 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %789, <2 x i64> noundef %790)
  store <2 x i64> %791, ptr %55, align 16, !tbaa !5
  %792 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %793 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %794 = bitcast <2 x i64> %793 to <4 x i32>
  %795 = shufflevector <4 x i32> %794, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %796 = bitcast <4 x i32> %795 to <2 x i64>
  %797 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %792, <2 x i64> noundef %796)
  store <2 x i64> %797, 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 %798

798:                                              ; preds = %779
  br label %799

799:                                              ; preds = %798
  %800 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %800, ptr %4, align 16, !tbaa !5
  %801 = load ptr, ptr %7, align 8, !tbaa !8
  %802 = getelementptr inbounds <2 x i64>, ptr %801, i32 1
  store ptr %802, ptr %7, align 8, !tbaa !8
  %803 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %801, <2 x i64> noundef %803)
  %804 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %805 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %804, i32 noundef 20)
  store <2 x i64> %805, ptr %10, align 16, !tbaa !5
  %806 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %806, ptr %9, align 16, !tbaa !5
  %807 = load ptr, ptr %5, align 8, !tbaa !8
  %808 = getelementptr inbounds <2 x i64>, ptr %807, i32 1
  store ptr %808, ptr %5, align 8, !tbaa !8
  %809 = load ptr, ptr %5, align 8, !tbaa !8
  %810 = call <2 x i64> @_mm_loadu_si128(ptr noundef %809)
  store <2 x i64> %810, ptr %8, align 16, !tbaa !5
  %811 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %812 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %813 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %812, i32 noundef 12)
  %814 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %815 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %813, <2 x i64> noundef %814)
  %816 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %811, <2 x i64> noundef %815)
  store <2 x i64> %816, ptr %9, align 16, !tbaa !5
  br label %817

817:                                              ; preds = %799
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %818 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %819 = bitcast <2 x i64> %818 to <16 x i8>
  %820 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %819, <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>
  %821 = bitcast <16 x i8> %820 to <2 x i64>
  %822 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %823 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %821, <2 x i64> noundef %822)
  store <2 x i64> %823, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %824 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %825 = bitcast <2 x i64> %824 to <16 x i8>
  %826 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %825, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %827 = bitcast <16 x i8> %826 to <2 x i64>
  %828 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %829 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %827, <2 x i64> noundef %828)
  store <2 x i64> %829, ptr %57, align 16, !tbaa !5
  %830 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %831 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %832 = bitcast <2 x i64> %831 to <4 x i32>
  %833 = shufflevector <4 x i32> %832, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %834 = bitcast <4 x i32> %833 to <2 x i64>
  %835 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %830, <2 x i64> noundef %834)
  store <2 x i64> %835, 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 %836

836:                                              ; preds = %817
  br label %837

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

847:                                              ; preds = %837
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %848 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %849 = bitcast <2 x i64> %848 to <16 x i8>
  %850 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %849, <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>
  %851 = bitcast <16 x i8> %850 to <2 x i64>
  %852 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %853 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %851, <2 x i64> noundef %852)
  store <2 x i64> %853, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %854 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %855 = bitcast <2 x i64> %854 to <16 x i8>
  %856 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %855, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %857 = bitcast <16 x i8> %856 to <2 x i64>
  %858 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %859 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %857, <2 x i64> noundef %858)
  store <2 x i64> %859, ptr %59, align 16, !tbaa !5
  %860 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %861 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %862 = bitcast <2 x i64> %861 to <4 x i32>
  %863 = shufflevector <4 x i32> %862, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %864 = bitcast <4 x i32> %863 to <2 x i64>
  %865 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %860, <2 x i64> noundef %864)
  store <2 x i64> %865, 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 %866

866:                                              ; preds = %847
  br label %867

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

877:                                              ; preds = %867
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %878 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %879 = bitcast <2 x i64> %878 to <16 x i8>
  %880 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %879, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %881 = bitcast <16 x i8> %880 to <2 x i64>
  %882 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %883 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %881, <2 x i64> noundef %882)
  store <2 x i64> %883, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %884 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %885 = bitcast <2 x i64> %884 to <16 x i8>
  %886 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %885, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %887 = bitcast <16 x i8> %886 to <2 x i64>
  %888 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %889 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %887, <2 x i64> noundef %888)
  store <2 x i64> %889, ptr %61, align 16, !tbaa !5
  %890 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %891 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %892 = bitcast <2 x i64> %891 to <4 x i32>
  %893 = shufflevector <4 x i32> %892, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %894 = bitcast <4 x i32> %893 to <2 x i64>
  %895 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %890, <2 x i64> noundef %894)
  store <2 x i64> %895, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #3
  br label %896

896:                                              ; preds = %877
  br label %897

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

915:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %916 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %917 = bitcast <2 x i64> %916 to <16 x i8>
  %918 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %917, <16 x i32> <i32 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>
  %919 = bitcast <16 x i8> %918 to <2 x i64>
  %920 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %921 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %919, <2 x i64> noundef %920)
  store <2 x i64> %921, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %922 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %923 = bitcast <2 x i64> %922 to <16 x i8>
  %924 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %923, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %925 = bitcast <16 x i8> %924 to <2 x i64>
  %926 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %927 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %925, <2 x i64> noundef %926)
  store <2 x i64> %927, ptr %63, align 16, !tbaa !5
  %928 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %929 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %930 = bitcast <2 x i64> %929 to <4 x i32>
  %931 = shufflevector <4 x i32> %930, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %932 = bitcast <4 x i32> %931 to <2 x i64>
  %933 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %928, <2 x i64> noundef %932)
  store <2 x i64> %933, 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 %934

934:                                              ; preds = %915
  br label %935

935:                                              ; preds = %934
  %936 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %936, ptr %4, align 16, !tbaa !5
  %937 = load ptr, ptr %7, align 8, !tbaa !8
  %938 = getelementptr inbounds <2 x i64>, ptr %937, i32 1
  store ptr %938, ptr %7, align 8, !tbaa !8
  %939 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %937, <2 x i64> noundef %939)
  %940 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %941 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %940, i32 noundef 12)
  store <2 x i64> %941, ptr %10, align 16, !tbaa !5
  %942 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %943 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %944 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %942, <2 x i64> noundef %943)
  store <2 x i64> %944, ptr %9, align 16, !tbaa !5
  br label %945

945:                                              ; preds = %935
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %946 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %947 = bitcast <2 x i64> %946 to <16 x i8>
  %948 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %947, <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>
  %949 = bitcast <16 x i8> %948 to <2 x i64>
  %950 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %951 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %949, <2 x i64> noundef %950)
  store <2 x i64> %951, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %952 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %953 = bitcast <2 x i64> %952 to <16 x i8>
  %954 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %953, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %955 = bitcast <16 x i8> %954 to <2 x i64>
  %956 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %957 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %955, <2 x i64> noundef %956)
  store <2 x i64> %957, ptr %65, align 16, !tbaa !5
  %958 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %959 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %960 = bitcast <2 x i64> %959 to <4 x i32>
  %961 = shufflevector <4 x i32> %960, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %962 = bitcast <4 x i32> %961 to <2 x i64>
  %963 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %958, <2 x i64> noundef %962)
  store <2 x i64> %963, 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 %964

964:                                              ; preds = %945
  br label %965

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

983:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #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 %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %990 = load <2 x i64>, ptr %66, 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 %66, 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 %67, align 16, !tbaa !5
  %996 = load <2 x i64>, ptr %67, 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 %67) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #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 8)
  store <2 x i64> %1009, ptr %10, align 16, !tbaa !5
  %1010 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1011 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1012 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1010, <2 x i64> noundef %1011)
  store <2 x i64> %1012, ptr %9, align 16, !tbaa !5
  br label %1013

1013:                                             ; preds = %1003
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %1014 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1015 = bitcast <2 x i64> %1014 to <16 x i8>
  %1016 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1015, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1017 = bitcast <16 x i8> %1016 to <2 x i64>
  %1018 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1019 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1017, <2 x i64> noundef %1018)
  store <2 x i64> %1019, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %1020 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1021 = bitcast <2 x i64> %1020 to <16 x i8>
  %1022 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1021, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1023 = bitcast <16 x i8> %1022 to <2 x i64>
  %1024 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1025 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1023, <2 x i64> noundef %1024)
  store <2 x i64> %1025, ptr %69, align 16, !tbaa !5
  %1026 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %1027 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1028 = bitcast <2 x i64> %1027 to <4 x i32>
  %1029 = shufflevector <4 x i32> %1028, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1030 = bitcast <4 x i32> %1029 to <2 x i64>
  %1031 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1026, <2 x i64> noundef %1030)
  store <2 x i64> %1031, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #3
  br label %1032

1032:                                             ; preds = %1013
  br label %1033

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

1051:                                             ; preds = %1033
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #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 %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1058 = load <2 x i64>, ptr %70, 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 %70, 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 %71, align 16, !tbaa !5
  %1064 = load <2 x i64>, ptr %71, 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 %71) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #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 4)
  store <2 x i64> %1077, ptr %10, align 16, !tbaa !5
  %1078 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1079 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1080 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1078, <2 x i64> noundef %1079)
  store <2 x i64> %1080, ptr %9, align 16, !tbaa !5
  br label %1081

1081:                                             ; preds = %1071
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1082 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1083 = bitcast <2 x i64> %1082 to <16 x i8>
  %1084 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1083, <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>
  %1085 = bitcast <16 x i8> %1084 to <2 x i64>
  %1086 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1087 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1085, <2 x i64> noundef %1086)
  store <2 x i64> %1087, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1088 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1089 = bitcast <2 x i64> %1088 to <16 x i8>
  %1090 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1089, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1091 = bitcast <16 x i8> %1090 to <2 x i64>
  %1092 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1093 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1091, <2 x i64> noundef %1092)
  store <2 x i64> %1093, ptr %73, align 16, !tbaa !5
  %1094 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1095 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1096 = bitcast <2 x i64> %1095 to <4 x i32>
  %1097 = shufflevector <4 x i32> %1096, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1098 = bitcast <4 x i32> %1097 to <2 x i64>
  %1099 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1094, <2 x i64> noundef %1098)
  store <2 x i64> %1099, 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 %1100

1100:                                             ; preds = %1081
  br label %1101

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

1109:                                             ; preds = %1101
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1110 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1111 = bitcast <2 x i64> %1110 to <16 x i8>
  %1112 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1111, <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>
  %1113 = bitcast <16 x i8> %1112 to <2 x i64>
  %1114 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1115 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1113, <2 x i64> noundef %1114)
  store <2 x i64> %1115, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1116 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1117 = bitcast <2 x i64> %1116 to <16 x i8>
  %1118 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1117, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1119 = bitcast <16 x i8> %1118 to <2 x i64>
  %1120 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1121 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1119, <2 x i64> noundef %1120)
  store <2 x i64> %1121, ptr %75, align 16, !tbaa !5
  %1122 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1123 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1124 = bitcast <2 x i64> %1123 to <4 x i32>
  %1125 = shufflevector <4 x i32> %1124, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1126 = bitcast <4 x i32> %1125 to <2 x i64>
  %1127 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1122, <2 x i64> noundef %1126)
  store <2 x i64> %1127, 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 %1128

1128:                                             ; preds = %1109
  br label %1129

1129:                                             ; preds = %1128
  %1130 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1130, ptr %4, align 16, !tbaa !5
  %1131 = load ptr, ptr %7, align 8, !tbaa !8
  %1132 = getelementptr inbounds <2 x i64>, ptr %1131, i32 1
  store ptr %1132, ptr %7, align 8, !tbaa !8
  %1133 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1131, <2 x i64> noundef %1133)
  %1134 = 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> %1134
}

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

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