; 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> @iunpack11(<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 2047)
  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 11)
  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 22)
  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 10)
  %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 1)
  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 12)
  store <2 x i64> %208, ptr %10, align 16, !tbaa !5
  %209 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %210 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %211 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %209, <2 x i64> noundef %210)
  store <2 x i64> %211, ptr %9, align 16, !tbaa !5
  br label %212

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

231:                                              ; preds = %212
  br label %232

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

250:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %251 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %252 = bitcast <2 x i64> %251 to <16 x i8>
  %253 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %252, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %254 = bitcast <16 x i8> %253 to <2 x i64>
  %255 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %256 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %254, <2 x i64> noundef %255)
  store <2 x i64> %256, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %257 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %258 = bitcast <2 x i64> %257 to <16 x i8>
  %259 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %258, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %260 = bitcast <16 x i8> %259 to <2 x i64>
  %261 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %262 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %260, <2 x i64> noundef %261)
  store <2 x i64> %262, ptr %23, align 16, !tbaa !5
  %263 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %264 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %265 = bitcast <2 x i64> %264 to <4 x i32>
  %266 = shufflevector <4 x i32> %265, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %267 = bitcast <4 x i32> %266 to <2 x i64>
  %268 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %263, <2 x i64> noundef %267)
  store <2 x i64> %268, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #3
  br label %269

269:                                              ; preds = %250
  br label %270

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

280:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %281 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %282 = bitcast <2 x i64> %281 to <16 x i8>
  %283 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %282, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %284 = bitcast <16 x i8> %283 to <2 x i64>
  %285 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %286 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %284, <2 x i64> noundef %285)
  store <2 x i64> %286, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %287 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %288 = bitcast <2 x i64> %287 to <16 x i8>
  %289 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %288, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %290 = bitcast <16 x i8> %289 to <2 x i64>
  %291 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %292 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %290, <2 x i64> noundef %291)
  store <2 x i64> %292, ptr %25, align 16, !tbaa !5
  %293 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %294 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %295 = bitcast <2 x i64> %294 to <4 x i32>
  %296 = shufflevector <4 x i32> %295, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %297 = bitcast <4 x i32> %296 to <2 x i64>
  %298 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %293, <2 x i64> noundef %297)
  store <2 x i64> %298, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #3
  br label %299

299:                                              ; preds = %280
  br label %300

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

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

329:                                              ; preds = %310
  br label %330

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

348:                                              ; preds = %330
  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 3)
  store <2 x i64> %374, ptr %10, align 16, !tbaa !5
  %375 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %376 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %377 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %375, <2 x i64> noundef %376)
  store <2 x i64> %377, ptr %9, align 16, !tbaa !5
  br label %378

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

397:                                              ; preds = %378
  br label %398

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

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

427:                                              ; preds = %408
  br label %428

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

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

465:                                              ; preds = %446
  br label %466

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

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

495:                                              ; preds = %476
  br label %496

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

506:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %507 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %508 = bitcast <2 x i64> %507 to <16 x i8>
  %509 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %508, <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>
  %510 = bitcast <16 x i8> %509 to <2 x i64>
  %511 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %512 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %510, <2 x i64> noundef %511)
  store <2 x i64> %512, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %513 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %514 = bitcast <2 x i64> %513 to <16 x i8>
  %515 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %514, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %516 = bitcast <16 x i8> %515 to <2 x i64>
  %517 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %518 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %516, <2 x i64> noundef %517)
  store <2 x i64> %518, ptr %39, align 16, !tbaa !5
  %519 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %520 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %521 = bitcast <2 x i64> %520 to <4 x i32>
  %522 = shufflevector <4 x i32> %521, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %523 = bitcast <4 x i32> %522 to <2 x i64>
  %524 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %519, <2 x i64> noundef %523)
  store <2 x i64> %524, 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 %525

525:                                              ; preds = %506
  br label %526

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

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

563:                                              ; preds = %544
  br label %564

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

574:                                              ; preds = %564
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %575 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %576 = bitcast <2 x i64> %575 to <16 x i8>
  %577 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %576, <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>
  %578 = bitcast <16 x i8> %577 to <2 x i64>
  %579 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %580 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %578, <2 x i64> noundef %579)
  store <2 x i64> %580, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %581 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %582 = bitcast <2 x i64> %581 to <16 x i8>
  %583 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %582, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %584 = bitcast <16 x i8> %583 to <2 x i64>
  %585 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %586 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %584, <2 x i64> noundef %585)
  store <2 x i64> %586, ptr %43, align 16, !tbaa !5
  %587 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %588 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %589 = bitcast <2 x i64> %588 to <4 x i32>
  %590 = shufflevector <4 x i32> %589, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %591 = bitcast <4 x i32> %590 to <2 x i64>
  %592 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %587, <2 x i64> noundef %591)
  store <2 x i64> %592, 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 %593

593:                                              ; preds = %574
  br label %594

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

604:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %605 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %606 = bitcast <2 x i64> %605 to <16 x i8>
  %607 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %606, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %608 = bitcast <16 x i8> %607 to <2 x i64>
  %609 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %610 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %608, <2 x i64> noundef %609)
  store <2 x i64> %610, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %611 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %612 = bitcast <2 x i64> %611 to <16 x i8>
  %613 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %612, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %614 = bitcast <16 x i8> %613 to <2 x i64>
  %615 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %616 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %614, <2 x i64> noundef %615)
  store <2 x i64> %616, ptr %45, align 16, !tbaa !5
  %617 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %618 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %619 = bitcast <2 x i64> %618 to <4 x i32>
  %620 = shufflevector <4 x i32> %619, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %621 = bitcast <4 x i32> %620 to <2 x i64>
  %622 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %617, <2 x i64> noundef %621)
  store <2 x i64> %622, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #3
  br label %623

623:                                              ; preds = %604
  br label %624

624:                                              ; preds = %623
  %625 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %625, ptr %4, align 16, !tbaa !5
  %626 = load ptr, ptr %7, align 8, !tbaa !8
  %627 = getelementptr inbounds <2 x i64>, ptr %626, i32 1
  store ptr %627, ptr %7, align 8, !tbaa !8
  %628 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %626, <2 x i64> noundef %628)
  %629 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %630 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %629, i32 noundef 27)
  store <2 x i64> %630, ptr %10, align 16, !tbaa !5
  %631 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %631, ptr %9, align 16, !tbaa !5
  %632 = load ptr, ptr %5, align 8, !tbaa !8
  %633 = getelementptr inbounds <2 x i64>, ptr %632, i32 1
  store ptr %633, ptr %5, align 8, !tbaa !8
  %634 = load ptr, ptr %5, align 8, !tbaa !8
  %635 = call <2 x i64> @_mm_loadu_si128(ptr noundef %634)
  store <2 x i64> %635, ptr %8, align 16, !tbaa !5
  %636 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %637 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %638 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %637, i32 noundef 5)
  %639 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %640 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %638, <2 x i64> noundef %639)
  %641 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %636, <2 x i64> noundef %640)
  store <2 x i64> %641, ptr %9, align 16, !tbaa !5
  br label %642

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

661:                                              ; preds = %642
  br label %662

662:                                              ; preds = %661
  %663 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %663, ptr %4, align 16, !tbaa !5
  %664 = load ptr, ptr %7, align 8, !tbaa !8
  %665 = getelementptr inbounds <2 x i64>, ptr %664, i32 1
  store ptr %665, ptr %7, align 8, !tbaa !8
  %666 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %664, <2 x i64> noundef %666)
  %667 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %668 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %667, i32 noundef 6)
  store <2 x i64> %668, ptr %10, align 16, !tbaa !5
  %669 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %670 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %671 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %669, <2 x i64> noundef %670)
  store <2 x i64> %671, ptr %9, align 16, !tbaa !5
  br label %672

672:                                              ; preds = %662
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %673 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %674 = bitcast <2 x i64> %673 to <16 x i8>
  %675 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %674, <16 x i32> <i32 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>
  %676 = bitcast <16 x i8> %675 to <2 x i64>
  %677 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %678 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %676, <2 x i64> noundef %677)
  store <2 x i64> %678, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %679 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %680 = bitcast <2 x i64> %679 to <16 x i8>
  %681 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %680, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %682 = bitcast <16 x i8> %681 to <2 x i64>
  %683 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %684 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %682, <2 x i64> noundef %683)
  store <2 x i64> %684, ptr %49, align 16, !tbaa !5
  %685 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %686 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %687 = bitcast <2 x i64> %686 to <4 x i32>
  %688 = shufflevector <4 x i32> %687, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %689 = bitcast <4 x i32> %688 to <2 x i64>
  %690 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %685, <2 x i64> noundef %689)
  store <2 x i64> %690, 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 %691

691:                                              ; preds = %672
  br label %692

692:                                              ; preds = %691
  %693 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %693, ptr %4, align 16, !tbaa !5
  %694 = load ptr, ptr %7, align 8, !tbaa !8
  %695 = getelementptr inbounds <2 x i64>, ptr %694, i32 1
  store ptr %695, ptr %7, align 8, !tbaa !8
  %696 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %694, <2 x i64> noundef %696)
  %697 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %698 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %697, i32 noundef 17)
  store <2 x i64> %698, ptr %10, align 16, !tbaa !5
  %699 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %700 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %701 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %699, <2 x i64> noundef %700)
  store <2 x i64> %701, ptr %9, align 16, !tbaa !5
  br label %702

702:                                              ; preds = %692
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %703 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %704 = bitcast <2 x i64> %703 to <16 x i8>
  %705 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %704, <16 x i32> <i32 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>
  %706 = bitcast <16 x i8> %705 to <2 x i64>
  %707 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %708 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %706, <2 x i64> noundef %707)
  store <2 x i64> %708, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %709 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %710 = bitcast <2 x i64> %709 to <16 x i8>
  %711 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %710, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %712 = bitcast <16 x i8> %711 to <2 x i64>
  %713 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %714 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %712, <2 x i64> noundef %713)
  store <2 x i64> %714, ptr %51, align 16, !tbaa !5
  %715 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %716 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %717 = bitcast <2 x i64> %716 to <4 x i32>
  %718 = shufflevector <4 x i32> %717, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %719 = bitcast <4 x i32> %718 to <2 x i64>
  %720 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %715, <2 x i64> noundef %719)
  store <2 x i64> %720, 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 %721

721:                                              ; preds = %702
  br label %722

722:                                              ; preds = %721
  %723 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %723, ptr %4, align 16, !tbaa !5
  %724 = load ptr, ptr %7, align 8, !tbaa !8
  %725 = getelementptr inbounds <2 x i64>, ptr %724, i32 1
  store ptr %725, ptr %7, align 8, !tbaa !8
  %726 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %724, <2 x i64> noundef %726)
  %727 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %728 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %727, i32 noundef 28)
  store <2 x i64> %728, ptr %10, align 16, !tbaa !5
  %729 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %729, ptr %9, align 16, !tbaa !5
  %730 = load ptr, ptr %5, align 8, !tbaa !8
  %731 = getelementptr inbounds <2 x i64>, ptr %730, i32 1
  store ptr %731, ptr %5, align 8, !tbaa !8
  %732 = load ptr, ptr %5, align 8, !tbaa !8
  %733 = call <2 x i64> @_mm_loadu_si128(ptr noundef %732)
  store <2 x i64> %733, ptr %8, align 16, !tbaa !5
  %734 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %735 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %736 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %735, i32 noundef 4)
  %737 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %738 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %736, <2 x i64> noundef %737)
  %739 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %734, <2 x i64> noundef %738)
  store <2 x i64> %739, ptr %9, align 16, !tbaa !5
  br label %740

740:                                              ; preds = %722
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %741 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %742 = bitcast <2 x i64> %741 to <16 x i8>
  %743 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %742, <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>
  %744 = bitcast <16 x i8> %743 to <2 x i64>
  %745 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %746 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %744, <2 x i64> noundef %745)
  store <2 x i64> %746, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %747 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %748 = bitcast <2 x i64> %747 to <16 x i8>
  %749 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %748, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %750 = bitcast <16 x i8> %749 to <2 x i64>
  %751 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %752 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %750, <2 x i64> noundef %751)
  store <2 x i64> %752, ptr %53, align 16, !tbaa !5
  %753 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %754 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %755 = bitcast <2 x i64> %754 to <4 x i32>
  %756 = shufflevector <4 x i32> %755, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %757 = bitcast <4 x i32> %756 to <2 x i64>
  %758 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %753, <2 x i64> noundef %757)
  store <2 x i64> %758, 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 %759

759:                                              ; preds = %740
  br label %760

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

770:                                              ; preds = %760
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %771 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %772 = bitcast <2 x i64> %771 to <16 x i8>
  %773 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %772, <16 x i32> <i32 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>
  %774 = bitcast <16 x i8> %773 to <2 x i64>
  %775 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %776 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %774, <2 x i64> noundef %775)
  store <2 x i64> %776, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %777 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %778 = bitcast <2 x i64> %777 to <16 x i8>
  %779 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %778, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %780 = bitcast <16 x i8> %779 to <2 x i64>
  %781 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %782 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %780, <2 x i64> noundef %781)
  store <2 x i64> %782, ptr %55, align 16, !tbaa !5
  %783 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %784 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %785 = bitcast <2 x i64> %784 to <4 x i32>
  %786 = shufflevector <4 x i32> %785, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %787 = bitcast <4 x i32> %786 to <2 x i64>
  %788 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %783, <2 x i64> noundef %787)
  store <2 x i64> %788, 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 %789

789:                                              ; preds = %770
  br label %790

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

800:                                              ; preds = %790
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %801 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %802 = bitcast <2 x i64> %801 to <16 x i8>
  %803 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %802, <16 x i32> <i32 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>
  %804 = bitcast <16 x i8> %803 to <2 x i64>
  %805 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %806 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %804, <2 x i64> noundef %805)
  store <2 x i64> %806, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %807 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %808 = bitcast <2 x i64> %807 to <16 x i8>
  %809 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %808, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %810 = bitcast <16 x i8> %809 to <2 x i64>
  %811 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %812 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %810, <2 x i64> noundef %811)
  store <2 x i64> %812, ptr %57, align 16, !tbaa !5
  %813 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %814 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %815 = bitcast <2 x i64> %814 to <4 x i32>
  %816 = shufflevector <4 x i32> %815, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %817 = bitcast <4 x i32> %816 to <2 x i64>
  %818 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %813, <2 x i64> noundef %817)
  store <2 x i64> %818, 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 %819

819:                                              ; preds = %800
  br label %820

820:                                              ; preds = %819
  %821 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %821, ptr %4, align 16, !tbaa !5
  %822 = load ptr, ptr %7, align 8, !tbaa !8
  %823 = getelementptr inbounds <2 x i64>, ptr %822, i32 1
  store ptr %823, ptr %7, align 8, !tbaa !8
  %824 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %822, <2 x i64> noundef %824)
  %825 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %826 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %825, i32 noundef 29)
  store <2 x i64> %826, ptr %10, align 16, !tbaa !5
  %827 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %827, ptr %9, align 16, !tbaa !5
  %828 = load ptr, ptr %5, align 8, !tbaa !8
  %829 = getelementptr inbounds <2 x i64>, ptr %828, i32 1
  store ptr %829, ptr %5, align 8, !tbaa !8
  %830 = load ptr, ptr %5, align 8, !tbaa !8
  %831 = call <2 x i64> @_mm_loadu_si128(ptr noundef %830)
  store <2 x i64> %831, ptr %8, align 16, !tbaa !5
  %832 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %833 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %834 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %833, i32 noundef 3)
  %835 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %836 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %834, <2 x i64> noundef %835)
  %837 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %832, <2 x i64> noundef %836)
  store <2 x i64> %837, ptr %9, align 16, !tbaa !5
  br label %838

838:                                              ; preds = %820
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %839 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %840 = bitcast <2 x i64> %839 to <16 x i8>
  %841 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %840, <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>
  %842 = bitcast <16 x i8> %841 to <2 x i64>
  %843 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %844 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %842, <2 x i64> noundef %843)
  store <2 x i64> %844, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %845 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %846 = bitcast <2 x i64> %845 to <16 x i8>
  %847 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %846, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %848 = bitcast <16 x i8> %847 to <2 x i64>
  %849 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %850 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %848, <2 x i64> noundef %849)
  store <2 x i64> %850, ptr %59, align 16, !tbaa !5
  %851 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %852 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %853 = bitcast <2 x i64> %852 to <4 x i32>
  %854 = shufflevector <4 x i32> %853, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %855 = bitcast <4 x i32> %854 to <2 x i64>
  %856 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %851, <2 x i64> noundef %855)
  store <2 x i64> %856, 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 %857

857:                                              ; preds = %838
  br label %858

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

868:                                              ; preds = %858
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %869 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %870 = bitcast <2 x i64> %869 to <16 x i8>
  %871 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %870, <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>
  %872 = bitcast <16 x i8> %871 to <2 x i64>
  %873 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %874 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %872, <2 x i64> noundef %873)
  store <2 x i64> %874, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %875 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %876 = bitcast <2 x i64> %875 to <16 x i8>
  %877 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %876, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %878 = bitcast <16 x i8> %877 to <2 x i64>
  %879 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %880 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %878, <2 x i64> noundef %879)
  store <2 x i64> %880, ptr %61, align 16, !tbaa !5
  %881 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %882 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %883 = bitcast <2 x i64> %882 to <4 x i32>
  %884 = shufflevector <4 x i32> %883, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %885 = bitcast <4 x i32> %884 to <2 x i64>
  %886 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %881, <2 x i64> noundef %885)
  store <2 x i64> %886, 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 %887

887:                                              ; preds = %868
  br label %888

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

898:                                              ; preds = %888
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %899 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %900 = bitcast <2 x i64> %899 to <16 x i8>
  %901 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %900, <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>
  %902 = bitcast <16 x i8> %901 to <2 x i64>
  %903 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %904 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %902, <2 x i64> noundef %903)
  store <2 x i64> %904, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %905 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %906 = bitcast <2 x i64> %905 to <16 x i8>
  %907 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %906, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %908 = bitcast <16 x i8> %907 to <2 x i64>
  %909 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %910 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %908, <2 x i64> noundef %909)
  store <2 x i64> %910, ptr %63, align 16, !tbaa !5
  %911 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %912 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %913 = bitcast <2 x i64> %912 to <4 x i32>
  %914 = shufflevector <4 x i32> %913, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %915 = bitcast <4 x i32> %914 to <2 x i64>
  %916 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %911, <2 x i64> noundef %915)
  store <2 x i64> %916, 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 %917

917:                                              ; preds = %898
  br label %918

918:                                              ; preds = %917
  %919 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %919, ptr %4, align 16, !tbaa !5
  %920 = load ptr, ptr %7, align 8, !tbaa !8
  %921 = getelementptr inbounds <2 x i64>, ptr %920, i32 1
  store ptr %921, ptr %7, align 8, !tbaa !8
  %922 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %920, <2 x i64> noundef %922)
  %923 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %924 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %923, i32 noundef 30)
  store <2 x i64> %924, ptr %10, align 16, !tbaa !5
  %925 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %925, ptr %9, align 16, !tbaa !5
  %926 = load ptr, ptr %5, align 8, !tbaa !8
  %927 = getelementptr inbounds <2 x i64>, ptr %926, i32 1
  store ptr %927, ptr %5, align 8, !tbaa !8
  %928 = load ptr, ptr %5, align 8, !tbaa !8
  %929 = call <2 x i64> @_mm_loadu_si128(ptr noundef %928)
  store <2 x i64> %929, ptr %8, align 16, !tbaa !5
  %930 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %931 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %932 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %931, i32 noundef 2)
  %933 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %934 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %932, <2 x i64> noundef %933)
  %935 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %930, <2 x i64> noundef %934)
  store <2 x i64> %935, ptr %9, align 16, !tbaa !5
  br label %936

936:                                              ; preds = %918
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %937 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %938 = bitcast <2 x i64> %937 to <16 x i8>
  %939 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %938, <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>
  %940 = bitcast <16 x i8> %939 to <2 x i64>
  %941 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %942 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %940, <2 x i64> noundef %941)
  store <2 x i64> %942, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %943 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %944 = bitcast <2 x i64> %943 to <16 x i8>
  %945 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %944, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %946 = bitcast <16 x i8> %945 to <2 x i64>
  %947 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %948 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %946, <2 x i64> noundef %947)
  store <2 x i64> %948, ptr %65, align 16, !tbaa !5
  %949 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %950 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %951 = bitcast <2 x i64> %950 to <4 x i32>
  %952 = shufflevector <4 x i32> %951, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %953 = bitcast <4 x i32> %952 to <2 x i64>
  %954 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %949, <2 x i64> noundef %953)
  store <2 x i64> %954, 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 %955

955:                                              ; preds = %936
  br label %956

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

966:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %967 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %968 = bitcast <2 x i64> %967 to <16 x i8>
  %969 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %968, <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>
  %970 = bitcast <16 x i8> %969 to <2 x i64>
  %971 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %972 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %970, <2 x i64> noundef %971)
  store <2 x i64> %972, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %973 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %974 = bitcast <2 x i64> %973 to <16 x i8>
  %975 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %974, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %976 = bitcast <16 x i8> %975 to <2 x i64>
  %977 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %978 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %976, <2 x i64> noundef %977)
  store <2 x i64> %978, ptr %67, align 16, !tbaa !5
  %979 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %980 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %981 = bitcast <2 x i64> %980 to <4 x i32>
  %982 = shufflevector <4 x i32> %981, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %983 = bitcast <4 x i32> %982 to <2 x i64>
  %984 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %979, <2 x i64> noundef %983)
  store <2 x i64> %984, 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 %985

985:                                              ; preds = %966
  br label %986

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

996:                                              ; preds = %986
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %997 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %998 = bitcast <2 x i64> %997 to <16 x i8>
  %999 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %998, <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>
  %1000 = bitcast <16 x i8> %999 to <2 x i64>
  %1001 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1002 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1000, <2 x i64> noundef %1001)
  store <2 x i64> %1002, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %1003 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1004 = bitcast <2 x i64> %1003 to <16 x i8>
  %1005 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1004, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1006 = bitcast <16 x i8> %1005 to <2 x i64>
  %1007 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1008 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1006, <2 x i64> noundef %1007)
  store <2 x i64> %1008, ptr %69, align 16, !tbaa !5
  %1009 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %1010 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1011 = bitcast <2 x i64> %1010 to <4 x i32>
  %1012 = shufflevector <4 x i32> %1011, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1013 = bitcast <4 x i32> %1012 to <2 x i64>
  %1014 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1009, <2 x i64> noundef %1013)
  store <2 x i64> %1014, 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 %1015

1015:                                             ; preds = %996
  br label %1016

1016:                                             ; preds = %1015
  %1017 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1017, ptr %4, align 16, !tbaa !5
  %1018 = load ptr, ptr %7, align 8, !tbaa !8
  %1019 = getelementptr inbounds <2 x i64>, ptr %1018, i32 1
  store ptr %1019, ptr %7, align 8, !tbaa !8
  %1020 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1018, <2 x i64> noundef %1020)
  %1021 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1022 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1021, i32 noundef 31)
  store <2 x i64> %1022, ptr %10, align 16, !tbaa !5
  %1023 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1023, ptr %9, align 16, !tbaa !5
  %1024 = load ptr, ptr %5, align 8, !tbaa !8
  %1025 = getelementptr inbounds <2 x i64>, ptr %1024, i32 1
  store ptr %1025, ptr %5, align 8, !tbaa !8
  %1026 = load ptr, ptr %5, align 8, !tbaa !8
  %1027 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1026)
  store <2 x i64> %1027, ptr %8, align 16, !tbaa !5
  %1028 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1029 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1030 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1029, i32 noundef 1)
  %1031 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1032 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1030, <2 x i64> noundef %1031)
  %1033 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1028, <2 x i64> noundef %1032)
  store <2 x i64> %1033, ptr %9, align 16, !tbaa !5
  br label %1034

1034:                                             ; preds = %1016
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1035 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1036 = bitcast <2 x i64> %1035 to <16 x i8>
  %1037 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1036, <16 x i32> <i32 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>
  %1038 = bitcast <16 x i8> %1037 to <2 x i64>
  %1039 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1040 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1038, <2 x i64> noundef %1039)
  store <2 x i64> %1040, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1041 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1042 = bitcast <2 x i64> %1041 to <16 x i8>
  %1043 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1042, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1044 = bitcast <16 x i8> %1043 to <2 x i64>
  %1045 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1046 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1044, <2 x i64> noundef %1045)
  store <2 x i64> %1046, ptr %71, align 16, !tbaa !5
  %1047 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1048 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1049 = bitcast <2 x i64> %1048 to <4 x i32>
  %1050 = shufflevector <4 x i32> %1049, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1051 = bitcast <4 x i32> %1050 to <2 x i64>
  %1052 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1047, <2 x i64> noundef %1051)
  store <2 x i64> %1052, 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 %1053

1053:                                             ; preds = %1034
  br label %1054

1054:                                             ; preds = %1053
  %1055 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1055, ptr %4, align 16, !tbaa !5
  %1056 = load ptr, ptr %7, align 8, !tbaa !8
  %1057 = getelementptr inbounds <2 x i64>, ptr %1056, i32 1
  store ptr %1057, ptr %7, align 8, !tbaa !8
  %1058 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1056, <2 x i64> noundef %1058)
  %1059 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1060 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1059, i32 noundef 10)
  store <2 x i64> %1060, ptr %10, align 16, !tbaa !5
  %1061 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1062 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1063 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1061, <2 x i64> noundef %1062)
  store <2 x i64> %1063, ptr %9, align 16, !tbaa !5
  br label %1064

1064:                                             ; preds = %1054
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1065 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1066 = bitcast <2 x i64> %1065 to <16 x i8>
  %1067 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1066, <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>
  %1068 = bitcast <16 x i8> %1067 to <2 x i64>
  %1069 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1070 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1068, <2 x i64> noundef %1069)
  store <2 x i64> %1070, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1071 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1072 = bitcast <2 x i64> %1071 to <16 x i8>
  %1073 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1072, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1074 = bitcast <16 x i8> %1073 to <2 x i64>
  %1075 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1076 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1074, <2 x i64> noundef %1075)
  store <2 x i64> %1076, ptr %73, align 16, !tbaa !5
  %1077 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1078 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1079 = bitcast <2 x i64> %1078 to <4 x i32>
  %1080 = shufflevector <4 x i32> %1079, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1081 = bitcast <4 x i32> %1080 to <2 x i64>
  %1082 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1077, <2 x i64> noundef %1081)
  store <2 x i64> %1082, 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 %1083

1083:                                             ; preds = %1064
  br label %1084

1084:                                             ; preds = %1083
  %1085 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1085, ptr %4, align 16, !tbaa !5
  %1086 = load ptr, ptr %7, align 8, !tbaa !8
  %1087 = getelementptr inbounds <2 x i64>, ptr %1086, i32 1
  store ptr %1087, ptr %7, align 8, !tbaa !8
  %1088 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1086, <2 x i64> noundef %1088)
  %1089 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1090 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1089, i32 noundef 21)
  store <2 x i64> %1090, ptr %10, align 16, !tbaa !5
  %1091 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1091, ptr %9, align 16, !tbaa !5
  br label %1092

1092:                                             ; preds = %1084
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1093 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1094 = bitcast <2 x i64> %1093 to <16 x i8>
  %1095 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1094, <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>
  %1096 = bitcast <16 x i8> %1095 to <2 x i64>
  %1097 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1098 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1096, <2 x i64> noundef %1097)
  store <2 x i64> %1098, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1099 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1100 = bitcast <2 x i64> %1099 to <16 x i8>
  %1101 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1100, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1102 = bitcast <16 x i8> %1101 to <2 x i64>
  %1103 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1104 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1102, <2 x i64> noundef %1103)
  store <2 x i64> %1104, ptr %75, align 16, !tbaa !5
  %1105 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1106 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1107 = bitcast <2 x i64> %1106 to <4 x i32>
  %1108 = shufflevector <4 x i32> %1107, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1109 = bitcast <4 x i32> %1108 to <2 x i64>
  %1110 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1105, <2 x i64> noundef %1109)
  store <2 x i64> %1110, 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 %1111

1111:                                             ; preds = %1092
  br label %1112

1112:                                             ; preds = %1111
  %1113 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1113, ptr %4, align 16, !tbaa !5
  %1114 = load ptr, ptr %7, align 8, !tbaa !8
  %1115 = getelementptr inbounds <2 x i64>, ptr %1114, i32 1
  store ptr %1115, ptr %7, align 8, !tbaa !8
  %1116 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1114, <2 x i64> noundef %1116)
  %1117 = 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> %1117
}

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

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