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

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

239:                                              ; preds = %220
  br label %240

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

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

269:                                              ; preds = %250
  br label %270

270:                                              ; preds = %269
  %271 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %271, ptr %4, align 16, !tbaa !5
  %272 = load ptr, ptr %7, align 8, !tbaa !8
  %273 = getelementptr inbounds <2 x i64>, ptr %272, i32 1
  store ptr %273, ptr %7, align 8, !tbaa !8
  %274 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %272, <2 x i64> noundef %274)
  %275 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %276 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %275, i32 noundef 14)
  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 27)
  store <2 x i64> %306, ptr %10, align 16, !tbaa !5
  %307 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %307, ptr %9, align 16, !tbaa !5
  %308 = load ptr, ptr %5, align 8, !tbaa !8
  %309 = getelementptr inbounds <2 x i64>, ptr %308, i32 1
  store ptr %309, ptr %5, align 8, !tbaa !8
  %310 = load ptr, ptr %5, align 8, !tbaa !8
  %311 = call <2 x i64> @_mm_loadu_si128(ptr noundef %310)
  store <2 x i64> %311, ptr %8, align 16, !tbaa !5
  %312 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %313 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %314 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %313, i32 noundef 5)
  %315 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %316 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %314, <2 x i64> noundef %315)
  %317 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %312, <2 x i64> noundef %316)
  store <2 x i64> %317, ptr %9, align 16, !tbaa !5
  br label %318

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

337:                                              ; preds = %318
  br label %338

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

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

367:                                              ; preds = %348
  br label %368

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

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

405:                                              ; preds = %386
  br label %406

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

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

435:                                              ; preds = %416
  br label %436

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

446:                                              ; preds = %436
  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 28)
  store <2 x i64> %472, ptr %10, align 16, !tbaa !5
  %473 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %473, ptr %9, align 16, !tbaa !5
  %474 = load ptr, ptr %5, align 8, !tbaa !8
  %475 = getelementptr inbounds <2 x i64>, ptr %474, i32 1
  store ptr %475, ptr %5, align 8, !tbaa !8
  %476 = load ptr, ptr %5, align 8, !tbaa !8
  %477 = call <2 x i64> @_mm_loadu_si128(ptr noundef %476)
  store <2 x i64> %477, ptr %8, align 16, !tbaa !5
  %478 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %479 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %480 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %479, i32 noundef 4)
  %481 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %482 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %480, <2 x i64> noundef %481)
  %483 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %478, <2 x i64> noundef %482)
  store <2 x i64> %483, ptr %9, align 16, !tbaa !5
  br label %484

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

503:                                              ; preds = %484
  br label %504

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

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

533:                                              ; preds = %514
  br label %534

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

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

571:                                              ; preds = %552
  br label %572

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

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

601:                                              ; preds = %582
  br label %602

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

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

631:                                              ; preds = %612
  br label %632

632:                                              ; preds = %631
  %633 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %633, ptr %4, align 16, !tbaa !5
  %634 = load ptr, ptr %7, align 8, !tbaa !8
  %635 = getelementptr inbounds <2 x i64>, ptr %634, i32 1
  store ptr %635, ptr %7, align 8, !tbaa !8
  %636 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %634, <2 x i64> noundef %636)
  %637 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %638 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %637, i32 noundef 29)
  store <2 x i64> %638, ptr %10, align 16, !tbaa !5
  %639 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %639, ptr %9, align 16, !tbaa !5
  %640 = load ptr, ptr %5, align 8, !tbaa !8
  %641 = getelementptr inbounds <2 x i64>, ptr %640, i32 1
  store ptr %641, ptr %5, align 8, !tbaa !8
  %642 = load ptr, ptr %5, align 8, !tbaa !8
  %643 = call <2 x i64> @_mm_loadu_si128(ptr noundef %642)
  store <2 x i64> %643, ptr %8, align 16, !tbaa !5
  %644 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %645 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %646 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %645, i32 noundef 3)
  %647 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %648 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %646, <2 x i64> noundef %647)
  %649 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %644, <2 x i64> noundef %648)
  store <2 x i64> %649, ptr %9, align 16, !tbaa !5
  br label %650

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

669:                                              ; preds = %650
  br label %670

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

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

699:                                              ; preds = %680
  br label %700

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

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

737:                                              ; preds = %718
  br label %738

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

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

767:                                              ; preds = %748
  br label %768

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

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

797:                                              ; preds = %778
  br label %798

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

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

835:                                              ; preds = %816
  br label %836

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

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

865:                                              ; preds = %846
  br label %866

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

884:                                              ; preds = %866
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %885 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %886 = bitcast <2 x i64> %885 to <16 x i8>
  %887 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %886, <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>
  %888 = bitcast <16 x i8> %887 to <2 x i64>
  %889 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %890 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %888, <2 x i64> noundef %889)
  store <2 x i64> %890, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %891 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %892 = bitcast <2 x i64> %891 to <16 x i8>
  %893 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %892, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %894 = bitcast <16 x i8> %893 to <2 x i64>
  %895 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %896 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %894, <2 x i64> noundef %895)
  store <2 x i64> %896, ptr %61, align 16, !tbaa !5
  %897 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %898 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %899 = bitcast <2 x i64> %898 to <4 x i32>
  %900 = shufflevector <4 x i32> %899, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %901 = bitcast <4 x i32> %900 to <2 x i64>
  %902 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %897, <2 x i64> noundef %901)
  store <2 x i64> %902, 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 %903

903:                                              ; preds = %884
  br label %904

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

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

933:                                              ; preds = %914
  br label %934

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

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

963:                                              ; preds = %944
  br label %964

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

982:                                              ; preds = %964
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %983 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %984 = bitcast <2 x i64> %983 to <16 x i8>
  %985 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %984, <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>
  %986 = bitcast <16 x i8> %985 to <2 x i64>
  %987 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %988 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %986, <2 x i64> noundef %987)
  store <2 x i64> %988, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %989 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %990 = bitcast <2 x i64> %989 to <16 x i8>
  %991 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %990, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %992 = bitcast <16 x i8> %991 to <2 x i64>
  %993 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %994 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %992, <2 x i64> noundef %993)
  store <2 x i64> %994, ptr %67, align 16, !tbaa !5
  %995 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %996 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %997 = bitcast <2 x i64> %996 to <4 x i32>
  %998 = shufflevector <4 x i32> %997, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %999 = bitcast <4 x i32> %998 to <2 x i64>
  %1000 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %995, <2 x i64> noundef %999)
  store <2 x i64> %1000, 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 %1001

1001:                                             ; preds = %982
  br label %1002

1002:                                             ; preds = %1001
  %1003 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1003, ptr %4, align 16, !tbaa !5
  %1004 = load ptr, ptr %7, align 8, !tbaa !8
  %1005 = getelementptr inbounds <2 x i64>, ptr %1004, i32 1
  store ptr %1005, ptr %7, align 8, !tbaa !8
  %1006 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1004, <2 x i64> noundef %1006)
  %1007 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1008 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1007, i32 noundef 12)
  store <2 x i64> %1008, ptr %10, align 16, !tbaa !5
  %1009 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1010 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1011 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1009, <2 x i64> noundef %1010)
  store <2 x i64> %1011, ptr %9, align 16, !tbaa !5
  br label %1012

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

1031:                                             ; preds = %1012
  br label %1032

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

1050:                                             ; preds = %1032
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1051 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1052 = bitcast <2 x i64> %1051 to <16 x i8>
  %1053 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1052, <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>
  %1054 = bitcast <16 x i8> %1053 to <2 x i64>
  %1055 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1056 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1054, <2 x i64> noundef %1055)
  store <2 x i64> %1056, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1057 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1058 = bitcast <2 x i64> %1057 to <16 x i8>
  %1059 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1058, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1060 = bitcast <16 x i8> %1059 to <2 x i64>
  %1061 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1062 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1060, <2 x i64> noundef %1061)
  store <2 x i64> %1062, ptr %71, align 16, !tbaa !5
  %1063 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1064 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1065 = bitcast <2 x i64> %1064 to <4 x i32>
  %1066 = shufflevector <4 x i32> %1065, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1067 = bitcast <4 x i32> %1066 to <2 x i64>
  %1068 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1063, <2 x i64> noundef %1067)
  store <2 x i64> %1068, 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 %1069

1069:                                             ; preds = %1050
  br label %1070

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

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

1099:                                             ; preds = %1080
  br label %1100

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

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

1127:                                             ; preds = %1108
  br label %1128

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

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

attributes #0 = { alwaysinline nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass