; LLVM IR from fwip/fastqz :: libzpaq.ll (ZN7libzpaq5ZPAQL8assembleEv)

; 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"

%"class.libzpaq::Array.6" = type <{ ptr, i64, i32, [4 x i8] }>
%"class.libzpaq::ZPAQL" = type { ptr, ptr, %"class.libzpaq::Array.0", i32, i32, i32, [4 x i8], %"class.libzpaq::Array.0", %"class.libzpaq::Array", %"class.libzpaq::Array", %"class.libzpaq::Array.4", i32, i32, i32, i32, i32, i32, i32, i32, ptr }
%"class.libzpaq::Array.0" = type <{ ptr, i64, i32, [4 x i8] }>
%"class.libzpaq::Array" = type <{ ptr, i64, i32, [4 x i8] }>
%"class.libzpaq::Array.4" = type <{ ptr, i64, i32, [4 x i8] }>

@.str.39 = external hidden unnamed_addr constant [41 x i8], align 1
@__const._ZN7libzpaq5ZPAQL8assembleEv.regcode = external hidden unnamed_addr constant [8 x i32], align 16
@__const._ZN7libzpaq5ZPAQL8assembleEv.jtab = external hidden unnamed_addr constant [2 x [4 x i32]], align 16
@.str.40 = external hidden unnamed_addr constant [27 x i8], align 1

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

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

declare void @_ZN7libzpaq5errorEPKc(ptr noundef) #1

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK7libzpaq5ArrayIhE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) #3 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK7libzpaq5ArrayIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK7libzpaq5ArrayIcE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #3 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN7libzpaq5ZPAQL8assembleEv(ptr noundef nonnull align 8 dereferenceable(192) %0) #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca i32, align 4
  %3 = alloca ptr, align 8
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca [8 x i32], align 16
  %11 = alloca %"class.libzpaq::Array.6", align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca [2 x [4 x i32]], align 16
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  %51 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #5
  store i32 8, ptr %4, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #5
  store i32 305419896, ptr %5, align 4, !tbaa !9
  %52 = load i8, ptr %5, align 4, !tbaa !11
  %53 = sext i8 %52 to i32
  %54 = icmp ne i32 %53, 120
  br i1 %54, label %55, label %56

55:                                               ; preds = %1
  call void @_ZN7libzpaq5errorEPKc(ptr noundef @.str.39)
  br label %56

56:                                               ; preds = %55, %1
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #5
  %57 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 2
  %58 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 4
  %59 = load i32, ptr %58, align 4, !tbaa !12
  %60 = sext i32 %59 to i64
  %61 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %57, i64 noundef %60)
  store ptr %61, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #5
  %62 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 5
  %63 = load i32, ptr %62, align 8, !tbaa !18
  %64 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 4
  %65 = load i32, ptr %64, align 4, !tbaa !12
  %66 = sub nsw i32 %63, %65
  %67 = add nsw i32 %66, 1
  store i32 %67, ptr %7, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #5
  %68 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 7
  %69 = call noundef i64 @_ZNK7libzpaq5ArrayIhE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %68)
  %70 = trunc i64 %69 to i32
  store i32 %70, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #5
  %71 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 8
  %72 = call noundef i64 @_ZNK7libzpaq5ArrayIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %71)
  %73 = trunc i64 %72 to i32
  store i32 %73, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #5
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %10, ptr align 16 @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #5
  %74 = load i32, ptr %7, align 4, !tbaa !9
  %75 = sext i32 %74 to i64
  call void @_ZN7libzpaq5ArrayIiEC2Emi(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %75, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #5
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #5
  store i32 5, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #5
  %76 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %76, ptr %14, align 4, !tbaa !9
  %77 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %78 = load ptr, ptr %77, align 8, !tbaa !19
  %79 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %80 = load i32, ptr %79, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %78, i32 noundef %80, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18617, i32 noundef 2)
          to label %81 unwind label %509

81:                                               ; preds = %56
  %82 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 12
  %83 = ptrtoint ptr %82 to i64
  %84 = trunc i64 %83 to i32
  store i32 %84, ptr %5, align 4, !tbaa !9
  %85 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %86 = load ptr, ptr %85, align 8, !tbaa !19
  %87 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %88 = load i32, ptr %87, align 4, !tbaa !20
  %89 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %86, i32 noundef %88, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %89)
          to label %90 unwind label %509

90:                                               ; preds = %81
  %91 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 12
  %92 = ptrtoint ptr %91 to i64
  %93 = lshr i64 %92, 32
  %94 = trunc i64 %93 to i32
  store i32 %94, ptr %5, align 4, !tbaa !9
  %95 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %96 = load ptr, ptr %95, align 8, !tbaa !19
  %97 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %98 = load i32, ptr %97, align 4, !tbaa !20
  %99 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %96, i32 noundef %98, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %99)
          to label %100 unwind label %509

100:                                              ; preds = %90
  %101 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %102 = load ptr, ptr %101, align 8, !tbaa !19
  %103 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %104 = load i32, ptr %103, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %102, i32 noundef %104, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35089, i32 noundef 2)
          to label %105 unwind label %509

105:                                              ; preds = %100
  %106 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %107 = load ptr, ptr %106, align 8, !tbaa !19
  %108 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %109 = load i32, ptr %108, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %107, i32 noundef %109, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18617, i32 noundef 2)
          to label %110 unwind label %509

110:                                              ; preds = %105
  %111 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 13
  %112 = ptrtoint ptr %111 to i64
  %113 = trunc i64 %112 to i32
  store i32 %113, ptr %5, align 4, !tbaa !9
  %114 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %115 = load ptr, ptr %114, align 8, !tbaa !19
  %116 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %117 = load i32, ptr %116, align 4, !tbaa !20
  %118 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %115, i32 noundef %117, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %118)
          to label %119 unwind label %509

119:                                              ; preds = %110
  %120 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 13
  %121 = ptrtoint ptr %120 to i64
  %122 = lshr i64 %121, 32
  %123 = trunc i64 %122 to i32
  store i32 %123, ptr %5, align 4, !tbaa !9
  %124 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %125 = load ptr, ptr %124, align 8, !tbaa !19
  %126 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %127 = load i32, ptr %126, align 4, !tbaa !20
  %128 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %125, i32 noundef %127, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %128)
          to label %129 unwind label %509

129:                                              ; preds = %119
  %130 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %131 = load ptr, ptr %130, align 8, !tbaa !19
  %132 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %133 = load i32, ptr %132, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %131, i32 noundef %133, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35121, i32 noundef 2)
          to label %134 unwind label %509

134:                                              ; preds = %129
  %135 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %136 = load ptr, ptr %135, align 8, !tbaa !19
  %137 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %138 = load i32, ptr %137, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %136, i32 noundef %138, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18617, i32 noundef 2)
          to label %139 unwind label %509

139:                                              ; preds = %134
  %140 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 14
  %141 = ptrtoint ptr %140 to i64
  %142 = trunc i64 %141 to i32
  store i32 %142, ptr %5, align 4, !tbaa !9
  %143 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %144 = load ptr, ptr %143, align 8, !tbaa !19
  %145 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %146 = load i32, ptr %145, align 4, !tbaa !20
  %147 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %144, i32 noundef %146, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %147)
          to label %148 unwind label %509

148:                                              ; preds = %139
  %149 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 14
  %150 = ptrtoint ptr %149 to i64
  %151 = lshr i64 %150, 32
  %152 = trunc i64 %151 to i32
  store i32 %152, ptr %5, align 4, !tbaa !9
  %153 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %154 = load ptr, ptr %153, align 8, !tbaa !19
  %155 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %156 = load i32, ptr %155, align 4, !tbaa !20
  %157 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %154, i32 noundef %156, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %157)
          to label %158 unwind label %509

158:                                              ; preds = %148
  %159 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %160 = load ptr, ptr %159, align 8, !tbaa !19
  %161 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %162 = load i32, ptr %161, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %160, i32 noundef %162, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35129, i32 noundef 2)
          to label %163 unwind label %509

163:                                              ; preds = %158
  %164 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %165 = load ptr, ptr %164, align 8, !tbaa !19
  %166 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %167 = load i32, ptr %166, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %165, i32 noundef %167, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18617, i32 noundef 2)
          to label %168 unwind label %509

168:                                              ; preds = %163
  %169 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 15
  %170 = ptrtoint ptr %169 to i64
  %171 = trunc i64 %170 to i32
  store i32 %171, ptr %5, align 4, !tbaa !9
  %172 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %173 = load ptr, ptr %172, align 8, !tbaa !19
  %174 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %175 = load i32, ptr %174, align 4, !tbaa !20
  %176 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %173, i32 noundef %175, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %176)
          to label %177 unwind label %509

177:                                              ; preds = %168
  %178 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 15
  %179 = ptrtoint ptr %178 to i64
  %180 = lshr i64 %179, 32
  %181 = trunc i64 %180 to i32
  store i32 %181, ptr %5, align 4, !tbaa !9
  %182 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %183 = load ptr, ptr %182, align 8, !tbaa !19
  %184 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %185 = load i32, ptr %184, align 4, !tbaa !20
  %186 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %183, i32 noundef %185, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %186)
          to label %187 unwind label %509

187:                                              ; preds = %177
  %188 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %189 = load ptr, ptr %188, align 8, !tbaa !19
  %190 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %191 = load i32, ptr %190, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %189, i32 noundef %191, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35113, i32 noundef 2)
          to label %192 unwind label %509

192:                                              ; preds = %187
  %193 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %194 = load ptr, ptr %193, align 8, !tbaa !19
  %195 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %196 = load i32, ptr %195, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %194, i32 noundef %196, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18617, i32 noundef 2)
          to label %197 unwind label %509

197:                                              ; preds = %192
  %198 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 16
  %199 = ptrtoint ptr %198 to i64
  %200 = trunc i64 %199 to i32
  store i32 %200, ptr %5, align 4, !tbaa !9
  %201 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %202 = load ptr, ptr %201, align 8, !tbaa !19
  %203 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %204 = load i32, ptr %203, align 4, !tbaa !20
  %205 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %202, i32 noundef %204, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %205)
          to label %206 unwind label %509

206:                                              ; preds = %197
  %207 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 16
  %208 = ptrtoint ptr %207 to i64
  %209 = lshr i64 %208, 32
  %210 = trunc i64 %209 to i32
  store i32 %210, ptr %5, align 4, !tbaa !9
  %211 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %212 = load ptr, ptr %211, align 8, !tbaa !19
  %213 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %214 = load i32, ptr %213, align 4, !tbaa !20
  %215 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %212, i32 noundef %214, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %215)
          to label %216 unwind label %509

216:                                              ; preds = %206
  %217 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %218 = load ptr, ptr %217, align 8, !tbaa !19
  %219 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %220 = load i32, ptr %219, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %218, i32 noundef %220, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35097, i32 noundef 2)
          to label %221 unwind label %509

221:                                              ; preds = %216
  %222 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %223 = load ptr, ptr %222, align 8, !tbaa !19
  %224 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %225 = load i32, ptr %224, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %223, i32 noundef %225, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216595000, i32 noundef 4)
          to label %226 unwind label %509

226:                                              ; preds = %221
  %227 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %228 = load ptr, ptr %227, align 8, !tbaa !19
  %229 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %230 = load i32, ptr %229, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %228, i32 noundef %230, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16735, i32 noundef 2)
          to label %231 unwind label %509

231:                                              ; preds = %226
  %232 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %233 = load ptr, ptr %232, align 8, !tbaa !19
  %234 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %235 = load i32, ptr %234, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %233, i32 noundef %235, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16734, i32 noundef 2)
          to label %236 unwind label %509

236:                                              ; preds = %231
  %237 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %238 = load ptr, ptr %237, align 8, !tbaa !19
  %239 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %240 = load i32, ptr %239, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %238, i32 noundef %240, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16733, i32 noundef 2)
          to label %241 unwind label %509

241:                                              ; preds = %236
  %242 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %243 = load ptr, ptr %242, align 8, !tbaa !19
  %244 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %245 = load i32, ptr %244, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %243, i32 noundef %245, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16732, i32 noundef 2)
          to label %246 unwind label %509

246:                                              ; preds = %241
  %247 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %248 = load ptr, ptr %247, align 8, !tbaa !19
  %249 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %250 = load i32, ptr %249, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %248, i32 noundef %250, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 93, i32 noundef 1)
          to label %251 unwind label %509

251:                                              ; preds = %246
  %252 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %253 = load ptr, ptr %252, align 8, !tbaa !19
  %254 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %255 = load i32, ptr %254, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %253, i32 noundef %255, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 91, i32 noundef 1)
          to label %256 unwind label %509

256:                                              ; preds = %251
  %257 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %258 = load ptr, ptr %257, align 8, !tbaa !19
  %259 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %260 = load i32, ptr %259, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %258, i32 noundef %260, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 95, i32 noundef 1)
          to label %261 unwind label %509

261:                                              ; preds = %256
  %262 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %263 = load ptr, ptr %262, align 8, !tbaa !19
  %264 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %265 = load i32, ptr %264, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %263, i32 noundef %265, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 94, i32 noundef 1)
          to label %266 unwind label %509

266:                                              ; preds = %261
  %267 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %268 = load ptr, ptr %267, align 8, !tbaa !19
  %269 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %270 = load i32, ptr %269, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %268, i32 noundef %270, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 195, i32 noundef 1)
          to label %271 unwind label %509

271:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #5
  %272 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %272, ptr %17, align 4, !tbaa !9
  %273 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %274 = load ptr, ptr %273, align 8, !tbaa !19
  %275 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %276 = load i32, ptr %275, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %274, i32 noundef %276, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18616, i32 noundef 2)
          to label %277 unwind label %513

277:                                              ; preds = %271
  %278 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 10
  %279 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %278, i64 noundef 0)
          to label %280 unwind label %513

280:                                              ; preds = %277
  %281 = ptrtoint ptr %279 to i64
  %282 = trunc i64 %281 to i32
  store i32 %282, ptr %5, align 4, !tbaa !9
  %283 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %284 = load ptr, ptr %283, align 8, !tbaa !19
  %285 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %286 = load i32, ptr %285, align 4, !tbaa !20
  %287 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %284, i32 noundef %286, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %287)
          to label %288 unwind label %513

288:                                              ; preds = %280
  %289 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 10
  %290 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %289, i64 noundef 0)
          to label %291 unwind label %513

291:                                              ; preds = %288
  %292 = ptrtoint ptr %290 to i64
  %293 = lshr i64 %292, 32
  %294 = trunc i64 %293 to i32
  store i32 %294, ptr %5, align 4, !tbaa !9
  %295 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %296 = load ptr, ptr %295, align 8, !tbaa !19
  %297 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %298 = load i32, ptr %297, align 4, !tbaa !20
  %299 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %296, i32 noundef %298, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %299)
          to label %300 unwind label %513

300:                                              ; preds = %291
  %301 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %302 = load ptr, ptr %301, align 8, !tbaa !19
  %303 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %304 = load i32, ptr %303, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %302, i32 noundef %304, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18874, i32 noundef 2)
          to label %305 unwind label %513

305:                                              ; preds = %300
  %306 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 11
  %307 = ptrtoint ptr %306 to i64
  %308 = trunc i64 %307 to i32
  store i32 %308, ptr %5, align 4, !tbaa !9
  %309 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %310 = load ptr, ptr %309, align 8, !tbaa !19
  %311 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %312 = load i32, ptr %311, align 4, !tbaa !20
  %313 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %310, i32 noundef %312, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %313)
          to label %314 unwind label %513

314:                                              ; preds = %305
  %315 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 11
  %316 = ptrtoint ptr %315 to i64
  %317 = lshr i64 %316, 32
  %318 = trunc i64 %317 to i32
  store i32 %318, ptr %5, align 4, !tbaa !9
  %319 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %320 = load ptr, ptr %319, align 8, !tbaa !19
  %321 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %322 = load i32, ptr %321, align 4, !tbaa !20
  %323 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %320, i32 noundef %322, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %323)
          to label %324 unwind label %513

324:                                              ; preds = %314
  %325 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %326 = load ptr, ptr %325, align 8, !tbaa !19
  %327 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %328 = load i32, ptr %327, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %326, i32 noundef %328, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 4295434, i32 noundef 3)
          to label %329 unwind label %513

329:                                              ; preds = %324
  %330 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %331 = load ptr, ptr %330, align 8, !tbaa !19
  %332 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %333 = load i32, ptr %332, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %331, i32 noundef %333, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 8983560, i32 noundef 3)
          to label %334 unwind label %513

334:                                              ; preds = %329
  %335 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %336 = load ptr, ptr %335, align 8, !tbaa !19
  %337 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %338 = load i32, ptr %337, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %336, i32 noundef %338, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 65473, i32 noundef 2)
          to label %339 unwind label %513

339:                                              ; preds = %334
  %340 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %341 = load ptr, ptr %340, align 8, !tbaa !19
  %342 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %343 = load i32, ptr %342, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %341, i32 noundef %343, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 4294922, i32 noundef 3)
          to label %344 unwind label %513

344:                                              ; preds = %339
  %345 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %346 = load ptr, ptr %345, align 8, !tbaa !19
  %347 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %348 = load i32, ptr %347, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %346, i32 noundef %348, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33273, i32 noundef 2)
          to label %349 unwind label %513

349:                                              ; preds = %344
  %350 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 10
  %351 = invoke noundef i64 @_ZNK7libzpaq5ArrayIcE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %350)
          to label %352 unwind label %513

352:                                              ; preds = %349
  %353 = trunc i64 %351 to i32
  store i32 %353, ptr %5, align 4, !tbaa !9
  %354 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %355 = load ptr, ptr %354, align 8, !tbaa !19
  %356 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %357 = load i32, ptr %356, align 4, !tbaa !20
  %358 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %355, i32 noundef %357, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %358)
          to label %359 unwind label %513

359:                                              ; preds = %352
  %360 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %361 = load ptr, ptr %360, align 8, !tbaa !19
  %362 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %363 = load i32, ptr %362, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %361, i32 noundef %363, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 29697, i32 noundef 2)
          to label %364 unwind label %513

364:                                              ; preds = %359
  %365 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %366 = load ptr, ptr %365, align 8, !tbaa !19
  %367 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %368 = load i32, ptr %367, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %366, i32 noundef %368, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 195, i32 noundef 1)
          to label %369 unwind label %513

369:                                              ; preds = %364
  %370 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %371 = load ptr, ptr %370, align 8, !tbaa !19
  %372 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %373 = load i32, ptr %372, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %371, i32 noundef %373, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216605232, i32 noundef 4)
          to label %374 unwind label %513

374:                                              ; preds = %369
  %375 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %376 = load ptr, ptr %375, align 8, !tbaa !19
  %377 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %378 = load i32, ptr %377, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %376, i32 noundef %378, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216953380, i32 noundef 4)
          to label %379 unwind label %513

379:                                              ; preds = %374
  %380 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %381 = load ptr, ptr %380, align 8, !tbaa !19
  %382 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %383 = load i32, ptr %382, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %381, i32 noundef %383, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216967716, i32 noundef 4)
          to label %384 unwind label %513

384:                                              ; preds = %379
  %385 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %386 = load ptr, ptr %385, align 8, !tbaa !19
  %387 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %388 = load i32, ptr %387, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %386, i32 noundef %388, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 8, i32 noundef 1)
          to label %389 unwind label %513

389:                                              ; preds = %384
  %390 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %391 = load ptr, ptr %390, align 8, !tbaa !19
  %392 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %393 = load i32, ptr %392, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %391, i32 noundef %393, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216959524, i32 noundef 4)
          to label %394 unwind label %513

394:                                              ; preds = %389
  %395 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %396 = load ptr, ptr %395, align 8, !tbaa !19
  %397 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %398 = load i32, ptr %397, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %396, i32 noundef %398, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16, i32 noundef 1)
          to label %399 unwind label %513

399:                                              ; preds = %394
  %400 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %401 = load ptr, ptr %400, align 8, !tbaa !19
  %402 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %403 = load i32, ptr %402, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %401, i32 noundef %403, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216957476, i32 noundef 4)
          to label %404 unwind label %513

404:                                              ; preds = %399
  %405 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %406 = load ptr, ptr %405, align 8, !tbaa !19
  %407 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %408 = load i32, ptr %407, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %406, i32 noundef %408, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 24, i32 noundef 1)
          to label %409 unwind label %513

409:                                              ; preds = %404
  %410 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %411 = load ptr, ptr %410, align 8, !tbaa !19
  %412 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %413 = load i32, ptr %412, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %411, i32 noundef %413, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18623, i32 noundef 2)
          to label %414 unwind label %513

414:                                              ; preds = %409
  %415 = ptrtoint ptr %51 to i64
  %416 = trunc i64 %415 to i32
  store i32 %416, ptr %5, align 4, !tbaa !9
  %417 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %418 = load ptr, ptr %417, align 8, !tbaa !19
  %419 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %420 = load i32, ptr %419, align 4, !tbaa !20
  %421 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %418, i32 noundef %420, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %421)
          to label %422 unwind label %513

422:                                              ; preds = %414
  %423 = ptrtoint ptr %51 to i64
  %424 = lshr i64 %423, 32
  %425 = trunc i64 %424 to i32
  store i32 %425, ptr %5, align 4, !tbaa !9
  %426 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %427 = load ptr, ptr %426, align 8, !tbaa !19
  %428 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %429 = load i32, ptr %428, align 4, !tbaa !20
  %430 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %427, i32 noundef %429, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %430)
          to label %431 unwind label %513

431:                                              ; preds = %422
  %432 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %433 = load ptr, ptr %432, align 8, !tbaa !19
  %434 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %435 = load i32, ptr %434, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %433, i32 noundef %435, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18875, i32 noundef 2)
          to label %436 unwind label %513

436:                                              ; preds = %431
  store i32 ptrtoint (ptr @_ZN7libzpaqL6flush1EPNS_5ZPAQLE to i32), ptr %5, align 4, !tbaa !9
  %437 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %438 = load ptr, ptr %437, align 8, !tbaa !19
  %439 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %440 = load i32, ptr %439, align 4, !tbaa !20
  %441 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %438, i32 noundef %440, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %441)
          to label %442 unwind label %513

442:                                              ; preds = %436
  %443 = lshr i64 ptrtoint (ptr @_ZN7libzpaqL6flush1EPNS_5ZPAQLE to i64), 32
  %444 = trunc i64 %443 to i32
  store i32 %444, ptr %5, align 4, !tbaa !9
  %445 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %446 = load ptr, ptr %445, align 8, !tbaa !19
  %447 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %448 = load i32, ptr %447, align 4, !tbaa !20
  %449 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %446, i32 noundef %448, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %449)
          to label %450 unwind label %513

450:                                              ; preds = %442
  %451 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %452 = load ptr, ptr %451, align 8, !tbaa !19
  %453 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %454 = load i32, ptr %453, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %452, i32 noundef %454, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 4325331, i32 noundef 3)
          to label %455 unwind label %513

455:                                              ; preds = %450
  %456 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %457 = load ptr, ptr %456, align 8, !tbaa !19
  %458 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %459 = load i32, ptr %458, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %457, i32 noundef %459, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1217088548, i32 noundef 4)
          to label %460 unwind label %513

460:                                              ; preds = %455
  %461 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %462 = load ptr, ptr %461, align 8, !tbaa !19
  %463 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %464 = load i32, ptr %463, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %462, i32 noundef %464, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 24, i32 noundef 1)
          to label %465 unwind label %513

465:                                              ; preds = %460
  %466 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %467 = load ptr, ptr %466, align 8, !tbaa !19
  %468 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %469 = load i32, ptr %468, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %467, i32 noundef %469, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1217090596, i32 noundef 4)
          to label %470 unwind label %513

470:                                              ; preds = %465
  %471 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %472 = load ptr, ptr %471, align 8, !tbaa !19
  %473 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %474 = load i32, ptr %473, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %472, i32 noundef %474, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16, i32 noundef 1)
          to label %475 unwind label %513

475:                                              ; preds = %470
  %476 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %477 = load ptr, ptr %476, align 8, !tbaa !19
  %478 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %479 = load i32, ptr %478, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %477, i32 noundef %479, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1217098788, i32 noundef 4)
          to label %480 unwind label %513

480:                                              ; preds = %475
  %481 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %482 = load ptr, ptr %481, align 8, !tbaa !19
  %483 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %484 = load i32, ptr %483, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %482, i32 noundef %484, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 8, i32 noundef 1)
          to label %485 unwind label %513

485:                                              ; preds = %480
  %486 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %487 = load ptr, ptr %486, align 8, !tbaa !19
  %488 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %489 = load i32, ptr %488, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %487, i32 noundef %489, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1217084452, i32 noundef 4)
          to label %490 unwind label %513

490:                                              ; preds = %485
  %491 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %492 = load ptr, ptr %491, align 8, !tbaa !19
  %493 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %494 = load i32, ptr %493, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %492, i32 noundef %494, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216594992, i32 noundef 4)
          to label %495 unwind label %513

495:                                              ; preds = %490
  %496 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %497 = load ptr, ptr %496, align 8, !tbaa !19
  %498 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %499 = load i32, ptr %498, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %497, i32 noundef %499, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 195, i32 noundef 1)
          to label %500 unwind label %513

500:                                              ; preds = %495
  %501 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef 0)
          to label %502 unwind label %513

502:                                              ; preds = %500
  store i32 2, ptr %501, align 4, !tbaa !9
  br label %503

503:                                              ; preds = %660, %502
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #5
  store i32 -2147483648, ptr %18, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #5
  store i32 0, ptr %19, align 4, !tbaa !9
  br label %504

504:                                              ; preds = %655, %503
  %505 = load i32, ptr %19, align 4, !tbaa !9
  %506 = load i32, ptr %7, align 4, !tbaa !9
  %507 = icmp slt i32 %505, %506
  br i1 %507, label %517, label %508

508:                                              ; preds = %504
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #5
  br label %659

509:                                              ; preds = %266, %261, %256, %251, %246, %241, %236, %231, %226, %221, %216, %206, %197, %192, %187, %177, %168, %163, %158, %148, %139, %134, %129, %119, %110, %105, %100, %90, %81, %56
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %15, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %16, align 4
  br label %2944

513:                                              ; preds = %500, %495, %490, %485, %480, %475, %470, %465, %460, %455, %450, %442, %436, %431, %422, %414, %409, %404, %399, %394, %389, %384, %379, %374, %369, %364, %359, %352, %349, %344, %339, %334, %329, %324, %314, %305, %300, %291, %288, %280, %277, %271
  %514 = landingpad { ptr, i32 }
          cleanup
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %15, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %16, align 4
  br label %2943

517:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #5
  %518 = load ptr, ptr %6, align 8, !tbaa !5
  %519 = load i32, ptr %19, align 4, !tbaa !9
  %520 = sext i32 %519 to i64
  %521 = getelementptr inbounds i8, ptr %518, i64 %520
  %522 = load i8, ptr %521, align 1, !tbaa !11
  %523 = zext i8 %522 to i32
  store i32 %523, ptr %20, align 4, !tbaa !9
  %524 = load i32, ptr %19, align 4, !tbaa !9
  %525 = sext i32 %524 to i64
  %526 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %525)
          to label %527 unwind label %542

527:                                              ; preds = %517
  %528 = load i32, ptr %526, align 4, !tbaa !9
  %529 = icmp ne i32 %528, 0
  br i1 %529, label %530, label %654

530:                                              ; preds = %527
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #5
  %531 = load i32, ptr %19, align 4, !tbaa !9
  %532 = add nsw i32 %531, 1
  %533 = load i32, ptr %20, align 4, !tbaa !9
  %534 = srem i32 %533, 8
  %535 = icmp eq i32 %534, 7
  %536 = zext i1 %535 to i32
  %537 = add nsw i32 %532, %536
  store i32 %537, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #5
  store i32 -2147483648, ptr %22, align 4, !tbaa !9
  %538 = load i32, ptr %20, align 4, !tbaa !9
  %539 = invoke noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef %538)
          to label %540 unwind label %546

540:                                              ; preds = %530
  br i1 %539, label %541, label %550

541:                                              ; preds = %540
  store i32 -2147483648, ptr %21, align 4, !tbaa !9
  br label %550

542:                                              ; preds = %517
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %15, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %16, align 4
  br label %658

546:                                              ; preds = %644, %636, %624, %616, %530
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %15, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #5
  br label %658

550:                                              ; preds = %541, %540
  %551 = load i32, ptr %20, align 4, !tbaa !9
  %552 = icmp eq i32 %551, 56
  br i1 %552, label %553, label %554

553:                                              ; preds = %550
  store i32 -2147483648, ptr %21, align 4, !tbaa !9
  store i32 0, ptr %22, align 4, !tbaa !9
  br label %554

554:                                              ; preds = %553, %550
  %555 = load i32, ptr %20, align 4, !tbaa !9
  %556 = icmp eq i32 %555, 255
  br i1 %556, label %557, label %574

557:                                              ; preds = %554
  store i32 -2147483648, ptr %21, align 4, !tbaa !9
  %558 = load ptr, ptr %6, align 8, !tbaa !5
  %559 = load i32, ptr %19, align 4, !tbaa !9
  %560 = add nsw i32 %559, 1
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds i8, ptr %558, i64 %561
  %563 = load i8, ptr %562, align 1, !tbaa !11
  %564 = zext i8 %563 to i32
  %565 = load ptr, ptr %6, align 8, !tbaa !5
  %566 = load i32, ptr %19, align 4, !tbaa !9
  %567 = add nsw i32 %566, 2
  %568 = sext i32 %567 to i64
  %569 = getelementptr inbounds i8, ptr %565, i64 %568
  %570 = load i8, ptr %569, align 1, !tbaa !11
  %571 = zext i8 %570 to i32
  %572 = mul nsw i32 256, %571
  %573 = add nsw i32 %564, %572
  store i32 %573, ptr %22, align 4, !tbaa !9
  br label %574

574:                                              ; preds = %557, %554
  %575 = load i32, ptr %20, align 4, !tbaa !9
  %576 = icmp eq i32 %575, 39
  br i1 %576, label %583, label %577

577:                                              ; preds = %574
  %578 = load i32, ptr %20, align 4, !tbaa !9
  %579 = icmp eq i32 %578, 47
  br i1 %579, label %583, label %580

580:                                              ; preds = %577
  %581 = load i32, ptr %20, align 4, !tbaa !9
  %582 = icmp eq i32 %581, 63
  br i1 %582, label %583, label %596

583:                                              ; preds = %580, %577, %574
  %584 = load i32, ptr %19, align 4, !tbaa !9
  %585 = add nsw i32 %584, 2
  %586 = load ptr, ptr %6, align 8, !tbaa !5
  %587 = load i32, ptr %19, align 4, !tbaa !9
  %588 = add nsw i32 %587, 1
  %589 = sext i32 %588 to i64
  %590 = getelementptr inbounds i8, ptr %586, i64 %589
  %591 = load i8, ptr %590, align 1, !tbaa !11
  %592 = zext i8 %591 to i32
  %593 = shl i32 %592, 24
  %594 = ashr i32 %593, 24
  %595 = add nsw i32 %585, %594
  store i32 %595, ptr %22, align 4, !tbaa !9
  br label %596

596:                                              ; preds = %583, %580
  %597 = load i32, ptr %20, align 4, !tbaa !9
  %598 = icmp eq i32 %597, 63
  br i1 %598, label %599, label %600

599:                                              ; preds = %596
  store i32 -2147483648, ptr %21, align 4, !tbaa !9
  br label %600

600:                                              ; preds = %599, %596
  %601 = load i32, ptr %22, align 4, !tbaa !9
  %602 = icmp slt i32 %601, 0
  br i1 %602, label %607, label %603

603:                                              ; preds = %600
  %604 = load i32, ptr %22, align 4, !tbaa !9
  %605 = load i32, ptr %7, align 4, !tbaa !9
  %606 = icmp sge i32 %604, %605
  br i1 %606, label %607, label %613

607:                                              ; preds = %603, %600
  %608 = load i32, ptr %22, align 4, !tbaa !9
  %609 = icmp ne i32 %608, -2147483648
  br i1 %609, label %610, label %613

610:                                              ; preds = %607
  %611 = load i32, ptr %7, align 4, !tbaa !9
  %612 = sub nsw i32 %611, 1
  store i32 %612, ptr %22, align 4, !tbaa !9
  br label %613

613:                                              ; preds = %610, %607, %603
  %614 = load i32, ptr %21, align 4, !tbaa !9
  %615 = icmp ne i32 %614, -2147483648
  br i1 %615, label %616, label %633

616:                                              ; preds = %613
  %617 = load i32, ptr %21, align 4, !tbaa !9
  %618 = sext i32 %617 to i64
  %619 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %618)
          to label %620 unwind label %546

620:                                              ; preds = %616
  %621 = load i32, ptr %619, align 4, !tbaa !9
  %622 = and i32 %621, 1
  %623 = icmp ne i32 %622, 0
  br i1 %623, label %633, label %624

624:                                              ; preds = %620
  %625 = load i32, ptr %21, align 4, !tbaa !9
  %626 = sext i32 %625 to i64
  %627 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %626)
          to label %628 unwind label %546

628:                                              ; preds = %624
  %629 = load i32, ptr %627, align 4, !tbaa !9
  %630 = or i32 %629, 1
  store i32 %630, ptr %627, align 4, !tbaa !9
  %631 = load i32, ptr %12, align 4, !tbaa !9
  %632 = add nsw i32 %631, 1
  store i32 %632, ptr %12, align 4, !tbaa !9
  br label %633

633:                                              ; preds = %628, %620, %613
  %634 = load i32, ptr %22, align 4, !tbaa !9
  %635 = icmp ne i32 %634, -2147483648
  br i1 %635, label %636, label %653

636:                                              ; preds = %633
  %637 = load i32, ptr %22, align 4, !tbaa !9
  %638 = sext i32 %637 to i64
  %639 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %638)
          to label %640 unwind label %546

640:                                              ; preds = %636
  %641 = load i32, ptr %639, align 4, !tbaa !9
  %642 = and i32 %641, 2
  %643 = icmp ne i32 %642, 0
  br i1 %643, label %653, label %644

644:                                              ; preds = %640
  %645 = load i32, ptr %22, align 4, !tbaa !9
  %646 = sext i32 %645 to i64
  %647 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %646)
          to label %648 unwind label %546

648:                                              ; preds = %644
  %649 = load i32, ptr %647, align 4, !tbaa !9
  %650 = or i32 %649, 2
  store i32 %650, ptr %647, align 4, !tbaa !9
  %651 = load i32, ptr %12, align 4, !tbaa !9
  %652 = add nsw i32 %651, 1
  store i32 %652, ptr %12, align 4, !tbaa !9
  br label %653

653:                                              ; preds = %648, %640, %633
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #5
  br label %654

654:                                              ; preds = %653, %527
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #5
  br label %655

655:                                              ; preds = %654
  %656 = load i32, ptr %19, align 4, !tbaa !9
  %657 = add nsw i32 %656, 1
  store i32 %657, ptr %19, align 4, !tbaa !9
  br label %504, !llvm.loop !21

658:                                              ; preds = %546, %542
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #5
  br label %2943

659:                                              ; preds = %508
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #5
  br label %660

660:                                              ; preds = %659
  %661 = load i32, ptr %12, align 4, !tbaa !9
  %662 = icmp sgt i32 %661, 0
  br i1 %662, label %503, label %663, !llvm.loop !23

663:                                              ; preds = %660
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #5
  store i32 0, ptr %23, align 4, !tbaa !9
  br label %664

664:                                              ; preds = %897, %663
  %665 = load i32, ptr %23, align 4, !tbaa !9
  %666 = load i32, ptr %7, align 4, !tbaa !9
  %667 = icmp slt i32 %665, %666
  br i1 %667, label %669, label %668

668:                                              ; preds = %664
  store i32 7, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #5
  br label %901

669:                                              ; preds = %664
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #5
  %670 = load ptr, ptr %6, align 8, !tbaa !5
  %671 = load i32, ptr %23, align 4, !tbaa !9
  %672 = sext i32 %671 to i64
  %673 = getelementptr inbounds i8, ptr %670, i64 %672
  %674 = load i8, ptr %673, align 1, !tbaa !11
  %675 = zext i8 %674 to i32
  store i32 %675, ptr %25, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #5
  %676 = load i32, ptr %23, align 4, !tbaa !9
  %677 = add nsw i32 %676, 1
  %678 = load i32, ptr %25, align 4, !tbaa !9
  %679 = srem i32 %678, 8
  %680 = icmp eq i32 %679, 7
  %681 = zext i1 %680 to i32
  %682 = add nsw i32 %677, %681
  store i32 %682, ptr %26, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #5
  %683 = load ptr, ptr %6, align 8, !tbaa !5
  %684 = load i32, ptr %26, align 4, !tbaa !9
  %685 = sext i32 %684 to i64
  %686 = getelementptr inbounds i8, ptr %683, i64 %685
  %687 = load i8, ptr %686, align 1, !tbaa !11
  %688 = zext i8 %687 to i32
  store i32 %688, ptr %27, align 4, !tbaa !9
  %689 = load i32, ptr %23, align 4, !tbaa !9
  %690 = sext i32 %689 to i64
  %691 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %690)
          to label %692 unwind label %748

692:                                              ; preds = %669
  %693 = load i32, ptr %691, align 4, !tbaa !9
  %694 = icmp ne i32 %693, 0
  br i1 %694, label %695, label %896

695:                                              ; preds = %692
  %696 = load i32, ptr %25, align 4, !tbaa !9
  %697 = icmp sge i32 %696, 216
  br i1 %697, label %698, label %896

698:                                              ; preds = %695
  %699 = load i32, ptr %25, align 4, !tbaa !9
  %700 = icmp slt i32 %699, 240
  br i1 %700, label %701, label %896

701:                                              ; preds = %698
  %702 = load i32, ptr %27, align 4, !tbaa !9
  %703 = icmp eq i32 %702, 39
  br i1 %703, label %707, label %704

704:                                              ; preds = %701
  %705 = load i32, ptr %27, align 4, !tbaa !9
  %706 = icmp eq i32 %705, 47
  br i1 %706, label %707, label %896

707:                                              ; preds = %704, %701
  %708 = load i32, ptr %26, align 4, !tbaa !9
  %709 = sext i32 %708 to i64
  %710 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %709)
          to label %711 unwind label %748

711:                                              ; preds = %707
  %712 = load i32, ptr %710, align 4, !tbaa !9
  %713 = icmp eq i32 %712, 1
  br i1 %713, label %714, label %896

714:                                              ; preds = %711
  %715 = load i32, ptr %26, align 4, !tbaa !9
  %716 = load i32, ptr %23, align 4, !tbaa !9
  %717 = add nsw i32 %716, 1
  %718 = icmp eq i32 %715, %717
  br i1 %718, label %727, label %719

719:                                              ; preds = %714
  %720 = load i32, ptr %23, align 4, !tbaa !9
  %721 = add nsw i32 %720, 1
  %722 = sext i32 %721 to i64
  %723 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %722)
          to label %724 unwind label %748

724:                                              ; preds = %719
  %725 = load i32, ptr %723, align 4, !tbaa !9
  %726 = icmp eq i32 %725, 0
  br i1 %726, label %727, label %896

727:                                              ; preds = %724, %714
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #5
  %728 = load i32, ptr %25, align 4, !tbaa !9
  %729 = sub nsw i32 %728, 208
  %730 = sdiv i32 %729, 8
  %731 = mul nsw i32 %730, 4
  store i32 %731, ptr %28, align 4, !tbaa !9
  %732 = load i32, ptr %28, align 4, !tbaa !9
  %733 = load i32, ptr %26, align 4, !tbaa !9
  %734 = sext i32 %733 to i64
  %735 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %734)
          to label %736 unwind label %752

736:                                              ; preds = %727
  %737 = load i32, ptr %735, align 4, !tbaa !9
  %738 = add nsw i32 %737, %732
  store i32 %738, ptr %735, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #5
  store i32 0, ptr %29, align 4, !tbaa !9
  br label %739

739:                                              ; preds = %884, %736
  %740 = load i32, ptr %29, align 4, !tbaa !9
  %741 = icmp slt i32 %740, 2
  br i1 %741, label %742, label %745

742:                                              ; preds = %739
  %743 = load i32, ptr %28, align 4, !tbaa !9
  %744 = icmp ne i32 %743, 0
  br label %745

745:                                              ; preds = %742, %739
  %746 = phi i1 [ false, %739 ], [ %744, %742 ]
  br i1 %746, label %756, label %747

747:                                              ; preds = %745
  store i32 10, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #5
  br label %887

748:                                              ; preds = %719, %707, %669
  %749 = landingpad { ptr, i32 }
          cleanup
  %750 = extractvalue { ptr, i32 } %749, 0
  store ptr %750, ptr %15, align 8
  %751 = extractvalue { ptr, i32 } %749, 1
  store i32 %751, ptr %16, align 4
  br label %900

752:                                              ; preds = %887, %727
  %753 = landingpad { ptr, i32 }
          cleanup
  %754 = extractvalue { ptr, i32 } %753, 0
  store ptr %754, ptr %15, align 8
  %755 = extractvalue { ptr, i32 } %753, 1
  store i32 %755, ptr %16, align 4
  br label %895

756:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #5
  %757 = load i32, ptr %26, align 4, !tbaa !9
  %758 = add nsw i32 %757, 2
  store i32 %758, ptr %30, align 4, !tbaa !9
  %759 = load i32, ptr %29, align 4, !tbaa !9
  %760 = icmp eq i32 %759, 1
  br i1 %760, label %761, label %774

761:                                              ; preds = %756
  %762 = load i32, ptr %26, align 4, !tbaa !9
  %763 = add nsw i32 %762, 2
  %764 = load ptr, ptr %6, align 8, !tbaa !5
  %765 = load i32, ptr %26, align 4, !tbaa !9
  %766 = add nsw i32 %765, 1
  %767 = sext i32 %766 to i64
  %768 = getelementptr inbounds i8, ptr %764, i64 %767
  %769 = load i8, ptr %768, align 1, !tbaa !11
  %770 = zext i8 %769 to i32
  %771 = shl i32 %770, 24
  %772 = ashr i32 %771, 24
  %773 = add nsw i32 %763, %772
  store i32 %773, ptr %30, align 4, !tbaa !9
  br label %774

774:                                              ; preds = %761, %756
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #5
  store i32 0, ptr %31, align 4, !tbaa !9
  br label %775

775:                                              ; preds = %879, %774
  %776 = load i32, ptr %31, align 4, !tbaa !9
  %777 = load i32, ptr %7, align 4, !tbaa !9
  %778 = icmp slt i32 %776, %777
  br i1 %778, label %779, label %782

779:                                              ; preds = %775
  %780 = load i32, ptr %28, align 4, !tbaa !9
  %781 = icmp ne i32 %780, 0
  br label %782

782:                                              ; preds = %779, %775
  %783 = phi i1 [ false, %775 ], [ %781, %779 ]
  br i1 %783, label %785, label %784

784:                                              ; preds = %782
  store i32 13, ptr %24, align 4
  br label %882

785:                                              ; preds = %782
  %786 = load i32, ptr %30, align 4, !tbaa !9
  %787 = icmp slt i32 %786, 0
  br i1 %787, label %792, label %788

788:                                              ; preds = %785
  %789 = load i32, ptr %30, align 4, !tbaa !9
  %790 = load i32, ptr %7, align 4, !tbaa !9
  %791 = icmp sge i32 %789, %790
  br i1 %791, label %792, label %793

792:                                              ; preds = %788, %785
  store i32 13, ptr %24, align 4
  br label %882

793:                                              ; preds = %788
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #5
  %794 = load ptr, ptr %6, align 8, !tbaa !5
  %795 = load i32, ptr %30, align 4, !tbaa !9
  %796 = sext i32 %795 to i64
  %797 = getelementptr inbounds i8, ptr %794, i64 %796
  %798 = load i8, ptr %797, align 1, !tbaa !11
  %799 = zext i8 %798 to i32
  store i32 %799, ptr %32, align 4, !tbaa !9
  %800 = load i32, ptr %32, align 4, !tbaa !9
  %801 = icmp eq i32 %800, 39
  br i1 %801, label %805, label %802

802:                                              ; preds = %793
  %803 = load i32, ptr %32, align 4, !tbaa !9
  %804 = icmp eq i32 %803, 47
  br i1 %804, label %805, label %806

805:                                              ; preds = %802, %793
  store i32 0, ptr %28, align 4, !tbaa !9
  br label %875

806:                                              ; preds = %802
  %807 = load i32, ptr %32, align 4, !tbaa !9
  %808 = icmp sge i32 %807, 216
  br i1 %808, label %809, label %813

809:                                              ; preds = %806
  %810 = load i32, ptr %32, align 4, !tbaa !9
  %811 = icmp slt i32 %810, 240
  br i1 %811, label %812, label %813

812:                                              ; preds = %809
  store i32 13, ptr %24, align 4
  br label %876

813:                                              ; preds = %809, %806
  %814 = load i32, ptr %32, align 4, !tbaa !9
  %815 = invoke noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef %814)
          to label %816 unwind label %818

816:                                              ; preds = %813
  br i1 %815, label %817, label %822

817:                                              ; preds = %816
  store i32 13, ptr %24, align 4
  br label %876

818:                                              ; preds = %813
  %819 = landingpad { ptr, i32 }
          cleanup
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %15, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #5
  br label %895

822:                                              ; preds = %816
  %823 = load i32, ptr %32, align 4, !tbaa !9
  %824 = icmp eq i32 %823, 255
  br i1 %824, label %825, label %842

825:                                              ; preds = %822
  %826 = load ptr, ptr %6, align 8, !tbaa !5
  %827 = load i32, ptr %30, align 4, !tbaa !9
  %828 = add nsw i32 %827, 1
  %829 = sext i32 %828 to i64
  %830 = getelementptr inbounds i8, ptr %826, i64 %829
  %831 = load i8, ptr %830, align 1, !tbaa !11
  %832 = zext i8 %831 to i32
  %833 = load ptr, ptr %6, align 8, !tbaa !5
  %834 = load i32, ptr %30, align 4, !tbaa !9
  %835 = add nsw i32 %834, 2
  %836 = sext i32 %835 to i64
  %837 = getelementptr inbounds i8, ptr %833, i64 %836
  %838 = load i8, ptr %837, align 1, !tbaa !11
  %839 = zext i8 %838 to i32
  %840 = mul nsw i32 256, %839
  %841 = add nsw i32 %832, %840
  store i32 %841, ptr %30, align 4, !tbaa !9
  br label %872

842:                                              ; preds = %822
  %843 = load i32, ptr %32, align 4, !tbaa !9
  %844 = icmp eq i32 %843, 63
  br i1 %844, label %845, label %858

845:                                              ; preds = %842
  %846 = load i32, ptr %30, align 4, !tbaa !9
  %847 = add nsw i32 %846, 2
  %848 = load ptr, ptr %6, align 8, !tbaa !5
  %849 = load i32, ptr %30, align 4, !tbaa !9
  %850 = add nsw i32 %849, 1
  %851 = sext i32 %850 to i64
  %852 = getelementptr inbounds i8, ptr %848, i64 %851
  %853 = load i8, ptr %852, align 1, !tbaa !11
  %854 = zext i8 %853 to i32
  %855 = shl i32 %854, 24
  %856 = ashr i32 %855, 24
  %857 = add nsw i32 %847, %856
  store i32 %857, ptr %30, align 4, !tbaa !9
  br label %871

858:                                              ; preds = %842
  %859 = load i32, ptr %32, align 4, !tbaa !9
  %860 = icmp eq i32 %859, 56
  br i1 %860, label %861, label %862

861:                                              ; preds = %858
  store i32 0, ptr %30, align 4, !tbaa !9
  br label %870

862:                                              ; preds = %858
  %863 = load i32, ptr %30, align 4, !tbaa !9
  %864 = add nsw i32 %863, 1
  %865 = load i32, ptr %32, align 4, !tbaa !9
  %866 = srem i32 %865, 8
  %867 = icmp eq i32 %866, 7
  %868 = zext i1 %867 to i32
  %869 = add nsw i32 %864, %868
  store i32 %869, ptr %30, align 4, !tbaa !9
  br label %870

870:                                              ; preds = %862, %861
  br label %871

871:                                              ; preds = %870, %845
  br label %872

872:                                              ; preds = %871, %825
  br label %873

873:                                              ; preds = %872
  br label %874

874:                                              ; preds = %873
  br label %875

875:                                              ; preds = %874, %805
  store i32 0, ptr %24, align 4
  br label %876

876:                                              ; preds = %875, %817, %812
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #5
  %877 = load i32, ptr %24, align 4
  switch i32 %877, label %882 [
    i32 0, label %878
  ]

878:                                              ; preds = %876
  br label %879

879:                                              ; preds = %878
  %880 = load i32, ptr %31, align 4, !tbaa !9
  %881 = add nsw i32 %880, 1
  store i32 %881, ptr %31, align 4, !tbaa !9
  br label %775, !llvm.loop !24

882:                                              ; preds = %876, %792, %784
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  br label %883

883:                                              ; preds = %882
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  br label %884

884:                                              ; preds = %883
  %885 = load i32, ptr %29, align 4, !tbaa !9
  %886 = add nsw i32 %885, 1
  store i32 %886, ptr %29, align 4, !tbaa !9
  br label %739, !llvm.loop !25

887:                                              ; preds = %747
  %888 = load i32, ptr %28, align 4, !tbaa !9
  %889 = load i32, ptr %23, align 4, !tbaa !9
  %890 = sext i32 %889 to i64
  %891 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %890)
          to label %892 unwind label %752

892:                                              ; preds = %887
  %893 = load i32, ptr %891, align 4, !tbaa !9
  %894 = add nsw i32 %893, %888
  store i32 %894, ptr %891, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #5
  br label %896

895:                                              ; preds = %818, %752
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #5
  br label %900

896:                                              ; preds = %892, %724, %711, %704, %698, %695, %692
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  br label %897

897:                                              ; preds = %896
  %898 = load i32, ptr %23, align 4, !tbaa !9
  %899 = add nsw i32 %898, 1
  store i32 %899, ptr %23, align 4, !tbaa !9
  br label %664, !llvm.loop !26

900:                                              ; preds = %895, %748
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #5
  br label %2943

901:                                              ; preds = %668
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #5
  %902 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %902, ptr %33, align 4, !tbaa !9
  %903 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %904 = load ptr, ptr %903, align 8, !tbaa !19
  %905 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %906 = load i32, ptr %905, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %904, i32 noundef %906, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 86, i32 noundef 1)
          to label %907 unwind label %1210

907:                                              ; preds = %901
  %908 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %909 = load ptr, ptr %908, align 8, !tbaa !19
  %910 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %911 = load i32, ptr %910, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %909, i32 noundef %911, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 87, i32 noundef 1)
          to label %912 unwind label %1210

912:                                              ; preds = %907
  %913 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %914 = load ptr, ptr %913, align 8, !tbaa !19
  %915 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %916 = load i32, ptr %915, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %914, i32 noundef %916, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 83, i32 noundef 1)
          to label %917 unwind label %1210

917:                                              ; preds = %912
  %918 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %919 = load ptr, ptr %918, align 8, !tbaa !19
  %920 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %921 = load i32, ptr %920, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %919, i32 noundef %921, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 85, i32 noundef 1)
          to label %922 unwind label %1210

922:                                              ; preds = %917
  %923 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %924 = load ptr, ptr %923, align 8, !tbaa !19
  %925 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %926 = load i32, ptr %925, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %924, i32 noundef %926, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16724, i32 noundef 2)
          to label %927 unwind label %1210

927:                                              ; preds = %922
  %928 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %929 = load ptr, ptr %928, align 8, !tbaa !19
  %930 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %931 = load i32, ptr %930, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %929, i32 noundef %931, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16725, i32 noundef 2)
          to label %932 unwind label %1210

932:                                              ; preds = %927
  %933 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %934 = load ptr, ptr %933, align 8, !tbaa !19
  %935 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %936 = load i32, ptr %935, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %934, i32 noundef %936, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16726, i32 noundef 2)
          to label %937 unwind label %1210

937:                                              ; preds = %932
  %938 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %939 = load ptr, ptr %938, align 8, !tbaa !19
  %940 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %941 = load i32, ptr %940, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %939, i32 noundef %941, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 16727, i32 noundef 2)
          to label %942 unwind label %1210

942:                                              ; preds = %937
  %943 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %944 = load ptr, ptr %943, align 8, !tbaa !19
  %945 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %946 = load i32, ptr %945, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %944, i32 noundef %946, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1216605240, i32 noundef 4)
          to label %947 unwind label %1210

947:                                              ; preds = %942
  %948 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %949 = load ptr, ptr %948, align 8, !tbaa !19
  %950 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %951 = load i32, ptr %950, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %949, i32 noundef %951, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18616, i32 noundef 2)
          to label %952 unwind label %1210

952:                                              ; preds = %947
  %953 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 12
  %954 = ptrtoint ptr %953 to i64
  %955 = trunc i64 %954 to i32
  store i32 %955, ptr %5, align 4, !tbaa !9
  %956 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %957 = load ptr, ptr %956, align 8, !tbaa !19
  %958 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %959 = load i32, ptr %958, align 4, !tbaa !20
  %960 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %957, i32 noundef %959, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %960)
          to label %961 unwind label %1210

961:                                              ; preds = %952
  %962 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 12
  %963 = ptrtoint ptr %962 to i64
  %964 = lshr i64 %963, 32
  %965 = trunc i64 %964 to i32
  store i32 %965, ptr %5, align 4, !tbaa !9
  %966 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %967 = load ptr, ptr %966, align 8, !tbaa !19
  %968 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %969 = load i32, ptr %968, align 4, !tbaa !20
  %970 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %967, i32 noundef %969, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %970)
          to label %971 unwind label %1210

971:                                              ; preds = %961
  %972 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %973 = load ptr, ptr %972, align 8, !tbaa !19
  %974 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %975 = load i32, ptr %974, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %973, i32 noundef %975, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35600, i32 noundef 2)
          to label %976 unwind label %1210

976:                                              ; preds = %971
  %977 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %978 = load ptr, ptr %977, align 8, !tbaa !19
  %979 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %980 = load i32, ptr %979, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %978, i32 noundef %980, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18616, i32 noundef 2)
          to label %981 unwind label %1210

981:                                              ; preds = %976
  %982 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 13
  %983 = ptrtoint ptr %982 to i64
  %984 = trunc i64 %983 to i32
  store i32 %984, ptr %5, align 4, !tbaa !9
  %985 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %986 = load ptr, ptr %985, align 8, !tbaa !19
  %987 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %988 = load i32, ptr %987, align 4, !tbaa !20
  %989 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %986, i32 noundef %988, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %989)
          to label %990 unwind label %1210

990:                                              ; preds = %981
  %991 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 13
  %992 = ptrtoint ptr %991 to i64
  %993 = lshr i64 %992, 32
  %994 = trunc i64 %993 to i32
  store i32 %994, ptr %5, align 4, !tbaa !9
  %995 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %996 = load ptr, ptr %995, align 8, !tbaa !19
  %997 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %998 = load i32, ptr %997, align 4, !tbaa !20
  %999 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %996, i32 noundef %998, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %999)
          to label %1000 unwind label %1210

1000:                                             ; preds = %990
  %1001 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1002 = load ptr, ptr %1001, align 8, !tbaa !19
  %1003 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1004 = load i32, ptr %1003, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1002, i32 noundef %1004, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35632, i32 noundef 2)
          to label %1005 unwind label %1210

1005:                                             ; preds = %1000
  %1006 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1007 = load ptr, ptr %1006, align 8, !tbaa !19
  %1008 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1009 = load i32, ptr %1008, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1007, i32 noundef %1009, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18616, i32 noundef 2)
          to label %1010 unwind label %1210

1010:                                             ; preds = %1005
  %1011 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 14
  %1012 = ptrtoint ptr %1011 to i64
  %1013 = trunc i64 %1012 to i32
  store i32 %1013, ptr %5, align 4, !tbaa !9
  %1014 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1015 = load ptr, ptr %1014, align 8, !tbaa !19
  %1016 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1017 = load i32, ptr %1016, align 4, !tbaa !20
  %1018 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1015, i32 noundef %1017, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1018)
          to label %1019 unwind label %1210

1019:                                             ; preds = %1010
  %1020 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 14
  %1021 = ptrtoint ptr %1020 to i64
  %1022 = lshr i64 %1021, 32
  %1023 = trunc i64 %1022 to i32
  store i32 %1023, ptr %5, align 4, !tbaa !9
  %1024 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1025 = load ptr, ptr %1024, align 8, !tbaa !19
  %1026 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1027 = load i32, ptr %1026, align 4, !tbaa !20
  %1028 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1025, i32 noundef %1027, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1028)
          to label %1029 unwind label %1210

1029:                                             ; preds = %1019
  %1030 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1031 = load ptr, ptr %1030, align 8, !tbaa !19
  %1032 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1033 = load i32, ptr %1032, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1031, i32 noundef %1033, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35640, i32 noundef 2)
          to label %1034 unwind label %1210

1034:                                             ; preds = %1029
  %1035 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1036 = load ptr, ptr %1035, align 8, !tbaa !19
  %1037 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1038 = load i32, ptr %1037, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1036, i32 noundef %1038, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18616, i32 noundef 2)
          to label %1039 unwind label %1210

1039:                                             ; preds = %1034
  %1040 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 15
  %1041 = ptrtoint ptr %1040 to i64
  %1042 = trunc i64 %1041 to i32
  store i32 %1042, ptr %5, align 4, !tbaa !9
  %1043 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1044 = load ptr, ptr %1043, align 8, !tbaa !19
  %1045 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1046 = load i32, ptr %1045, align 4, !tbaa !20
  %1047 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1044, i32 noundef %1046, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1047)
          to label %1048 unwind label %1210

1048:                                             ; preds = %1039
  %1049 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 15
  %1050 = ptrtoint ptr %1049 to i64
  %1051 = lshr i64 %1050, 32
  %1052 = trunc i64 %1051 to i32
  store i32 %1052, ptr %5, align 4, !tbaa !9
  %1053 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1054 = load ptr, ptr %1053, align 8, !tbaa !19
  %1055 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1056 = load i32, ptr %1055, align 4, !tbaa !20
  %1057 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1054, i32 noundef %1056, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1057)
          to label %1058 unwind label %1210

1058:                                             ; preds = %1048
  %1059 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1060 = load ptr, ptr %1059, align 8, !tbaa !19
  %1061 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1062 = load i32, ptr %1061, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1060, i32 noundef %1062, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35624, i32 noundef 2)
          to label %1063 unwind label %1210

1063:                                             ; preds = %1058
  %1064 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1065 = load ptr, ptr %1064, align 8, !tbaa !19
  %1066 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1067 = load i32, ptr %1066, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1065, i32 noundef %1067, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18616, i32 noundef 2)
          to label %1068 unwind label %1210

1068:                                             ; preds = %1063
  %1069 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 16
  %1070 = ptrtoint ptr %1069 to i64
  %1071 = trunc i64 %1070 to i32
  store i32 %1071, ptr %5, align 4, !tbaa !9
  %1072 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1073 = load ptr, ptr %1072, align 8, !tbaa !19
  %1074 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1075 = load i32, ptr %1074, align 4, !tbaa !20
  %1076 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1073, i32 noundef %1075, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1076)
          to label %1077 unwind label %1210

1077:                                             ; preds = %1068
  %1078 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 16
  %1079 = ptrtoint ptr %1078 to i64
  %1080 = lshr i64 %1079, 32
  %1081 = trunc i64 %1080 to i32
  store i32 %1081, ptr %5, align 4, !tbaa !9
  %1082 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1083 = load ptr, ptr %1082, align 8, !tbaa !19
  %1084 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1085 = load i32, ptr %1084, align 4, !tbaa !20
  %1086 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1083, i32 noundef %1085, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1086)
          to label %1087 unwind label %1210

1087:                                             ; preds = %1077
  %1088 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1089 = load ptr, ptr %1088, align 8, !tbaa !19
  %1090 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1091 = load i32, ptr %1090, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1089, i32 noundef %1091, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35608, i32 noundef 2)
          to label %1092 unwind label %1210

1092:                                             ; preds = %1087
  %1093 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1094 = load ptr, ptr %1093, align 8, !tbaa !19
  %1095 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1096 = load i32, ptr %1095, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1094, i32 noundef %1096, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18876, i32 noundef 2)
          to label %1097 unwind label %1210

1097:                                             ; preds = %1092
  %1098 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 8
  %1099 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1098, i64 noundef 0)
          to label %1100 unwind label %1210

1100:                                             ; preds = %1097
  %1101 = ptrtoint ptr %1099 to i64
  %1102 = trunc i64 %1101 to i32
  store i32 %1102, ptr %5, align 4, !tbaa !9
  %1103 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1104 = load ptr, ptr %1103, align 8, !tbaa !19
  %1105 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1106 = load i32, ptr %1105, align 4, !tbaa !20
  %1107 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1104, i32 noundef %1106, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1107)
          to label %1108 unwind label %1210

1108:                                             ; preds = %1100
  %1109 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 8
  %1110 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1109, i64 noundef 0)
          to label %1111 unwind label %1210

1111:                                             ; preds = %1108
  %1112 = ptrtoint ptr %1110 to i64
  %1113 = lshr i64 %1112, 32
  %1114 = trunc i64 %1113 to i32
  store i32 %1114, ptr %5, align 4, !tbaa !9
  %1115 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1116 = load ptr, ptr %1115, align 8, !tbaa !19
  %1117 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1118 = load i32, ptr %1117, align 4, !tbaa !20
  %1119 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1116, i32 noundef %1118, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1119)
          to label %1120 unwind label %1210

1120:                                             ; preds = %1111
  %1121 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1122 = load ptr, ptr %1121, align 8, !tbaa !19
  %1123 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1124 = load i32, ptr %1123, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1122, i32 noundef %1124, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18877, i32 noundef 2)
          to label %1125 unwind label %1210

1125:                                             ; preds = %1120
  %1126 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 10
  %1127 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1126, i64 noundef 0)
          to label %1128 unwind label %1210

1128:                                             ; preds = %1125
  %1129 = ptrtoint ptr %1127 to i64
  %1130 = trunc i64 %1129 to i32
  store i32 %1130, ptr %5, align 4, !tbaa !9
  %1131 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1132 = load ptr, ptr %1131, align 8, !tbaa !19
  %1133 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1134 = load i32, ptr %1133, align 4, !tbaa !20
  %1135 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1132, i32 noundef %1134, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1135)
          to label %1136 unwind label %1210

1136:                                             ; preds = %1128
  %1137 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 10
  %1138 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1137, i64 noundef 0)
          to label %1139 unwind label %1210

1139:                                             ; preds = %1136
  %1140 = ptrtoint ptr %1138 to i64
  %1141 = lshr i64 %1140, 32
  %1142 = trunc i64 %1141 to i32
  store i32 %1142, ptr %5, align 4, !tbaa !9
  %1143 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1144 = load ptr, ptr %1143, align 8, !tbaa !19
  %1145 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1146 = load i32, ptr %1145, align 4, !tbaa !20
  %1147 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1144, i32 noundef %1146, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1147)
          to label %1148 unwind label %1210

1148:                                             ; preds = %1139
  %1149 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1150 = load ptr, ptr %1149, align 8, !tbaa !19
  %1151 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1152 = load i32, ptr %1151, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1150, i32 noundef %1152, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18878, i32 noundef 2)
          to label %1153 unwind label %1210

1153:                                             ; preds = %1148
  %1154 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 9
  %1155 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1154, i64 noundef 0)
          to label %1156 unwind label %1210

1156:                                             ; preds = %1153
  %1157 = ptrtoint ptr %1155 to i64
  %1158 = trunc i64 %1157 to i32
  store i32 %1158, ptr %5, align 4, !tbaa !9
  %1159 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1160 = load ptr, ptr %1159, align 8, !tbaa !19
  %1161 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1162 = load i32, ptr %1161, align 4, !tbaa !20
  %1163 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1160, i32 noundef %1162, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1163)
          to label %1164 unwind label %1210

1164:                                             ; preds = %1156
  %1165 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 9
  %1166 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1165, i64 noundef 0)
          to label %1167 unwind label %1210

1167:                                             ; preds = %1164
  %1168 = ptrtoint ptr %1166 to i64
  %1169 = lshr i64 %1168, 32
  %1170 = trunc i64 %1169 to i32
  store i32 %1170, ptr %5, align 4, !tbaa !9
  %1171 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1172 = load ptr, ptr %1171, align 8, !tbaa !19
  %1173 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1174 = load i32, ptr %1173, align 4, !tbaa !20
  %1175 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1172, i32 noundef %1174, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1175)
          to label %1176 unwind label %1210

1176:                                             ; preds = %1167
  %1177 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1178 = load ptr, ptr %1177, align 8, !tbaa !19
  %1179 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1180 = load i32, ptr %1179, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1178, i32 noundef %1180, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 18879, i32 noundef 2)
          to label %1181 unwind label %1210

1181:                                             ; preds = %1176
  %1182 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 7
  %1183 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1182, i64 noundef 0)
          to label %1184 unwind label %1210

1184:                                             ; preds = %1181
  %1185 = ptrtoint ptr %1183 to i64
  %1186 = trunc i64 %1185 to i32
  store i32 %1186, ptr %5, align 4, !tbaa !9
  %1187 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1188 = load ptr, ptr %1187, align 8, !tbaa !19
  %1189 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1190 = load i32, ptr %1189, align 4, !tbaa !20
  %1191 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1188, i32 noundef %1190, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1191)
          to label %1192 unwind label %1210

1192:                                             ; preds = %1184
  %1193 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 7
  %1194 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %1193, i64 noundef 0)
          to label %1195 unwind label %1210

1195:                                             ; preds = %1192
  %1196 = ptrtoint ptr %1194 to i64
  %1197 = lshr i64 %1196, 32
  %1198 = trunc i64 %1197 to i32
  store i32 %1198, ptr %5, align 4, !tbaa !9
  %1199 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1200 = load ptr, ptr %1199, align 8, !tbaa !19
  %1201 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1202 = load i32, ptr %1201, align 4, !tbaa !20
  %1203 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1200, i32 noundef %1202, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1203)
          to label %1204 unwind label %1210

1204:                                             ; preds = %1195
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #5
  store i32 0, ptr %34, align 4, !tbaa !9
  br label %1205

1205:                                             ; preds = %2718, %1204
  %1206 = load i32, ptr %34, align 4, !tbaa !9
  %1207 = load i32, ptr %7, align 4, !tbaa !9
  %1208 = icmp slt i32 %1206, %1207
  br i1 %1208, label %1214, label %1209

1209:                                             ; preds = %1205
  store i32 16, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #5
  br label %2721

1210:                                             ; preds = %1195, %1192, %1184, %1181, %1176, %1167, %1164, %1156, %1153, %1148, %1139, %1136, %1128, %1125, %1120, %1111, %1108, %1100, %1097, %1092, %1087, %1077, %1068, %1063, %1058, %1048, %1039, %1034, %1029, %1019, %1010, %1005, %1000, %990, %981, %976, %971, %961, %952, %947, %942, %937, %932, %927, %922, %917, %912, %907, %901
  %1211 = landingpad { ptr, i32 }
          cleanup
  %1212 = extractvalue { ptr, i32 } %1211, 0
  store ptr %1212, ptr %15, align 8
  %1213 = extractvalue { ptr, i32 } %1211, 1
  store i32 %1213, ptr %16, align 4
  br label %2942

1214:                                             ; preds = %1205
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #5
  %1215 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1215, ptr %35, align 4, !tbaa !9
  br label %1216

1216:                                             ; preds = %2691, %1214
  %1217 = load i32, ptr %35, align 4, !tbaa !9
  %1218 = load i32, ptr %7, align 4, !tbaa !9
  %1219 = icmp slt i32 %1217, %1218
  br i1 %1219, label %1220, label %1227

1220:                                             ; preds = %1216
  %1221 = load i32, ptr %35, align 4, !tbaa !9
  %1222 = sext i32 %1221 to i64
  %1223 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %1222)
          to label %1224 unwind label %1230

1224:                                             ; preds = %1220
  %1225 = load i32, ptr %1223, align 4, !tbaa !9
  %1226 = icmp ne i32 %1225, 0
  br label %1227

1227:                                             ; preds = %1224, %1216
  %1228 = phi i1 [ false, %1216 ], [ %1226, %1224 ]
  br i1 %1228, label %1234, label %1229

1229:                                             ; preds = %1227
  store i32 19, ptr %24, align 4
  br label %2715

1230:                                             ; preds = %1220
  %1231 = landingpad { ptr, i32 }
          cleanup
  %1232 = extractvalue { ptr, i32 } %1231, 0
  store ptr %1232, ptr %15, align 8
  %1233 = extractvalue { ptr, i32 } %1231, 1
  store i32 %1233, ptr %16, align 4
  br label %2716

1234:                                             ; preds = %1227
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #5
  %1235 = load i32, ptr %35, align 4, !tbaa !9
  %1236 = sext i32 %1235 to i64
  %1237 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %1236)
          to label %1238 unwind label %1265

1238:                                             ; preds = %1234
  %1239 = load i32, ptr %1237, align 4, !tbaa !9
  store i32 %1239, ptr %36, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #5
  %1240 = load i32, ptr %36, align 4, !tbaa !9
  %1241 = icmp sge i32 %1240, 16
  br i1 %1241, label %1242, label %1291

1242:                                             ; preds = %1238
  %1243 = load i32, ptr %35, align 4, !tbaa !9
  %1244 = load i32, ptr %34, align 4, !tbaa !9
  %1245 = icmp sgt i32 %1243, %1244
  br i1 %1245, label %1246, label %1290

1246:                                             ; preds = %1242
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #5
  %1247 = load i32, ptr %36, align 4, !tbaa !9
  %1248 = load i32, ptr %13, align 4, !tbaa !9
  %1249 = sub nsw i32 %1247, %1248
  store i32 %1249, ptr %38, align 4, !tbaa !9
  %1250 = load i32, ptr %38, align 4, !tbaa !9
  %1251 = icmp sgt i32 %1250, -120
  br i1 %1251, label %1252, label %1273

1252:                                             ; preds = %1246
  %1253 = load i32, ptr %38, align 4, !tbaa !9
  %1254 = icmp slt i32 %1253, 120
  br i1 %1254, label %1255, label %1273

1255:                                             ; preds = %1252
  %1256 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1257 = load ptr, ptr %1256, align 8, !tbaa !19
  %1258 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1259 = load i32, ptr %1258, align 4, !tbaa !20
  %1260 = load i32, ptr %38, align 4, !tbaa !9
  %1261 = sub nsw i32 %1260, 2
  %1262 = and i32 %1261, 255
  %1263 = add nsw i32 60160, %1262
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1257, i32 noundef %1259, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1263, i32 noundef 2)
          to label %1264 unwind label %1269

1264:                                             ; preds = %1255
  br label %1289

1265:                                             ; preds = %1234
  %1266 = landingpad { ptr, i32 }
          cleanup
  %1267 = extractvalue { ptr, i32 } %1266, 0
  store ptr %1267, ptr %15, align 8
  %1268 = extractvalue { ptr, i32 } %1266, 1
  store i32 %1268, ptr %16, align 4
  br label %2714

1269:                                             ; preds = %1278, %1273, %1255
  %1270 = landingpad { ptr, i32 }
          cleanup
  %1271 = extractvalue { ptr, i32 } %1270, 0
  store ptr %1271, ptr %15, align 8
  %1272 = extractvalue { ptr, i32 } %1270, 1
  store i32 %1272, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  br label %2713

1273:                                             ; preds = %1252, %1246
  %1274 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1275 = load ptr, ptr %1274, align 8, !tbaa !19
  %1276 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1277 = load i32, ptr %1276, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1275, i32 noundef %1277, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 233, i32 noundef 1)
          to label %1278 unwind label %1269

1278:                                             ; preds = %1273
  %1279 = load i32, ptr %38, align 4, !tbaa !9
  %1280 = sub nsw i32 %1279, 5
  %1281 = sext i32 %1280 to i64
  %1282 = trunc i64 %1281 to i32
  store i32 %1282, ptr %37, align 4, !tbaa !9
  %1283 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1284 = load ptr, ptr %1283, align 8, !tbaa !19
  %1285 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1286 = load i32, ptr %1285, align 4, !tbaa !20
  %1287 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1284, i32 noundef %1286, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1287)
          to label %1288 unwind label %1269

1288:                                             ; preds = %1278
  br label %1289

1289:                                             ; preds = %1288, %1264
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  br label %1290

1290:                                             ; preds = %1289, %1242
  store i32 19, ptr %24, align 4
  br label %2688

1291:                                             ; preds = %1238
  %1292 = load i32, ptr %13, align 4, !tbaa !9
  %1293 = load i32, ptr %35, align 4, !tbaa !9
  %1294 = sext i32 %1293 to i64
  %1295 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %1294)
          to label %1296 unwind label %1358

1296:                                             ; preds = %1291
  store i32 %1292, ptr %1295, align 4, !tbaa !9
  %1297 = load i32, ptr %12, align 4, !tbaa !9
  %1298 = add nsw i32 %1297, 1
  store i32 %1298, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #5
  %1299 = load ptr, ptr %6, align 8, !tbaa !5
  %1300 = load i32, ptr %35, align 4, !tbaa !9
  %1301 = sext i32 %1300 to i64
  %1302 = getelementptr inbounds i8, ptr %1299, i64 %1301
  %1303 = load i8, ptr %1302, align 1, !tbaa !11
  %1304 = zext i8 %1303 to i32
  store i32 %1304, ptr %39, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #5
  %1305 = load ptr, ptr %6, align 8, !tbaa !5
  %1306 = load i32, ptr %35, align 4, !tbaa !9
  %1307 = add nsw i32 %1306, 1
  %1308 = sext i32 %1307 to i64
  %1309 = getelementptr inbounds i8, ptr %1305, i64 %1308
  %1310 = load i8, ptr %1309, align 1, !tbaa !11
  %1311 = zext i8 %1310 to i32
  %1312 = load i32, ptr %39, align 4, !tbaa !9
  %1313 = icmp eq i32 %1312, 255
  br i1 %1313, label %1314, label %1323

1314:                                             ; preds = %1296
  %1315 = load ptr, ptr %6, align 8, !tbaa !5
  %1316 = load i32, ptr %35, align 4, !tbaa !9
  %1317 = add nsw i32 %1316, 2
  %1318 = sext i32 %1317 to i64
  %1319 = getelementptr inbounds i8, ptr %1315, i64 %1318
  %1320 = load i8, ptr %1319, align 1, !tbaa !11
  %1321 = zext i8 %1320 to i32
  %1322 = mul nsw i32 256, %1321
  br label %1324

1323:                                             ; preds = %1296
  br label %1324

1324:                                             ; preds = %1323, %1314
  %1325 = phi i32 [ %1322, %1314 ], [ 0, %1323 ]
  %1326 = add nsw i32 %1311, %1325
  store i32 %1326, ptr %40, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #5
  %1327 = load i32, ptr %39, align 4, !tbaa !9
  %1328 = sdiv i32 %1327, 8
  %1329 = srem i32 %1328, 8
  store i32 %1329, ptr %41, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #5
  %1330 = load i32, ptr %39, align 4, !tbaa !9
  %1331 = srem i32 %1330, 8
  store i32 %1331, ptr %42, align 4, !tbaa !9
  %1332 = load i32, ptr %39, align 4, !tbaa !9
  %1333 = invoke noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef %1332)
          to label %1334 unwind label %1362

1334:                                             ; preds = %1324
  br i1 %1333, label %1335, label %1366

1335:                                             ; preds = %1334
  %1336 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1337 = load ptr, ptr %1336, align 8, !tbaa !19
  %1338 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1339 = load i32, ptr %1338, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1337, i32 noundef %1339, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 12736, i32 noundef 2)
          to label %1340 unwind label %1362

1340:                                             ; preds = %1335
  %1341 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1342 = load ptr, ptr %1341, align 8, !tbaa !19
  %1343 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1344 = load i32, ptr %1343, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1342, i32 noundef %1344, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 233, i32 noundef 1)
          to label %1345 unwind label %1362

1345:                                             ; preds = %1340
  %1346 = load i32, ptr %14, align 4, !tbaa !9
  %1347 = load i32, ptr %13, align 4, !tbaa !9
  %1348 = sub nsw i32 %1346, %1347
  %1349 = sub nsw i32 %1348, 4
  %1350 = sext i32 %1349 to i64
  %1351 = trunc i64 %1350 to i32
  store i32 %1351, ptr %37, align 4, !tbaa !9
  %1352 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1353 = load ptr, ptr %1352, align 8, !tbaa !19
  %1354 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1355 = load i32, ptr %1354, align 4, !tbaa !20
  %1356 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1353, i32 noundef %1355, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1356)
          to label %1357 unwind label %1362

1357:                                             ; preds = %1345
  store i32 21, ptr %24, align 4
  br label %2683

1358:                                             ; preds = %1291
  %1359 = landingpad { ptr, i32 }
          cleanup
  %1360 = extractvalue { ptr, i32 } %1359, 0
  store ptr %1360, ptr %15, align 8
  %1361 = extractvalue { ptr, i32 } %1359, 1
  store i32 %1361, ptr %16, align 4
  br label %2713

1362:                                             ; preds = %2674, %2669, %2658, %2648, %2638, %2618, %2608, %2603, %2594, %2578, %2567, %2553, %2539, %2529, %2524, %2509, %2500, %2486, %2476, %2471, %2456, %2447, %2437, %2432, %2420, %2405, %2400, %2390, %2373, %2363, %2358, %2343, %2334, %2324, %2315, %2310, %2305, %2294, %2289, %2284, %2274, %2269, %2257, %2243, %2233, %2228, %2214, %2205, %2200, %2186, %2176, %2171, %2156, %2147, %2133, %2123, %2118, %2103, %2094, %2080, %2075, %2063, %2052, %2040, %2031, %2020, %1997, %1982, %1969, %1959, %1948, %1943, %1937, %1931, %1926, %1920, %1915, %1910, %1903, %1898, %1892, %1887, %1874, %1869, %1856, %1851, %1845, %1840, %1826, %1821, %1815, %1810, %1804, %1798, %1792, %1786, %1703, %1698, %1692, %1686, %1680, %1674, %1660, %1649, %1637, %1626, %1615, %1604, %1593, %1506, %1383, %1345, %1340, %1335, %1324
  %1363 = landingpad { ptr, i32 }
          cleanup
  %1364 = extractvalue { ptr, i32 } %1363, 0
  store ptr %1364, ptr %15, align 8
  %1365 = extractvalue { ptr, i32 } %1363, 1
  store i32 %1365, ptr %16, align 4
  br label %2686

1366:                                             ; preds = %1334
  %1367 = load i32, ptr %39, align 4, !tbaa !9
  %1368 = icmp eq i32 %1367, 59
  br i1 %1368, label %1383, label %1369

1369:                                             ; preds = %1366
  %1370 = load i32, ptr %39, align 4, !tbaa !9
  %1371 = icmp sge i32 %1370, 64
  br i1 %1371, label %1372, label %1487

1372:                                             ; preds = %1369
  %1373 = load i32, ptr %39, align 4, !tbaa !9
  %1374 = icmp slt i32 %1373, 240
  br i1 %1374, label %1375, label %1487

1375:                                             ; preds = %1372
  %1376 = load i32, ptr %39, align 4, !tbaa !9
  %1377 = srem i32 %1376, 8
  %1378 = icmp sge i32 %1377, 4
  br i1 %1378, label %1379, label %1487

1379:                                             ; preds = %1375
  %1380 = load i32, ptr %39, align 4, !tbaa !9
  %1381 = srem i32 %1380, 8
  %1382 = icmp slt i32 %1381, 7
  br i1 %1382, label %1383, label %1487

1383:                                             ; preds = %1379, %1366
  %1384 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1385 = load ptr, ptr %1384, align 8, !tbaa !19
  %1386 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1387 = load i32, ptr %1386, align 4, !tbaa !20
  %1388 = load i32, ptr %42, align 4, !tbaa !9
  %1389 = sub nsw i32 %1388, 3
  %1390 = load i32, ptr %39, align 4, !tbaa !9
  %1391 = icmp eq i32 %1390, 59
  %1392 = zext i1 %1391 to i32
  %1393 = add nsw i32 %1389, %1392
  %1394 = sext i32 %1393 to i64
  %1395 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1394
  %1396 = load i32, ptr %1395, align 4, !tbaa !9
  %1397 = mul nsw i32 8, %1396
  %1398 = add nsw i32 35264, %1397
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1385, i32 noundef %1387, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1398, i32 noundef 2)
          to label %1399 unwind label %1362

1399:                                             ; preds = %1383
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #5
  %1400 = load i32, ptr %42, align 4, !tbaa !9
  %1401 = icmp eq i32 %1400, 6
  br i1 %1401, label %1402, label %1404

1402:                                             ; preds = %1399
  %1403 = load i32, ptr %9, align 4, !tbaa !9
  br label %1406

1404:                                             ; preds = %1399
  %1405 = load i32, ptr %8, align 4, !tbaa !9
  br label %1406

1406:                                             ; preds = %1404, %1402
  %1407 = phi i32 [ %1403, %1402 ], [ %1405, %1404 ]
  %1408 = sub nsw i32 %1407, 1
  store i32 %1408, ptr %43, align 4, !tbaa !9
  %1409 = load i32, ptr %43, align 4, !tbaa !9
  %1410 = icmp sge i32 %1409, 128
  br i1 %1410, label %1411, label %1430

1411:                                             ; preds = %1406
  %1412 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1413 = load ptr, ptr %1412, align 8, !tbaa !19
  %1414 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1415 = load i32, ptr %1414, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1413, i32 noundef %1415, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 37, i32 noundef 1)
          to label %1416 unwind label %1426

1416:                                             ; preds = %1411
  %1417 = load i32, ptr %43, align 4, !tbaa !9
  %1418 = sext i32 %1417 to i64
  %1419 = trunc i64 %1418 to i32
  store i32 %1419, ptr %37, align 4, !tbaa !9
  %1420 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1421 = load ptr, ptr %1420, align 8, !tbaa !19
  %1422 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1423 = load i32, ptr %1422, align 4, !tbaa !20
  %1424 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1421, i32 noundef %1423, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1424)
          to label %1425 unwind label %1426

1425:                                             ; preds = %1416
  br label %1438

1426:                                             ; preds = %1430, %1416, %1411
  %1427 = landingpad { ptr, i32 }
          cleanup
  %1428 = extractvalue { ptr, i32 } %1427, 0
  store ptr %1428, ptr %15, align 8
  %1429 = extractvalue { ptr, i32 } %1427, 1
  store i32 %1429, ptr %16, align 4
  br label %1486

1430:                                             ; preds = %1406
  %1431 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1432 = load ptr, ptr %1431, align 8, !tbaa !19
  %1433 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1434 = load i32, ptr %1433, align 4, !tbaa !20
  %1435 = load i32, ptr %43, align 4, !tbaa !9
  %1436 = add nsw i32 8642560, %1435
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1432, i32 noundef %1434, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1436, i32 noundef 3)
          to label %1437 unwind label %1426

1437:                                             ; preds = %1430
  br label %1438

1438:                                             ; preds = %1437, %1425
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #5
  %1439 = load i32, ptr %39, align 4, !tbaa !9
  %1440 = icmp sge i32 %1439, 64
  br i1 %1440, label %1441, label %1444

1441:                                             ; preds = %1438
  %1442 = load i32, ptr %39, align 4, !tbaa !9
  %1443 = icmp slt i32 %1442, 112
  br label %1444

1444:                                             ; preds = %1441, %1438
  %1445 = phi i1 [ false, %1438 ], [ %1443, %1441 ]
  %1446 = zext i1 %1445 to i32
  store i32 %1446, ptr %44, align 4, !tbaa !9
  %1447 = load i32, ptr %42, align 4, !tbaa !9
  %1448 = icmp slt i32 %1447, 6
  br i1 %1448, label %1449, label %1472

1449:                                             ; preds = %1444
  %1450 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1451 = load ptr, ptr %1450, align 8, !tbaa !19
  %1452 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1453 = load i32, ptr %1452, align 4, !tbaa !20
  %1454 = load i32, ptr %44, align 4, !tbaa !9
  %1455 = mul nsw i32 8, %1454
  %1456 = load i32, ptr %41, align 4, !tbaa !9
  %1457 = sext i32 %1456 to i64
  %1458 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1457
  %1459 = load i32, ptr %1458, align 4, !tbaa !9
  %1460 = mul nsw i32 %1455, %1459
  %1461 = add nsw i32 1091548676, %1460
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1451, i32 noundef %1453, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1461, i32 noundef 4)
          to label %1462 unwind label %1468

1462:                                             ; preds = %1449
  %1463 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1464 = load ptr, ptr %1463, align 8, !tbaa !19
  %1465 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1466 = load i32, ptr %1465, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1464, i32 noundef %1466, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 7, i32 noundef 1)
          to label %1467 unwind label %1468

1467:                                             ; preds = %1462
  br label %1485

1468:                                             ; preds = %1478, %1462, %1449
  %1469 = landingpad { ptr, i32 }
          cleanup
  %1470 = extractvalue { ptr, i32 } %1469, 0
  store ptr %1470, ptr %15, align 8
  %1471 = extractvalue { ptr, i32 } %1469, 1
  store i32 %1471, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  br label %1486

1472:                                             ; preds = %1444
  %1473 = load i32, ptr %39, align 4, !tbaa !9
  %1474 = sdiv i32 %1473, 8
  %1475 = ashr i32 106459136, %1474
  %1476 = and i32 %1475, 1
  %1477 = icmp ne i32 %1476, 0
  br i1 %1477, label %1478, label %1484

1478:                                             ; preds = %1472
  %1479 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1480 = load ptr, ptr %1479, align 8, !tbaa !19
  %1481 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1482 = load i32, ptr %1481, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1480, i32 noundef %1482, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1099629700, i32 noundef 4)
          to label %1483 unwind label %1468

1483:                                             ; preds = %1478
  br label %1484

1484:                                             ; preds = %1483, %1472
  br label %1485

1485:                                             ; preds = %1484, %1467
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #5
  br label %1487

1486:                                             ; preds = %1468, %1426
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #5
  br label %2686

1487:                                             ; preds = %1485, %1379, %1375, %1372, %1369
  %1488 = load i32, ptr %39, align 4, !tbaa !9
  %1489 = icmp sge i32 %1488, 32
  br i1 %1489, label %1490, label %1497

1490:                                             ; preds = %1487
  %1491 = load i32, ptr %39, align 4, !tbaa !9
  %1492 = icmp slt i32 %1491, 56
  br i1 %1492, label %1493, label %1497

1493:                                             ; preds = %1490
  %1494 = load i32, ptr %39, align 4, !tbaa !9
  %1495 = srem i32 %1494, 8
  %1496 = icmp slt i32 %1495, 5
  br i1 %1496, label %1506, label %1497

1497:                                             ; preds = %1493, %1490, %1487
  %1498 = load i32, ptr %39, align 4, !tbaa !9
  %1499 = icmp sge i32 %1498, 96
  br i1 %1499, label %1500, label %1503

1500:                                             ; preds = %1497
  %1501 = load i32, ptr %39, align 4, !tbaa !9
  %1502 = icmp slt i32 %1501, 120
  br i1 %1502, label %1506, label %1503

1503:                                             ; preds = %1500, %1497
  %1504 = load i32, ptr %39, align 4, !tbaa !9
  %1505 = icmp eq i32 %1504, 60
  br i1 %1505, label %1506, label %1587

1506:                                             ; preds = %1503, %1500, %1493
  %1507 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1508 = load ptr, ptr %1507, align 8, !tbaa !19
  %1509 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1510 = load i32, ptr %1509, align 4, !tbaa !20
  %1511 = load i32, ptr %39, align 4, !tbaa !9
  %1512 = sdiv i32 %1511, 8
  %1513 = srem i32 %1512, 8
  %1514 = sub nsw i32 %1513, 3
  %1515 = load i32, ptr %39, align 4, !tbaa !9
  %1516 = icmp eq i32 %1515, 60
  %1517 = zext i1 %1516 to i32
  %1518 = sub nsw i32 %1514, %1517
  %1519 = sext i32 %1518 to i64
  %1520 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1519
  %1521 = load i32, ptr %1520, align 4, !tbaa !9
  %1522 = mul nsw i32 8, %1521
  %1523 = add nsw i32 35265, %1522
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1508, i32 noundef %1510, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1523, i32 noundef 2)
          to label %1524 unwind label %1362

1524:                                             ; preds = %1506
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #5
  %1525 = load i32, ptr %41, align 4, !tbaa !9
  %1526 = icmp eq i32 %1525, 6
  br i1 %1526, label %1530, label %1527

1527:                                             ; preds = %1524
  %1528 = load i32, ptr %39, align 4, !tbaa !9
  %1529 = icmp eq i32 %1528, 60
  br i1 %1529, label %1530, label %1532

1530:                                             ; preds = %1527, %1524
  %1531 = load i32, ptr %9, align 4, !tbaa !9
  br label %1534

1532:                                             ; preds = %1527
  %1533 = load i32, ptr %8, align 4, !tbaa !9
  br label %1534

1534:                                             ; preds = %1532, %1530
  %1535 = phi i32 [ %1531, %1530 ], [ %1533, %1532 ]
  %1536 = sub nsw i32 %1535, 1
  store i32 %1536, ptr %45, align 4, !tbaa !9
  %1537 = load i32, ptr %45, align 4, !tbaa !9
  %1538 = icmp sge i32 %1537, 128
  br i1 %1538, label %1539, label %1558

1539:                                             ; preds = %1534
  %1540 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1541 = load ptr, ptr %1540, align 8, !tbaa !19
  %1542 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1543 = load i32, ptr %1542, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1541, i32 noundef %1543, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33249, i32 noundef 2)
          to label %1544 unwind label %1554

1544:                                             ; preds = %1539
  %1545 = load i32, ptr %45, align 4, !tbaa !9
  %1546 = sext i32 %1545 to i64
  %1547 = trunc i64 %1546 to i32
  store i32 %1547, ptr %37, align 4, !tbaa !9
  %1548 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1549 = load ptr, ptr %1548, align 8, !tbaa !19
  %1550 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1551 = load i32, ptr %1550, align 4, !tbaa !20
  %1552 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1549, i32 noundef %1551, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1552)
          to label %1553 unwind label %1554

1553:                                             ; preds = %1544
  br label %1566

1554:                                             ; preds = %1580, %1574, %1558, %1544, %1539
  %1555 = landingpad { ptr, i32 }
          cleanup
  %1556 = extractvalue { ptr, i32 } %1555, 0
  store ptr %1556, ptr %15, align 8
  %1557 = extractvalue { ptr, i32 } %1555, 1
  store i32 %1557, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #5
  br label %2686

1558:                                             ; preds = %1534
  %1559 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1560 = load ptr, ptr %1559, align 8, !tbaa !19
  %1561 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1562 = load i32, ptr %1561, align 4, !tbaa !20
  %1563 = load i32, ptr %45, align 4, !tbaa !9
  %1564 = add nsw i32 8642816, %1563
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1560, i32 noundef %1562, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1564, i32 noundef 3)
          to label %1565 unwind label %1554

1565:                                             ; preds = %1558
  br label %1566

1566:                                             ; preds = %1565, %1553
  %1567 = load i32, ptr %39, align 4, !tbaa !9
  %1568 = sdiv i32 %1567, 8
  %1569 = srem i32 %1568, 8
  %1570 = icmp eq i32 %1569, 6
  br i1 %1570, label %1574, label %1571

1571:                                             ; preds = %1566
  %1572 = load i32, ptr %39, align 4, !tbaa !9
  %1573 = icmp eq i32 %1572, 60
  br i1 %1573, label %1574, label %1580

1574:                                             ; preds = %1571, %1566
  %1575 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1576 = load ptr, ptr %1575, align 8, !tbaa !19
  %1577 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1578 = load i32, ptr %1577, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1576, i32 noundef %1578, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1233980556, i32 noundef 4)
          to label %1579 unwind label %1554

1579:                                             ; preds = %1574
  br label %1586

1580:                                             ; preds = %1571
  %1581 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1582 = load ptr, ptr %1581, align 8, !tbaa !19
  %1583 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1584 = load i32, ptr %1583, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1582, i32 noundef %1584, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1233980431, i32 noundef 4)
          to label %1585 unwind label %1554

1585:                                             ; preds = %1580
  br label %1586

1586:                                             ; preds = %1585, %1579
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #5
  br label %1587

1587:                                             ; preds = %1586, %1503
  %1588 = load i32, ptr %39, align 4, !tbaa !9
  %1589 = sdiv i32 %1588, 8
  %1590 = and i32 %1589, 31
  switch i32 %1590, label %2682 [
    i32 0, label %1591
    i32 1, label %1591
    i32 2, label %1591
    i32 3, label %1591
    i32 4, label %1672
    i32 5, label %1672
    i32 6, label %1784
    i32 7, label %1838
    i32 8, label %1956
    i32 9, label %1956
    i32 10, label %1956
    i32 11, label %1956
    i32 12, label %2017
    i32 13, label %2017
    i32 14, label %2060
    i32 15, label %2682
    i32 16, label %2091
    i32 17, label %2144
    i32 18, label %2197
    i32 19, label %2254
    i32 20, label %2254
    i32 21, label %2331
    i32 22, label %2384
    i32 23, label %2444
    i32 24, label %2497
    i32 25, label %2550
    i32 26, label %2550
    i32 27, label %2591
    i32 28, label %2591
    i32 29, label %2591
    i32 30, label %2666
    i32 31, label %2666
  ]

1591:                                             ; preds = %1587, %1587, %1587, %1587
  %1592 = load i32, ptr %42, align 4, !tbaa !9
  switch i32 %1592, label %1671 [
    i32 0, label %1593
    i32 1, label %1604
    i32 2, label %1615
    i32 3, label %1626
    i32 4, label %1637
    i32 7, label %1649
  ]

1593:                                             ; preds = %1591
  %1594 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1595 = load ptr, ptr %1594, align 8, !tbaa !19
  %1596 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1597 = load i32, ptr %1596, align 4, !tbaa !20
  %1598 = load i32, ptr %41, align 4, !tbaa !9
  %1599 = sext i32 %1598 to i64
  %1600 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1599
  %1601 = load i32, ptr %1600, align 4, !tbaa !9
  %1602 = add nsw i32 34768, %1601
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1595, i32 noundef %1597, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1602, i32 noundef 2)
          to label %1603 unwind label %1362

1603:                                             ; preds = %1593
  br label %1671

1604:                                             ; preds = %1591
  %1605 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1606 = load ptr, ptr %1605, align 8, !tbaa !19
  %1607 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1608 = load i32, ptr %1607, align 4, !tbaa !20
  %1609 = load i32, ptr %41, align 4, !tbaa !9
  %1610 = sext i32 %1609 to i64
  %1611 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1610
  %1612 = load i32, ptr %1611, align 4, !tbaa !9
  %1613 = add nsw i32 65472, %1612
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1606, i32 noundef %1608, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1613, i32 noundef 2)
          to label %1614 unwind label %1362

1614:                                             ; preds = %1604
  br label %1671

1615:                                             ; preds = %1591
  %1616 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1617 = load ptr, ptr %1616, align 8, !tbaa !19
  %1618 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1619 = load i32, ptr %1618, align 4, !tbaa !20
  %1620 = load i32, ptr %41, align 4, !tbaa !9
  %1621 = sext i32 %1620 to i64
  %1622 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1621
  %1623 = load i32, ptr %1622, align 4, !tbaa !9
  %1624 = add nsw i32 65480, %1623
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1617, i32 noundef %1619, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1624, i32 noundef 2)
          to label %1625 unwind label %1362

1625:                                             ; preds = %1615
  br label %1671

1626:                                             ; preds = %1591
  %1627 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1628 = load ptr, ptr %1627, align 8, !tbaa !19
  %1629 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1630 = load i32, ptr %1629, align 4, !tbaa !20
  %1631 = load i32, ptr %41, align 4, !tbaa !9
  %1632 = sext i32 %1631 to i64
  %1633 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1632
  %1634 = load i32, ptr %1633, align 4, !tbaa !9
  %1635 = add nsw i32 63440, %1634
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1628, i32 noundef %1630, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1635, i32 noundef 2)
          to label %1636 unwind label %1362

1636:                                             ; preds = %1626
  br label %1671

1637:                                             ; preds = %1591
  %1638 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1639 = load ptr, ptr %1638, align 8, !tbaa !19
  %1640 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1641 = load i32, ptr %1640, align 4, !tbaa !20
  %1642 = load i32, ptr %41, align 4, !tbaa !9
  %1643 = sext i32 %1642 to i64
  %1644 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1643
  %1645 = load i32, ptr %1644, align 4, !tbaa !9
  %1646 = mul nsw i32 9, %1645
  %1647 = add nsw i32 12736, %1646
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1639, i32 noundef %1641, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1647, i32 noundef 2)
          to label %1648 unwind label %1362

1648:                                             ; preds = %1637
  br label %1671

1649:                                             ; preds = %1591
  %1650 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1651 = load ptr, ptr %1650, align 8, !tbaa !19
  %1652 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1653 = load i32, ptr %1652, align 4, !tbaa !20
  %1654 = load i32, ptr %41, align 4, !tbaa !9
  %1655 = sext i32 %1654 to i64
  %1656 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1655
  %1657 = load i32, ptr %1656, align 4, !tbaa !9
  %1658 = mul nsw i32 8, %1657
  %1659 = add nsw i32 4295558, %1658
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1651, i32 noundef %1653, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1659, i32 noundef 3)
          to label %1660 unwind label %1362

1660:                                             ; preds = %1649
  %1661 = load i32, ptr %40, align 4, !tbaa !9
  %1662 = mul nsw i32 %1661, 4
  %1663 = sext i32 %1662 to i64
  %1664 = trunc i64 %1663 to i32
  store i32 %1664, ptr %37, align 4, !tbaa !9
  %1665 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1666 = load ptr, ptr %1665, align 8, !tbaa !19
  %1667 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1668 = load i32, ptr %1667, align 4, !tbaa !20
  %1669 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1666, i32 noundef %1668, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1669)
          to label %1670 unwind label %1362

1670:                                             ; preds = %1660
  br label %1671

1671:                                             ; preds = %1670, %1648, %1636, %1625, %1614, %1603, %1591
  br label %2682

1672:                                             ; preds = %1587, %1587
  %1673 = load i32, ptr %42, align 4, !tbaa !9
  switch i32 %1673, label %1783 [
    i32 0, label %1674
    i32 1, label %1680
    i32 2, label %1686
    i32 3, label %1692
    i32 4, label %1698
    i32 7, label %1709
  ]

1674:                                             ; preds = %1672
  %1675 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1676 = load ptr, ptr %1675, align 8, !tbaa !19
  %1677 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1678 = load i32, ptr %1677, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1676, i32 noundef %1678, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 34321, i32 noundef 2)
          to label %1679 unwind label %1362

1679:                                             ; preds = %1674
  br label %1783

1680:                                             ; preds = %1672
  %1681 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1682 = load ptr, ptr %1681, align 8, !tbaa !19
  %1683 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1684 = load i32, ptr %1683, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1682, i32 noundef %1684, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 65025, i32 noundef 2)
          to label %1685 unwind label %1362

1685:                                             ; preds = %1680
  br label %1783

1686:                                             ; preds = %1672
  %1687 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1688 = load ptr, ptr %1687, align 8, !tbaa !19
  %1689 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1690 = load i32, ptr %1689, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1688, i32 noundef %1690, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 65033, i32 noundef 2)
          to label %1691 unwind label %1362

1691:                                             ; preds = %1686
  br label %1783

1692:                                             ; preds = %1672
  %1693 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1694 = load ptr, ptr %1693, align 8, !tbaa !19
  %1695 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1696 = load i32, ptr %1695, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1694, i32 noundef %1696, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 62993, i32 noundef 2)
          to label %1697 unwind label %1362

1697:                                             ; preds = %1692
  br label %1783

1698:                                             ; preds = %1672
  %1699 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1700 = load ptr, ptr %1699, align 8, !tbaa !19
  %1701 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1702 = load i32, ptr %1701, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1700, i32 noundef %1702, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 12736, i32 noundef 2)
          to label %1703 unwind label %1362

1703:                                             ; preds = %1698
  %1704 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1705 = load ptr, ptr %1704, align 8, !tbaa !19
  %1706 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1707 = load i32, ptr %1706, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1705, i32 noundef %1707, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 34817, i32 noundef 2)
          to label %1708 unwind label %1362

1708:                                             ; preds = %1703
  br label %1783

1709:                                             ; preds = %1672
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #5
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %46, ptr align 16 @__const._ZN7libzpaq5ZPAQL8assembleEv.jtab, i64 32, i1 false)
  %1710 = load i32, ptr %36, align 4, !tbaa !9
  %1711 = icmp slt i32 %1710, 4
  br i1 %1711, label %1712, label %1722

1712:                                             ; preds = %1709
  %1713 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1714 = load ptr, ptr %1713, align 8, !tbaa !19
  %1715 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1716 = load i32, ptr %1715, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1714, i32 noundef %1716, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 34011, i32 noundef 2)
          to label %1717 unwind label %1718

1717:                                             ; preds = %1712
  br label %1722

1718:                                             ; preds = %1775, %1760, %1743, %1731, %1712
  %1719 = landingpad { ptr, i32 }
          cleanup
  %1720 = extractvalue { ptr, i32 } %1719, 0
  store ptr %1720, ptr %15, align 8
  %1721 = extractvalue { ptr, i32 } %1719, 1
  store i32 %1721, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #5
  br label %2686

1722:                                             ; preds = %1717, %1709
  %1723 = load i32, ptr %40, align 4, !tbaa !9
  %1724 = icmp sge i32 %1723, 128
  br i1 %1724, label %1725, label %1760

1725:                                             ; preds = %1722
  %1726 = load i32, ptr %40, align 4, !tbaa !9
  %1727 = sub nsw i32 %1726, 257
  %1728 = load i32, ptr %35, align 4, !tbaa !9
  %1729 = sub nsw i32 %1727, %1728
  %1730 = icmp sge i32 %1729, 0
  br i1 %1730, label %1731, label %1760

1731:                                             ; preds = %1725
  %1732 = load i32, ptr %13, align 4, !tbaa !9
  %1733 = load i32, ptr %40, align 4, !tbaa !9
  %1734 = sub nsw i32 %1733, 257
  %1735 = load i32, ptr %35, align 4, !tbaa !9
  %1736 = sub nsw i32 %1734, %1735
  %1737 = sext i32 %1736 to i64
  %1738 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %1737)
          to label %1739 unwind label %1718

1739:                                             ; preds = %1731
  %1740 = load i32, ptr %1738, align 4, !tbaa !9
  %1741 = sub nsw i32 %1732, %1740
  %1742 = icmp slt i32 %1741, 120
  br i1 %1742, label %1743, label %1760

1743:                                             ; preds = %1739
  %1744 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1745 = load ptr, ptr %1744, align 8, !tbaa !19
  %1746 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1747 = load i32, ptr %1746, align 4, !tbaa !20
  %1748 = load i32, ptr %39, align 4, !tbaa !9
  %1749 = icmp eq i32 %1748, 47
  %1750 = zext i1 %1749 to i64
  %1751 = getelementptr inbounds [2 x [4 x i32]], ptr %46, i64 0, i64 %1750
  %1752 = load i32, ptr %36, align 4, !tbaa !9
  %1753 = sdiv i32 %1752, 4
  %1754 = sext i32 %1753 to i64
  %1755 = getelementptr inbounds [4 x i32], ptr %1751, i64 0, i64 %1754
  %1756 = load i32, ptr %1755, align 4, !tbaa !9
  %1757 = mul nsw i32 256, %1756
  %1758 = add nsw i32 28672, %1757
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1745, i32 noundef %1747, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1758, i32 noundef 2)
          to label %1759 unwind label %1718

1759:                                             ; preds = %1743
  br label %1782

1760:                                             ; preds = %1739, %1725, %1722
  %1761 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1762 = load ptr, ptr %1761, align 8, !tbaa !19
  %1763 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1764 = load i32, ptr %1763, align 4, !tbaa !20
  %1765 = load i32, ptr %39, align 4, !tbaa !9
  %1766 = icmp eq i32 %1765, 47
  %1767 = zext i1 %1766 to i64
  %1768 = getelementptr inbounds [2 x [4 x i32]], ptr %46, i64 0, i64 %1767
  %1769 = load i32, ptr %36, align 4, !tbaa !9
  %1770 = sdiv i32 %1769, 4
  %1771 = sext i32 %1770 to i64
  %1772 = getelementptr inbounds [4 x i32], ptr %1768, i64 0, i64 %1771
  %1773 = load i32, ptr %1772, align 4, !tbaa !9
  %1774 = add nsw i32 3968, %1773
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1762, i32 noundef %1764, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1774, i32 noundef 2)
          to label %1775 unwind label %1718

1775:                                             ; preds = %1760
  store i32 0, ptr %37, align 4, !tbaa !9
  %1776 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1777 = load ptr, ptr %1776, align 8, !tbaa !19
  %1778 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1779 = load i32, ptr %1778, align 4, !tbaa !20
  %1780 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1777, i32 noundef %1779, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1780)
          to label %1781 unwind label %1718

1781:                                             ; preds = %1775
  br label %1782

1782:                                             ; preds = %1781, %1759
  store i32 24, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #5
  br label %1783

1783:                                             ; preds = %1782, %1708, %1697, %1691, %1685, %1679, %1672
  br label %2682

1784:                                             ; preds = %1587
  %1785 = load i32, ptr %42, align 4, !tbaa !9
  switch i32 %1785, label %1837 [
    i32 0, label %1786
    i32 1, label %1792
    i32 2, label %1798
    i32 3, label %1804
    i32 4, label %1810
    i32 7, label %1821
  ]

1786:                                             ; preds = %1784
  %1787 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1788 = load ptr, ptr %1787, align 8, !tbaa !19
  %1789 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1790 = load i32, ptr %1789, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1788, i32 noundef %1790, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 34577, i32 noundef 2)
          to label %1791 unwind label %1362

1791:                                             ; preds = %1786
  br label %1837

1792:                                             ; preds = %1784
  %1793 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1794 = load ptr, ptr %1793, align 8, !tbaa !19
  %1795 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1796 = load i32, ptr %1795, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1794, i32 noundef %1796, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 65281, i32 noundef 2)
          to label %1797 unwind label %1362

1797:                                             ; preds = %1792
  br label %1837

1798:                                             ; preds = %1784
  %1799 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1800 = load ptr, ptr %1799, align 8, !tbaa !19
  %1801 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1802 = load i32, ptr %1801, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1800, i32 noundef %1802, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 65289, i32 noundef 2)
          to label %1803 unwind label %1362

1803:                                             ; preds = %1798
  br label %1837

1804:                                             ; preds = %1784
  %1805 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1806 = load ptr, ptr %1805, align 8, !tbaa !19
  %1807 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1808 = load i32, ptr %1807, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1806, i32 noundef %1808, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 63249, i32 noundef 2)
          to label %1809 unwind label %1362

1809:                                             ; preds = %1804
  br label %1837

1810:                                             ; preds = %1784
  %1811 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1812 = load ptr, ptr %1811, align 8, !tbaa !19
  %1813 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1814 = load i32, ptr %1813, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1812, i32 noundef %1814, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 12736, i32 noundef 2)
          to label %1815 unwind label %1362

1815:                                             ; preds = %1810
  %1816 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1817 = load ptr, ptr %1816, align 8, !tbaa !19
  %1818 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1819 = load i32, ptr %1818, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1817, i32 noundef %1819, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35073, i32 noundef 2)
          to label %1820 unwind label %1362

1820:                                             ; preds = %1815
  br label %1837

1821:                                             ; preds = %1784
  %1822 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1823 = load ptr, ptr %1822, align 8, !tbaa !19
  %1824 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1825 = load i32, ptr %1824, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1823, i32 noundef %1825, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 4295062, i32 noundef 3)
          to label %1826 unwind label %1362

1826:                                             ; preds = %1821
  %1827 = load i32, ptr %40, align 4, !tbaa !9
  %1828 = mul nsw i32 %1827, 4
  %1829 = sext i32 %1828 to i64
  %1830 = trunc i64 %1829 to i32
  store i32 %1830, ptr %37, align 4, !tbaa !9
  %1831 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1832 = load ptr, ptr %1831, align 8, !tbaa !19
  %1833 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1834 = load i32, ptr %1833, align 4, !tbaa !20
  %1835 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1832, i32 noundef %1834, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1835)
          to label %1836 unwind label %1362

1836:                                             ; preds = %1826
  br label %1837

1837:                                             ; preds = %1836, %1820, %1809, %1803, %1797, %1791, %1784
  br label %2682

1838:                                             ; preds = %1587
  %1839 = load i32, ptr %39, align 4, !tbaa !9
  switch i32 %1839, label %1955 [
    i32 56, label %1840
    i32 57, label %1869
    i32 59, label %1887
    i32 60, label %1910
    i32 63, label %1943
  ]

1840:                                             ; preds = %1838
  %1841 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1842 = load ptr, ptr %1841, align 8, !tbaa !19
  %1843 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1844 = load i32, ptr %1843, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1842, i32 noundef %1844, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 184, i32 noundef 1)
          to label %1845 unwind label %1362

1845:                                             ; preds = %1840
  store i32 1, ptr %37, align 4, !tbaa !9
  %1846 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1847 = load ptr, ptr %1846, align 8, !tbaa !19
  %1848 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1849 = load i32, ptr %1848, align 4, !tbaa !20
  %1850 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1847, i32 noundef %1849, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1850)
          to label %1851 unwind label %1362

1851:                                             ; preds = %1845
  %1852 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1853 = load ptr, ptr %1852, align 8, !tbaa !19
  %1854 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1855 = load i32, ptr %1854, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1853, i32 noundef %1855, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 233, i32 noundef 1)
          to label %1856 unwind label %1362

1856:                                             ; preds = %1851
  %1857 = load i32, ptr %14, align 4, !tbaa !9
  %1858 = load i32, ptr %13, align 4, !tbaa !9
  %1859 = sub nsw i32 %1857, %1858
  %1860 = sub nsw i32 %1859, 4
  %1861 = sext i32 %1860 to i64
  %1862 = trunc i64 %1861 to i32
  store i32 %1862, ptr %37, align 4, !tbaa !9
  %1863 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1864 = load ptr, ptr %1863, align 8, !tbaa !19
  %1865 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1866 = load i32, ptr %1865, align 4, !tbaa !20
  %1867 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1864, i32 noundef %1866, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1867)
          to label %1868 unwind label %1362

1868:                                             ; preds = %1856
  br label %1955

1869:                                             ; preds = %1838
  %1870 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1871 = load ptr, ptr %1870, align 8, !tbaa !19
  %1872 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1873 = load i32, ptr %1872, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1871, i32 noundef %1873, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 232, i32 noundef 1)
          to label %1874 unwind label %1362

1874:                                             ; preds = %1869
  %1875 = load i32, ptr %17, align 4, !tbaa !9
  %1876 = load i32, ptr %13, align 4, !tbaa !9
  %1877 = sub nsw i32 %1875, %1876
  %1878 = sub nsw i32 %1877, 4
  %1879 = sext i32 %1878 to i64
  %1880 = trunc i64 %1879 to i32
  store i32 %1880, ptr %37, align 4, !tbaa !9
  %1881 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1882 = load ptr, ptr %1881, align 8, !tbaa !19
  %1883 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1884 = load i32, ptr %1883, align 4, !tbaa !20
  %1885 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1882, i32 noundef %1884, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1885)
          to label %1886 unwind label %1362

1886:                                             ; preds = %1874
  br label %1955

1887:                                             ; preds = %1838
  %1888 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1889 = load ptr, ptr %1888, align 8, !tbaa !19
  %1890 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1891 = load i32, ptr %1890, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1889, i32 noundef %1891, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 9274384, i32 noundef 3)
          to label %1892 unwind label %1362

1892:                                             ; preds = %1887
  store i32 512, ptr %37, align 4, !tbaa !9
  %1893 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1894 = load ptr, ptr %1893, align 8, !tbaa !19
  %1895 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1896 = load i32, ptr %1895, align 4, !tbaa !20
  %1897 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1894, i32 noundef %1896, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1897)
          to label %1898 unwind label %1362

1898:                                             ; preds = %1892
  %1899 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1900 = load ptr, ptr %1899, align 8, !tbaa !19
  %1901 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1902 = load i32, ptr %1901, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1900, i32 noundef %1902, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 27088, i32 noundef 2)
          to label %1903 unwind label %1362

1903:                                             ; preds = %1898
  store i32 773, ptr %37, align 4, !tbaa !9
  %1904 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1905 = load ptr, ptr %1904, align 8, !tbaa !19
  %1906 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1907 = load i32, ptr %1906, align 4, !tbaa !20
  %1908 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1905, i32 noundef %1907, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1908)
          to label %1909 unwind label %1362

1909:                                             ; preds = %1903
  br label %1955

1910:                                             ; preds = %1838
  %1911 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1912 = load ptr, ptr %1911, align 8, !tbaa !19
  %1913 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1914 = load i32, ptr %1913, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1912, i32 noundef %1914, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35585, i32 noundef 2)
          to label %1915 unwind label %1362

1915:                                             ; preds = %1910
  %1916 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1917 = load ptr, ptr %1916, align 8, !tbaa !19
  %1918 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1919 = load i32, ptr %1918, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1917, i32 noundef %1919, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 9274384, i32 noundef 3)
          to label %1920 unwind label %1362

1920:                                             ; preds = %1915
  store i32 512, ptr %37, align 4, !tbaa !9
  %1921 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1922 = load ptr, ptr %1921, align 8, !tbaa !19
  %1923 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1924 = load i32, ptr %1923, align 4, !tbaa !20
  %1925 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1922, i32 noundef %1924, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1925)
          to label %1926 unwind label %1362

1926:                                             ; preds = %1920
  %1927 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1928 = load ptr, ptr %1927, align 8, !tbaa !19
  %1929 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1930 = load i32, ptr %1929, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1928, i32 noundef %1930, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 27072, i32 noundef 2)
          to label %1931 unwind label %1362

1931:                                             ; preds = %1926
  store i32 773, ptr %37, align 4, !tbaa !9
  %1932 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1933 = load ptr, ptr %1932, align 8, !tbaa !19
  %1934 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1935 = load i32, ptr %1934, align 4, !tbaa !20
  %1936 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1933, i32 noundef %1935, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1936)
          to label %1937 unwind label %1362

1937:                                             ; preds = %1931
  %1938 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1939 = load ptr, ptr %1938, align 8, !tbaa !19
  %1940 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1941 = load i32, ptr %1940, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1939, i32 noundef %1941, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35073, i32 noundef 2)
          to label %1942 unwind label %1362

1942:                                             ; preds = %1937
  br label %1955

1943:                                             ; preds = %1838
  %1944 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1945 = load ptr, ptr %1944, align 8, !tbaa !19
  %1946 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1947 = load i32, ptr %1946, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1945, i32 noundef %1947, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 233, i32 noundef 1)
          to label %1948 unwind label %1362

1948:                                             ; preds = %1943
  store i32 0, ptr %37, align 4, !tbaa !9
  %1949 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1950 = load ptr, ptr %1949, align 8, !tbaa !19
  %1951 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1952 = load i32, ptr %1951, align 4, !tbaa !20
  %1953 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1950, i32 noundef %1952, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1953)
          to label %1954 unwind label %1362

1954:                                             ; preds = %1948
  br label %1955

1955:                                             ; preds = %1954, %1942, %1909, %1886, %1868, %1838
  br label %2682

1956:                                             ; preds = %1587, %1587, %1587, %1587
  %1957 = load i32, ptr %42, align 4, !tbaa !9
  %1958 = icmp eq i32 %1957, 7
  br i1 %1958, label %1959, label %1979

1959:                                             ; preds = %1956
  %1960 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1961 = load ptr, ptr %1960, align 8, !tbaa !19
  %1962 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1963 = load i32, ptr %1962, align 4, !tbaa !20
  %1964 = load i32, ptr %41, align 4, !tbaa !9
  %1965 = sext i32 %1964 to i64
  %1966 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1965
  %1967 = load i32, ptr %1966, align 4, !tbaa !9
  %1968 = add nsw i32 184, %1967
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1961, i32 noundef %1963, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1968, i32 noundef 1)
          to label %1969 unwind label %1362

1969:                                             ; preds = %1959
  %1970 = load i32, ptr %40, align 4, !tbaa !9
  %1971 = sext i32 %1970 to i64
  %1972 = trunc i64 %1971 to i32
  store i32 %1972, ptr %37, align 4, !tbaa !9
  %1973 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1974 = load ptr, ptr %1973, align 8, !tbaa !19
  %1975 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1976 = load i32, ptr %1975, align 4, !tbaa !20
  %1977 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1974, i32 noundef %1976, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1977)
          to label %1978 unwind label %1362

1978:                                             ; preds = %1969
  br label %2016

1979:                                             ; preds = %1956
  %1980 = load i32, ptr %42, align 4, !tbaa !9
  %1981 = icmp eq i32 %1980, 6
  br i1 %1981, label %1982, label %1994

1982:                                             ; preds = %1979
  %1983 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1984 = load ptr, ptr %1983, align 8, !tbaa !19
  %1985 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %1986 = load i32, ptr %1985, align 4, !tbaa !20
  %1987 = load i32, ptr %41, align 4, !tbaa !9
  %1988 = sext i32 %1987 to i64
  %1989 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %1988
  %1990 = load i32, ptr %1989, align 4, !tbaa !9
  %1991 = shl i32 %1990, 11
  %1992 = add nsw i32 1099629700, %1991
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1984, i32 noundef %1986, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %1992, i32 noundef 4)
          to label %1993 unwind label %1362

1993:                                             ; preds = %1982
  br label %2015

1994:                                             ; preds = %1979
  %1995 = load i32, ptr %42, align 4, !tbaa !9
  %1996 = icmp slt i32 %1995, 4
  br i1 %1996, label %1997, label %2014

1997:                                             ; preds = %1994
  %1998 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %1999 = load ptr, ptr %1998, align 8, !tbaa !19
  %2000 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2001 = load i32, ptr %2000, align 4, !tbaa !20
  %2002 = load i32, ptr %41, align 4, !tbaa !9
  %2003 = sext i32 %2002 to i64
  %2004 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2003
  %2005 = load i32, ptr %2004, align 4, !tbaa !9
  %2006 = add nsw i32 35264, %2005
  %2007 = load i32, ptr %42, align 4, !tbaa !9
  %2008 = sext i32 %2007 to i64
  %2009 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2008
  %2010 = load i32, ptr %2009, align 4, !tbaa !9
  %2011 = mul nsw i32 8, %2010
  %2012 = add nsw i32 %2006, %2011
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1999, i32 noundef %2001, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2012, i32 noundef 2)
          to label %2013 unwind label %1362

2013:                                             ; preds = %1997
  br label %2014

2014:                                             ; preds = %2013, %1994
  br label %2015

2015:                                             ; preds = %2014, %1993
  br label %2016

2016:                                             ; preds = %2015, %1978
  br label %2682

2017:                                             ; preds = %1587, %1587
  %2018 = load i32, ptr %42, align 4, !tbaa !9
  %2019 = icmp eq i32 %2018, 7
  br i1 %2019, label %2020, label %2028

2020:                                             ; preds = %2017
  %2021 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2022 = load ptr, ptr %2021, align 8, !tbaa !19
  %2023 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2024 = load i32, ptr %2023, align 4, !tbaa !20
  %2025 = load i32, ptr %40, align 4, !tbaa !9
  %2026 = add nsw i32 12976384, %2025
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2022, i32 noundef %2024, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2026, i32 noundef 3)
          to label %2027 unwind label %1362

2027:                                             ; preds = %2020
  br label %2059

2028:                                             ; preds = %2017
  %2029 = load i32, ptr %42, align 4, !tbaa !9
  %2030 = icmp eq i32 %2029, 0
  br i1 %2030, label %2031, label %2037

2031:                                             ; preds = %2028
  %2032 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2033 = load ptr, ptr %2032, align 8, !tbaa !19
  %2034 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2035 = load i32, ptr %2034, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2033, i32 noundef %2035, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 34833, i32 noundef 2)
          to label %2036 unwind label %1362

2036:                                             ; preds = %2031
  br label %2058

2037:                                             ; preds = %2028
  %2038 = load i32, ptr %42, align 4, !tbaa !9
  %2039 = icmp slt i32 %2038, 4
  br i1 %2039, label %2040, label %2052

2040:                                             ; preds = %2037
  %2041 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2042 = load ptr, ptr %2041, align 8, !tbaa !19
  %2043 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2044 = load i32, ptr %2043, align 4, !tbaa !20
  %2045 = load i32, ptr %42, align 4, !tbaa !9
  %2046 = sext i32 %2045 to i64
  %2047 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2046
  %2048 = load i32, ptr %2047, align 4, !tbaa !9
  %2049 = mul nsw i32 8, %2048
  %2050 = add nsw i32 35264, %2049
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2042, i32 noundef %2044, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2050, i32 noundef 2)
          to label %2051 unwind label %1362

2051:                                             ; preds = %2040
  br label %2052

2052:                                             ; preds = %2051, %2037
  %2053 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2054 = load ptr, ptr %2053, align 8, !tbaa !19
  %2055 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2056 = load i32, ptr %2055, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2054, i32 noundef %2056, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 34817, i32 noundef 2)
          to label %2057 unwind label %1362

2057:                                             ; preds = %2052
  br label %2058

2058:                                             ; preds = %2057, %2036
  br label %2059

2059:                                             ; preds = %2058, %2027
  br label %2682

2060:                                             ; preds = %1587
  %2061 = load i32, ptr %42, align 4, !tbaa !9
  %2062 = icmp slt i32 %2061, 7
  br i1 %2062, label %2063, label %2075

2063:                                             ; preds = %2060
  %2064 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2065 = load ptr, ptr %2064, align 8, !tbaa !19
  %2066 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2067 = load i32, ptr %2066, align 4, !tbaa !20
  %2068 = load i32, ptr %42, align 4, !tbaa !9
  %2069 = sext i32 %2068 to i64
  %2070 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2069
  %2071 = load i32, ptr %2070, align 4, !tbaa !9
  %2072 = mul nsw i32 8, %2071
  %2073 = add nsw i32 35073, %2072
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2065, i32 noundef %2067, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2073, i32 noundef 2)
          to label %2074 unwind label %1362

2074:                                             ; preds = %2063
  br label %2090

2075:                                             ; preds = %2060
  %2076 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2077 = load ptr, ptr %2076, align 8, !tbaa !19
  %2078 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2079 = load i32, ptr %2078, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2077, i32 noundef %2079, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 50945, i32 noundef 2)
          to label %2080 unwind label %1362

2080:                                             ; preds = %2075
  %2081 = load i32, ptr %40, align 4, !tbaa !9
  %2082 = sext i32 %2081 to i64
  %2083 = trunc i64 %2082 to i32
  store i32 %2083, ptr %37, align 4, !tbaa !9
  %2084 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2085 = load ptr, ptr %2084, align 8, !tbaa !19
  %2086 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2087 = load i32, ptr %2086, align 4, !tbaa !20
  %2088 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2085, i32 noundef %2087, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2088)
          to label %2089 unwind label %1362

2089:                                             ; preds = %2080
  br label %2090

2090:                                             ; preds = %2089, %2074
  br label %2682

2091:                                             ; preds = %1587
  %2092 = load i32, ptr %42, align 4, !tbaa !9
  %2093 = icmp eq i32 %2092, 6
  br i1 %2093, label %2094, label %2100

2094:                                             ; preds = %2091
  %2095 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2096 = load ptr, ptr %2095, align 8, !tbaa !19
  %2097 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2098 = load i32, ptr %2097, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2096, i32 noundef %2098, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1090720900, i32 noundef 4)
          to label %2099 unwind label %1362

2099:                                             ; preds = %2094
  br label %2143

2100:                                             ; preds = %2091
  %2101 = load i32, ptr %42, align 4, !tbaa !9
  %2102 = icmp slt i32 %2101, 7
  br i1 %2102, label %2103, label %2115

2103:                                             ; preds = %2100
  %2104 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2105 = load ptr, ptr %2104, align 8, !tbaa !19
  %2106 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2107 = load i32, ptr %2106, align 4, !tbaa !20
  %2108 = load i32, ptr %42, align 4, !tbaa !9
  %2109 = sext i32 %2108 to i64
  %2110 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2109
  %2111 = load i32, ptr %2110, align 4, !tbaa !9
  %2112 = mul nsw i32 8, %2111
  %2113 = add nsw i32 450, %2112
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2105, i32 noundef %2107, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2113, i32 noundef 2)
          to label %2114 unwind label %1362

2114:                                             ; preds = %2103
  br label %2142

2115:                                             ; preds = %2100
  %2116 = load i32, ptr %40, align 4, !tbaa !9
  %2117 = icmp sgt i32 %2116, 128
  br i1 %2117, label %2118, label %2133

2118:                                             ; preds = %2115
  %2119 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2120 = load ptr, ptr %2119, align 8, !tbaa !19
  %2121 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2122 = load i32, ptr %2121, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2120, i32 noundef %2122, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33218, i32 noundef 2)
          to label %2123 unwind label %1362

2123:                                             ; preds = %2118
  %2124 = load i32, ptr %40, align 4, !tbaa !9
  %2125 = sext i32 %2124 to i64
  %2126 = trunc i64 %2125 to i32
  store i32 %2126, ptr %37, align 4, !tbaa !9
  %2127 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2128 = load ptr, ptr %2127, align 8, !tbaa !19
  %2129 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2130 = load i32, ptr %2129, align 4, !tbaa !20
  %2131 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2128, i32 noundef %2130, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2131)
          to label %2132 unwind label %1362

2132:                                             ; preds = %2123
  br label %2141

2133:                                             ; preds = %2115
  %2134 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2135 = load ptr, ptr %2134, align 8, !tbaa !19
  %2136 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2137 = load i32, ptr %2136, align 4, !tbaa !20
  %2138 = load i32, ptr %40, align 4, !tbaa !9
  %2139 = add nsw i32 8634880, %2138
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2135, i32 noundef %2137, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2139, i32 noundef 3)
          to label %2140 unwind label %1362

2140:                                             ; preds = %2133
  br label %2141

2141:                                             ; preds = %2140, %2132
  br label %2142

2142:                                             ; preds = %2141, %2114
  br label %2143

2143:                                             ; preds = %2142, %2099
  br label %2682

2144:                                             ; preds = %1587
  %2145 = load i32, ptr %42, align 4, !tbaa !9
  %2146 = icmp eq i32 %2145, 6
  br i1 %2146, label %2147, label %2153

2147:                                             ; preds = %2144
  %2148 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2149 = load ptr, ptr %2148, align 8, !tbaa !19
  %2150 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2151 = load i32, ptr %2150, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2149, i32 noundef %2151, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1093342340, i32 noundef 4)
          to label %2152 unwind label %1362

2152:                                             ; preds = %2147
  br label %2196

2153:                                             ; preds = %2144
  %2154 = load i32, ptr %42, align 4, !tbaa !9
  %2155 = icmp slt i32 %2154, 7
  br i1 %2155, label %2156, label %2168

2156:                                             ; preds = %2153
  %2157 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2158 = load ptr, ptr %2157, align 8, !tbaa !19
  %2159 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2160 = load i32, ptr %2159, align 4, !tbaa !20
  %2161 = load i32, ptr %42, align 4, !tbaa !9
  %2162 = sext i32 %2161 to i64
  %2163 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2162
  %2164 = load i32, ptr %2163, align 4, !tbaa !9
  %2165 = mul nsw i32 8, %2164
  %2166 = add nsw i32 10690, %2165
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2158, i32 noundef %2160, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2166, i32 noundef 2)
          to label %2167 unwind label %1362

2167:                                             ; preds = %2156
  br label %2195

2168:                                             ; preds = %2153
  %2169 = load i32, ptr %40, align 4, !tbaa !9
  %2170 = icmp sge i32 %2169, 128
  br i1 %2170, label %2171, label %2186

2171:                                             ; preds = %2168
  %2172 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2173 = load ptr, ptr %2172, align 8, !tbaa !19
  %2174 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2175 = load i32, ptr %2174, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2173, i32 noundef %2175, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33258, i32 noundef 2)
          to label %2176 unwind label %1362

2176:                                             ; preds = %2171
  %2177 = load i32, ptr %40, align 4, !tbaa !9
  %2178 = sext i32 %2177 to i64
  %2179 = trunc i64 %2178 to i32
  store i32 %2179, ptr %37, align 4, !tbaa !9
  %2180 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2181 = load ptr, ptr %2180, align 8, !tbaa !19
  %2182 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2183 = load i32, ptr %2182, align 4, !tbaa !20
  %2184 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2181, i32 noundef %2183, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2184)
          to label %2185 unwind label %1362

2185:                                             ; preds = %2176
  br label %2194

2186:                                             ; preds = %2168
  %2187 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2188 = load ptr, ptr %2187, align 8, !tbaa !19
  %2189 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2190 = load i32, ptr %2189, align 4, !tbaa !20
  %2191 = load i32, ptr %40, align 4, !tbaa !9
  %2192 = add nsw i32 8645120, %2191
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2188, i32 noundef %2190, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2192, i32 noundef 3)
          to label %2193 unwind label %1362

2193:                                             ; preds = %2186
  br label %2194

2194:                                             ; preds = %2193, %2185
  br label %2195

2195:                                             ; preds = %2194, %2167
  br label %2196

2196:                                             ; preds = %2195, %2152
  br label %2682

2197:                                             ; preds = %1587
  %2198 = load i32, ptr %42, align 4, !tbaa !9
  %2199 = icmp eq i32 %2198, 6
  br i1 %2199, label %2200, label %2211

2200:                                             ; preds = %2197
  %2201 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2202 = load ptr, ptr %2201, align 8, !tbaa !19
  %2203 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2204 = load i32, ptr %2203, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2202, i32 noundef %2204, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1091546900, i32 noundef 4)
          to label %2205 unwind label %1362

2205:                                             ; preds = %2200
  %2206 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2207 = load ptr, ptr %2206, align 8, !tbaa !19
  %2208 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2209 = load i32, ptr %2208, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2207, i32 noundef %2209, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 132, i32 noundef 1)
          to label %2210 unwind label %1362

2210:                                             ; preds = %2205
  br label %2253

2211:                                             ; preds = %2197
  %2212 = load i32, ptr %42, align 4, !tbaa !9
  %2213 = icmp slt i32 %2212, 7
  br i1 %2213, label %2214, label %2225

2214:                                             ; preds = %2211
  %2215 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2216 = load ptr, ptr %2215, align 8, !tbaa !19
  %2217 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2218 = load i32, ptr %2217, align 4, !tbaa !20
  %2219 = load i32, ptr %42, align 4, !tbaa !9
  %2220 = sext i32 %2219 to i64
  %2221 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2220
  %2222 = load i32, ptr %2221, align 4, !tbaa !9
  %2223 = add nsw i32 1028048, %2222
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2216, i32 noundef %2218, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2223, i32 noundef 3)
          to label %2224 unwind label %1362

2224:                                             ; preds = %2214
  br label %2252

2225:                                             ; preds = %2211
  %2226 = load i32, ptr %40, align 4, !tbaa !9
  %2227 = icmp sge i32 %2226, 128
  br i1 %2227, label %2228, label %2243

2228:                                             ; preds = %2225
  %2229 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2230 = load ptr, ptr %2229, align 8, !tbaa !19
  %2231 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2232 = load i32, ptr %2231, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2230, i32 noundef %2232, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 27090, i32 noundef 2)
          to label %2233 unwind label %1362

2233:                                             ; preds = %2228
  %2234 = load i32, ptr %40, align 4, !tbaa !9
  %2235 = sext i32 %2234 to i64
  %2236 = trunc i64 %2235 to i32
  store i32 %2236, ptr %37, align 4, !tbaa !9
  %2237 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2238 = load ptr, ptr %2237, align 8, !tbaa !19
  %2239 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2240 = load i32, ptr %2239, align 4, !tbaa !20
  %2241 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2238, i32 noundef %2240, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2241)
          to label %2242 unwind label %1362

2242:                                             ; preds = %2233
  br label %2251

2243:                                             ; preds = %2225
  %2244 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2245 = load ptr, ptr %2244, align 8, !tbaa !19
  %2246 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2247 = load i32, ptr %2246, align 4, !tbaa !20
  %2248 = load i32, ptr %40, align 4, !tbaa !9
  %2249 = add nsw i32 7066112, %2248
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2245, i32 noundef %2247, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2249, i32 noundef 3)
          to label %2250 unwind label %1362

2250:                                             ; preds = %2243
  br label %2251

2251:                                             ; preds = %2250, %2242
  br label %2252

2252:                                             ; preds = %2251, %2224
  br label %2253

2253:                                             ; preds = %2252, %2210
  br label %2682

2254:                                             ; preds = %1587, %1587
  %2255 = load i32, ptr %42, align 4, !tbaa !9
  %2256 = icmp slt i32 %2255, 7
  br i1 %2256, label %2257, label %2269

2257:                                             ; preds = %2254
  %2258 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2259 = load ptr, ptr %2258, align 8, !tbaa !19
  %2260 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2261 = load i32, ptr %2260, align 4, !tbaa !20
  %2262 = load i32, ptr %42, align 4, !tbaa !9
  %2263 = sext i32 %2262 to i64
  %2264 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2263
  %2265 = load i32, ptr %2264, align 4, !tbaa !9
  %2266 = mul nsw i32 8, %2265
  %2267 = add nsw i32 35265, %2266
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2259, i32 noundef %2261, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2267, i32 noundef 2)
          to label %2268 unwind label %1362

2268:                                             ; preds = %2257
  br label %2284

2269:                                             ; preds = %2254
  %2270 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2271 = load ptr, ptr %2270, align 8, !tbaa !19
  %2272 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2273 = load i32, ptr %2272, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2271, i32 noundef %2273, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 185, i32 noundef 1)
          to label %2274 unwind label %1362

2274:                                             ; preds = %2269
  %2275 = load i32, ptr %40, align 4, !tbaa !9
  %2276 = sext i32 %2275 to i64
  %2277 = trunc i64 %2276 to i32
  store i32 %2277, ptr %37, align 4, !tbaa !9
  %2278 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2279 = load ptr, ptr %2278, align 8, !tbaa !19
  %2280 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2281 = load i32, ptr %2280, align 4, !tbaa !20
  %2282 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2279, i32 noundef %2281, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2282)
          to label %2283 unwind label %1362

2283:                                             ; preds = %2274
  br label %2284

2284:                                             ; preds = %2283, %2268
  %2285 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2286 = load ptr, ptr %2285, align 8, !tbaa !19
  %2287 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2288 = load i32, ptr %2287, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2286, i32 noundef %2288, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 34249, i32 noundef 2)
          to label %2289 unwind label %1362

2289:                                             ; preds = %2284
  %2290 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2291 = load ptr, ptr %2290, align 8, !tbaa !19
  %2292 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2293 = load i32, ptr %2292, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2291, i32 noundef %2293, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1000657, i32 noundef 3)
          to label %2294 unwind label %1362

2294:                                             ; preds = %2289
  %2295 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2296 = load ptr, ptr %2295, align 8, !tbaa !19
  %2297 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2298 = load i32, ptr %2297, align 4, !tbaa !20
  %2299 = load i32, ptr %39, align 4, !tbaa !9
  %2300 = sdiv i32 %2299, 8
  %2301 = icmp eq i32 %2300, 20
  %2302 = zext i1 %2301 to i32
  %2303 = mul nsw i32 2, %2302
  %2304 = sub nsw i32 29704, %2303
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2296, i32 noundef %2298, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2304, i32 noundef 2)
          to label %2305 unwind label %1362

2305:                                             ; preds = %2294
  %2306 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2307 = load ptr, ptr %2306, align 8, !tbaa !19
  %2308 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2309 = load i32, ptr %2308, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2307, i32 noundef %2309, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35280, i32 noundef 2)
          to label %2310 unwind label %1362

2310:                                             ; preds = %2305
  %2311 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2312 = load ptr, ptr %2311, align 8, !tbaa !19
  %2313 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2314 = load i32, ptr %2313, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2312, i32 noundef %2314, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 12754, i32 noundef 2)
          to label %2315 unwind label %1362

2315:                                             ; preds = %2310
  %2316 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2317 = load ptr, ptr %2316, align 8, !tbaa !19
  %2318 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2319 = load i32, ptr %2318, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2317, i32 noundef %2319, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 63473, i32 noundef 2)
          to label %2320 unwind label %1362

2320:                                             ; preds = %2315
  %2321 = load i32, ptr %39, align 4, !tbaa !9
  %2322 = sdiv i32 %2321, 8
  %2323 = icmp eq i32 %2322, 19
  br i1 %2323, label %2324, label %2330

2324:                                             ; preds = %2320
  %2325 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2326 = load ptr, ptr %2325, align 8, !tbaa !19
  %2327 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2328 = load i32, ptr %2327, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2326, i32 noundef %2328, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 35266, i32 noundef 2)
          to label %2329 unwind label %1362

2329:                                             ; preds = %2324
  br label %2330

2330:                                             ; preds = %2329, %2320
  br label %2682

2331:                                             ; preds = %1587
  %2332 = load i32, ptr %42, align 4, !tbaa !9
  %2333 = icmp eq i32 %2332, 6
  br i1 %2333, label %2334, label %2340

2334:                                             ; preds = %2331
  %2335 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2336 = load ptr, ptr %2335, align 8, !tbaa !19
  %2337 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2338 = load i32, ptr %2337, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2336, i32 noundef %2338, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1092818052, i32 noundef 4)
          to label %2339 unwind label %1362

2339:                                             ; preds = %2334
  br label %2383

2340:                                             ; preds = %2331
  %2341 = load i32, ptr %42, align 4, !tbaa !9
  %2342 = icmp slt i32 %2341, 7
  br i1 %2342, label %2343, label %2355

2343:                                             ; preds = %2340
  %2344 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2345 = load ptr, ptr %2344, align 8, !tbaa !19
  %2346 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2347 = load i32, ptr %2346, align 4, !tbaa !20
  %2348 = load i32, ptr %42, align 4, !tbaa !9
  %2349 = sext i32 %2348 to i64
  %2350 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2349
  %2351 = load i32, ptr %2350, align 4, !tbaa !9
  %2352 = mul nsw i32 8, %2351
  %2353 = add nsw i32 8642, %2352
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2345, i32 noundef %2347, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2353, i32 noundef 2)
          to label %2354 unwind label %1362

2354:                                             ; preds = %2343
  br label %2382

2355:                                             ; preds = %2340
  %2356 = load i32, ptr %40, align 4, !tbaa !9
  %2357 = icmp sge i32 %2356, 128
  br i1 %2357, label %2358, label %2373

2358:                                             ; preds = %2355
  %2359 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2360 = load ptr, ptr %2359, align 8, !tbaa !19
  %2361 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2362 = load i32, ptr %2361, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2360, i32 noundef %2362, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33250, i32 noundef 2)
          to label %2363 unwind label %1362

2363:                                             ; preds = %2358
  %2364 = load i32, ptr %40, align 4, !tbaa !9
  %2365 = sext i32 %2364 to i64
  %2366 = trunc i64 %2365 to i32
  store i32 %2366, ptr %37, align 4, !tbaa !9
  %2367 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2368 = load ptr, ptr %2367, align 8, !tbaa !19
  %2369 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2370 = load i32, ptr %2369, align 4, !tbaa !20
  %2371 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2368, i32 noundef %2370, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2371)
          to label %2372 unwind label %1362

2372:                                             ; preds = %2363
  br label %2381

2373:                                             ; preds = %2355
  %2374 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2375 = load ptr, ptr %2374, align 8, !tbaa !19
  %2376 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2377 = load i32, ptr %2376, align 4, !tbaa !20
  %2378 = load i32, ptr %40, align 4, !tbaa !9
  %2379 = add nsw i32 8643072, %2378
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2375, i32 noundef %2377, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2379, i32 noundef 3)
          to label %2380 unwind label %1362

2380:                                             ; preds = %2373
  br label %2381

2381:                                             ; preds = %2380, %2372
  br label %2382

2382:                                             ; preds = %2381, %2354
  br label %2383

2383:                                             ; preds = %2382, %2339
  br label %2682

2384:                                             ; preds = %1587
  %2385 = load i32, ptr %42, align 4, !tbaa !9
  %2386 = icmp eq i32 %2385, 7
  br i1 %2386, label %2387, label %2417

2387:                                             ; preds = %2384
  %2388 = load i32, ptr %40, align 4, !tbaa !9
  %2389 = icmp slt i32 %2388, 128
  br i1 %2389, label %2390, label %2400

2390:                                             ; preds = %2387
  %2391 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2392 = load ptr, ptr %2391, align 8, !tbaa !19
  %2393 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2394 = load i32, ptr %2393, align 4, !tbaa !20
  %2395 = load i32, ptr %40, align 4, !tbaa !9
  %2396 = xor i32 %2395, -1
  %2397 = and i32 %2396, 255
  %2398 = add nsw i32 8643072, %2397
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2392, i32 noundef %2394, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2398, i32 noundef 3)
          to label %2399 unwind label %1362

2399:                                             ; preds = %2390
  br label %2416

2400:                                             ; preds = %2387
  %2401 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2402 = load ptr, ptr %2401, align 8, !tbaa !19
  %2403 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2404 = load i32, ptr %2403, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2402, i32 noundef %2404, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33250, i32 noundef 2)
          to label %2405 unwind label %1362

2405:                                             ; preds = %2400
  %2406 = load i32, ptr %40, align 4, !tbaa !9
  %2407 = xor i32 %2406, -1
  %2408 = sext i32 %2407 to i64
  %2409 = trunc i64 %2408 to i32
  store i32 %2409, ptr %37, align 4, !tbaa !9
  %2410 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2411 = load ptr, ptr %2410, align 8, !tbaa !19
  %2412 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2413 = load i32, ptr %2412, align 4, !tbaa !20
  %2414 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2411, i32 noundef %2413, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2414)
          to label %2415 unwind label %1362

2415:                                             ; preds = %2405
  br label %2416

2416:                                             ; preds = %2415, %2399
  br label %2443

2417:                                             ; preds = %2384
  %2418 = load i32, ptr %42, align 4, !tbaa !9
  %2419 = icmp slt i32 %2418, 4
  br i1 %2419, label %2420, label %2432

2420:                                             ; preds = %2417
  %2421 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2422 = load ptr, ptr %2421, align 8, !tbaa !19
  %2423 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2424 = load i32, ptr %2423, align 4, !tbaa !20
  %2425 = load i32, ptr %42, align 4, !tbaa !9
  %2426 = sext i32 %2425 to i64
  %2427 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2426
  %2428 = load i32, ptr %2427, align 4, !tbaa !9
  %2429 = mul nsw i32 8, %2428
  %2430 = add nsw i32 35264, %2429
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2422, i32 noundef %2424, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2430, i32 noundef 2)
          to label %2431 unwind label %1362

2431:                                             ; preds = %2420
  br label %2432

2432:                                             ; preds = %2431, %2417
  %2433 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2434 = load ptr, ptr %2433, align 8, !tbaa !19
  %2435 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2436 = load i32, ptr %2435, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2434, i32 noundef %2436, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 63440, i32 noundef 2)
          to label %2437 unwind label %1362

2437:                                             ; preds = %2432
  %2438 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2439 = load ptr, ptr %2438, align 8, !tbaa !19
  %2440 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2441 = load i32, ptr %2440, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2439, i32 noundef %2441, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 8642, i32 noundef 2)
          to label %2442 unwind label %1362

2442:                                             ; preds = %2437
  br label %2443

2443:                                             ; preds = %2442, %2416
  br label %2682

2444:                                             ; preds = %1587
  %2445 = load i32, ptr %42, align 4, !tbaa !9
  %2446 = icmp eq i32 %2445, 6
  br i1 %2446, label %2447, label %2453

2447:                                             ; preds = %2444
  %2448 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2449 = load ptr, ptr %2448, align 8, !tbaa !19
  %2450 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2451 = load i32, ptr %2450, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2449, i32 noundef %2451, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1091245188, i32 noundef 4)
          to label %2452 unwind label %1362

2452:                                             ; preds = %2447
  br label %2496

2453:                                             ; preds = %2444
  %2454 = load i32, ptr %42, align 4, !tbaa !9
  %2455 = icmp slt i32 %2454, 7
  br i1 %2455, label %2456, label %2468

2456:                                             ; preds = %2453
  %2457 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2458 = load ptr, ptr %2457, align 8, !tbaa !19
  %2459 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2460 = load i32, ptr %2459, align 4, !tbaa !20
  %2461 = load i32, ptr %42, align 4, !tbaa !9
  %2462 = sext i32 %2461 to i64
  %2463 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2462
  %2464 = load i32, ptr %2463, align 4, !tbaa !9
  %2465 = mul nsw i32 8, %2464
  %2466 = add nsw i32 2498, %2465
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2458, i32 noundef %2460, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2466, i32 noundef 2)
          to label %2467 unwind label %1362

2467:                                             ; preds = %2456
  br label %2495

2468:                                             ; preds = %2453
  %2469 = load i32, ptr %40, align 4, !tbaa !9
  %2470 = icmp sge i32 %2469, 128
  br i1 %2470, label %2471, label %2486

2471:                                             ; preds = %2468
  %2472 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2473 = load ptr, ptr %2472, align 8, !tbaa !19
  %2474 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2475 = load i32, ptr %2474, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2473, i32 noundef %2475, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33226, i32 noundef 2)
          to label %2476 unwind label %1362

2476:                                             ; preds = %2471
  %2477 = load i32, ptr %40, align 4, !tbaa !9
  %2478 = sext i32 %2477 to i64
  %2479 = trunc i64 %2478 to i32
  store i32 %2479, ptr %37, align 4, !tbaa !9
  %2480 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2481 = load ptr, ptr %2480, align 8, !tbaa !19
  %2482 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2483 = load i32, ptr %2482, align 4, !tbaa !20
  %2484 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2481, i32 noundef %2483, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2484)
          to label %2485 unwind label %1362

2485:                                             ; preds = %2476
  br label %2494

2486:                                             ; preds = %2468
  %2487 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2488 = load ptr, ptr %2487, align 8, !tbaa !19
  %2489 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2490 = load i32, ptr %2489, align 4, !tbaa !20
  %2491 = load i32, ptr %40, align 4, !tbaa !9
  %2492 = add nsw i32 8636928, %2491
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2488, i32 noundef %2490, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2492, i32 noundef 3)
          to label %2493 unwind label %1362

2493:                                             ; preds = %2486
  br label %2494

2494:                                             ; preds = %2493, %2485
  br label %2495

2495:                                             ; preds = %2494, %2467
  br label %2496

2496:                                             ; preds = %2495, %2452
  br label %2682

2497:                                             ; preds = %1587
  %2498 = load i32, ptr %42, align 4, !tbaa !9
  %2499 = icmp eq i32 %2498, 6
  br i1 %2499, label %2500, label %2506

2500:                                             ; preds = %2497
  %2501 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2502 = load ptr, ptr %2501, align 8, !tbaa !19
  %2503 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2504 = load i32, ptr %2503, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2502, i32 noundef %2504, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1093866628, i32 noundef 4)
          to label %2505 unwind label %1362

2505:                                             ; preds = %2500
  br label %2549

2506:                                             ; preds = %2497
  %2507 = load i32, ptr %42, align 4, !tbaa !9
  %2508 = icmp slt i32 %2507, 7
  br i1 %2508, label %2509, label %2521

2509:                                             ; preds = %2506
  %2510 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2511 = load ptr, ptr %2510, align 8, !tbaa !19
  %2512 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2513 = load i32, ptr %2512, align 4, !tbaa !20
  %2514 = load i32, ptr %42, align 4, !tbaa !9
  %2515 = sext i32 %2514 to i64
  %2516 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2515
  %2517 = load i32, ptr %2516, align 4, !tbaa !9
  %2518 = mul nsw i32 8, %2517
  %2519 = add nsw i32 12738, %2518
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2511, i32 noundef %2513, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2519, i32 noundef 2)
          to label %2520 unwind label %1362

2520:                                             ; preds = %2509
  br label %2548

2521:                                             ; preds = %2506
  %2522 = load i32, ptr %40, align 4, !tbaa !9
  %2523 = icmp sge i32 %2522, 128
  br i1 %2523, label %2524, label %2539

2524:                                             ; preds = %2521
  %2525 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2526 = load ptr, ptr %2525, align 8, !tbaa !19
  %2527 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2528 = load i32, ptr %2527, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2526, i32 noundef %2528, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33266, i32 noundef 2)
          to label %2529 unwind label %1362

2529:                                             ; preds = %2524
  %2530 = load i32, ptr %40, align 4, !tbaa !9
  %2531 = sext i32 %2530 to i64
  %2532 = trunc i64 %2531 to i32
  store i32 %2532, ptr %37, align 4, !tbaa !9
  %2533 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2534 = load ptr, ptr %2533, align 8, !tbaa !19
  %2535 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2536 = load i32, ptr %2535, align 4, !tbaa !20
  %2537 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2534, i32 noundef %2536, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2537)
          to label %2538 unwind label %1362

2538:                                             ; preds = %2529
  br label %2547

2539:                                             ; preds = %2521
  %2540 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2541 = load ptr, ptr %2540, align 8, !tbaa !19
  %2542 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2543 = load i32, ptr %2542, align 4, !tbaa !20
  %2544 = load i32, ptr %40, align 4, !tbaa !9
  %2545 = add nsw i32 8647168, %2544
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2541, i32 noundef %2543, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2545, i32 noundef 3)
          to label %2546 unwind label %1362

2546:                                             ; preds = %2539
  br label %2547

2547:                                             ; preds = %2546, %2538
  br label %2548

2548:                                             ; preds = %2547, %2520
  br label %2549

2549:                                             ; preds = %2548, %2505
  br label %2682

2550:                                             ; preds = %1587, %1587
  %2551 = load i32, ptr %42, align 4, !tbaa !9
  %2552 = icmp eq i32 %2551, 7
  br i1 %2552, label %2553, label %2567

2553:                                             ; preds = %2550
  %2554 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2555 = load ptr, ptr %2554, align 8, !tbaa !19
  %2556 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2557 = load i32, ptr %2556, align 4, !tbaa !20
  %2558 = load i32, ptr %39, align 4, !tbaa !9
  %2559 = sdiv i32 %2558, 8
  %2560 = icmp eq i32 %2559, 26
  %2561 = zext i1 %2560 to i32
  %2562 = mul nsw i32 2048, %2561
  %2563 = add nsw i32 12706304, %2562
  %2564 = load i32, ptr %40, align 4, !tbaa !9
  %2565 = add nsw i32 %2563, %2564
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2555, i32 noundef %2557, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2565, i32 noundef 3)
          to label %2566 unwind label %1362

2566:                                             ; preds = %2553
  br label %2590

2567:                                             ; preds = %2550
  %2568 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2569 = load ptr, ptr %2568, align 8, !tbaa !19
  %2570 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2571 = load i32, ptr %2570, align 4, !tbaa !20
  %2572 = load i32, ptr %42, align 4, !tbaa !9
  %2573 = sext i32 %2572 to i64
  %2574 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2573
  %2575 = load i32, ptr %2574, align 4, !tbaa !9
  %2576 = mul nsw i32 8, %2575
  %2577 = add nsw i32 35265, %2576
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2569, i32 noundef %2571, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2577, i32 noundef 2)
          to label %2578 unwind label %1362

2578:                                             ; preds = %2567
  %2579 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2580 = load ptr, ptr %2579, align 8, !tbaa !19
  %2581 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2582 = load i32, ptr %2581, align 4, !tbaa !20
  %2583 = load i32, ptr %39, align 4, !tbaa !9
  %2584 = sdiv i32 %2583, 8
  %2585 = icmp eq i32 %2584, 26
  %2586 = zext i1 %2585 to i32
  %2587 = mul nsw i32 8, %2586
  %2588 = add nsw i32 54242, %2587
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2580, i32 noundef %2582, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2588, i32 noundef 2)
          to label %2589 unwind label %1362

2589:                                             ; preds = %2578
  br label %2590

2590:                                             ; preds = %2589, %2566
  br label %2682

2591:                                             ; preds = %1587, %1587, %1587
  %2592 = load i32, ptr %42, align 4, !tbaa !9
  %2593 = icmp eq i32 %2592, 6
  br i1 %2593, label %2594, label %2600

2594:                                             ; preds = %2591
  %2595 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2596 = load ptr, ptr %2595, align 8, !tbaa !19
  %2597 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2598 = load i32, ptr %2597, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2596, i32 noundef %2598, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1094390916, i32 noundef 4)
          to label %2599 unwind label %1362

2599:                                             ; preds = %2594
  br label %2631

2600:                                             ; preds = %2591
  %2601 = load i32, ptr %42, align 4, !tbaa !9
  %2602 = icmp eq i32 %2601, 7
  br i1 %2602, label %2603, label %2618

2603:                                             ; preds = %2600
  %2604 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2605 = load ptr, ptr %2604, align 8, !tbaa !19
  %2606 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2607 = load i32, ptr %2606, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2605, i32 noundef %2607, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 33274, i32 noundef 2)
          to label %2608 unwind label %1362

2608:                                             ; preds = %2603
  %2609 = load i32, ptr %40, align 4, !tbaa !9
  %2610 = sext i32 %2609 to i64
  %2611 = trunc i64 %2610 to i32
  store i32 %2611, ptr %37, align 4, !tbaa !9
  %2612 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2613 = load ptr, ptr %2612, align 8, !tbaa !19
  %2614 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2615 = load i32, ptr %2614, align 4, !tbaa !20
  %2616 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2613, i32 noundef %2615, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2616)
          to label %2617 unwind label %1362

2617:                                             ; preds = %2608
  br label %2630

2618:                                             ; preds = %2600
  %2619 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2620 = load ptr, ptr %2619, align 8, !tbaa !19
  %2621 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2622 = load i32, ptr %2621, align 4, !tbaa !20
  %2623 = load i32, ptr %42, align 4, !tbaa !9
  %2624 = sext i32 %2623 to i64
  %2625 = getelementptr inbounds [8 x i32], ptr %10, i64 0, i64 %2624
  %2626 = load i32, ptr %2625, align 4, !tbaa !9
  %2627 = mul nsw i32 8, %2626
  %2628 = add nsw i32 14786, %2627
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2620, i32 noundef %2622, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2628, i32 noundef 2)
          to label %2629 unwind label %1362

2629:                                             ; preds = %2618
  br label %2630

2630:                                             ; preds = %2629, %2617
  br label %2631

2631:                                             ; preds = %2630, %2599
  %2632 = load i32, ptr %36, align 4, !tbaa !9
  %2633 = icmp slt i32 %2632, 4
  br i1 %2633, label %2634, label %2665

2634:                                             ; preds = %2631
  %2635 = load i32, ptr %39, align 4, !tbaa !9
  %2636 = sdiv i32 %2635, 8
  %2637 = icmp eq i32 %2636, 27
  br i1 %2637, label %2638, label %2644

2638:                                             ; preds = %2634
  %2639 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2640 = load ptr, ptr %2639, align 8, !tbaa !19
  %2641 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2642 = load i32, ptr %2641, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2640, i32 noundef %2642, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1021123, i32 noundef 3)
          to label %2643 unwind label %1362

2643:                                             ; preds = %2638
  br label %2644

2644:                                             ; preds = %2643, %2634
  %2645 = load i32, ptr %39, align 4, !tbaa !9
  %2646 = sdiv i32 %2645, 8
  %2647 = icmp eq i32 %2646, 28
  br i1 %2647, label %2648, label %2654

2648:                                             ; preds = %2644
  %2649 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2650 = load ptr, ptr %2649, align 8, !tbaa !19
  %2651 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2652 = load i32, ptr %2651, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2650, i32 noundef %2652, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1020611, i32 noundef 3)
          to label %2653 unwind label %1362

2653:                                             ; preds = %2648
  br label %2654

2654:                                             ; preds = %2653, %2644
  %2655 = load i32, ptr %39, align 4, !tbaa !9
  %2656 = sdiv i32 %2655, 8
  %2657 = icmp eq i32 %2656, 29
  br i1 %2657, label %2658, label %2664

2658:                                             ; preds = %2654
  %2659 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2660 = load ptr, ptr %2659, align 8, !tbaa !19
  %2661 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2662 = load i32, ptr %2661, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2660, i32 noundef %2662, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 1021891, i32 noundef 3)
          to label %2663 unwind label %1362

2663:                                             ; preds = %2658
  br label %2664

2664:                                             ; preds = %2663, %2654
  br label %2665

2665:                                             ; preds = %2664, %2631
  br label %2682

2666:                                             ; preds = %1587, %1587
  %2667 = load i32, ptr %39, align 4, !tbaa !9
  %2668 = icmp eq i32 %2667, 255
  br i1 %2668, label %2669, label %2681

2669:                                             ; preds = %2666
  %2670 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2671 = load ptr, ptr %2670, align 8, !tbaa !19
  %2672 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2673 = load i32, ptr %2672, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2671, i32 noundef %2673, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 233, i32 noundef 1)
          to label %2674 unwind label %1362

2674:                                             ; preds = %2669
  store i32 0, ptr %37, align 4, !tbaa !9
  %2675 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2676 = load ptr, ptr %2675, align 8, !tbaa !19
  %2677 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2678 = load i32, ptr %2677, align 4, !tbaa !20
  %2679 = load i32, ptr %37, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2676, i32 noundef %2678, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2679)
          to label %2680 unwind label %1362

2680:                                             ; preds = %2674
  br label %2681

2681:                                             ; preds = %2680, %2666
  br label %2682

2682:                                             ; preds = %2681, %2665, %2590, %2549, %2496, %2443, %2383, %2330, %2253, %2196, %2143, %2090, %2059, %2016, %1955, %1837, %1783, %1671, %1587, %1587
  store i32 0, ptr %24, align 4
  br label %2683

2683:                                             ; preds = %2682, %1357
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #5
  %2684 = load i32, ptr %24, align 4
  switch i32 %2684, label %2688 [
    i32 0, label %2685
  ]

2685:                                             ; preds = %2683
  br label %2687

2686:                                             ; preds = %1718, %1554, %1486, %1362
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #5
  br label %2713

2687:                                             ; preds = %2685
  store i32 0, ptr %24, align 4
  br label %2688

2688:                                             ; preds = %2687, %2683, %1290
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  %2689 = load i32, ptr %24, align 4
  switch i32 %2689, label %2715 [
    i32 0, label %2690
    i32 21, label %2691
  ]

2690:                                             ; preds = %2688
  br label %2691

2691:                                             ; preds = %2690, %2688
  %2692 = load i32, ptr %35, align 4, !tbaa !9
  %2693 = add nsw i32 %2692, 1
  %2694 = load ptr, ptr %6, align 8, !tbaa !5
  %2695 = load i32, ptr %35, align 4, !tbaa !9
  %2696 = sext i32 %2695 to i64
  %2697 = getelementptr inbounds i8, ptr %2694, i64 %2696
  %2698 = load i8, ptr %2697, align 1, !tbaa !11
  %2699 = zext i8 %2698 to i32
  %2700 = srem i32 %2699, 8
  %2701 = icmp eq i32 %2700, 7
  %2702 = zext i1 %2701 to i32
  %2703 = add nsw i32 %2693, %2702
  %2704 = load ptr, ptr %6, align 8, !tbaa !5
  %2705 = load i32, ptr %35, align 4, !tbaa !9
  %2706 = sext i32 %2705 to i64
  %2707 = getelementptr inbounds i8, ptr %2704, i64 %2706
  %2708 = load i8, ptr %2707, align 1, !tbaa !11
  %2709 = zext i8 %2708 to i32
  %2710 = icmp eq i32 %2709, 255
  %2711 = zext i1 %2710 to i32
  %2712 = add nsw i32 %2703, %2711
  store i32 %2712, ptr %35, align 4, !tbaa !9
  br label %1216, !llvm.loop !27

2713:                                             ; preds = %2686, %1358, %1269
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #5
  br label %2714

2714:                                             ; preds = %2713, %1265
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  br label %2716

2715:                                             ; preds = %2688, %1229
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #5
  br label %2717

2716:                                             ; preds = %2714, %1230
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #5
  br label %2942

2717:                                             ; preds = %2715
  br label %2718

2718:                                             ; preds = %2717
  %2719 = load i32, ptr %34, align 4, !tbaa !9
  %2720 = add nsw i32 %2719, 1
  store i32 %2720, ptr %34, align 4, !tbaa !9
  br label %1205, !llvm.loop !28

2721:                                             ; preds = %1209
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #5
  %2722 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2722, ptr %47, align 4, !tbaa !9
  %2723 = load i32, ptr %13, align 4, !tbaa !9
  %2724 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2725 = load i32, ptr %2724, align 4, !tbaa !20
  %2726 = icmp sgt i32 %2723, %2725
  br i1 %2726, label %2727, label %2729

2727:                                             ; preds = %2721
  %2728 = load i32, ptr %47, align 4, !tbaa !9
  store i32 %2728, ptr %2, align 4
  store i32 1, ptr %24, align 4
  br label %2939

2729:                                             ; preds = %2721
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #5
  store i32 0, ptr %48, align 4, !tbaa !9
  br label %2730

2730:                                             ; preds = %2914, %2729
  %2731 = load i32, ptr %48, align 4, !tbaa !9
  %2732 = load i32, ptr %7, align 4, !tbaa !9
  %2733 = icmp slt i32 %2731, %2732
  br i1 %2733, label %2735, label %2734

2734:                                             ; preds = %2730
  store i32 27, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #5
  br label %2918

2735:                                             ; preds = %2730
  %2736 = load i32, ptr %48, align 4, !tbaa !9
  %2737 = sext i32 %2736 to i64
  %2738 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %2737)
          to label %2739 unwind label %2743

2739:                                             ; preds = %2735
  %2740 = load i32, ptr %2738, align 4, !tbaa !9
  %2741 = icmp slt i32 %2740, 16
  br i1 %2741, label %2742, label %2747

2742:                                             ; preds = %2739
  br label %2914

2743:                                             ; preds = %2735
  %2744 = landingpad { ptr, i32 }
          cleanup
  %2745 = extractvalue { ptr, i32 } %2744, 0
  store ptr %2745, ptr %15, align 8
  %2746 = extractvalue { ptr, i32 } %2744, 1
  store i32 %2746, ptr %16, align 4
  br label %2917

2747:                                             ; preds = %2739
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #5
  %2748 = load ptr, ptr %6, align 8, !tbaa !5
  %2749 = load i32, ptr %48, align 4, !tbaa !9
  %2750 = sext i32 %2749 to i64
  %2751 = getelementptr inbounds i8, ptr %2748, i64 %2750
  %2752 = load i8, ptr %2751, align 1, !tbaa !11
  %2753 = zext i8 %2752 to i32
  store i32 %2753, ptr %49, align 4, !tbaa !9
  %2754 = load i32, ptr %49, align 4, !tbaa !9
  %2755 = icmp eq i32 %2754, 39
  br i1 %2755, label %2765, label %2756

2756:                                             ; preds = %2747
  %2757 = load i32, ptr %49, align 4, !tbaa !9
  %2758 = icmp eq i32 %2757, 47
  br i1 %2758, label %2765, label %2759

2759:                                             ; preds = %2756
  %2760 = load i32, ptr %49, align 4, !tbaa !9
  %2761 = icmp eq i32 %2760, 63
  br i1 %2761, label %2765, label %2762

2762:                                             ; preds = %2759
  %2763 = load i32, ptr %49, align 4, !tbaa !9
  %2764 = icmp eq i32 %2763, 255
  br i1 %2764, label %2765, label %2913

2765:                                             ; preds = %2762, %2759, %2756, %2747
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #5
  %2766 = load ptr, ptr %6, align 8, !tbaa !5
  %2767 = load i32, ptr %48, align 4, !tbaa !9
  %2768 = add nsw i32 %2767, 1
  %2769 = sext i32 %2768 to i64
  %2770 = getelementptr inbounds i8, ptr %2766, i64 %2769
  %2771 = load i8, ptr %2770, align 1, !tbaa !11
  %2772 = zext i8 %2771 to i32
  store i32 %2772, ptr %50, align 4, !tbaa !9
  %2773 = load i32, ptr %49, align 4, !tbaa !9
  %2774 = icmp eq i32 %2773, 255
  br i1 %2774, label %2775, label %2786

2775:                                             ; preds = %2765
  %2776 = load ptr, ptr %6, align 8, !tbaa !5
  %2777 = load i32, ptr %48, align 4, !tbaa !9
  %2778 = add nsw i32 %2777, 2
  %2779 = sext i32 %2778 to i64
  %2780 = getelementptr inbounds i8, ptr %2776, i64 %2779
  %2781 = load i8, ptr %2780, align 1, !tbaa !11
  %2782 = zext i8 %2781 to i32
  %2783 = mul nsw i32 %2782, 256
  %2784 = load i32, ptr %50, align 4, !tbaa !9
  %2785 = add nsw i32 %2784, %2783
  store i32 %2785, ptr %50, align 4, !tbaa !9
  br label %2797

2786:                                             ; preds = %2765
  %2787 = load i32, ptr %50, align 4, !tbaa !9
  %2788 = icmp sge i32 %2787, 128
  br i1 %2788, label %2789, label %2792

2789:                                             ; preds = %2786
  %2790 = load i32, ptr %50, align 4, !tbaa !9
  %2791 = sub nsw i32 %2790, 256
  store i32 %2791, ptr %50, align 4, !tbaa !9
  br label %2792

2792:                                             ; preds = %2789, %2786
  %2793 = load i32, ptr %48, align 4, !tbaa !9
  %2794 = add nsw i32 %2793, 2
  %2795 = load i32, ptr %50, align 4, !tbaa !9
  %2796 = add nsw i32 %2795, %2794
  store i32 %2796, ptr %50, align 4, !tbaa !9
  br label %2797

2797:                                             ; preds = %2792, %2775
  %2798 = load i32, ptr %50, align 4, !tbaa !9
  %2799 = icmp slt i32 %2798, 0
  br i1 %2799, label %2804, label %2800

2800:                                             ; preds = %2797
  %2801 = load i32, ptr %50, align 4, !tbaa !9
  %2802 = load i32, ptr %7, align 4, !tbaa !9
  %2803 = icmp sge i32 %2801, %2802
  br i1 %2803, label %2804, label %2807

2804:                                             ; preds = %2800, %2797
  %2805 = load i32, ptr %7, align 4, !tbaa !9
  %2806 = sub nsw i32 %2805, 1
  store i32 %2806, ptr %50, align 4, !tbaa !9
  br label %2807

2807:                                             ; preds = %2804, %2800
  %2808 = load i32, ptr %48, align 4, !tbaa !9
  %2809 = sext i32 %2808 to i64
  %2810 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %2809)
          to label %2811 unwind label %2830

2811:                                             ; preds = %2807
  %2812 = load i32, ptr %2810, align 4, !tbaa !9
  store i32 %2812, ptr %13, align 4, !tbaa !9
  %2813 = load i32, ptr %49, align 4, !tbaa !9
  %2814 = icmp eq i32 %2813, 39
  br i1 %2814, label %2818, label %2815

2815:                                             ; preds = %2811
  %2816 = load i32, ptr %49, align 4, !tbaa !9
  %2817 = icmp eq i32 %2816, 47
  br i1 %2817, label %2818, label %2834

2818:                                             ; preds = %2815, %2811
  %2819 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2820 = load ptr, ptr %2819, align 8, !tbaa !19
  %2821 = load i32, ptr %13, align 4, !tbaa !9
  %2822 = sext i32 %2821 to i64
  %2823 = getelementptr inbounds i8, ptr %2820, i64 %2822
  %2824 = load i8, ptr %2823, align 1, !tbaa !11
  %2825 = zext i8 %2824 to i32
  %2826 = icmp eq i32 %2825, 132
  br i1 %2826, label %2827, label %2834

2827:                                             ; preds = %2818
  %2828 = load i32, ptr %13, align 4, !tbaa !9
  %2829 = add nsw i32 %2828, 2
  store i32 %2829, ptr %13, align 4, !tbaa !9
  br label %2834

2830:                                             ; preds = %2898, %2878, %2846, %2807
  %2831 = landingpad { ptr, i32 }
          cleanup
  %2832 = extractvalue { ptr, i32 } %2831, 0
  store ptr %2832, ptr %15, align 8
  %2833 = extractvalue { ptr, i32 } %2831, 1
  store i32 %2833, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #5
  br label %2917

2834:                                             ; preds = %2827, %2818, %2815
  %2835 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2836 = load ptr, ptr %2835, align 8, !tbaa !19
  %2837 = load i32, ptr %13, align 4, !tbaa !9
  %2838 = sext i32 %2837 to i64
  %2839 = getelementptr inbounds i8, ptr %2836, i64 %2838
  %2840 = load i8, ptr %2839, align 1, !tbaa !11
  %2841 = zext i8 %2840 to i32
  %2842 = icmp eq i32 %2841, 15
  br i1 %2842, label %2843, label %2846

2843:                                             ; preds = %2834
  %2844 = load i32, ptr %13, align 4, !tbaa !9
  %2845 = add nsw i32 %2844, 1
  store i32 %2845, ptr %13, align 4, !tbaa !9
  br label %2846

2846:                                             ; preds = %2843, %2834
  %2847 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2848 = load ptr, ptr %2847, align 8, !tbaa !19
  %2849 = load i32, ptr %13, align 4, !tbaa !9
  %2850 = add nsw i32 %2849, 1
  store i32 %2850, ptr %13, align 4, !tbaa !9
  %2851 = sext i32 %2849 to i64
  %2852 = getelementptr inbounds i8, ptr %2848, i64 %2851
  %2853 = load i8, ptr %2852, align 1, !tbaa !11
  %2854 = zext i8 %2853 to i32
  store i32 %2854, ptr %49, align 4, !tbaa !9
  %2855 = load i32, ptr %50, align 4, !tbaa !9
  %2856 = sext i32 %2855 to i64
  %2857 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %11, i64 noundef %2856)
          to label %2858 unwind label %2830

2858:                                             ; preds = %2846
  %2859 = load i32, ptr %2857, align 4, !tbaa !9
  %2860 = load i32, ptr %13, align 4, !tbaa !9
  %2861 = sub nsw i32 %2859, %2860
  store i32 %2861, ptr %50, align 4, !tbaa !9
  %2862 = load i32, ptr %49, align 4, !tbaa !9
  %2863 = icmp sge i32 %2862, 114
  br i1 %2863, label %2864, label %2867

2864:                                             ; preds = %2858
  %2865 = load i32, ptr %49, align 4, !tbaa !9
  %2866 = icmp slt i32 %2865, 120
  br i1 %2866, label %2870, label %2867

2867:                                             ; preds = %2864, %2858
  %2868 = load i32, ptr %49, align 4, !tbaa !9
  %2869 = icmp eq i32 %2868, 235
  br i1 %2869, label %2870, label %2889

2870:                                             ; preds = %2867, %2864
  %2871 = load i32, ptr %50, align 4, !tbaa !9
  %2872 = add nsw i32 %2871, -1
  store i32 %2872, ptr %50, align 4, !tbaa !9
  %2873 = load i32, ptr %50, align 4, !tbaa !9
  %2874 = icmp slt i32 %2873, -128
  br i1 %2874, label %2878, label %2875

2875:                                             ; preds = %2870
  %2876 = load i32, ptr %50, align 4, !tbaa !9
  %2877 = icmp sgt i32 %2876, 127
  br i1 %2877, label %2878, label %2880

2878:                                             ; preds = %2875, %2870
  invoke void @_ZN7libzpaq5errorEPKc(ptr noundef @.str.40)
          to label %2879 unwind label %2830

2879:                                             ; preds = %2878
  br label %2880

2880:                                             ; preds = %2879, %2875
  %2881 = load i32, ptr %50, align 4, !tbaa !9
  %2882 = and i32 %2881, 255
  %2883 = trunc i32 %2882 to i8
  %2884 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2885 = load ptr, ptr %2884, align 8, !tbaa !19
  %2886 = load i32, ptr %13, align 4, !tbaa !9
  %2887 = sext i32 %2886 to i64
  %2888 = getelementptr inbounds i8, ptr %2885, i64 %2887
  store i8 %2883, ptr %2888, align 1, !tbaa !11
  br label %2912

2889:                                             ; preds = %2867
  %2890 = load i32, ptr %49, align 4, !tbaa !9
  %2891 = icmp sge i32 %2890, 130
  br i1 %2891, label %2892, label %2895

2892:                                             ; preds = %2889
  %2893 = load i32, ptr %49, align 4, !tbaa !9
  %2894 = icmp slt i32 %2893, 136
  br i1 %2894, label %2898, label %2895

2895:                                             ; preds = %2892, %2889
  %2896 = load i32, ptr %49, align 4, !tbaa !9
  %2897 = icmp eq i32 %2896, 233
  br i1 %2897, label %2898, label %2910

2898:                                             ; preds = %2895, %2892
  %2899 = load i32, ptr %50, align 4, !tbaa !9
  %2900 = sub nsw i32 %2899, 4
  store i32 %2900, ptr %50, align 4, !tbaa !9
  %2901 = load i32, ptr %50, align 4, !tbaa !9
  %2902 = sext i32 %2901 to i64
  %2903 = trunc i64 %2902 to i32
  store i32 %2903, ptr %5, align 4, !tbaa !9
  %2904 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2905 = load ptr, ptr %2904, align 8, !tbaa !19
  %2906 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2907 = load i32, ptr %2906, align 4, !tbaa !20
  %2908 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2905, i32 noundef %2907, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2908)
          to label %2909 unwind label %2830

2909:                                             ; preds = %2898
  br label %2911

2910:                                             ; preds = %2895
  br label %2911

2911:                                             ; preds = %2910, %2909
  br label %2912

2912:                                             ; preds = %2911, %2880
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #5
  br label %2913

2913:                                             ; preds = %2912, %2762
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #5
  br label %2914

2914:                                             ; preds = %2913, %2742
  %2915 = load i32, ptr %48, align 4, !tbaa !9
  %2916 = add nsw i32 %2915, 1
  store i32 %2916, ptr %48, align 4, !tbaa !9
  br label %2730, !llvm.loop !29

2917:                                             ; preds = %2830, %2743
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #5
  br label %2941

2918:                                             ; preds = %2734
  store i32 0, ptr %13, align 4, !tbaa !9
  %2919 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2920 = load ptr, ptr %2919, align 8, !tbaa !19
  %2921 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2922 = load i32, ptr %2921, align 4, !tbaa !20
  invoke void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2920, i32 noundef %2922, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef 233, i32 noundef 1)
          to label %2923 unwind label %2935

2923:                                             ; preds = %2918
  %2924 = load i32, ptr %33, align 4, !tbaa !9
  %2925 = sub nsw i32 %2924, 5
  %2926 = sext i32 %2925 to i64
  %2927 = trunc i64 %2926 to i32
  store i32 %2927, ptr %5, align 4, !tbaa !9
  %2928 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 19
  %2929 = load ptr, ptr %2928, align 8, !tbaa !19
  %2930 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %51, i32 0, i32 18
  %2931 = load i32, ptr %2930, align 4, !tbaa !20
  %2932 = load i32, ptr %5, align 4, !tbaa !9
  invoke void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2929, i32 noundef %2931, ptr noundef nonnull align 4 dereferenceable(4) %13, i32 noundef %2932)
          to label %2933 unwind label %2935

2933:                                             ; preds = %2923
  %2934 = load i32, ptr %47, align 4, !tbaa !9
  store i32 %2934, ptr %2, align 4
  store i32 1, ptr %24, align 4
  br label %2939

2935:                                             ; preds = %2923, %2918
  %2936 = landingpad { ptr, i32 }
          cleanup
  %2937 = extractvalue { ptr, i32 } %2936, 0
  store ptr %2937, ptr %15, align 8
  %2938 = extractvalue { ptr, i32 } %2936, 1
  store i32 %2938, ptr %16, align 4
  br label %2941

2939:                                             ; preds = %2933, %2727
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #5
  call void @_ZN7libzpaq5ArrayIiED2Ev(ptr noundef nonnull align 8 dereferenceable(20) %11) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #5
  %2940 = load i32, ptr %2, align 4
  ret i32 %2940

2941:                                             ; preds = %2935, %2917
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #5
  br label %2942

2942:                                             ; preds = %2941, %2716, %1210
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #5
  br label %2943

2943:                                             ; preds = %2942, %900, %658, %513
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #5
  br label %2944

2944:                                             ; preds = %2943, %509
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #5
  call void @_ZN7libzpaq5ArrayIiED2Ev(ptr noundef nonnull align 8 dereferenceable(20) %11) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #5
  br label %2945

2945:                                             ; preds = %2944
  %2946 = load ptr, ptr %15, align 8
  %2947 = load i32, ptr %16, align 4
  %2948 = insertvalue { ptr, i32 } poison, ptr %2946, 0
  %2949 = insertvalue { ptr, i32 } %2948, i32 %2947, 1
  resume { ptr, i32 } %2949
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7libzpaq5ArrayIiEC2Emi(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef, i32 noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZN7libzpaqL3putEPhiRiji(ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) #3

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN7libzpaqL6flush1EPNS_5ZPAQLE(ptr noundef) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7libzpaq5ArrayIiED2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #3 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "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 #4 = { mustprogress uwtable "min-legal-vector-width"="0" "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 #5 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!13, !10, i64 44}
!13 = !{!"_ZTSN7libzpaq5ZPAQLE", !6, i64 0, !6, i64 8, !14, i64 16, !10, i64 40, !10, i64 44, !10, i64 48, !14, i64 56, !16, i64 80, !16, i64 104, !17, i64 128, !10, i64 152, !10, i64 156, !10, i64 160, !10, i64 164, !10, i64 168, !10, i64 172, !10, i64 176, !10, i64 180, !6, i64 184}
!14 = !{!"_ZTSN7libzpaq5ArrayIhEE", !6, i64 0, !15, i64 8, !10, i64 16}
!15 = !{!"long", !7, i64 0}
!16 = !{!"_ZTSN7libzpaq5ArrayIjEE", !6, i64 0, !15, i64 8, !10, i64 16}
!17 = !{!"_ZTSN7libzpaq5ArrayIcEE", !6, i64 0, !15, i64 8, !10, i64 16}
!18 = !{!13, !10, i64 48}
!19 = !{!13, !6, i64 184}
!20 = !{!13, !10, i64 180}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.mustprogress"}
!23 = distinct !{!23, !22}
!24 = distinct !{!24, !22}
!25 = distinct !{!25, !22}
!26 = distinct !{!26, !22}
!27 = distinct !{!27, !22}
!28 = distinct !{!28, !22}
!29 = distinct !{!29, !22}


; 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"

%"class.libzpaq::Array.6" = type <{ ptr, i64, i32, [4 x i8] }>

@__const._ZN7libzpaq5ZPAQL8assembleEv.regcode = external hidden unnamed_addr constant [8 x i32], align 16
@__const._ZN7libzpaq5ZPAQL8assembleEv.jtab = external hidden unnamed_addr constant [2 x [4 x i32]], align 16
@.str.40 = external hidden unnamed_addr constant [27 x i8], align 1

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

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

declare void @_ZN7libzpaq5errorEPKc(ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK7libzpaq5ArrayIhE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) local_unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK7libzpaq5ArrayIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK7libzpaq5ArrayIcE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN7libzpaq5ZPAQL8assembleEv(ptr noundef nonnull align 8 dereferenceable(192) %0) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.libzpaq::Array.6", align 8
  %3 = alloca i32, align 4
  %4 = getelementptr inbounds i8, ptr %0, i64 16
  %5 = getelementptr inbounds i8, ptr %0, i64 44
  %6 = load i32, ptr %5, align 4, !tbaa !5
  %7 = sext i32 %6 to i64
  %8 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %4, i64 noundef %7)
  %9 = getelementptr inbounds i8, ptr %0, i64 48
  %10 = load i32, ptr %9, align 8, !tbaa !15
  %11 = load i32, ptr %5, align 4, !tbaa !5
  %12 = sub nsw i32 %10, %11
  %13 = add nsw i32 %12, 1
  %14 = getelementptr inbounds i8, ptr %0, i64 56
  %15 = tail call noundef i64 @_ZNK7libzpaq5ArrayIhE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %14)
  %16 = trunc i64 %15 to i32
  %17 = getelementptr inbounds i8, ptr %0, i64 80
  %18 = tail call noundef i64 @_ZNK7libzpaq5ArrayIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %17)
  %19 = trunc i64 %18 to i32
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2) #5
  %20 = sext i32 %13 to i64
  call void @_ZN7libzpaq5ArrayIiEC2Emi(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %20, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #5
  store i32 5, ptr %3, align 4, !tbaa !16
  %21 = getelementptr inbounds i8, ptr %0, i64 184
  %22 = load ptr, ptr %21, align 8, !tbaa !17
  %23 = getelementptr inbounds i8, ptr %0, i64 180
  %24 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %22, i32 noundef %24, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18617, i32 noundef 2)
  %25 = getelementptr inbounds i8, ptr %0, i64 156
  %26 = ptrtoint ptr %25 to i64
  %27 = trunc i64 %26 to i32
  %28 = load ptr, ptr %21, align 8, !tbaa !17
  %29 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %28, i32 noundef %29, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %27)
  %30 = lshr i64 %26, 32
  %.sroa.0.0.extract.trunc411 = trunc nuw i64 %30 to i32
  %31 = load ptr, ptr %21, align 8, !tbaa !17
  %32 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %31, i32 noundef %32, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc411)
  %33 = load ptr, ptr %21, align 8, !tbaa !17
  %34 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %33, i32 noundef %34, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35089, i32 noundef 2)
  %35 = load ptr, ptr %21, align 8, !tbaa !17
  %36 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %35, i32 noundef %36, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18617, i32 noundef 2)
  %37 = getelementptr inbounds i8, ptr %0, i64 160
  %38 = ptrtoint ptr %37 to i64
  %39 = trunc i64 %38 to i32
  %40 = load ptr, ptr %21, align 8, !tbaa !17
  %41 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %40, i32 noundef %41, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %39)
  %42 = lshr i64 %38, 32
  %.sroa.0.0.extract.trunc421 = trunc nuw i64 %42 to i32
  %43 = load ptr, ptr %21, align 8, !tbaa !17
  %44 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %43, i32 noundef %44, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc421)
  %45 = load ptr, ptr %21, align 8, !tbaa !17
  %46 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %45, i32 noundef %46, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35121, i32 noundef 2)
  %47 = load ptr, ptr %21, align 8, !tbaa !17
  %48 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %47, i32 noundef %48, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18617, i32 noundef 2)
  %49 = getelementptr inbounds i8, ptr %0, i64 164
  %50 = ptrtoint ptr %49 to i64
  %51 = trunc i64 %50 to i32
  %52 = load ptr, ptr %21, align 8, !tbaa !17
  %53 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %52, i32 noundef %53, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %51)
  %54 = lshr i64 %50, 32
  %.sroa.0.0.extract.trunc431 = trunc nuw i64 %54 to i32
  %55 = load ptr, ptr %21, align 8, !tbaa !17
  %56 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %55, i32 noundef %56, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc431)
  %57 = load ptr, ptr %21, align 8, !tbaa !17
  %58 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %57, i32 noundef %58, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35129, i32 noundef 2)
  %59 = load ptr, ptr %21, align 8, !tbaa !17
  %60 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %59, i32 noundef %60, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18617, i32 noundef 2)
  %61 = getelementptr inbounds i8, ptr %0, i64 168
  %62 = ptrtoint ptr %61 to i64
  %63 = trunc i64 %62 to i32
  %64 = load ptr, ptr %21, align 8, !tbaa !17
  %65 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %64, i32 noundef %65, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %63)
  %66 = lshr i64 %62, 32
  %.sroa.0.0.extract.trunc441 = trunc nuw i64 %66 to i32
  %67 = load ptr, ptr %21, align 8, !tbaa !17
  %68 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %67, i32 noundef %68, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc441)
  %69 = load ptr, ptr %21, align 8, !tbaa !17
  %70 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %69, i32 noundef %70, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35113, i32 noundef 2)
  %71 = load ptr, ptr %21, align 8, !tbaa !17
  %72 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %71, i32 noundef %72, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18617, i32 noundef 2)
  %73 = getelementptr inbounds i8, ptr %0, i64 172
  %74 = ptrtoint ptr %73 to i64
  %75 = trunc i64 %74 to i32
  %76 = load ptr, ptr %21, align 8, !tbaa !17
  %77 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %76, i32 noundef %77, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %75)
  %78 = lshr i64 %74, 32
  %.sroa.0.0.extract.trunc451 = trunc nuw i64 %78 to i32
  %79 = load ptr, ptr %21, align 8, !tbaa !17
  %80 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %79, i32 noundef %80, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc451)
  %81 = load ptr, ptr %21, align 8, !tbaa !17
  %82 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %81, i32 noundef %82, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35097, i32 noundef 2)
  %83 = load ptr, ptr %21, align 8, !tbaa !17
  %84 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %83, i32 noundef %84, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216595000, i32 noundef 4)
  %85 = load ptr, ptr %21, align 8, !tbaa !17
  %86 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %85, i32 noundef %86, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16735, i32 noundef 2)
  %87 = load ptr, ptr %21, align 8, !tbaa !17
  %88 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %87, i32 noundef %88, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16734, i32 noundef 2)
  %89 = load ptr, ptr %21, align 8, !tbaa !17
  %90 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %89, i32 noundef %90, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16733, i32 noundef 2)
  %91 = load ptr, ptr %21, align 8, !tbaa !17
  %92 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %91, i32 noundef %92, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16732, i32 noundef 2)
  %93 = load ptr, ptr %21, align 8, !tbaa !17
  %94 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %93, i32 noundef %94, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 93, i32 noundef 1)
  %95 = load ptr, ptr %21, align 8, !tbaa !17
  %96 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %95, i32 noundef %96, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 91, i32 noundef 1)
  %97 = load ptr, ptr %21, align 8, !tbaa !17
  %98 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %97, i32 noundef %98, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 95, i32 noundef 1)
  %99 = load ptr, ptr %21, align 8, !tbaa !17
  %100 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %99, i32 noundef %100, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 94, i32 noundef 1)
  %101 = load ptr, ptr %21, align 8, !tbaa !17
  %102 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %101, i32 noundef %102, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 195, i32 noundef 1)
  %103 = load i32, ptr %3, align 4, !tbaa !16
  %104 = load ptr, ptr %21, align 8, !tbaa !17
  %105 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %104, i32 noundef %105, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18616, i32 noundef 2)
  %106 = getelementptr inbounds i8, ptr %0, i64 128
  %107 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %106, i64 noundef 0)
  %108 = ptrtoint ptr %107 to i64
  %109 = trunc i64 %108 to i32
  %110 = load ptr, ptr %21, align 8, !tbaa !17
  %111 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %110, i32 noundef %111, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %109)
  %112 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %106, i64 noundef 0)
  %113 = ptrtoint ptr %112 to i64
  %114 = lshr i64 %113, 32
  %.sroa.0.0.extract.trunc461 = trunc nuw i64 %114 to i32
  %115 = load ptr, ptr %21, align 8, !tbaa !17
  %116 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %115, i32 noundef %116, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc461)
  %117 = load ptr, ptr %21, align 8, !tbaa !17
  %118 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %117, i32 noundef %118, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18874, i32 noundef 2)
  %119 = getelementptr inbounds i8, ptr %0, i64 152
  %120 = ptrtoint ptr %119 to i64
  %121 = trunc i64 %120 to i32
  %122 = load ptr, ptr %21, align 8, !tbaa !17
  %123 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %122, i32 noundef %123, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %121)
  %124 = lshr i64 %120, 32
  %.sroa.0.0.extract.trunc471 = trunc nuw i64 %124 to i32
  %125 = load ptr, ptr %21, align 8, !tbaa !17
  %126 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %125, i32 noundef %126, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc471)
  %127 = load ptr, ptr %21, align 8, !tbaa !17
  %128 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %127, i32 noundef %128, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 4295434, i32 noundef 3)
  %129 = load ptr, ptr %21, align 8, !tbaa !17
  %130 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %129, i32 noundef %130, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 8983560, i32 noundef 3)
  %131 = load ptr, ptr %21, align 8, !tbaa !17
  %132 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %131, i32 noundef %132, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 65473, i32 noundef 2)
  %133 = load ptr, ptr %21, align 8, !tbaa !17
  %134 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %133, i32 noundef %134, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 4294922, i32 noundef 3)
  %135 = load ptr, ptr %21, align 8, !tbaa !17
  %136 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %135, i32 noundef %136, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33273, i32 noundef 2)
  %137 = call noundef i64 @_ZNK7libzpaq5ArrayIcE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %106)
  %138 = trunc i64 %137 to i32
  %139 = load ptr, ptr %21, align 8, !tbaa !17
  %140 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %139, i32 noundef %140, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %138)
  %141 = load ptr, ptr %21, align 8, !tbaa !17
  %142 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %141, i32 noundef %142, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 29697, i32 noundef 2)
  %143 = load ptr, ptr %21, align 8, !tbaa !17
  %144 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %143, i32 noundef %144, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 195, i32 noundef 1)
  %145 = load ptr, ptr %21, align 8, !tbaa !17
  %146 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %145, i32 noundef %146, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216605232, i32 noundef 4)
  %147 = load ptr, ptr %21, align 8, !tbaa !17
  %148 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %147, i32 noundef %148, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216953380, i32 noundef 4)
  %149 = load ptr, ptr %21, align 8, !tbaa !17
  %150 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %149, i32 noundef %150, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216967716, i32 noundef 4)
  %151 = load ptr, ptr %21, align 8, !tbaa !17
  %152 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %151, i32 noundef %152, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 8, i32 noundef 1)
  %153 = load ptr, ptr %21, align 8, !tbaa !17
  %154 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %153, i32 noundef %154, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216959524, i32 noundef 4)
  %155 = load ptr, ptr %21, align 8, !tbaa !17
  %156 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %155, i32 noundef %156, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16, i32 noundef 1)
  %157 = load ptr, ptr %21, align 8, !tbaa !17
  %158 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %157, i32 noundef %158, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216957476, i32 noundef 4)
  %159 = load ptr, ptr %21, align 8, !tbaa !17
  %160 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %159, i32 noundef %160, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 24, i32 noundef 1)
  %161 = load ptr, ptr %21, align 8, !tbaa !17
  %162 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %161, i32 noundef %162, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18623, i32 noundef 2)
  %163 = ptrtoint ptr %0 to i64
  %164 = trunc i64 %163 to i32
  %165 = load ptr, ptr %21, align 8, !tbaa !17
  %166 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %165, i32 noundef %166, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %164)
  %167 = lshr i64 %163, 32
  %.sroa.0.0.extract.trunc486 = trunc nuw i64 %167 to i32
  %168 = load ptr, ptr %21, align 8, !tbaa !17
  %169 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %168, i32 noundef %169, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc486)
  %170 = load ptr, ptr %21, align 8, !tbaa !17
  %171 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %170, i32 noundef %171, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18875, i32 noundef 2)
  %.sroa.83.0.extract.shift712 = and i32 ptrtoint (ptr @_ZN7libzpaqL6flush1EPNS_5ZPAQLE to i32), -256
  %172 = load ptr, ptr %21, align 8, !tbaa !17
  %173 = load i32, ptr %23, align 4, !tbaa !18
  %.sroa.0.0.insert.ext492 = zext i8 ptrtoint (ptr @_ZN7libzpaqL6flush1EPNS_5ZPAQLE to i8) to i32
  %.sroa.0.0.insert.insert494 = or disjoint i32 %.sroa.83.0.extract.shift712, %.sroa.0.0.insert.ext492
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %172, i32 noundef %173, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.insert.insert494)
  %174 = lshr i64 ptrtoint (ptr @_ZN7libzpaqL6flush1EPNS_5ZPAQLE to i64), 32
  %.sroa.0.0.extract.trunc495 = trunc nuw i64 %174 to i32
  %175 = load ptr, ptr %21, align 8, !tbaa !17
  %176 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %175, i32 noundef %176, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc495)
  %177 = load ptr, ptr %21, align 8, !tbaa !17
  %178 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %177, i32 noundef %178, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 4325331, i32 noundef 3)
  %179 = load ptr, ptr %21, align 8, !tbaa !17
  %180 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %179, i32 noundef %180, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1217088548, i32 noundef 4)
  %181 = load ptr, ptr %21, align 8, !tbaa !17
  %182 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %181, i32 noundef %182, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 24, i32 noundef 1)
  %183 = load ptr, ptr %21, align 8, !tbaa !17
  %184 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %183, i32 noundef %184, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1217090596, i32 noundef 4)
  %185 = load ptr, ptr %21, align 8, !tbaa !17
  %186 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %185, i32 noundef %186, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16, i32 noundef 1)
  %187 = load ptr, ptr %21, align 8, !tbaa !17
  %188 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %187, i32 noundef %188, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1217098788, i32 noundef 4)
  %189 = load ptr, ptr %21, align 8, !tbaa !17
  %190 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %189, i32 noundef %190, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 8, i32 noundef 1)
  %191 = load ptr, ptr %21, align 8, !tbaa !17
  %192 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %191, i32 noundef %192, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1217084452, i32 noundef 4)
  %193 = load ptr, ptr %21, align 8, !tbaa !17
  %194 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %193, i32 noundef %194, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216594992, i32 noundef 4)
  %195 = load ptr, ptr %21, align 8, !tbaa !17
  %196 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %195, i32 noundef %196, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 195, i32 noundef 1)
  %197 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef 0)
  store i32 2, ptr %197, align 4, !tbaa !16
  %.not1079 = icmp slt i32 %12, 0
  br i1 %.not1079, label %._crit_edge1109, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %1
  %198 = add i32 %10, 1
  %199 = sub i32 %198, %11
  %wide.trip.count = zext i32 %199 to i64
  br label %.lr.ph

._crit_edge:                                      ; preds = %264
  %200 = icmp sgt i32 %.3, 0
  br i1 %200, label %.lr.ph.backedge, label %.preheader1069

.preheader1069:                                   ; preds = %._crit_edge
  br i1 %.not1079, label %._crit_edge1109, label %.lr.ph1108

.lr.ph1108:                                       ; preds = %.preheader1069
  %201 = add i32 %10, 1
  %202 = sub i32 %201, %11
  %wide.trip.count1136 = zext i32 %202 to i64
  br label %376

.lr.ph:                                           ; preds = %.lr.ph.backedge, %.lr.ph.preheader
  %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.be, %.lr.ph.backedge ]
  %.09081085 = phi i32 [ 0, %.lr.ph.preheader ], [ %.09081085.be, %.lr.ph.backedge ]
  %203 = getelementptr inbounds i8, ptr %8, i64 %indvars.iv
  %204 = load i8, ptr %203, align 1, !tbaa !19
  %205 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %indvars.iv)
  %206 = load i32, ptr %205, align 4, !tbaa !16
  %.not1025 = icmp eq i32 %206, 0
  br i1 %.not1025, label %._crit_edge1148, label %207

._crit_edge1148:                                  ; preds = %.lr.ph
  %.pre1149 = add nuw nsw i64 %indvars.iv, 1
  br label %264

207:                                              ; preds = %.lr.ph
  %208 = zext i8 %204 to i32
  %209 = add nuw nsw i64 %indvars.iv, 1
  %210 = and i32 %208, 7
  %211 = icmp eq i32 %210, 7
  %212 = zext i1 %211 to i32
  %213 = trunc nuw i64 %209 to i32
  %214 = add nuw nsw i32 %213, %212
  %215 = call noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef %208)
  %216 = icmp eq i8 %204, 56
  %217 = icmp eq i8 %204, -1
  br i1 %217, label %.thread1041, label %226

.thread1041:                                      ; preds = %207
  %218 = getelementptr inbounds i8, ptr %8, i64 %209
  %219 = load i8, ptr %218, align 1, !tbaa !19
  %220 = zext i8 %219 to i32
  %221 = getelementptr inbounds i8, ptr %203, i64 2
  %222 = load i8, ptr %221, align 1, !tbaa !19
  %223 = zext i8 %222 to i32
  %224 = shl nuw nsw i32 %223, 8
  %225 = or disjoint i32 %224, %220
  br label %239

226:                                              ; preds = %207
  %.0916 = select i1 %216, i32 0, i32 -2147483648
  %227 = icmp eq i8 %204, 63
  switch i8 %204, label %235 [
    i8 63, label %228
    i8 47, label %228
    i8 39, label %228
  ]

228:                                              ; preds = %226, %226, %226
  %229 = getelementptr inbounds i8, ptr %8, i64 %209
  %230 = load i8, ptr %229, align 1, !tbaa !19
  %231 = sext i8 %230 to i32
  %232 = trunc i64 %indvars.iv to i32
  %233 = add i32 %232, 2
  %234 = add nsw i32 %233, %231
  br label %235

235:                                              ; preds = %226, %228
  %.2918 = phi i32 [ %234, %228 ], [ %.0916, %226 ]
  %236 = or i1 %227, %215
  %237 = or i1 %216, %236
  %spec.select1031 = select i1 %237, i32 -2147483648, i32 %214
  %238 = icmp slt i32 %.2918, 0
  br i1 %238, label %240, label %239

239:                                              ; preds = %.thread1041, %235
  %spec.select10311048 = phi i32 [ -2147483648, %.thread1041 ], [ %spec.select1031, %235 ]
  %.29181045 = phi i32 [ %225, %.thread1041 ], [ %.2918, %235 ]
  %.not1026.not = icmp sgt i32 %.29181045, %12
  br i1 %.not1026.not, label %241, label %242

240:                                              ; preds = %235
  %.old5.not = icmp eq i32 %.2918, -2147483648
  br i1 %.old5.not, label %242, label %241

241:                                              ; preds = %239, %240
  %spec.select10311047 = phi i32 [ %spec.select10311048, %239 ], [ %spec.select1031, %240 ]
  br label %242

242:                                              ; preds = %241, %240, %239
  %spec.select10311046 = phi i32 [ %spec.select10311047, %241 ], [ %spec.select1031, %240 ], [ %spec.select10311048, %239 ]
  %.3919 = phi i32 [ %12, %241 ], [ -2147483648, %240 ], [ %.29181045, %239 ]
  %.not1027 = icmp eq i32 %spec.select10311046, -2147483648
  br i1 %.not1027, label %253, label %243

243:                                              ; preds = %242
  %244 = sext i32 %spec.select10311046 to i64
  %245 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %244)
  %246 = load i32, ptr %245, align 4, !tbaa !16
  %247 = and i32 %246, 1
  %.not1028 = icmp eq i32 %247, 0
  br i1 %.not1028, label %248, label %253

248:                                              ; preds = %243
  %249 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %244)
  %250 = load i32, ptr %249, align 4, !tbaa !16
  %251 = or i32 %250, 1
  store i32 %251, ptr %249, align 4, !tbaa !16
  %252 = add nsw i32 %.09081085, 1
  br label %253

253:                                              ; preds = %248, %243, %242
  %.1909 = phi i32 [ %.09081085, %243 ], [ %252, %248 ], [ %.09081085, %242 ]
  %.not1029 = icmp eq i32 %.3919, -2147483648
  br i1 %.not1029, label %264, label %254

254:                                              ; preds = %253
  %255 = sext i32 %.3919 to i64
  %256 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %255)
  %257 = load i32, ptr %256, align 4, !tbaa !16
  %258 = and i32 %257, 2
  %.not1030 = icmp eq i32 %258, 0
  br i1 %.not1030, label %259, label %264

259:                                              ; preds = %254
  %260 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %255)
  %261 = load i32, ptr %260, align 4, !tbaa !16
  %262 = or i32 %261, 2
  store i32 %262, ptr %260, align 4, !tbaa !16
  %263 = add nsw i32 %.1909, 1
  br label %264

264:                                              ; preds = %._crit_edge1148, %253, %254, %259
  %indvars.iv.next.pre-phi = phi i64 [ %.pre1149, %._crit_edge1148 ], [ %209, %253 ], [ %209, %254 ], [ %209, %259 ]
  %.3 = phi i32 [ %.09081085, %._crit_edge1148 ], [ %.1909, %253 ], [ %.1909, %254 ], [ %263, %259 ]
  %exitcond.not = icmp eq i64 %indvars.iv.next.pre-phi, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph.backedge

.lr.ph.backedge:                                  ; preds = %264, %._crit_edge
  %indvars.iv.be = phi i64 [ %indvars.iv.next.pre-phi, %264 ], [ 0, %._crit_edge ]
  %.09081085.be = phi i32 [ %.3, %264 ], [ 0, %._crit_edge ]
  br label %.lr.ph, !llvm.loop !20

._crit_edge1109:                                  ; preds = %480, %1, %.preheader1069
  %265 = load i32, ptr %3, align 4, !tbaa !16
  %266 = load ptr, ptr %21, align 8, !tbaa !17
  %267 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %266, i32 noundef %267, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 86, i32 noundef 1)
  %268 = load ptr, ptr %21, align 8, !tbaa !17
  %269 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %268, i32 noundef %269, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 87, i32 noundef 1)
  %270 = load ptr, ptr %21, align 8, !tbaa !17
  %271 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %270, i32 noundef %271, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 83, i32 noundef 1)
  %272 = load ptr, ptr %21, align 8, !tbaa !17
  %273 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %272, i32 noundef %273, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 85, i32 noundef 1)
  %274 = load ptr, ptr %21, align 8, !tbaa !17
  %275 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %274, i32 noundef %275, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16724, i32 noundef 2)
  %276 = load ptr, ptr %21, align 8, !tbaa !17
  %277 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %276, i32 noundef %277, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16725, i32 noundef 2)
  %278 = load ptr, ptr %21, align 8, !tbaa !17
  %279 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %278, i32 noundef %279, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16726, i32 noundef 2)
  %280 = load ptr, ptr %21, align 8, !tbaa !17
  %281 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %280, i32 noundef %281, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 16727, i32 noundef 2)
  %282 = load ptr, ptr %21, align 8, !tbaa !17
  %283 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %282, i32 noundef %283, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1216605240, i32 noundef 4)
  %284 = load ptr, ptr %21, align 8, !tbaa !17
  %285 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %284, i32 noundef %285, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18616, i32 noundef 2)
  %286 = load ptr, ptr %21, align 8, !tbaa !17
  %287 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %286, i32 noundef %287, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %27)
  %288 = load ptr, ptr %21, align 8, !tbaa !17
  %289 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %288, i32 noundef %289, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc411)
  %290 = load ptr, ptr %21, align 8, !tbaa !17
  %291 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %290, i32 noundef %291, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35600, i32 noundef 2)
  %292 = load ptr, ptr %21, align 8, !tbaa !17
  %293 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %292, i32 noundef %293, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18616, i32 noundef 2)
  %294 = load ptr, ptr %21, align 8, !tbaa !17
  %295 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %294, i32 noundef %295, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %39)
  %296 = load ptr, ptr %21, align 8, !tbaa !17
  %297 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %296, i32 noundef %297, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc421)
  %298 = load ptr, ptr %21, align 8, !tbaa !17
  %299 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %298, i32 noundef %299, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35632, i32 noundef 2)
  %300 = load ptr, ptr %21, align 8, !tbaa !17
  %301 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %300, i32 noundef %301, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18616, i32 noundef 2)
  %302 = load ptr, ptr %21, align 8, !tbaa !17
  %303 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %302, i32 noundef %303, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %51)
  %304 = load ptr, ptr %21, align 8, !tbaa !17
  %305 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %304, i32 noundef %305, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc431)
  %306 = load ptr, ptr %21, align 8, !tbaa !17
  %307 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %306, i32 noundef %307, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35640, i32 noundef 2)
  %308 = load ptr, ptr %21, align 8, !tbaa !17
  %309 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %308, i32 noundef %309, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18616, i32 noundef 2)
  %310 = load ptr, ptr %21, align 8, !tbaa !17
  %311 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %310, i32 noundef %311, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %63)
  %312 = load ptr, ptr %21, align 8, !tbaa !17
  %313 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %312, i32 noundef %313, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc441)
  %314 = load ptr, ptr %21, align 8, !tbaa !17
  %315 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %314, i32 noundef %315, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35624, i32 noundef 2)
  %316 = load ptr, ptr %21, align 8, !tbaa !17
  %317 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %316, i32 noundef %317, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18616, i32 noundef 2)
  %318 = load ptr, ptr %21, align 8, !tbaa !17
  %319 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %318, i32 noundef %319, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %75)
  %320 = load ptr, ptr %21, align 8, !tbaa !17
  %321 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %320, i32 noundef %321, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc451)
  %322 = load ptr, ptr %21, align 8, !tbaa !17
  %323 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %322, i32 noundef %323, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35608, i32 noundef 2)
  %324 = load ptr, ptr %21, align 8, !tbaa !17
  %325 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %324, i32 noundef %325, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18876, i32 noundef 2)
  %326 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %17, i64 noundef 0)
  %327 = ptrtoint ptr %326 to i64
  %328 = trunc i64 %327 to i32
  %329 = load ptr, ptr %21, align 8, !tbaa !17
  %330 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %329, i32 noundef %330, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %328)
  %331 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %17, i64 noundef 0)
  %332 = ptrtoint ptr %331 to i64
  %333 = lshr i64 %332, 32
  %.sroa.0.0.extract.trunc555 = trunc nuw i64 %333 to i32
  %334 = load ptr, ptr %21, align 8, !tbaa !17
  %335 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %334, i32 noundef %335, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc555)
  %336 = load ptr, ptr %21, align 8, !tbaa !17
  %337 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %336, i32 noundef %337, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18877, i32 noundef 2)
  %338 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %106, i64 noundef 0)
  %339 = ptrtoint ptr %338 to i64
  %340 = trunc i64 %339 to i32
  %341 = load ptr, ptr %21, align 8, !tbaa !17
  %342 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %341, i32 noundef %342, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %340)
  %343 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIcEixEm(ptr noundef nonnull align 8 dereferenceable(20) %106, i64 noundef 0)
  %344 = ptrtoint ptr %343 to i64
  %345 = lshr i64 %344, 32
  %.sroa.0.0.extract.trunc565 = trunc nuw i64 %345 to i32
  %346 = load ptr, ptr %21, align 8, !tbaa !17
  %347 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %346, i32 noundef %347, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc565)
  %348 = load ptr, ptr %21, align 8, !tbaa !17
  %349 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %348, i32 noundef %349, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18878, i32 noundef 2)
  %350 = getelementptr inbounds i8, ptr %0, i64 104
  %351 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %350, i64 noundef 0)
  %352 = ptrtoint ptr %351 to i64
  %353 = trunc i64 %352 to i32
  %354 = load ptr, ptr %21, align 8, !tbaa !17
  %355 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %354, i32 noundef %355, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %353)
  %356 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIjEixEm(ptr noundef nonnull align 8 dereferenceable(20) %350, i64 noundef 0)
  %357 = ptrtoint ptr %356 to i64
  %358 = lshr i64 %357, 32
  %.sroa.0.0.extract.trunc575 = trunc nuw i64 %358 to i32
  %359 = load ptr, ptr %21, align 8, !tbaa !17
  %360 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %359, i32 noundef %360, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc575)
  %361 = load ptr, ptr %21, align 8, !tbaa !17
  %362 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %361, i32 noundef %362, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 18879, i32 noundef 2)
  %363 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %14, i64 noundef 0)
  %364 = ptrtoint ptr %363 to i64
  %365 = trunc i64 %364 to i32
  %366 = load ptr, ptr %21, align 8, !tbaa !17
  %367 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %366, i32 noundef %367, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %365)
  %368 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %14, i64 noundef 0)
  %369 = ptrtoint ptr %368 to i64
  %370 = lshr i64 %369, 32
  %.sroa.0.0.extract.trunc585 = trunc nuw i64 %370 to i32
  %371 = load ptr, ptr %21, align 8, !tbaa !17
  %372 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %371, i32 noundef %372, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %.sroa.0.0.extract.trunc585)
  br i1 %.not1079, label %._crit_edge1117.thread, label %.preheader1068.lr.ph

.preheader1068.lr.ph:                             ; preds = %._crit_edge1109
  %373 = add i32 %103, -4
  %374 = add i32 %10, 1
  %375 = sub i32 %374, %11
  br label %.preheader1068

376:                                              ; preds = %.lr.ph1108, %480
  %indvars.iv1133 = phi i64 [ 0, %.lr.ph1108 ], [ %indvars.iv.next1134, %480 ]
  %377 = getelementptr inbounds i8, ptr %8, i64 %indvars.iv1133
  %378 = load i8, ptr %377, align 1, !tbaa !19
  %379 = zext i8 %378 to i32
  %indvars.iv.next1134 = add nuw nsw i64 %indvars.iv1133, 1
  %380 = and i32 %379, 7
  %381 = icmp eq i32 %380, 7
  %382 = zext i1 %381 to i32
  %383 = trunc nuw nsw i64 %indvars.iv.next1134 to i32
  %384 = add nuw nsw i32 %383, %382
  %385 = zext nneg i32 %384 to i64
  %386 = getelementptr inbounds i8, ptr %8, i64 %385
  %387 = load i8, ptr %386, align 1, !tbaa !19
  %388 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %indvars.iv1133)
  %389 = load i32, ptr %388, align 4, !tbaa !16
  %390 = icmp ne i32 %389, 0
  %391 = add i8 %378, 40
  %392 = icmp ult i8 %391, 24
  %or.cond12 = and i1 %392, %390
  %393 = and i8 %387, -9
  %or.cond15 = icmp eq i8 %393, 39
  %or.cond = select i1 %or.cond12, i1 %or.cond15, i1 false
  br i1 %or.cond, label %394, label %480

394:                                              ; preds = %376
  %395 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %385)
  %396 = load i32, ptr %395, align 4, !tbaa !16
  %397 = icmp eq i32 %396, 1
  br i1 %397, label %398, label %480

398:                                              ; preds = %394
  br i1 %381, label %399, label %403

399:                                              ; preds = %398
  %400 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %indvars.iv.next1134)
  %401 = load i32, ptr %400, align 4, !tbaa !16
  %402 = icmp eq i32 %401, 0
  br i1 %402, label %403, label %480

403:                                              ; preds = %399, %398
  %404 = add nsw i32 %379, -208
  %405 = lshr i32 %404, 1
  %406 = and i32 %405, 2147483644
  %407 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %385)
  %408 = load i32, ptr %407, align 4, !tbaa !16
  %409 = add nsw i32 %408, %406
  store i32 %409, ptr %407, align 4, !tbaa !16
  %.not = icmp eq i32 %406, 0
  br i1 %.not, label %._crit_edge1103, label %.lr.ph1102.split.us.preheader

.lr.ph1102.split.us.preheader:                    ; preds = %403
  %410 = add nuw nsw i32 %384, 2
  %411 = getelementptr inbounds i8, ptr %386, i64 1
  br label %.lr.ph1090.us

.lr.ph1090.us:                                    ; preds = %.lr.ph1102.split.us.preheader, %440
  %.19331087.us = phi i32 [ %.3935.ph.us, %440 ], [ %410, %.lr.ph1102.split.us.preheader ]
  %.09361086.us = phi i32 [ %441, %440 ], [ 0, %.lr.ph1102.split.us.preheader ]
  %412 = icmp slt i32 %.19331087.us, 0
  %.not1024.not.us = icmp sgt i32 %.19331087.us, %12
  %or.cond1032.us = select i1 %412, i1 true, i1 %.not1024.not.us
  br i1 %or.cond1032.us, label %._crit_edge1091.us, label %413

413:                                              ; preds = %.lr.ph1090.us
  %414 = zext nneg i32 %.19331087.us to i64
  %415 = getelementptr inbounds i8, ptr %8, i64 %414
  %416 = load i8, ptr %415, align 1, !tbaa !19
  %417 = zext i8 %416 to i32
  %418 = and i8 %416, -9
  %or.cond18.us = icmp eq i8 %418, 39
  br i1 %or.cond18.us, label %._crit_edge1103, label %419

419:                                              ; preds = %413
  %420 = add i8 %416, 40
  %or.cond21.us = icmp ult i8 %420, 24
  br i1 %or.cond21.us, label %._crit_edge1091.us, label %421

421:                                              ; preds = %419
  %422 = call noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef %417)
  br i1 %422, label %._crit_edge1091.us, label %423

423:                                              ; preds = %421
  switch i8 %416, label %434 [
    i8 -1, label %430
    i8 63, label %424
    i8 56, label %440
  ]

424:                                              ; preds = %423
  %425 = add nuw nsw i32 %.19331087.us, 2
  %426 = getelementptr inbounds i8, ptr %415, i64 1
  %427 = load i8, ptr %426, align 1, !tbaa !19
  %428 = sext i8 %427 to i32
  %429 = add nsw i32 %425, %428
  br label %440

430:                                              ; preds = %423
  %431 = getelementptr inbounds i8, ptr %415, i64 1
  %432 = load i16, ptr %431, align 1
  %433 = zext i16 %432 to i32
  br label %440

434:                                              ; preds = %423
  %435 = add nuw nsw i32 %.19331087.us, 1
  %436 = and i32 %417, 7
  %437 = icmp eq i32 %436, 7
  %438 = zext i1 %437 to i32
  %439 = add nuw nsw i32 %435, %438
  br label %440

440:                                              ; preds = %434, %430, %424, %423
  %.3935.ph.us = phi i32 [ 0, %423 ], [ %439, %434 ], [ %429, %424 ], [ %433, %430 ]
  %441 = add nuw nsw i32 %.09361086.us, 1
  %442 = icmp slt i32 %.09361086.us, %12
  br i1 %442, label %.lr.ph1090.us, label %._crit_edge1091.us, !llvm.loop !22

._crit_edge1091.us:                               ; preds = %419, %421, %.lr.ph1090.us, %440
  %443 = load i8, ptr %411, align 1, !tbaa !19
  %444 = sext i8 %443 to i32
  %445 = add nsw i32 %410, %444
  br label %.lr.ph1090.us.1

.lr.ph1090.us.1:                                  ; preds = %474, %._crit_edge1091.us
  %.19331087.us.1 = phi i32 [ %.3935.ph.us.1, %474 ], [ %445, %._crit_edge1091.us ]
  %.09361086.us.1 = phi i32 [ %475, %474 ], [ 0, %._crit_edge1091.us ]
  %446 = icmp slt i32 %.19331087.us.1, 0
  %.not1024.not.us.1 = icmp sgt i32 %.19331087.us.1, %12
  %or.cond1032.us.1 = select i1 %446, i1 true, i1 %.not1024.not.us.1
  br i1 %or.cond1032.us.1, label %._crit_edge1103, label %447

447:                                              ; preds = %.lr.ph1090.us.1
  %448 = zext nneg i32 %.19331087.us.1 to i64
  %449 = getelementptr inbounds i8, ptr %8, i64 %448
  %450 = load i8, ptr %449, align 1, !tbaa !19
  %451 = zext i8 %450 to i32
  %452 = and i8 %450, -9
  %or.cond18.us.1 = icmp eq i8 %452, 39
  br i1 %or.cond18.us.1, label %._crit_edge1103, label %453

453:                                              ; preds = %447
  %454 = add i8 %450, 40
  %or.cond21.us.1 = icmp ult i8 %454, 24
  br i1 %or.cond21.us.1, label %._crit_edge1103, label %455

455:                                              ; preds = %453
  %456 = call noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef %451)
  br i1 %456, label %._crit_edge1103, label %457

457:                                              ; preds = %455
  switch i8 %450, label %468 [
    i8 -1, label %464
    i8 63, label %458
    i8 56, label %474
  ]

458:                                              ; preds = %457
  %459 = add nuw nsw i32 %.19331087.us.1, 2
  %460 = getelementptr inbounds i8, ptr %449, i64 1
  %461 = load i8, ptr %460, align 1, !tbaa !19
  %462 = sext i8 %461 to i32
  %463 = add nsw i32 %459, %462
  br label %474

464:                                              ; preds = %457
  %465 = getelementptr inbounds i8, ptr %449, i64 1
  %466 = load i16, ptr %465, align 1
  %467 = zext i16 %466 to i32
  br label %474

468:                                              ; preds = %457
  %469 = add nuw nsw i32 %.19331087.us.1, 1
  %470 = and i32 %451, 7
  %471 = icmp eq i32 %470, 7
  %472 = zext i1 %471 to i32
  %473 = add nuw nsw i32 %469, %472
  br label %474

474:                                              ; preds = %468, %464, %458, %457
  %.3935.ph.us.1 = phi i32 [ 0, %457 ], [ %473, %468 ], [ %463, %458 ], [ %467, %464 ]
  %475 = add nuw nsw i32 %.09361086.us.1, 1
  %476 = icmp slt i32 %.09361086.us.1, %12
  br i1 %476, label %.lr.ph1090.us.1, label %._crit_edge1103, !llvm.loop !22

._crit_edge1103:                                  ; preds = %413, %447, %.lr.ph1090.us.1, %453, %455, %474, %403
  %.0924.lcssa = phi i32 [ 0, %403 ], [ %406, %474 ], [ %406, %455 ], [ %406, %453 ], [ %406, %.lr.ph1090.us.1 ], [ 0, %447 ], [ 0, %413 ]
  %477 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %indvars.iv1133)
  %478 = load i32, ptr %477, align 4, !tbaa !16
  %479 = add nsw i32 %478, %.0924.lcssa
  store i32 %479, ptr %477, align 4, !tbaa !16
  br label %480

480:                                              ; preds = %._crit_edge1103, %399, %394, %376
  %exitcond1137.not = icmp eq i64 %indvars.iv.next1134, %wide.trip.count1136
  br i1 %exitcond1137.not, label %._crit_edge1109, label %376, !llvm.loop !23

.preheader1068:                                   ; preds = %.preheader1068.lr.ph, %.critedge
  %.09301114 = phi i32 [ 0, %.preheader1068.lr.ph ], [ %1106, %.critedge ]
  br label %489

._crit_edge1117:                                  ; preds = %.critedge
  %481 = load i32, ptr %3, align 4, !tbaa !16
  %482 = load i32, ptr %23, align 4, !tbaa !18
  %483 = icmp sgt i32 %481, %482
  br i1 %483, label %1184, label %.preheader

._crit_edge1117.thread:                           ; preds = %._crit_edge1109
  %484 = load i32, ptr %3, align 4, !tbaa !16
  %485 = load i32, ptr %23, align 4, !tbaa !18
  %486 = icmp sgt i32 %484, %485
  br i1 %486, label %1184, label %._crit_edge1121

.preheader:                                       ; preds = %._crit_edge1117
  br i1 %.not1079, label %._crit_edge1121, label %.lr.ph1120.preheader

.lr.ph1120.preheader:                             ; preds = %.preheader
  %487 = add i32 %10, 1
  %488 = sub i32 %487, %11
  %wide.trip.count1142 = zext i32 %488 to i64
  br label %.lr.ph1120

489:                                              ; preds = %.preheader1068, %1096
  %.09291110 = phi i32 [ %.09301114, %.preheader1068 ], [ %1105, %1096 ]
  %490 = sext i32 %.09291110 to i64
  %491 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %490)
  %492 = load i32, ptr %491, align 4, !tbaa !16
  %.not1012 = icmp eq i32 %492, 0
  br i1 %.not1012, label %.critedge, label %493

493:                                              ; preds = %489
  %494 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %490)
  %495 = load i32, ptr %494, align 4, !tbaa !16
  %496 = icmp sgt i32 %495, 15
  br i1 %496, label %497, label %513

497:                                              ; preds = %493
  %498 = icmp sgt i32 %.09291110, %.09301114
  br i1 %498, label %499, label %.critedge

499:                                              ; preds = %497
  %500 = load i32, ptr %3, align 4, !tbaa !16
  %501 = sub nsw i32 %495, %500
  %502 = add i32 %501, 119
  %or.cond24 = icmp ult i32 %502, 239
  %503 = load ptr, ptr %21, align 8, !tbaa !17
  %504 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %or.cond24, label %505, label %509

505:                                              ; preds = %499
  %506 = add nsw i32 %501, 254
  %507 = and i32 %506, 255
  %508 = or disjoint i32 %507, 60160
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %503, i32 noundef %504, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %508, i32 noundef 2)
  br label %.critedge

509:                                              ; preds = %499
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %503, i32 noundef %504, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 233, i32 noundef 1)
  %510 = add nsw i32 %501, -5
  %511 = load ptr, ptr %21, align 8, !tbaa !17
  %512 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %511, i32 noundef %512, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %510)
  br label %.critedge

513:                                              ; preds = %493
  %514 = load i32, ptr %3, align 4, !tbaa !16
  %515 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %490)
  store i32 %514, ptr %515, align 4, !tbaa !16
  %516 = getelementptr inbounds i8, ptr %8, i64 %490
  %517 = load i8, ptr %516, align 1, !tbaa !19
  %.fr1122 = freeze i8 %517
  %518 = zext i8 %.fr1122 to i32
  %519 = getelementptr i8, ptr %516, i64 1
  %520 = load i8, ptr %519, align 1, !tbaa !19
  %521 = zext i8 %520 to i32
  %522 = icmp eq i8 %.fr1122, -1
  br i1 %522, label %523, label %528

523:                                              ; preds = %513
  %524 = getelementptr i8, ptr %516, i64 2
  %525 = load i8, ptr %524, align 1, !tbaa !19
  %526 = zext i8 %525 to i32
  %527 = shl nuw nsw i32 %526, 8
  br label %528

528:                                              ; preds = %513, %523
  %529 = phi i32 [ %527, %523 ], [ 0, %513 ]
  %530 = or disjoint i32 %529, %521
  %531 = lshr i32 %518, 3
  %532 = and i32 %531, 7
  %533 = and i32 %518, 7
  %534 = call noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef %518)
  br i1 %534, label %535, label %544

535:                                              ; preds = %528
  %536 = load ptr, ptr %21, align 8, !tbaa !17
  %537 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %536, i32 noundef %537, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 12736, i32 noundef 2)
  %538 = load ptr, ptr %21, align 8, !tbaa !17
  %539 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %538, i32 noundef %539, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 233, i32 noundef 1)
  %540 = load i32, ptr %3, align 4, !tbaa !16
  %541 = sub i32 1, %540
  %542 = load ptr, ptr %21, align 8, !tbaa !17
  %543 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %542, i32 noundef %543, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %541)
  br label %1096

544:                                              ; preds = %528
  %545 = icmp eq i8 %.fr1122, 59
  br i1 %545, label %548, label %546

546:                                              ; preds = %544
  %547 = add i8 %.fr1122, 16
  %or.cond27 = icmp ult i8 %547, 80
  br i1 %or.cond27, label %593, label %switch.early.test

switch.early.test:                                ; preds = %546
  switch i32 %533, label %548 [
    i32 7, label %.thread1056
    i32 3, label %.thread1056
    i32 2, label %.thread1056
    i32 1, label %.thread1056
    i32 0, label %.thread1056
  ]

548:                                              ; preds = %switch.early.test, %544
  %549 = load ptr, ptr %21, align 8, !tbaa !17
  %550 = load i32, ptr %23, align 4, !tbaa !18
  %551 = add nsw i32 %533, -3
  %552 = zext i1 %545 to i32
  %553 = add nsw i32 %551, %552
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %554
  %556 = load i32, ptr %555, align 4, !tbaa !16
  %557 = shl nsw i32 %556, 3
  %558 = add nsw i32 %557, 35264
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %549, i32 noundef %550, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %558, i32 noundef 2)
  %559 = icmp eq i32 %533, 6
  %560 = select i1 %559, i32 %19, i32 %16
  %561 = icmp sgt i32 %560, 128
  br i1 %561, label %562, label %568

562:                                              ; preds = %548
  %563 = add nsw i32 %560, -1
  %564 = load ptr, ptr %21, align 8, !tbaa !17
  %565 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %564, i32 noundef %565, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 37, i32 noundef 1)
  %566 = load ptr, ptr %21, align 8, !tbaa !17
  %567 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %566, i32 noundef %567, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %563)
  br label %572

568:                                              ; preds = %548
  %569 = load ptr, ptr %21, align 8, !tbaa !17
  %570 = load i32, ptr %23, align 4, !tbaa !18
  %571 = add nsw i32 %560, 8642559
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %569, i32 noundef %570, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %571, i32 noundef 3)
  br label %572

572:                                              ; preds = %568, %562
  %573 = icmp ult i32 %533, 6
  br i1 %573, label %574, label %587

574:                                              ; preds = %572
  %575 = add i8 %.fr1122, -64
  %576 = icmp ult i8 %575, 48
  %577 = load ptr, ptr %21, align 8, !tbaa !17
  %578 = load i32, ptr %23, align 4, !tbaa !18
  %579 = select i1 %576, i32 8, i32 0
  %580 = zext nneg i32 %532 to i64
  %581 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %580
  %582 = load i32, ptr %581, align 4, !tbaa !16
  %583 = mul nsw i32 %582, %579
  %584 = add nsw i32 %583, 1091548676
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %577, i32 noundef %578, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %584, i32 noundef 4)
  %585 = load ptr, ptr %21, align 8, !tbaa !17
  %586 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %585, i32 noundef %586, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 7, i32 noundef 1)
  br label %.thread1056

587:                                              ; preds = %572
  %588 = lshr i32 106459136, %531
  %589 = and i32 %588, 1
  %.not1014 = icmp eq i32 %589, 0
  br i1 %.not1014, label %.thread1056, label %590

590:                                              ; preds = %587
  %591 = load ptr, ptr %21, align 8, !tbaa !17
  %592 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %591, i32 noundef %592, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1099629700, i32 noundef 4)
  br label %.thread1056

593:                                              ; preds = %546
  %594 = add nsw i8 %.fr1122, -32
  %or.cond30 = icmp ult i8 %594, 24
  %595 = icmp ult i32 %533, 5
  %or.cond1035 = and i1 %or.cond30, %595
  br i1 %or.cond1035, label %598, label %.thread1056

.thread1056:                                      ; preds = %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %switch.early.test, %587, %590, %574, %593
  %596 = add i8 %.fr1122, -96
  %or.cond33 = icmp ult i8 %596, 24
  %597 = icmp eq i8 %.fr1122, 60
  %or.cond36 = or i1 %597, %or.cond33
  br i1 %or.cond36, label %598, label %624

598:                                              ; preds = %593, %.thread1056
  %599 = load ptr, ptr %21, align 8, !tbaa !17
  %600 = load i32, ptr %23, align 4, !tbaa !18
  %601 = icmp eq i8 %.fr1122, 60
  %602 = select i1 %601, i32 -4, i32 -3
  %603 = add nsw i32 %602, %532
  %604 = sext i32 %603 to i64
  %605 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %604
  %606 = load i32, ptr %605, align 4, !tbaa !16
  %607 = shl nsw i32 %606, 3
  %608 = add nsw i32 %607, 35265
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %599, i32 noundef %600, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %608, i32 noundef 2)
  %609 = icmp eq i32 %532, 6
  %or.cond39 = or i1 %601, %609
  %610 = select i1 %or.cond39, i32 %19, i32 %16
  %611 = icmp sgt i32 %610, 128
  br i1 %611, label %612, label %618

612:                                              ; preds = %598
  %613 = add nsw i32 %610, -1
  %614 = load ptr, ptr %21, align 8, !tbaa !17
  %615 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %614, i32 noundef %615, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33249, i32 noundef 2)
  %616 = load ptr, ptr %21, align 8, !tbaa !17
  %617 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %616, i32 noundef %617, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %613)
  br label %.sink.split

618:                                              ; preds = %598
  %619 = load ptr, ptr %21, align 8, !tbaa !17
  %620 = load i32, ptr %23, align 4, !tbaa !18
  %621 = add nsw i32 %610, 8642815
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %619, i32 noundef %620, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %621, i32 noundef 3)
  br label %.sink.split

.sink.split:                                      ; preds = %618, %612
  %622 = load ptr, ptr %21, align 8, !tbaa !17
  %623 = load i32, ptr %23, align 4, !tbaa !18
  %. = select i1 %or.cond39, i32 1233980556, i32 1233980431
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %622, i32 noundef %623, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %., i32 noundef 4)
  br label %624

624:                                              ; preds = %.sink.split, %.thread1056
  switch i32 %531, label %default.unreachable1150 [
    i32 0, label %625
    i32 1, label %625
    i32 2, label %625
    i32 3, label %625
    i32 4, label %673
    i32 5, label %673
    i32 6, label %731
    i32 7, label %755
    i32 8, label %801
    i32 9, label %801
    i32 10, label %801
    i32 11, label %801
    i32 12, label %833
    i32 13, label %833
    i32 14, label %854
    i32 31, label %1090
    i32 16, label %866
    i32 17, label %887
    i32 18, label %908
    i32 19, label %930
    i32 20, label %930
    i32 21, label %961
    i32 22, label %982
    i32 23, label %1009
    i32 24, label %1030
    i32 25, label %1051
    i32 26, label %1051
    i32 27, label %1069
    i32 28, label %1069
    i32 29, label %1069
    i32 30, label %1090
    i32 15, label %1096
  ]

625:                                              ; preds = %624, %624, %624, %624
  switch i32 %533, label %1096 [
    i32 0, label %626
    i32 1, label %633
    i32 2, label %640
    i32 3, label %647
    i32 4, label %654
    i32 7, label %662
  ]

626:                                              ; preds = %625
  %627 = load ptr, ptr %21, align 8, !tbaa !17
  %628 = load i32, ptr %23, align 4, !tbaa !18
  %629 = zext nneg i32 %532 to i64
  %630 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %629
  %631 = load i32, ptr %630, align 4, !tbaa !16
  %632 = add nsw i32 %631, 34768
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %627, i32 noundef %628, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %632, i32 noundef 2)
  br label %1096

633:                                              ; preds = %625
  %634 = load ptr, ptr %21, align 8, !tbaa !17
  %635 = load i32, ptr %23, align 4, !tbaa !18
  %636 = zext nneg i32 %532 to i64
  %637 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %636
  %638 = load i32, ptr %637, align 4, !tbaa !16
  %639 = add nsw i32 %638, 65472
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %634, i32 noundef %635, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %639, i32 noundef 2)
  br label %1096

640:                                              ; preds = %625
  %641 = load ptr, ptr %21, align 8, !tbaa !17
  %642 = load i32, ptr %23, align 4, !tbaa !18
  %643 = zext nneg i32 %532 to i64
  %644 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %643
  %645 = load i32, ptr %644, align 4, !tbaa !16
  %646 = add nsw i32 %645, 65480
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %641, i32 noundef %642, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %646, i32 noundef 2)
  br label %1096

647:                                              ; preds = %625
  %648 = load ptr, ptr %21, align 8, !tbaa !17
  %649 = load i32, ptr %23, align 4, !tbaa !18
  %650 = zext nneg i32 %532 to i64
  %651 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %650
  %652 = load i32, ptr %651, align 4, !tbaa !16
  %653 = add nsw i32 %652, 63440
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %648, i32 noundef %649, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %653, i32 noundef 2)
  br label %1096

654:                                              ; preds = %625
  %655 = load ptr, ptr %21, align 8, !tbaa !17
  %656 = load i32, ptr %23, align 4, !tbaa !18
  %657 = zext nneg i32 %532 to i64
  %658 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %657
  %659 = load i32, ptr %658, align 4, !tbaa !16
  %660 = mul nsw i32 %659, 9
  %661 = add nsw i32 %660, 12736
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %655, i32 noundef %656, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %661, i32 noundef 2)
  br label %1096

662:                                              ; preds = %625
  %663 = load ptr, ptr %21, align 8, !tbaa !17
  %664 = load i32, ptr %23, align 4, !tbaa !18
  %665 = zext nneg i32 %532 to i64
  %666 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %665
  %667 = load i32, ptr %666, align 4, !tbaa !16
  %668 = shl nsw i32 %667, 3
  %669 = add nsw i32 %668, 4295558
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %663, i32 noundef %664, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %669, i32 noundef 3)
  %670 = shl nuw nsw i32 %530, 2
  %671 = load ptr, ptr %21, align 8, !tbaa !17
  %672 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %671, i32 noundef %672, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %670)
  br label %1096

673:                                              ; preds = %624, %624
  switch i32 %533, label %1096 [
    i32 0, label %674
    i32 1, label %677
    i32 2, label %680
    i32 3, label %683
    i32 4, label %686
    i32 7, label %691
  ]

674:                                              ; preds = %673
  %675 = load ptr, ptr %21, align 8, !tbaa !17
  %676 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %675, i32 noundef %676, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 34321, i32 noundef 2)
  br label %1096

677:                                              ; preds = %673
  %678 = load ptr, ptr %21, align 8, !tbaa !17
  %679 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %678, i32 noundef %679, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 65025, i32 noundef 2)
  br label %1096

680:                                              ; preds = %673
  %681 = load ptr, ptr %21, align 8, !tbaa !17
  %682 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %681, i32 noundef %682, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 65033, i32 noundef 2)
  br label %1096

683:                                              ; preds = %673
  %684 = load ptr, ptr %21, align 8, !tbaa !17
  %685 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %684, i32 noundef %685, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 62993, i32 noundef 2)
  br label %1096

686:                                              ; preds = %673
  %687 = load ptr, ptr %21, align 8, !tbaa !17
  %688 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %687, i32 noundef %688, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 12736, i32 noundef 2)
  %689 = load ptr, ptr %21, align 8, !tbaa !17
  %690 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %689, i32 noundef %690, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 34817, i32 noundef 2)
  br label %1096

691:                                              ; preds = %673
  %692 = icmp slt i32 %495, 4
  br i1 %692, label %693, label %696

693:                                              ; preds = %691
  %694 = load ptr, ptr %21, align 8, !tbaa !17
  %695 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %694, i32 noundef %695, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 34011, i32 noundef 2)
  br label %696

696:                                              ; preds = %693, %691
  %697 = icmp ugt i32 %530, 127
  br i1 %697, label %698, label %719

698:                                              ; preds = %696
  %reass.sub = sub i32 %530, %.09291110
  %699 = add i32 %reass.sub, -257
  %700 = icmp sgt i32 %699, -1
  br i1 %700, label %701, label %719

701:                                              ; preds = %698
  %702 = load i32, ptr %3, align 4, !tbaa !16
  %703 = zext nneg i32 %699 to i64
  %704 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %703)
  %705 = load i32, ptr %704, align 4, !tbaa !16
  %706 = sub nsw i32 %702, %705
  %707 = icmp slt i32 %706, 120
  br i1 %707, label %708, label %719

708:                                              ; preds = %701
  %709 = load ptr, ptr %21, align 8, !tbaa !17
  %710 = load i32, ptr %23, align 4, !tbaa !18
  %711 = icmp eq i8 %.fr1122, 47
  %712 = zext i1 %711 to i64
  %713 = sdiv i32 %495, 4
  %714 = sext i32 %713 to i64
  %715 = getelementptr inbounds [2 x [4 x i32]], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.jtab, i64 0, i64 %712, i64 %714
  %716 = load i32, ptr %715, align 4, !tbaa !16
  %717 = shl nsw i32 %716, 8
  %718 = add nsw i32 %717, 28672
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %709, i32 noundef %710, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %718, i32 noundef 2)
  br label %1096

719:                                              ; preds = %701, %698, %696
  %720 = load ptr, ptr %21, align 8, !tbaa !17
  %721 = load i32, ptr %23, align 4, !tbaa !18
  %722 = icmp eq i8 %.fr1122, 47
  %723 = zext i1 %722 to i64
  %724 = sdiv i32 %495, 4
  %725 = sext i32 %724 to i64
  %726 = getelementptr inbounds [2 x [4 x i32]], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.jtab, i64 0, i64 %723, i64 %725
  %727 = load i32, ptr %726, align 4, !tbaa !16
  %728 = add nsw i32 %727, 3968
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %720, i32 noundef %721, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %728, i32 noundef 2)
  %729 = load ptr, ptr %21, align 8, !tbaa !17
  %730 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %729, i32 noundef %730, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 0)
  br label %1096

731:                                              ; preds = %624
  switch i32 %533, label %1096 [
    i32 0, label %732
    i32 1, label %735
    i32 2, label %738
    i32 3, label %741
    i32 4, label %744
    i32 7, label %749
  ]

732:                                              ; preds = %731
  %733 = load ptr, ptr %21, align 8, !tbaa !17
  %734 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %733, i32 noundef %734, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 34577, i32 noundef 2)
  br label %1096

735:                                              ; preds = %731
  %736 = load ptr, ptr %21, align 8, !tbaa !17
  %737 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %736, i32 noundef %737, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 65281, i32 noundef 2)
  br label %1096

738:                                              ; preds = %731
  %739 = load ptr, ptr %21, align 8, !tbaa !17
  %740 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %739, i32 noundef %740, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 65289, i32 noundef 2)
  br label %1096

741:                                              ; preds = %731
  %742 = load ptr, ptr %21, align 8, !tbaa !17
  %743 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %742, i32 noundef %743, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 63249, i32 noundef 2)
  br label %1096

744:                                              ; preds = %731
  %745 = load ptr, ptr %21, align 8, !tbaa !17
  %746 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %745, i32 noundef %746, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 12736, i32 noundef 2)
  %747 = load ptr, ptr %21, align 8, !tbaa !17
  %748 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %747, i32 noundef %748, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35073, i32 noundef 2)
  br label %1096

749:                                              ; preds = %731
  %750 = load ptr, ptr %21, align 8, !tbaa !17
  %751 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %750, i32 noundef %751, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 4295062, i32 noundef 3)
  %752 = shl nuw nsw i32 %530, 2
  %753 = load ptr, ptr %21, align 8, !tbaa !17
  %754 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %753, i32 noundef %754, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %752)
  br label %1096

755:                                              ; preds = %624
  switch i8 %.fr1122, label %1096 [
    i8 56, label %756
    i8 57, label %767
    i8 59, label %774
    i8 60, label %783
    i8 63, label %796
  ]

756:                                              ; preds = %755
  %757 = load ptr, ptr %21, align 8, !tbaa !17
  %758 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %757, i32 noundef %758, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 184, i32 noundef 1)
  %759 = load ptr, ptr %21, align 8, !tbaa !17
  %760 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %759, i32 noundef %760, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1)
  %761 = load ptr, ptr %21, align 8, !tbaa !17
  %762 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %761, i32 noundef %762, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 233, i32 noundef 1)
  %763 = load i32, ptr %3, align 4, !tbaa !16
  %764 = sub i32 1, %763
  %765 = load ptr, ptr %21, align 8, !tbaa !17
  %766 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %765, i32 noundef %766, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %764)
  br label %1096

767:                                              ; preds = %755
  %768 = load ptr, ptr %21, align 8, !tbaa !17
  %769 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %768, i32 noundef %769, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 232, i32 noundef 1)
  %770 = load i32, ptr %3, align 4, !tbaa !16
  %771 = sub i32 %373, %770
  %772 = load ptr, ptr %21, align 8, !tbaa !17
  %773 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %772, i32 noundef %773, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %771)
  br label %1096

774:                                              ; preds = %755
  %775 = load ptr, ptr %21, align 8, !tbaa !17
  %776 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %775, i32 noundef %776, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 9274384, i32 noundef 3)
  %777 = load ptr, ptr %21, align 8, !tbaa !17
  %778 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %777, i32 noundef %778, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 512)
  %779 = load ptr, ptr %21, align 8, !tbaa !17
  %780 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %779, i32 noundef %780, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 27088, i32 noundef 2)
  %781 = load ptr, ptr %21, align 8, !tbaa !17
  %782 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %781, i32 noundef %782, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 773)
  br label %1096

783:                                              ; preds = %755
  %784 = load ptr, ptr %21, align 8, !tbaa !17
  %785 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %784, i32 noundef %785, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35585, i32 noundef 2)
  %786 = load ptr, ptr %21, align 8, !tbaa !17
  %787 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %786, i32 noundef %787, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 9274384, i32 noundef 3)
  %788 = load ptr, ptr %21, align 8, !tbaa !17
  %789 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %788, i32 noundef %789, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 512)
  %790 = load ptr, ptr %21, align 8, !tbaa !17
  %791 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %790, i32 noundef %791, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 27072, i32 noundef 2)
  %792 = load ptr, ptr %21, align 8, !tbaa !17
  %793 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %792, i32 noundef %793, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 773)
  %794 = load ptr, ptr %21, align 8, !tbaa !17
  %795 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %794, i32 noundef %795, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35073, i32 noundef 2)
  br label %1096

796:                                              ; preds = %755
  %797 = load ptr, ptr %21, align 8, !tbaa !17
  %798 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %797, i32 noundef %798, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 233, i32 noundef 1)
  %799 = load ptr, ptr %21, align 8, !tbaa !17
  %800 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %799, i32 noundef %800, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 0)
  br label %1096

801:                                              ; preds = %624, %624, %624, %624
  switch i32 %533, label %819 [
    i32 7, label %802
    i32 6, label %811
  ]

802:                                              ; preds = %801
  %803 = load ptr, ptr %21, align 8, !tbaa !17
  %804 = load i32, ptr %23, align 4, !tbaa !18
  %805 = zext nneg i32 %532 to i64
  %806 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %805
  %807 = load i32, ptr %806, align 4, !tbaa !16
  %808 = add nsw i32 %807, 184
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %803, i32 noundef %804, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %808, i32 noundef 1)
  %809 = load ptr, ptr %21, align 8, !tbaa !17
  %810 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %809, i32 noundef %810, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

811:                                              ; preds = %801
  %812 = load ptr, ptr %21, align 8, !tbaa !17
  %813 = load i32, ptr %23, align 4, !tbaa !18
  %814 = zext nneg i32 %532 to i64
  %815 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %814
  %816 = load i32, ptr %815, align 4, !tbaa !16
  %817 = shl i32 %816, 11
  %818 = add nsw i32 %817, 1099629700
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %812, i32 noundef %813, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %818, i32 noundef 4)
  br label %1096

819:                                              ; preds = %801
  %820 = icmp ult i32 %533, 4
  br i1 %820, label %821, label %1096

821:                                              ; preds = %819
  %822 = load ptr, ptr %21, align 8, !tbaa !17
  %823 = load i32, ptr %23, align 4, !tbaa !18
  %824 = zext nneg i32 %532 to i64
  %825 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %824
  %826 = load i32, ptr %825, align 4, !tbaa !16
  %827 = add nsw i32 %826, 35264
  %828 = zext nneg i32 %533 to i64
  %829 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %828
  %830 = load i32, ptr %829, align 4, !tbaa !16
  %831 = shl nsw i32 %830, 3
  %832 = add nsw i32 %827, %831
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %822, i32 noundef %823, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %832, i32 noundef 2)
  br label %1096

833:                                              ; preds = %624, %624
  switch i32 %533, label %841 [
    i32 7, label %834
    i32 0, label %838
  ]

834:                                              ; preds = %833
  %835 = load ptr, ptr %21, align 8, !tbaa !17
  %836 = load i32, ptr %23, align 4, !tbaa !18
  %837 = add nuw nsw i32 %530, 12976384
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %835, i32 noundef %836, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %837, i32 noundef 3)
  br label %1096

838:                                              ; preds = %833
  %839 = load ptr, ptr %21, align 8, !tbaa !17
  %840 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %839, i32 noundef %840, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 34833, i32 noundef 2)
  br label %1096

841:                                              ; preds = %833
  %842 = icmp ult i32 %533, 4
  br i1 %842, label %843, label %851

843:                                              ; preds = %841
  %844 = load ptr, ptr %21, align 8, !tbaa !17
  %845 = load i32, ptr %23, align 4, !tbaa !18
  %846 = zext nneg i32 %533 to i64
  %847 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %846
  %848 = load i32, ptr %847, align 4, !tbaa !16
  %849 = shl nsw i32 %848, 3
  %850 = add nsw i32 %849, 35264
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %844, i32 noundef %845, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %850, i32 noundef 2)
  br label %851

851:                                              ; preds = %843, %841
  %852 = load ptr, ptr %21, align 8, !tbaa !17
  %853 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %852, i32 noundef %853, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 34817, i32 noundef 2)
  br label %1096

854:                                              ; preds = %624
  %.not1023 = icmp eq i32 %533, 7
  %855 = load ptr, ptr %21, align 8, !tbaa !17
  %856 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %.not1023, label %863, label %857

857:                                              ; preds = %854
  %858 = zext nneg i32 %533 to i64
  %859 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %858
  %860 = load i32, ptr %859, align 4, !tbaa !16
  %861 = shl nsw i32 %860, 3
  %862 = add nsw i32 %861, 35073
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %855, i32 noundef %856, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %862, i32 noundef 2)
  br label %1096

863:                                              ; preds = %854
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %855, i32 noundef %856, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 50945, i32 noundef 2)
  %864 = load ptr, ptr %21, align 8, !tbaa !17
  %865 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %864, i32 noundef %865, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

866:                                              ; preds = %624
  switch i32 %533, label %870 [
    i32 6, label %867
    i32 7, label %878
  ]

867:                                              ; preds = %866
  %868 = load ptr, ptr %21, align 8, !tbaa !17
  %869 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %868, i32 noundef %869, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1090720900, i32 noundef 4)
  br label %1096

870:                                              ; preds = %866
  %871 = load ptr, ptr %21, align 8, !tbaa !17
  %872 = load i32, ptr %23, align 4, !tbaa !18
  %873 = zext nneg i32 %533 to i64
  %874 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %873
  %875 = load i32, ptr %874, align 4, !tbaa !16
  %876 = shl nsw i32 %875, 3
  %877 = add nsw i32 %876, 450
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %871, i32 noundef %872, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %877, i32 noundef 2)
  br label %1096

878:                                              ; preds = %866
  %879 = icmp ugt i32 %530, 128
  %880 = load ptr, ptr %21, align 8, !tbaa !17
  %881 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %879, label %882, label %885

882:                                              ; preds = %878
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %880, i32 noundef %881, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33218, i32 noundef 2)
  %883 = load ptr, ptr %21, align 8, !tbaa !17
  %884 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %883, i32 noundef %884, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

885:                                              ; preds = %878
  %886 = or disjoint i32 %521, 8634880
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %880, i32 noundef %881, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %886, i32 noundef 3)
  br label %1096

887:                                              ; preds = %624
  switch i32 %533, label %891 [
    i32 6, label %888
    i32 7, label %899
  ]

888:                                              ; preds = %887
  %889 = load ptr, ptr %21, align 8, !tbaa !17
  %890 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %889, i32 noundef %890, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1093342340, i32 noundef 4)
  br label %1096

891:                                              ; preds = %887
  %892 = load ptr, ptr %21, align 8, !tbaa !17
  %893 = load i32, ptr %23, align 4, !tbaa !18
  %894 = zext nneg i32 %533 to i64
  %895 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %894
  %896 = load i32, ptr %895, align 4, !tbaa !16
  %897 = shl nsw i32 %896, 3
  %898 = add nsw i32 %897, 10690
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %892, i32 noundef %893, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %898, i32 noundef 2)
  br label %1096

899:                                              ; preds = %887
  %900 = icmp ugt i32 %530, 127
  %901 = load ptr, ptr %21, align 8, !tbaa !17
  %902 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %900, label %903, label %906

903:                                              ; preds = %899
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %901, i32 noundef %902, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33258, i32 noundef 2)
  %904 = load ptr, ptr %21, align 8, !tbaa !17
  %905 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %904, i32 noundef %905, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

906:                                              ; preds = %899
  %907 = or disjoint i32 %521, 8645120
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %901, i32 noundef %902, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %907, i32 noundef 3)
  br label %1096

908:                                              ; preds = %624
  switch i32 %533, label %914 [
    i32 6, label %909
    i32 7, label %921
  ]

909:                                              ; preds = %908
  %910 = load ptr, ptr %21, align 8, !tbaa !17
  %911 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %910, i32 noundef %911, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1091546900, i32 noundef 4)
  %912 = load ptr, ptr %21, align 8, !tbaa !17
  %913 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %912, i32 noundef %913, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 132, i32 noundef 1)
  br label %1096

914:                                              ; preds = %908
  %915 = load ptr, ptr %21, align 8, !tbaa !17
  %916 = load i32, ptr %23, align 4, !tbaa !18
  %917 = zext nneg i32 %533 to i64
  %918 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %917
  %919 = load i32, ptr %918, align 4, !tbaa !16
  %920 = add nsw i32 %919, 1028048
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %915, i32 noundef %916, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %920, i32 noundef 3)
  br label %1096

921:                                              ; preds = %908
  %922 = icmp ugt i32 %530, 127
  %923 = load ptr, ptr %21, align 8, !tbaa !17
  %924 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %922, label %925, label %928

925:                                              ; preds = %921
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %923, i32 noundef %924, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 27090, i32 noundef 2)
  %926 = load ptr, ptr %21, align 8, !tbaa !17
  %927 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %926, i32 noundef %927, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

928:                                              ; preds = %921
  %929 = or disjoint i32 %521, 7066112
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %923, i32 noundef %924, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %929, i32 noundef 3)
  br label %1096

930:                                              ; preds = %624, %624
  %.not1018 = icmp eq i32 %533, 7
  %931 = load ptr, ptr %21, align 8, !tbaa !17
  %932 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %.not1018, label %939, label %933

933:                                              ; preds = %930
  %934 = zext nneg i32 %533 to i64
  %935 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %934
  %936 = load i32, ptr %935, align 4, !tbaa !16
  %937 = shl nsw i32 %936, 3
  %938 = add nsw i32 %937, 35265
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %931, i32 noundef %932, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %938, i32 noundef 2)
  br label %942

939:                                              ; preds = %930
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %931, i32 noundef %932, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 185, i32 noundef 1)
  %940 = load ptr, ptr %21, align 8, !tbaa !17
  %941 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %940, i32 noundef %941, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %942

942:                                              ; preds = %939, %933
  %943 = load ptr, ptr %21, align 8, !tbaa !17
  %944 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %943, i32 noundef %944, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 34249, i32 noundef 2)
  %945 = load ptr, ptr %21, align 8, !tbaa !17
  %946 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %945, i32 noundef %946, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1000657, i32 noundef 3)
  %947 = load ptr, ptr %21, align 8, !tbaa !17
  %948 = load i32, ptr %23, align 4, !tbaa !18
  %949 = icmp eq i32 %531, 20
  %950 = select i1 %949, i32 29702, i32 29704
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %947, i32 noundef %948, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %950, i32 noundef 2)
  %951 = load ptr, ptr %21, align 8, !tbaa !17
  %952 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %951, i32 noundef %952, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35280, i32 noundef 2)
  %953 = load ptr, ptr %21, align 8, !tbaa !17
  %954 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %953, i32 noundef %954, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 12754, i32 noundef 2)
  %955 = load ptr, ptr %21, align 8, !tbaa !17
  %956 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %955, i32 noundef %956, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 63473, i32 noundef 2)
  %957 = icmp eq i32 %531, 19
  br i1 %957, label %958, label %1096

958:                                              ; preds = %942
  %959 = load ptr, ptr %21, align 8, !tbaa !17
  %960 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %959, i32 noundef %960, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 35266, i32 noundef 2)
  br label %1096

961:                                              ; preds = %624
  switch i32 %533, label %965 [
    i32 6, label %962
    i32 7, label %973
  ]

962:                                              ; preds = %961
  %963 = load ptr, ptr %21, align 8, !tbaa !17
  %964 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %963, i32 noundef %964, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1092818052, i32 noundef 4)
  br label %1096

965:                                              ; preds = %961
  %966 = load ptr, ptr %21, align 8, !tbaa !17
  %967 = load i32, ptr %23, align 4, !tbaa !18
  %968 = zext nneg i32 %533 to i64
  %969 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %968
  %970 = load i32, ptr %969, align 4, !tbaa !16
  %971 = shl nsw i32 %970, 3
  %972 = add nsw i32 %971, 8642
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %966, i32 noundef %967, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %972, i32 noundef 2)
  br label %1096

973:                                              ; preds = %961
  %974 = icmp ugt i32 %530, 127
  %975 = load ptr, ptr %21, align 8, !tbaa !17
  %976 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %974, label %977, label %980

977:                                              ; preds = %973
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %975, i32 noundef %976, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33250, i32 noundef 2)
  %978 = load ptr, ptr %21, align 8, !tbaa !17
  %979 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %978, i32 noundef %979, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

980:                                              ; preds = %973
  %981 = or disjoint i32 %521, 8643072
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %975, i32 noundef %976, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %981, i32 noundef 3)
  br label %1096

982:                                              ; preds = %624
  %983 = icmp eq i32 %533, 7
  br i1 %983, label %984, label %994

984:                                              ; preds = %982
  %985 = icmp ult i32 %530, 128
  %986 = load ptr, ptr %21, align 8, !tbaa !17
  %987 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %985, label %988, label %990

988:                                              ; preds = %984
  %989 = sub nuw nsw i32 8643327, %521
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %986, i32 noundef %987, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %989, i32 noundef 3)
  br label %1096

990:                                              ; preds = %984
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %986, i32 noundef %987, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33250, i32 noundef 2)
  %991 = xor i32 %530, -1
  %992 = load ptr, ptr %21, align 8, !tbaa !17
  %993 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %992, i32 noundef %993, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %991)
  br label %1096

994:                                              ; preds = %982
  %995 = icmp ult i32 %533, 4
  br i1 %995, label %996, label %1004

996:                                              ; preds = %994
  %997 = load ptr, ptr %21, align 8, !tbaa !17
  %998 = load i32, ptr %23, align 4, !tbaa !18
  %999 = zext nneg i32 %533 to i64
  %1000 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %999
  %1001 = load i32, ptr %1000, align 4, !tbaa !16
  %1002 = shl nsw i32 %1001, 3
  %1003 = add nsw i32 %1002, 35264
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %997, i32 noundef %998, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1003, i32 noundef 2)
  br label %1004

1004:                                             ; preds = %996, %994
  %1005 = load ptr, ptr %21, align 8, !tbaa !17
  %1006 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1005, i32 noundef %1006, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 63440, i32 noundef 2)
  %1007 = load ptr, ptr %21, align 8, !tbaa !17
  %1008 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1007, i32 noundef %1008, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 8642, i32 noundef 2)
  br label %1096

1009:                                             ; preds = %624
  switch i32 %533, label %1013 [
    i32 6, label %1010
    i32 7, label %1021
  ]

1010:                                             ; preds = %1009
  %1011 = load ptr, ptr %21, align 8, !tbaa !17
  %1012 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1011, i32 noundef %1012, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1091245188, i32 noundef 4)
  br label %1096

1013:                                             ; preds = %1009
  %1014 = load ptr, ptr %21, align 8, !tbaa !17
  %1015 = load i32, ptr %23, align 4, !tbaa !18
  %1016 = zext nneg i32 %533 to i64
  %1017 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %1016
  %1018 = load i32, ptr %1017, align 4, !tbaa !16
  %1019 = shl nsw i32 %1018, 3
  %1020 = add nsw i32 %1019, 2498
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1014, i32 noundef %1015, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1020, i32 noundef 2)
  br label %1096

1021:                                             ; preds = %1009
  %1022 = icmp ugt i32 %530, 127
  %1023 = load ptr, ptr %21, align 8, !tbaa !17
  %1024 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %1022, label %1025, label %1028

1025:                                             ; preds = %1021
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1023, i32 noundef %1024, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33226, i32 noundef 2)
  %1026 = load ptr, ptr %21, align 8, !tbaa !17
  %1027 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1026, i32 noundef %1027, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

1028:                                             ; preds = %1021
  %1029 = or disjoint i32 %521, 8636928
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1023, i32 noundef %1024, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1029, i32 noundef 3)
  br label %1096

1030:                                             ; preds = %624
  switch i32 %533, label %1034 [
    i32 6, label %1031
    i32 7, label %1042
  ]

1031:                                             ; preds = %1030
  %1032 = load ptr, ptr %21, align 8, !tbaa !17
  %1033 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1032, i32 noundef %1033, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1093866628, i32 noundef 4)
  br label %1096

1034:                                             ; preds = %1030
  %1035 = load ptr, ptr %21, align 8, !tbaa !17
  %1036 = load i32, ptr %23, align 4, !tbaa !18
  %1037 = zext nneg i32 %533 to i64
  %1038 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %1037
  %1039 = load i32, ptr %1038, align 4, !tbaa !16
  %1040 = shl nsw i32 %1039, 3
  %1041 = add nsw i32 %1040, 12738
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1035, i32 noundef %1036, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1041, i32 noundef 2)
  br label %1096

1042:                                             ; preds = %1030
  %1043 = icmp ugt i32 %530, 127
  %1044 = load ptr, ptr %21, align 8, !tbaa !17
  %1045 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %1043, label %1046, label %1049

1046:                                             ; preds = %1042
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1044, i32 noundef %1045, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33266, i32 noundef 2)
  %1047 = load ptr, ptr %21, align 8, !tbaa !17
  %1048 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1047, i32 noundef %1048, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1096

1049:                                             ; preds = %1042
  %1050 = or disjoint i32 %521, 8647168
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1044, i32 noundef %1045, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1050, i32 noundef 3)
  br label %1096

1051:                                             ; preds = %624, %624
  %1052 = icmp eq i32 %533, 7
  %1053 = load ptr, ptr %21, align 8, !tbaa !17
  %1054 = load i32, ptr %23, align 4, !tbaa !18
  br i1 %1052, label %1055, label %1059

1055:                                             ; preds = %1051
  %1056 = icmp eq i32 %531, 26
  %1057 = select i1 %1056, i32 12708352, i32 12706304
  %1058 = add nuw nsw i32 %530, %1057
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1053, i32 noundef %1054, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1058, i32 noundef 3)
  br label %1096

1059:                                             ; preds = %1051
  %1060 = zext nneg i32 %533 to i64
  %1061 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %1060
  %1062 = load i32, ptr %1061, align 4, !tbaa !16
  %1063 = shl nsw i32 %1062, 3
  %1064 = add nsw i32 %1063, 35265
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1053, i32 noundef %1054, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1064, i32 noundef 2)
  %1065 = load ptr, ptr %21, align 8, !tbaa !17
  %1066 = load i32, ptr %23, align 4, !tbaa !18
  %1067 = icmp eq i32 %531, 26
  %1068 = select i1 %1067, i32 54250, i32 54242
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1065, i32 noundef %1066, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1068, i32 noundef 2)
  br label %1096

1069:                                             ; preds = %624, %624, %624
  %1070 = load ptr, ptr %21, align 8, !tbaa !17
  %1071 = load i32, ptr %23, align 4, !tbaa !18
  switch i32 %533, label %1076 [
    i32 6, label %1072
    i32 7, label %1073
  ]

1072:                                             ; preds = %1069
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1070, i32 noundef %1071, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1094390916, i32 noundef 4)
  br label %1082

1073:                                             ; preds = %1069
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1070, i32 noundef %1071, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 33274, i32 noundef 2)
  %1074 = load ptr, ptr %21, align 8, !tbaa !17
  %1075 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1074, i32 noundef %1075, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %530)
  br label %1082

1076:                                             ; preds = %1069
  %1077 = zext nneg i32 %533 to i64
  %1078 = getelementptr inbounds [8 x i32], ptr @__const._ZN7libzpaq5ZPAQL8assembleEv.regcode, i64 0, i64 %1077
  %1079 = load i32, ptr %1078, align 4, !tbaa !16
  %1080 = shl nsw i32 %1079, 3
  %1081 = add nsw i32 %1080, 14786
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1070, i32 noundef %1071, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1081, i32 noundef 2)
  br label %1082

1082:                                             ; preds = %1073, %1076, %1072
  %1083 = icmp slt i32 %495, 4
  br i1 %1083, label %1084, label %1096

1084:                                             ; preds = %1082
  %1085 = load ptr, ptr %21, align 8, !tbaa !17
  %1086 = load i32, ptr %23, align 4, !tbaa !18
  switch i32 %531, label %default.unreachable1064 [
    i32 27, label %1087
    i32 28, label %1088
    i32 29, label %1089
  ]

1087:                                             ; preds = %1084
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1085, i32 noundef %1086, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1021123, i32 noundef 3)
  br label %1096

1088:                                             ; preds = %1084
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1085, i32 noundef %1086, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1020611, i32 noundef 3)
  br label %1096

1089:                                             ; preds = %1084
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1085, i32 noundef %1086, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 1021891, i32 noundef 3)
  br label %1096

1090:                                             ; preds = %624, %624
  br i1 %522, label %1091, label %1096

1091:                                             ; preds = %1090
  %1092 = load ptr, ptr %21, align 8, !tbaa !17
  %1093 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1092, i32 noundef %1093, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 233, i32 noundef 1)
  %1094 = load ptr, ptr %21, align 8, !tbaa !17
  %1095 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1094, i32 noundef %1095, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 0)
  br label %1096

default.unreachable1150:                          ; preds = %624
  unreachable

default.unreachable1064:                          ; preds = %1084
  unreachable

1096:                                             ; preds = %535, %1087, %708, %719, %1090, %1091, %1082, %1089, %1088, %1055, %1059, %1031, %1046, %1049, %1034, %1010, %1025, %1028, %1013, %1004, %990, %988, %962, %977, %980, %965, %942, %958, %909, %925, %928, %914, %888, %903, %906, %891, %867, %882, %885, %870, %857, %863, %834, %851, %838, %802, %819, %821, %811, %755, %756, %767, %774, %783, %796, %731, %732, %735, %738, %741, %744, %749, %673, %674, %677, %680, %683, %686, %625, %626, %633, %640, %647, %654, %662, %624
  %1097 = add nsw i32 %.09291110, 1
  %1098 = load i8, ptr %516, align 1, !tbaa !19
  %1099 = and i8 %1098, 7
  %1100 = icmp eq i8 %1099, 7
  %1101 = zext i1 %1100 to i32
  %1102 = icmp eq i8 %1098, -1
  %1103 = zext i1 %1102 to i32
  %1104 = add i32 %1097, %1103
  %1105 = add i32 %1104, %1101
  %.not1011 = icmp sgt i32 %1105, %12
  br i1 %.not1011, label %.critedge, label %489, !llvm.loop !24

.critedge:                                        ; preds = %489, %1096, %505, %509, %497
  %1106 = add nuw i32 %.09301114, 1
  %exitcond1138.not = icmp eq i32 %1106, %375
  br i1 %exitcond1138.not, label %._crit_edge1117, label %.preheader1068, !llvm.loop !25

._crit_edge1121.loopexit:                         ; preds = %1183
  %.pre1146 = load i32, ptr %23, align 4, !tbaa !18
  br label %._crit_edge1121

._crit_edge1121:                                  ; preds = %._crit_edge1117.thread, %._crit_edge1121.loopexit, %.preheader
  %1107 = phi i32 [ %481, %._crit_edge1121.loopexit ], [ %481, %.preheader ], [ %484, %._crit_edge1117.thread ]
  %1108 = phi i32 [ %.pre1146, %._crit_edge1121.loopexit ], [ %482, %.preheader ], [ %485, %._crit_edge1117.thread ]
  store i32 0, ptr %3, align 4, !tbaa !16
  %1109 = load ptr, ptr %21, align 8, !tbaa !17
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1109, i32 noundef %1108, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef 233, i32 noundef 1)
  %1110 = add nsw i32 %265, -5
  %1111 = load ptr, ptr %21, align 8, !tbaa !17
  %1112 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1111, i32 noundef %1112, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1110)
  br label %1184

.lr.ph1120:                                       ; preds = %.lr.ph1120.preheader, %1183
  %indvars.iv1139 = phi i64 [ 0, %.lr.ph1120.preheader ], [ %indvars.iv.next1140, %1183 ]
  %1113 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %indvars.iv1139)
  %1114 = load i32, ptr %1113, align 4, !tbaa !16
  %1115 = icmp slt i32 %1114, 16
  br i1 %1115, label %1183, label %1116

1116:                                             ; preds = %.lr.ph1120
  %1117 = getelementptr inbounds i8, ptr %8, i64 %indvars.iv1139
  %1118 = load i8, ptr %1117, align 1, !tbaa !19
  %1119 = and i8 %1118, -9
  %or.cond45 = icmp eq i8 %1119, 39
  %1120 = add i8 %1118, 1
  %1121 = call i8 @llvm.fshl.i8(i8 %1120, i8 %1120, i8 5)
  switch i8 %1121, label %1183 [
    i8 0, label %1122
    i8 8, label %1122
    i8 6, label %1122
    i8 5, label %1122
  ]

1122:                                             ; preds = %1116, %1116, %1116, %1116
  %1123 = icmp eq i8 %1118, -1
  %1124 = getelementptr inbounds i8, ptr %1117, i64 1
  %1125 = load i8, ptr %1124, align 1, !tbaa !19
  %1126 = zext i8 %1125 to i32
  br i1 %1123, label %1127, label %1133

1127:                                             ; preds = %1122
  %1128 = getelementptr inbounds i8, ptr %1117, i64 2
  %1129 = load i8, ptr %1128, align 1, !tbaa !19
  %1130 = zext i8 %1129 to i32
  %1131 = shl nuw nsw i32 %1130, 8
  %1132 = or disjoint i32 %1131, %1126
  br label %1139

1133:                                             ; preds = %1122
  %1134 = icmp slt i8 %1125, 0
  %1135 = or disjoint i32 %1126, -256
  %spec.select1036 = select i1 %1134, i32 %1135, i32 %1126
  %1136 = trunc i64 %indvars.iv1139 to i32
  %1137 = add i32 %1136, 2
  %1138 = add nsw i32 %1137, %spec.select1036
  br label %1139

1139:                                             ; preds = %1133, %1127
  %.1 = phi i32 [ %1132, %1127 ], [ %1138, %1133 ]
  %1140 = icmp slt i32 %.1, 0
  %1141 = call i32 @llvm.smin.i32(i32 %.1, i32 %12)
  %.2 = select i1 %1140, i32 %12, i32 %1141
  %1142 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %indvars.iv1139)
  %1143 = load i32, ptr %1142, align 4, !tbaa !16
  store i32 %1143, ptr %3, align 4, !tbaa !16
  %.pre = load ptr, ptr %21, align 8, !tbaa !17
  br i1 %or.cond45, label %1144, label %1153

1144:                                             ; preds = %1139
  %1145 = sext i32 %1143 to i64
  %1146 = getelementptr inbounds i8, ptr %.pre, i64 %1145
  %1147 = load i8, ptr %1146, align 1, !tbaa !19
  %1148 = icmp eq i8 %1147, -124
  br i1 %1148, label %1149, label %1153

1149:                                             ; preds = %1144
  %1150 = add nsw i32 %1143, 2
  store i32 %1150, ptr %3, align 4, !tbaa !16
  br label %1153

1151:                                             ; preds = %1171
  %1152 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #5
  call void @_ZN7libzpaq5ArrayIiED2Ev(ptr noundef nonnull align 8 dereferenceable(20) %2) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #5
  resume { ptr, i32 } %1152

1153:                                             ; preds = %1139, %1149, %1144
  %1154 = phi i32 [ %1143, %1139 ], [ %1150, %1149 ], [ %1143, %1144 ]
  %1155 = sext i32 %1154 to i64
  %1156 = getelementptr inbounds i8, ptr %.pre, i64 %1155
  %1157 = load i8, ptr %1156, align 1, !tbaa !19
  %1158 = icmp eq i8 %1157, 15
  %1159 = add nsw i32 %1154, 1
  %.pre1147 = sext i32 %1159 to i64
  %.pre-phi = select i1 %1158, i64 %.pre1147, i64 %1155
  %1160 = select i1 %1158, i32 %1159, i32 %1154
  %1161 = add nsw i32 %1160, 1
  store i32 %1161, ptr %3, align 4, !tbaa !16
  %1162 = getelementptr inbounds i8, ptr %.pre, i64 %.pre-phi
  %1163 = load i8, ptr %1162, align 1, !tbaa !19
  %1164 = sext i32 %.2 to i64
  %1165 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20) %2, i64 noundef %1164)
  %1166 = load i32, ptr %1165, align 4, !tbaa !16
  %1167 = load i32, ptr %3, align 4, !tbaa !16
  %1168 = sub nsw i32 %1166, %1167
  switch i8 %1163, label %1183 [
    i8 -21, label %1169
    i8 119, label %1169
    i8 118, label %1169
    i8 117, label %1169
    i8 116, label %1169
    i8 115, label %1169
    i8 114, label %1169
    i8 -23, label %1179
    i8 -121, label %1179
    i8 -122, label %1179
    i8 -123, label %1179
    i8 -124, label %1179
    i8 -125, label %1179
    i8 -126, label %1179
  ]

1169:                                             ; preds = %1153, %1153, %1153, %1153, %1153, %1153, %1153
  %1170 = add i32 %1168, -129
  %or.cond63 = icmp ult i32 %1170, -256
  br i1 %or.cond63, label %1171, label %1172

1171:                                             ; preds = %1169
  invoke void @_ZN7libzpaq5errorEPKc(ptr noundef nonnull @.str.40)
          to label %._crit_edge1144 unwind label %1151

._crit_edge1144:                                  ; preds = %1171
  %.pre1145 = load i32, ptr %3, align 4, !tbaa !16
  br label %1172

1172:                                             ; preds = %._crit_edge1144, %1169
  %1173 = phi i32 [ %.pre1145, %._crit_edge1144 ], [ %1167, %1169 ]
  %1174 = trunc i32 %1168 to i8
  %1175 = add i8 %1174, -1
  %1176 = load ptr, ptr %21, align 8, !tbaa !17
  %1177 = sext i32 %1173 to i64
  %1178 = getelementptr inbounds i8, ptr %1176, i64 %1177
  store i8 %1175, ptr %1178, align 1, !tbaa !19
  br label %1183

1179:                                             ; preds = %1153, %1153, %1153, %1153, %1153, %1153, %1153
  %1180 = add nsw i32 %1168, -4
  %1181 = load ptr, ptr %21, align 8, !tbaa !17
  %1182 = load i32, ptr %23, align 4, !tbaa !18
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1181, i32 noundef %1182, ptr noundef nonnull align 4 dereferenceable(4) %3, i32 noundef %1180)
  br label %1183

1183:                                             ; preds = %1153, %1116, %1179, %1172, %.lr.ph1120
  %indvars.iv.next1140 = add nuw nsw i64 %indvars.iv1139, 1
  %exitcond1143.not = icmp eq i64 %indvars.iv.next1140, %wide.trip.count1142
  br i1 %exitcond1143.not, label %._crit_edge1121.loopexit, label %.lr.ph1120, !llvm.loop !26

1184:                                             ; preds = %._crit_edge1117.thread, %._crit_edge1117, %._crit_edge1121
  %1185 = phi i32 [ %484, %._crit_edge1117.thread ], [ %481, %._crit_edge1117 ], [ %1107, %._crit_edge1121 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #5
  call void @_ZN7libzpaq5ArrayIiED2Ev(ptr noundef nonnull align 8 dereferenceable(20) %2) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #5
  ret i32 %1185
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7libzpaq5ArrayIiEC2Emi(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef, i32 noundef) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZN7libzpaqL3putEPhiRiji(ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN7libzpaqL6flush1EPNS_5ZPAQLE(ptr noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN7libzpaq5ArrayIiEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZN7libzpaqL5iserrEi(i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7libzpaq5ArrayIiED2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #2 align 2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i8 @llvm.fshl.i8(i8, i8, i8) #4

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smin.i32(i32, i32) #4

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "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 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "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 = { mustprogress uwtable "min-legal-vector-width"="0" "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 #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { 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, !12, i64 44}
!6 = !{!"_ZTSN7libzpaq5ZPAQLE", !7, i64 0, !7, i64 8, !10, i64 16, !12, i64 40, !12, i64 44, !12, i64 48, !10, i64 56, !13, i64 80, !13, i64 104, !14, i64 128, !12, i64 152, !12, i64 156, !12, i64 160, !12, i64 164, !12, i64 168, !12, i64 172, !12, i64 176, !12, i64 180, !7, i64 184}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSN7libzpaq5ArrayIhEE", !7, i64 0, !11, i64 8, !12, i64 16}
!11 = !{!"long", !8, i64 0}
!12 = !{!"int", !8, i64 0}
!13 = !{!"_ZTSN7libzpaq5ArrayIjEE", !7, i64 0, !11, i64 8, !12, i64 16}
!14 = !{!"_ZTSN7libzpaq5ArrayIcEE", !7, i64 0, !11, i64 8, !12, i64 16}
!15 = !{!6, !12, i64 48}
!16 = !{!12, !12, i64 0}
!17 = !{!6, !7, i64 184}
!18 = !{!6, !12, i64 180}
!19 = !{!8, !8, i64 0}
!20 = distinct !{!20, !21}
!21 = !{!"llvm.loop.mustprogress"}
!22 = distinct !{!22, !21}
!23 = distinct !{!23, !21}
!24 = distinct !{!24, !21}
!25 = distinct !{!25, !21}
!26 = distinct !{!26, !21}


; Effective O3 passes: ADCEPass,AggressiveInstCombinePass,BDCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass