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

; 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::Predictor" = type <{ i32, i32, [256 x i32], [256 x i32], ptr, [256 x %"struct.libzpaq::Component"], [256 x i32], [1024 x i32], [4096 x i16], [32768 x i16], %"class.libzpaq::StateTable", ptr, i32, [4 x i8] }>
%"struct.libzpaq::Component" = type { i64, i64, i64, i64, i64, %"class.libzpaq::Array", %"class.libzpaq::Array.0", %"class.libzpaq::Array.2" }
%"class.libzpaq::Array" = type <{ ptr, i64, i32, [4 x i8] }>
%"class.libzpaq::Array.0" = type <{ ptr, i64, i32, [4 x i8] }>
%"class.libzpaq::Array.2" = type <{ ptr, i64, i32, [4 x i8] }>
%"class.libzpaq::StateTable" = type { [1024 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.4" = type <{ ptr, i64, i32, [4 x i8] }>

@_ZN7libzpaq8compsizeE = external dso_local constant <{ [10 x i32], [246 x i32] }>, align 16
@.str.39 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [23 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: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20), i64 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK7libzpaq5ArrayIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #2 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) #2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN7libzpaq9Predictor10assemble_pEv(ptr noundef nonnull align 8 dereferenceable(110620) %0) #3 align 2 {
  %2 = alloca ptr, align 8
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %19 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #4
  store ptr %19, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #4
  %20 = load ptr, ptr %3, align 8, !tbaa !5
  %21 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %20, i32 0, i32 11
  %22 = load ptr, ptr %21, align 8, !tbaa !9
  store ptr %22, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #4
  %23 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %19, i32 0, i32 12
  %24 = load i32, ptr %23, align 8, !tbaa !13
  store i32 %24, ptr %5, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #4
  store i32 0, ptr %6, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #4
  store i32 8, ptr %7, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #4
  %25 = load ptr, ptr %3, align 8, !tbaa !5
  %26 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %25, i32 0, i32 4
  %27 = load ptr, ptr %26, align 8, !tbaa !15
  %28 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %27, i32 0, i32 2
  %29 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %28, i64 noundef 0)
  store ptr %29, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #4
  store i32 305419896, ptr %9, align 4, !tbaa !14
  %30 = load i8, ptr %9, align 4, !tbaa !16
  %31 = sext i8 %30 to i32
  %32 = icmp ne i32 %31, 120
  br i1 %32, label %33, label %34

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

34:                                               ; preds = %33, %1
  %35 = load ptr, ptr %4, align 8, !tbaa !5
  %36 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %35, i32 noundef %36, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 233, i32 noundef 1)
  store i32 5, ptr %9, align 4, !tbaa !14
  %37 = load ptr, ptr %4, align 8, !tbaa !5
  %38 = load i32, ptr %5, align 4, !tbaa !14
  %39 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %37, i32 noundef %38, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %39)
  %40 = load ptr, ptr %4, align 8, !tbaa !5
  %41 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %40, i32 noundef %41, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 0, i32 noundef 1)
  store i32 -1869574144, ptr %9, align 4, !tbaa !14
  %42 = load ptr, ptr %4, align 8, !tbaa !5
  %43 = load i32, ptr %5, align 4, !tbaa !14
  %44 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %42, i32 noundef %43, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %44)
  %45 = load ptr, ptr %4, align 8, !tbaa !5
  %46 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %45, i32 noundef %46, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 83, i32 noundef 1)
  %47 = load ptr, ptr %4, align 8, !tbaa !5
  %48 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %47, i32 noundef %48, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 85, i32 noundef 1)
  %49 = load ptr, ptr %4, align 8, !tbaa !5
  %50 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %49, i32 noundef %50, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 86, i32 noundef 1)
  %51 = load ptr, ptr %4, align 8, !tbaa !5
  %52 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %51, i32 noundef %52, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 87, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #4
  %53 = load ptr, ptr %8, align 8, !tbaa !5
  %54 = getelementptr inbounds i8, ptr %53, i64 6
  %55 = load i8, ptr %54, align 1, !tbaa !16
  %56 = zext i8 %55 to i32
  store i32 %56, ptr %10, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #4
  %57 = load ptr, ptr %8, align 8, !tbaa !5
  %58 = getelementptr inbounds i8, ptr %57, i64 7
  store ptr %58, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #4
  store i32 0, ptr %12, align 4, !tbaa !14
  br label %59

59:                                               ; preds = %1356, %34
  %60 = load i32, ptr %12, align 4, !tbaa !14
  %61 = load i32, ptr %10, align 4, !tbaa !14
  %62 = icmp slt i32 %60, %61
  br i1 %62, label %64, label %63

63:                                               ; preds = %59
  store i32 2, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #4
  br label %1368

64:                                               ; preds = %59
  %65 = load ptr, ptr %11, align 8, !tbaa !5
  %66 = load ptr, ptr %8, align 8, !tbaa !5
  %67 = ptrtoint ptr %65 to i64
  %68 = ptrtoint ptr %66 to i64
  %69 = sub i64 %67, %68
  %70 = load ptr, ptr %3, align 8, !tbaa !5
  %71 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %70, i32 0, i32 4
  %72 = load ptr, ptr %71, align 8, !tbaa !15
  %73 = getelementptr inbounds %"class.libzpaq::ZPAQL", ptr %72, i32 0, i32 3
  %74 = load i32, ptr %73, align 8, !tbaa !17
  %75 = sext i32 %74 to i64
  %76 = icmp sge i64 %69, %75
  br i1 %76, label %77, label %78

77:                                               ; preds = %64
  call void @_ZN7libzpaq5errorEPKc(ptr noundef @.str.41)
  br label %78

78:                                               ; preds = %77, %64
  %79 = load ptr, ptr %11, align 8, !tbaa !5
  %80 = getelementptr inbounds i8, ptr %79, i64 0
  %81 = load i8, ptr %80, align 1, !tbaa !16
  %82 = zext i8 %81 to i32
  %83 = icmp slt i32 %82, 1
  br i1 %83, label %90, label %84

84:                                               ; preds = %78
  %85 = load ptr, ptr %11, align 8, !tbaa !5
  %86 = getelementptr inbounds i8, ptr %85, i64 0
  %87 = load i8, ptr %86, align 1, !tbaa !16
  %88 = zext i8 %87 to i32
  %89 = icmp sgt i32 %88, 9
  br i1 %89, label %90, label %91

90:                                               ; preds = %84, %78
  call void @_ZN7libzpaq5errorEPKc(ptr noundef @.str.42)
  br label %91

91:                                               ; preds = %90, %84
  %92 = load ptr, ptr %11, align 8, !tbaa !5
  %93 = getelementptr inbounds i8, ptr %92, i64 0
  %94 = load i8, ptr %93, align 1, !tbaa !16
  %95 = zext i8 %94 to i32
  switch i32 %95, label %1354 [
    i32 1, label %1355
    i32 2, label %96
    i32 8, label %202
    i32 3, label %202
    i32 4, label %512
    i32 5, label %703
    i32 6, label %782
    i32 7, label %918
    i32 9, label %1193
  ]

96:                                               ; preds = %91
  %97 = load ptr, ptr %4, align 8, !tbaa !5
  %98 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %97, i32 noundef %98, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %99 = load ptr, ptr %3, align 8, !tbaa !5
  %100 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %99, i32 0, i32 3
  %101 = load i32, ptr %12, align 4, !tbaa !14
  %102 = sext i32 %101 to i64
  %103 = getelementptr inbounds [256 x i32], ptr %100, i64 0, i64 %102
  %104 = load ptr, ptr %3, align 8, !tbaa !5
  %105 = ptrtoint ptr %103 to i64
  %106 = ptrtoint ptr %104 to i64
  %107 = sub i64 %105, %106
  %108 = trunc i64 %107 to i32
  store i32 %108, ptr %9, align 4, !tbaa !14
  %109 = load ptr, ptr %4, align 8, !tbaa !5
  %110 = load i32, ptr %5, align 4, !tbaa !14
  %111 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %109, i32 noundef %110, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %111)
  %112 = load ptr, ptr %4, align 8, !tbaa !5
  %113 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %112, i32 noundef %113, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 13191, i32 noundef 2)
  %114 = load ptr, ptr %3, align 8, !tbaa !5
  %115 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %114, i32 0, i32 1
  %116 = load ptr, ptr %3, align 8, !tbaa !5
  %117 = ptrtoint ptr %115 to i64
  %118 = ptrtoint ptr %116 to i64
  %119 = sub i64 %117, %118
  %120 = trunc i64 %119 to i32
  store i32 %120, ptr %9, align 4, !tbaa !14
  %121 = load ptr, ptr %4, align 8, !tbaa !5
  %122 = load i32, ptr %5, align 4, !tbaa !14
  %123 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %121, i32 noundef %122, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %123)
  %124 = load ptr, ptr %4, align 8, !tbaa !5
  %125 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %124, i32 noundef %125, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %126 = load ptr, ptr %11, align 8, !tbaa !5
  %127 = getelementptr inbounds i8, ptr %126, i64 1
  %128 = load i8, ptr %127, align 1, !tbaa !16
  %129 = zext i8 %128 to i32
  %130 = shl i32 1, %129
  %131 = sub nsw i32 %130, 1
  %132 = sext i32 %131 to i64
  %133 = trunc i64 %132 to i32
  store i32 %133, ptr %9, align 4, !tbaa !14
  %134 = load ptr, ptr %4, align 8, !tbaa !5
  %135 = load i32, ptr %5, align 4, !tbaa !14
  %136 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %134, i32 noundef %135, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %136)
  %137 = load ptr, ptr %4, align 8, !tbaa !5
  %138 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %137, i32 noundef %138, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %139 = load ptr, ptr %3, align 8, !tbaa !5
  %140 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %139, i32 0, i32 5
  %141 = load i32, ptr %12, align 4, !tbaa !14
  %142 = sext i32 %141 to i64
  %143 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %140, i64 0, i64 %142
  %144 = getelementptr inbounds %"struct.libzpaq::Component", ptr %143, i32 0, i32 1
  %145 = load ptr, ptr %3, align 8, !tbaa !5
  %146 = ptrtoint ptr %144 to i64
  %147 = ptrtoint ptr %145 to i64
  %148 = sub i64 %146, %147
  %149 = trunc i64 %148 to i32
  store i32 %149, ptr %9, align 4, !tbaa !14
  %150 = load ptr, ptr %4, align 8, !tbaa !5
  %151 = load i32, ptr %5, align 4, !tbaa !14
  %152 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %150, i32 noundef %151, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %152)
  %153 = load ptr, ptr %4, align 8, !tbaa !5
  %154 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %153, i32 noundef %154, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %155 = load ptr, ptr %4, align 8, !tbaa !5
  %156 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %155, i32 noundef %156, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %157 = load ptr, ptr %3, align 8, !tbaa !5
  %158 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %157, i32 0, i32 5
  %159 = load i32, ptr %12, align 4, !tbaa !14
  %160 = sext i32 %159 to i64
  %161 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %158, i64 0, i64 %160
  %162 = getelementptr inbounds %"struct.libzpaq::Component", ptr %161, i32 0, i32 5
  %163 = load ptr, ptr %3, align 8, !tbaa !5
  %164 = ptrtoint ptr %162 to i64
  %165 = ptrtoint ptr %163 to i64
  %166 = sub i64 %164, %165
  %167 = trunc i64 %166 to i32
  store i32 %167, ptr %9, align 4, !tbaa !14
  %168 = load ptr, ptr %4, align 8, !tbaa !5
  %169 = load i32, ptr %5, align 4, !tbaa !14
  %170 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %168, i32 noundef %169, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %170)
  %171 = load ptr, ptr %4, align 8, !tbaa !5
  %172 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %171, i32 noundef %172, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9110662, i32 noundef 3)
  %173 = load ptr, ptr %4, align 8, !tbaa !5
  %174 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %173, i32 noundef %174, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12707857, i32 noundef 3)
  %175 = load ptr, ptr %4, align 8, !tbaa !5
  %176 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %175, i32 noundef %176, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 264209479, i32 noundef 4)
  %177 = load ptr, ptr %3, align 8, !tbaa !5
  %178 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %177, i32 0, i32 9
  %179 = load ptr, ptr %3, align 8, !tbaa !5
  %180 = ptrtoint ptr %178 to i64
  %181 = ptrtoint ptr %179 to i64
  %182 = sub i64 %180, %181
  %183 = trunc i64 %182 to i32
  store i32 %183, ptr %9, align 4, !tbaa !14
  %184 = load ptr, ptr %4, align 8, !tbaa !5
  %185 = load i32, ptr %5, align 4, !tbaa !14
  %186 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %184, i32 noundef %185, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %186)
  %187 = load ptr, ptr %4, align 8, !tbaa !5
  %188 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %187, i32 noundef %188, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %189 = load ptr, ptr %3, align 8, !tbaa !5
  %190 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %189, i32 0, i32 2
  %191 = load i32, ptr %12, align 4, !tbaa !14
  %192 = sext i32 %191 to i64
  %193 = getelementptr inbounds [256 x i32], ptr %190, i64 0, i64 %192
  %194 = load ptr, ptr %3, align 8, !tbaa !5
  %195 = ptrtoint ptr %193 to i64
  %196 = ptrtoint ptr %194 to i64
  %197 = sub i64 %195, %196
  %198 = trunc i64 %197 to i32
  store i32 %198, ptr %9, align 4, !tbaa !14
  %199 = load ptr, ptr %4, align 8, !tbaa !5
  %200 = load i32, ptr %5, align 4, !tbaa !14
  %201 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %199, i32 noundef %200, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %201)
  br label %1355

202:                                              ; preds = %91, %91
  %203 = load ptr, ptr %4, align 8, !tbaa !5
  %204 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %203, i32 noundef %204, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %205 = load ptr, ptr %4, align 8, !tbaa !5
  %206 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %205, i32 noundef %206, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %207 = load ptr, ptr %3, align 8, !tbaa !5
  %208 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %207, i32 0, i32 5
  %209 = load i32, ptr %12, align 4, !tbaa !14
  %210 = sext i32 %209 to i64
  %211 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %208, i64 0, i64 %210
  %212 = getelementptr inbounds %"struct.libzpaq::Component", ptr %211, i32 0, i32 6
  %213 = load ptr, ptr %3, align 8, !tbaa !5
  %214 = ptrtoint ptr %212 to i64
  %215 = ptrtoint ptr %213 to i64
  %216 = sub i64 %214, %215
  %217 = trunc i64 %216 to i32
  store i32 %217, ptr %9, align 4, !tbaa !14
  %218 = load ptr, ptr %4, align 8, !tbaa !5
  %219 = load i32, ptr %5, align 4, !tbaa !14
  %220 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %218, i32 noundef %219, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %220)
  %221 = load ptr, ptr %4, align 8, !tbaa !5
  %222 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %221, i32 noundef %222, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35591, i32 noundef 2)
  %223 = load ptr, ptr %4, align 8, !tbaa !5
  %224 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %223, i32 noundef %224, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35265, i32 noundef 2)
  %225 = load ptr, ptr %4, align 8, !tbaa !5
  %226 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %225, i32 noundef %226, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8648705, i32 noundef 3)
  %227 = load ptr, ptr %4, align 8, !tbaa !5
  %228 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %227, i32 noundef %228, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29706, i32 noundef 2)
  %229 = load ptr, ptr %4, align 8, !tbaa !5
  %230 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %229, i32 noundef %230, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  store i32 240, ptr %9, align 4, !tbaa !14
  %231 = load ptr, ptr %4, align 8, !tbaa !5
  %232 = load i32, ptr %5, align 4, !tbaa !14
  %233 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %231, i32 noundef %232, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %233)
  %234 = load ptr, ptr %4, align 8, !tbaa !5
  %235 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %234, i32 noundef %235, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8648720, i32 noundef 3)
  %236 = load ptr, ptr %4, align 8, !tbaa !5
  %237 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %236, i32 noundef %237, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 30070, i32 noundef 2)
  %238 = load ptr, ptr %4, align 8, !tbaa !5
  %239 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %238, i32 noundef %239, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706052, i32 noundef 3)
  %240 = load ptr, ptr %4, align 8, !tbaa !5
  %241 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %240, i32 noundef %241, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 911, i32 noundef 2)
  %242 = load ptr, ptr %3, align 8, !tbaa !5
  %243 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %242, i32 0, i32 3
  %244 = load i32, ptr %12, align 4, !tbaa !14
  %245 = sext i32 %244 to i64
  %246 = getelementptr inbounds [256 x i32], ptr %243, i64 0, i64 %245
  %247 = load ptr, ptr %3, align 8, !tbaa !5
  %248 = ptrtoint ptr %246 to i64
  %249 = ptrtoint ptr %247 to i64
  %250 = sub i64 %248, %249
  %251 = trunc i64 %250 to i32
  store i32 %251, ptr %9, align 4, !tbaa !14
  %252 = load ptr, ptr %4, align 8, !tbaa !5
  %253 = load i32, ptr %5, align 4, !tbaa !14
  %254 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %252, i32 noundef %253, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %254)
  %255 = load ptr, ptr %4, align 8, !tbaa !5
  %256 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %255, i32 noundef %256, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35272, i32 noundef 2)
  %257 = load ptr, ptr %4, align 8, !tbaa !5
  %258 = load i32, ptr %5, align 4, !tbaa !14
  %259 = load ptr, ptr %11, align 8, !tbaa !5
  %260 = getelementptr inbounds i8, ptr %259, i64 1
  %261 = load i8, ptr %260, align 1, !tbaa !16
  %262 = zext i8 %261 to i32
  %263 = add nsw i32 12708098, %262
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %257, i32 noundef %258, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %263, i32 noundef 3)
  %264 = load ptr, ptr %4, align 8, !tbaa !5
  %265 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %264, i32 noundef %265, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33249, i32 noundef 2)
  store i32 255, ptr %9, align 4, !tbaa !14
  %266 = load ptr, ptr %4, align 8, !tbaa !5
  %267 = load i32, ptr %5, align 4, !tbaa !14
  %268 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %266, i32 noundef %267, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %268)
  %269 = load ptr, ptr %4, align 8, !tbaa !5
  %270 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %269, i32 noundef %270, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12705796, i32 noundef 3)
  %271 = load ptr, ptr %4, align 8, !tbaa !5
  %272 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %271, i32 noundef %272, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %273 = load ptr, ptr %11, align 8, !tbaa !5
  %274 = getelementptr inbounds i8, ptr %273, i64 1
  %275 = load i8, ptr %274, align 1, !tbaa !16
  %276 = zext i8 %275 to i32
  %277 = shl i32 64, %276
  %278 = sub nsw i32 %277, 16
  %279 = sext i32 %278 to i64
  %280 = trunc i64 %279 to i32
  store i32 %280, ptr %9, align 4, !tbaa !14
  %281 = load ptr, ptr %4, align 8, !tbaa !5
  %282 = load i32, ptr %5, align 4, !tbaa !14
  %283 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %281, i32 noundef %282, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %283)
  %284 = load ptr, ptr %4, align 8, !tbaa !5
  %285 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %284, i32 noundef %285, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3804166, i32 noundef 3)
  %286 = load ptr, ptr %4, align 8, !tbaa !5
  %287 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %286, i32 noundef %287, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29773, i32 noundef 2)
  %288 = load ptr, ptr %4, align 8, !tbaa !5
  %289 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %288, i32 noundef %289, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8646672, i32 noundef 3)
  %290 = load ptr, ptr %4, align 8, !tbaa !5
  %291 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %290, i32 noundef %291, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3804166, i32 noundef 3)
  %292 = load ptr, ptr %4, align 8, !tbaa !5
  %293 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %292, i32 noundef %293, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29765, i32 noundef 2)
  %294 = load ptr, ptr %4, align 8, !tbaa !5
  %295 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %294, i32 noundef %295, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8646704, i32 noundef 3)
  %296 = load ptr, ptr %4, align 8, !tbaa !5
  %297 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %296, i32 noundef %297, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3804166, i32 noundef 3)
  %298 = load ptr, ptr %4, align 8, !tbaa !5
  %299 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %298, i32 noundef %299, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29757, i32 noundef 2)
  %300 = load ptr, ptr %4, align 8, !tbaa !5
  %301 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %300, i32 noundef %301, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8646689, i32 noundef 3)
  %302 = load ptr, ptr %4, align 8, !tbaa !5
  %303 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %302, i32 noundef %303, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9051142, i32 noundef 3)
  %304 = load ptr, ptr %4, align 8, !tbaa !5
  %305 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %304, i32 noundef %305, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35266, i32 noundef 2)
  %306 = load ptr, ptr %4, align 8, !tbaa !5
  %307 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %306, i32 noundef %307, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8647200, i32 noundef 3)
  %308 = load ptr, ptr %4, align 8, !tbaa !5
  %309 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %308, i32 noundef %309, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3808278, i32 noundef 3)
  %310 = load ptr, ptr %4, align 8, !tbaa !5
  %311 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %310, i32 noundef %311, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 30472, i32 noundef 2)
  %312 = load ptr, ptr %4, align 8, !tbaa !5
  %313 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %312, i32 noundef %313, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8647216, i32 noundef 3)
  %314 = load ptr, ptr %4, align 8, !tbaa !5
  %315 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %314, i32 noundef %315, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3808278, i32 noundef 3)
  %316 = load ptr, ptr %4, align 8, !tbaa !5
  %317 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %316, i32 noundef %317, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 30225, i32 noundef 2)
  %318 = load ptr, ptr %4, align 8, !tbaa !5
  %319 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %318, i32 noundef %319, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8646672, i32 noundef 3)
  %320 = load ptr, ptr %4, align 8, !tbaa !5
  %321 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %320, i32 noundef %321, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9051142, i32 noundef 3)
  %322 = load ptr, ptr %4, align 8, !tbaa !5
  %323 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %322, i32 noundef %323, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8646704, i32 noundef 3)
  %324 = load ptr, ptr %4, align 8, !tbaa !5
  %325 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %324, i32 noundef %325, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3808262, i32 noundef 3)
  %326 = load ptr, ptr %4, align 8, !tbaa !5
  %327 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %326, i32 noundef %327, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29443, i32 noundef 2)
  %328 = load ptr, ptr %4, align 8, !tbaa !5
  %329 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %328, i32 noundef %329, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8646704, i32 noundef 3)
  %330 = load ptr, ptr %4, align 8, !tbaa !5
  %331 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %330, i32 noundef %331, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8646657, i32 noundef 3)
  %332 = load ptr, ptr %4, align 8, !tbaa !5
  %333 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %332, i32 noundef %333, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8981510, i32 noundef 3)
  %334 = load ptr, ptr %4, align 8, !tbaa !5
  %335 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %334, i32 noundef %335, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12745, i32 noundef 2)
  %336 = load ptr, ptr %4, align 8, !tbaa !5
  %337 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %336, i32 noundef %337, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -1991506428, i32 noundef 4)
  %338 = load ptr, ptr %4, align 8, !tbaa !5
  %339 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %338, i32 noundef %339, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -1991506424, i32 noundef 4)
  %340 = load ptr, ptr %4, align 8, !tbaa !5
  %341 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %340, i32 noundef %341, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -1991506420, i32 noundef 4)
  %342 = load ptr, ptr %4, align 8, !tbaa !5
  %343 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %342, i32 noundef %343, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %344 = load ptr, ptr %3, align 8, !tbaa !5
  %345 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %344, i32 0, i32 5
  %346 = load i32, ptr %12, align 4, !tbaa !14
  %347 = sext i32 %346 to i64
  %348 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %345, i64 0, i64 %347
  %349 = getelementptr inbounds %"struct.libzpaq::Component", ptr %348, i32 0, i32 4
  %350 = load ptr, ptr %3, align 8, !tbaa !5
  %351 = ptrtoint ptr %349 to i64
  %352 = ptrtoint ptr %350 to i64
  %353 = sub i64 %351, %352
  %354 = trunc i64 %353 to i32
  store i32 %354, ptr %9, align 4, !tbaa !14
  %355 = load ptr, ptr %4, align 8, !tbaa !5
  %356 = load i32, ptr %5, align 4, !tbaa !14
  %357 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %355, i32 noundef %356, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %357)
  %358 = load ptr, ptr %4, align 8, !tbaa !5
  %359 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %358, i32 noundef %359, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 60166, i32 noundef 2)
  %360 = load ptr, ptr %4, align 8, !tbaa !5
  %361 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %360, i32 noundef %361, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %362 = load ptr, ptr %3, align 8, !tbaa !5
  %363 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %362, i32 0, i32 5
  %364 = load i32, ptr %12, align 4, !tbaa !14
  %365 = sext i32 %364 to i64
  %366 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %363, i64 0, i64 %365
  %367 = getelementptr inbounds %"struct.libzpaq::Component", ptr %366, i32 0, i32 4
  %368 = load ptr, ptr %3, align 8, !tbaa !5
  %369 = ptrtoint ptr %367 to i64
  %370 = ptrtoint ptr %368 to i64
  %371 = sub i64 %369, %370
  %372 = trunc i64 %371 to i32
  store i32 %372, ptr %9, align 4, !tbaa !14
  %373 = load ptr, ptr %4, align 8, !tbaa !5
  %374 = load i32, ptr %5, align 4, !tbaa !14
  %375 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %373, i32 noundef %374, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %375)
  %376 = load ptr, ptr %4, align 8, !tbaa !5
  %377 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %376, i32 noundef %377, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35735, i32 noundef 2)
  %378 = load ptr, ptr %3, align 8, !tbaa !5
  %379 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %378, i32 0, i32 1
  %380 = load ptr, ptr %3, align 8, !tbaa !5
  %381 = ptrtoint ptr %379 to i64
  %382 = ptrtoint ptr %380 to i64
  %383 = sub i64 %381, %382
  %384 = trunc i64 %383 to i32
  store i32 %384, ptr %9, align 4, !tbaa !14
  %385 = load ptr, ptr %4, align 8, !tbaa !5
  %386 = load i32, ptr %5, align 4, !tbaa !14
  %387 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %385, i32 noundef %386, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %387)
  %388 = load ptr, ptr %4, align 8, !tbaa !5
  %389 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %388, i32 noundef %389, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8643087, i32 noundef 3)
  %390 = load ptr, ptr %4, align 8, !tbaa !5
  %391 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %390, i32 noundef %391, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 464, i32 noundef 2)
  %392 = load ptr, ptr %4, align 8, !tbaa !5
  %393 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %392, i32 noundef %393, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263590918, i32 noundef 4)
  %394 = load ptr, ptr %4, align 8, !tbaa !5
  %395 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %394, i32 noundef %395, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35223, i32 noundef 2)
  %396 = load ptr, ptr %3, align 8, !tbaa !5
  %397 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %396, i32 0, i32 5
  %398 = load i32, ptr %12, align 4, !tbaa !14
  %399 = sext i32 %398 to i64
  %400 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %397, i64 0, i64 %399
  %401 = getelementptr inbounds %"struct.libzpaq::Component", ptr %400, i32 0, i32 1
  %402 = load ptr, ptr %3, align 8, !tbaa !5
  %403 = ptrtoint ptr %401 to i64
  %404 = ptrtoint ptr %402 to i64
  %405 = sub i64 %403, %404
  %406 = trunc i64 %405 to i32
  store i32 %406, ptr %9, align 4, !tbaa !14
  %407 = load ptr, ptr %4, align 8, !tbaa !5
  %408 = load i32, ptr %5, align 4, !tbaa !14
  %409 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %407, i32 noundef %408, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %409)
  %410 = load ptr, ptr %4, align 8, !tbaa !5
  %411 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %410, i32 noundef %411, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %412 = load ptr, ptr %4, align 8, !tbaa !5
  %413 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %412, i32 noundef %413, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %414 = load ptr, ptr %3, align 8, !tbaa !5
  %415 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %414, i32 0, i32 5
  %416 = load i32, ptr %12, align 4, !tbaa !14
  %417 = sext i32 %416 to i64
  %418 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %415, i64 0, i64 %417
  %419 = getelementptr inbounds %"struct.libzpaq::Component", ptr %418, i32 0, i32 5
  %420 = load ptr, ptr %3, align 8, !tbaa !5
  %421 = ptrtoint ptr %419 to i64
  %422 = ptrtoint ptr %420 to i64
  %423 = sub i64 %421, %422
  %424 = trunc i64 %423 to i32
  store i32 %424, ptr %9, align 4, !tbaa !14
  %425 = load ptr, ptr %4, align 8, !tbaa !5
  %426 = load i32, ptr %5, align 4, !tbaa !14
  %427 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %425, i32 noundef %426, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %427)
  %428 = load ptr, ptr %11, align 8, !tbaa !5
  %429 = getelementptr inbounds i8, ptr %428, i64 0
  %430 = load i8, ptr %429, align 1, !tbaa !16
  %431 = zext i8 %430 to i32
  %432 = icmp eq i32 %431, 3
  br i1 %432, label %433, label %450

433:                                              ; preds = %202
  %434 = load ptr, ptr %4, align 8, !tbaa !5
  %435 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %434, i32 noundef %435, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9110678, i32 noundef 3)
  %436 = load ptr, ptr %4, align 8, !tbaa !5
  %437 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %436, i32 noundef %437, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12707848, i32 noundef 3)
  %438 = load ptr, ptr %4, align 8, !tbaa !5
  %439 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %438, i32 noundef %439, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 264209479, i32 noundef 4)
  %440 = load ptr, ptr %3, align 8, !tbaa !5
  %441 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %440, i32 0, i32 9
  %442 = load ptr, ptr %3, align 8, !tbaa !5
  %443 = ptrtoint ptr %441 to i64
  %444 = ptrtoint ptr %442 to i64
  %445 = sub i64 %443, %444
  %446 = trunc i64 %445 to i32
  store i32 %446, ptr %9, align 4, !tbaa !14
  %447 = load ptr, ptr %4, align 8, !tbaa !5
  %448 = load i32, ptr %5, align 4, !tbaa !14
  %449 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %447, i32 noundef %448, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %449)
  br label %496

450:                                              ; preds = %202
  %451 = load ptr, ptr %4, align 8, !tbaa !5
  %452 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %451, i32 noundef %452, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %453 = load ptr, ptr %3, align 8, !tbaa !5
  %454 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %453, i32 0, i32 2
  %455 = load ptr, ptr %11, align 8, !tbaa !5
  %456 = getelementptr inbounds i8, ptr %455, i64 2
  %457 = load i8, ptr %456, align 1, !tbaa !16
  %458 = zext i8 %457 to i64
  %459 = getelementptr inbounds [256 x i32], ptr %454, i64 0, i64 %458
  %460 = load ptr, ptr %3, align 8, !tbaa !5
  %461 = ptrtoint ptr %459 to i64
  %462 = ptrtoint ptr %460 to i64
  %463 = sub i64 %461, %462
  %464 = trunc i64 %463 to i32
  store i32 %464, ptr %9, align 4, !tbaa !14
  %465 = load ptr, ptr %4, align 8, !tbaa !5
  %466 = load i32, ptr %5, align 4, !tbaa !14
  %467 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %465, i32 noundef %466, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %467)
  %468 = load ptr, ptr %4, align 8, !tbaa !5
  %469 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %468, i32 noundef %469, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263128278, i32 noundef 4)
  %470 = load ptr, ptr %4, align 8, !tbaa !5
  %471 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %470, i32 noundef %471, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -1957898748, i32 noundef 4)
  %472 = load ptr, ptr %4, align 8, !tbaa !5
  %473 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %472, i32 noundef %473, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706054, i32 noundef 3)
  %474 = load ptr, ptr %4, align 8, !tbaa !5
  %475 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %474, i32 noundef %475, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 456, i32 noundef 2)
  %476 = load ptr, ptr %4, align 8, !tbaa !5
  %477 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %476, i32 noundef %477, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12711952, i32 noundef 3)
  %478 = load ptr, ptr %4, align 8, !tbaa !5
  %479 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %478, i32 noundef %479, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 185, i32 noundef 1)
  store i32 2047, ptr %9, align 4, !tbaa !14
  %480 = load ptr, ptr %4, align 8, !tbaa !5
  %481 = load i32, ptr %5, align 4, !tbaa !14
  %482 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %480, i32 noundef %481, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %482)
  %483 = load ptr, ptr %4, align 8, !tbaa !5
  %484 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %483, i32 noundef %484, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14792, i32 noundef 2)
  %485 = load ptr, ptr %4, align 8, !tbaa !5
  %486 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %485, i32 noundef %486, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1003457, i32 noundef 3)
  %487 = load ptr, ptr %4, align 8, !tbaa !5
  %488 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %487, i32 noundef %488, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 185, i32 noundef 1)
  store i32 -2048, ptr %9, align 4, !tbaa !14
  %489 = load ptr, ptr %4, align 8, !tbaa !5
  %490 = load i32, ptr %5, align 4, !tbaa !14
  %491 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %489, i32 noundef %490, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %491)
  %492 = load ptr, ptr %4, align 8, !tbaa !5
  %493 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %492, i32 noundef %493, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14792, i32 noundef 2)
  %494 = load ptr, ptr %4, align 8, !tbaa !5
  %495 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %494, i32 noundef %495, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1002689, i32 noundef 3)
  br label %496

496:                                              ; preds = %450, %433
  %497 = load ptr, ptr %4, align 8, !tbaa !5
  %498 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %497, i32 noundef %498, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %499 = load ptr, ptr %3, align 8, !tbaa !5
  %500 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %499, i32 0, i32 2
  %501 = load i32, ptr %12, align 4, !tbaa !14
  %502 = sext i32 %501 to i64
  %503 = getelementptr inbounds [256 x i32], ptr %500, i64 0, i64 %502
  %504 = load ptr, ptr %3, align 8, !tbaa !5
  %505 = ptrtoint ptr %503 to i64
  %506 = ptrtoint ptr %504 to i64
  %507 = sub i64 %505, %506
  %508 = trunc i64 %507 to i32
  store i32 %508, ptr %9, align 4, !tbaa !14
  %509 = load ptr, ptr %4, align 8, !tbaa !5
  %510 = load i32, ptr %5, align 4, !tbaa !14
  %511 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %509, i32 noundef %510, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %511)
  br label %1355

512:                                              ; preds = %91
  %513 = load ptr, ptr %4, align 8, !tbaa !5
  %514 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %513, i32 noundef %514, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %515 = load ptr, ptr %4, align 8, !tbaa !5
  %516 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %515, i32 noundef %516, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %517 = load ptr, ptr %3, align 8, !tbaa !5
  %518 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %517, i32 0, i32 5
  %519 = load i32, ptr %12, align 4, !tbaa !14
  %520 = sext i32 %519 to i64
  %521 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %518, i64 0, i64 %520
  %522 = getelementptr inbounds %"struct.libzpaq::Component", ptr %521, i32 0, i32 6
  %523 = load ptr, ptr %3, align 8, !tbaa !5
  %524 = ptrtoint ptr %522 to i64
  %525 = ptrtoint ptr %523 to i64
  %526 = sub i64 %524, %525
  %527 = trunc i64 %526 to i32
  store i32 %527, ptr %9, align 4, !tbaa !14
  %528 = load ptr, ptr %4, align 8, !tbaa !5
  %529 = load i32, ptr %5, align 4, !tbaa !14
  %530 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %528, i32 noundef %529, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %530)
  %531 = load ptr, ptr %4, align 8, !tbaa !5
  %532 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %531, i32 noundef %532, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %533 = load ptr, ptr %3, align 8, !tbaa !5
  %534 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %533, i32 0, i32 5
  %535 = load i32, ptr %12, align 4, !tbaa !14
  %536 = sext i32 %535 to i64
  %537 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %534, i64 0, i64 %536
  %538 = getelementptr inbounds %"struct.libzpaq::Component", ptr %537, i32 0, i32 2
  %539 = load ptr, ptr %3, align 8, !tbaa !5
  %540 = ptrtoint ptr %538 to i64
  %541 = ptrtoint ptr %539 to i64
  %542 = sub i64 %540, %541
  %543 = trunc i64 %542 to i32
  store i32 %543, ptr %9, align 4, !tbaa !14
  %544 = load ptr, ptr %4, align 8, !tbaa !5
  %545 = load i32, ptr %5, align 4, !tbaa !14
  %546 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %544, i32 noundef %545, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %546)
  %547 = load ptr, ptr %4, align 8, !tbaa !5
  %548 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %547, i32 noundef %548, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 34240, i32 noundef 2)
  %549 = load ptr, ptr %4, align 8, !tbaa !5
  %550 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %549, i32 noundef %550, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29769, i32 noundef 2)
  %551 = load ptr, ptr %4, align 8, !tbaa !5
  %552 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %551, i32 noundef %552, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 185, i32 noundef 1)
  store i32 7, ptr %9, align 4, !tbaa !14
  %553 = load ptr, ptr %4, align 8, !tbaa !5
  %554 = load i32, ptr %5, align 4, !tbaa !14
  %555 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %553, i32 noundef %554, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %555)
  %556 = load ptr, ptr %4, align 8, !tbaa !5
  %557 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %556, i32 noundef %557, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 11151, i32 noundef 2)
  %558 = load ptr, ptr %3, align 8, !tbaa !5
  %559 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %558, i32 0, i32 5
  %560 = load i32, ptr %12, align 4, !tbaa !14
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %559, i64 0, i64 %561
  %563 = getelementptr inbounds %"struct.libzpaq::Component", ptr %562, i32 0, i32 1
  %564 = load ptr, ptr %3, align 8, !tbaa !5
  %565 = ptrtoint ptr %563 to i64
  %566 = ptrtoint ptr %564 to i64
  %567 = sub i64 %565, %566
  %568 = trunc i64 %567 to i32
  store i32 %568, ptr %9, align 4, !tbaa !14
  %569 = load ptr, ptr %4, align 8, !tbaa !5
  %570 = load i32, ptr %5, align 4, !tbaa !14
  %571 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %569, i32 noundef %570, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %571)
  %572 = load ptr, ptr %4, align 8, !tbaa !5
  %573 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %572, i32 noundef %573, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %574 = load ptr, ptr %3, align 8, !tbaa !5
  %575 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %574, i32 0, i32 5
  %576 = load i32, ptr %12, align 4, !tbaa !14
  %577 = sext i32 %576 to i64
  %578 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %575, i64 0, i64 %577
  %579 = getelementptr inbounds %"struct.libzpaq::Component", ptr %578, i32 0, i32 0
  %580 = load ptr, ptr %3, align 8, !tbaa !5
  %581 = ptrtoint ptr %579 to i64
  %582 = ptrtoint ptr %580 to i64
  %583 = sub i64 %581, %582
  %584 = trunc i64 %583 to i32
  store i32 %584, ptr %9, align 4, !tbaa !14
  %585 = load ptr, ptr %4, align 8, !tbaa !5
  %586 = load i32, ptr %5, align 4, !tbaa !14
  %587 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %585, i32 noundef %586, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %587)
  %588 = load ptr, ptr %4, align 8, !tbaa !5
  %589 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %588, i32 noundef %589, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 11143, i32 noundef 2)
  %590 = load ptr, ptr %3, align 8, !tbaa !5
  %591 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %590, i32 0, i32 5
  %592 = load i32, ptr %12, align 4, !tbaa !14
  %593 = sext i32 %592 to i64
  %594 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %591, i64 0, i64 %593
  %595 = getelementptr inbounds %"struct.libzpaq::Component", ptr %594, i32 0, i32 3
  %596 = load ptr, ptr %3, align 8, !tbaa !5
  %597 = ptrtoint ptr %595 to i64
  %598 = ptrtoint ptr %596 to i64
  %599 = sub i64 %597, %598
  %600 = trunc i64 %599 to i32
  store i32 %600, ptr %9, align 4, !tbaa !14
  %601 = load ptr, ptr %4, align 8, !tbaa !5
  %602 = load i32, ptr %5, align 4, !tbaa !14
  %603 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %601, i32 noundef %602, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %603)
  %604 = load ptr, ptr %4, align 8, !tbaa !5
  %605 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %604, i32 noundef %605, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %606 = load ptr, ptr %11, align 8, !tbaa !5
  %607 = getelementptr inbounds i8, ptr %606, i64 2
  %608 = load i8, ptr %607, align 1, !tbaa !16
  %609 = zext i8 %608 to i32
  %610 = shl i32 1, %609
  %611 = sub nsw i32 %610, 1
  %612 = sext i32 %611 to i64
  %613 = trunc i64 %612 to i32
  store i32 %613, ptr %9, align 4, !tbaa !14
  %614 = load ptr, ptr %4, align 8, !tbaa !5
  %615 = load i32, ptr %5, align 4, !tbaa !14
  %616 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %614, i32 noundef %615, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %616)
  %617 = load ptr, ptr %4, align 8, !tbaa !5
  %618 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %617, i32 noundef %618, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263586822, i32 noundef 4)
  %619 = load ptr, ptr %4, align 8, !tbaa !5
  %620 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %619, i32 noundef %620, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 54248, i32 noundef 2)
  %621 = load ptr, ptr %4, align 8, !tbaa !5
  %622 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %621, i32 noundef %622, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8642561, i32 noundef 3)
  %623 = load ptr, ptr %4, align 8, !tbaa !5
  %624 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %623, i32 noundef %624, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %625 = load ptr, ptr %3, align 8, !tbaa !5
  %626 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %625, i32 0, i32 5
  %627 = load i32, ptr %12, align 4, !tbaa !14
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %626, i64 0, i64 %628
  %630 = getelementptr inbounds %"struct.libzpaq::Component", ptr %629, i32 0, i32 4
  %631 = load ptr, ptr %3, align 8, !tbaa !5
  %632 = ptrtoint ptr %630 to i64
  %633 = ptrtoint ptr %631 to i64
  %634 = sub i64 %632, %633
  %635 = trunc i64 %634 to i32
  store i32 %635, ptr %9, align 4, !tbaa !14
  %636 = load ptr, ptr %4, align 8, !tbaa !5
  %637 = load i32, ptr %5, align 4, !tbaa !14
  %638 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %636, i32 noundef %637, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %638)
  %639 = load ptr, ptr %4, align 8, !tbaa !5
  %640 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %639, i32 noundef %640, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %641 = load ptr, ptr %3, align 8, !tbaa !5
  %642 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %641, i32 0, i32 5
  %643 = load i32, ptr %12, align 4, !tbaa !14
  %644 = sext i32 %643 to i64
  %645 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %642, i64 0, i64 %644
  %646 = getelementptr inbounds %"struct.libzpaq::Component", ptr %645, i32 0, i32 2
  %647 = load ptr, ptr %3, align 8, !tbaa !5
  %648 = ptrtoint ptr %646 to i64
  %649 = ptrtoint ptr %647 to i64
  %650 = sub i64 %648, %649
  %651 = trunc i64 %650 to i32
  store i32 %651, ptr %9, align 4, !tbaa !14
  %652 = load ptr, ptr %4, align 8, !tbaa !5
  %653 = load i32, ptr %5, align 4, !tbaa !14
  %654 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %652, i32 noundef %653, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %654)
  %655 = load ptr, ptr %4, align 8, !tbaa !5
  %656 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %655, i32 noundef %656, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9143431, i32 noundef 3)
  %657 = load ptr, ptr %3, align 8, !tbaa !5
  %658 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %657, i32 0, i32 6
  %659 = load ptr, ptr %3, align 8, !tbaa !5
  %660 = ptrtoint ptr %658 to i64
  %661 = ptrtoint ptr %659 to i64
  %662 = sub i64 %660, %661
  %663 = trunc i64 %662 to i32
  store i32 %663, ptr %9, align 4, !tbaa !14
  %664 = load ptr, ptr %4, align 8, !tbaa !5
  %665 = load i32, ptr %5, align 4, !tbaa !14
  %666 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %664, i32 noundef %665, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %666)
  %667 = load ptr, ptr %4, align 8, !tbaa !5
  %668 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %667, i32 noundef %668, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29698, i32 noundef 2)
  %669 = load ptr, ptr %4, align 8, !tbaa !5
  %670 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %669, i32 noundef %670, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 63448, i32 noundef 2)
  %671 = load ptr, ptr %4, align 8, !tbaa !5
  %672 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %671, i32 noundef %672, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  store i32 32767, ptr %9, align 4, !tbaa !14
  %673 = load ptr, ptr %4, align 8, !tbaa !5
  %674 = load i32, ptr %5, align 4, !tbaa !14
  %675 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %673, i32 noundef %674, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %675)
  %676 = load ptr, ptr %4, align 8, !tbaa !5
  %677 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %676, i32 noundef %677, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 264209479, i32 noundef 4)
  %678 = load ptr, ptr %3, align 8, !tbaa !5
  %679 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %678, i32 0, i32 9
  %680 = load ptr, ptr %3, align 8, !tbaa !5
  %681 = ptrtoint ptr %679 to i64
  %682 = ptrtoint ptr %680 to i64
  %683 = sub i64 %681, %682
  %684 = trunc i64 %683 to i32
  store i32 %684, ptr %9, align 4, !tbaa !14
  %685 = load ptr, ptr %4, align 8, !tbaa !5
  %686 = load i32, ptr %5, align 4, !tbaa !14
  %687 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %685, i32 noundef %686, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %687)
  %688 = load ptr, ptr %4, align 8, !tbaa !5
  %689 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %688, i32 noundef %689, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %690 = load ptr, ptr %3, align 8, !tbaa !5
  %691 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %690, i32 0, i32 2
  %692 = load i32, ptr %12, align 4, !tbaa !14
  %693 = sext i32 %692 to i64
  %694 = getelementptr inbounds [256 x i32], ptr %691, i64 0, i64 %693
  %695 = load ptr, ptr %3, align 8, !tbaa !5
  %696 = ptrtoint ptr %694 to i64
  %697 = ptrtoint ptr %695 to i64
  %698 = sub i64 %696, %697
  %699 = trunc i64 %698 to i32
  store i32 %699, ptr %9, align 4, !tbaa !14
  %700 = load ptr, ptr %4, align 8, !tbaa !5
  %701 = load i32, ptr %5, align 4, !tbaa !14
  %702 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %700, i32 noundef %701, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %702)
  br label %1355

703:                                              ; preds = %91
  %704 = load ptr, ptr %4, align 8, !tbaa !5
  %705 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %704, i32 noundef %705, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %706 = load ptr, ptr %3, align 8, !tbaa !5
  %707 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %706, i32 0, i32 2
  %708 = load ptr, ptr %11, align 8, !tbaa !5
  %709 = getelementptr inbounds i8, ptr %708, i64 1
  %710 = load i8, ptr %709, align 1, !tbaa !16
  %711 = zext i8 %710 to i64
  %712 = getelementptr inbounds [256 x i32], ptr %707, i64 0, i64 %711
  %713 = load ptr, ptr %3, align 8, !tbaa !5
  %714 = ptrtoint ptr %712 to i64
  %715 = ptrtoint ptr %713 to i64
  %716 = sub i64 %714, %715
  %717 = trunc i64 %716 to i32
  store i32 %717, ptr %9, align 4, !tbaa !14
  %718 = load ptr, ptr %4, align 8, !tbaa !5
  %719 = load i32, ptr %5, align 4, !tbaa !14
  %720 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %718, i32 noundef %719, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %720)
  %721 = load ptr, ptr %4, align 8, !tbaa !5
  %722 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %721, i32 noundef %722, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 11143, i32 noundef 2)
  %723 = load ptr, ptr %3, align 8, !tbaa !5
  %724 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %723, i32 0, i32 2
  %725 = load ptr, ptr %11, align 8, !tbaa !5
  %726 = getelementptr inbounds i8, ptr %725, i64 2
  %727 = load i8, ptr %726, align 1, !tbaa !16
  %728 = zext i8 %727 to i64
  %729 = getelementptr inbounds [256 x i32], ptr %724, i64 0, i64 %728
  %730 = load ptr, ptr %3, align 8, !tbaa !5
  %731 = ptrtoint ptr %729 to i64
  %732 = ptrtoint ptr %730 to i64
  %733 = sub i64 %731, %732
  %734 = trunc i64 %733 to i32
  store i32 %734, ptr %9, align 4, !tbaa !14
  %735 = load ptr, ptr %4, align 8, !tbaa !5
  %736 = load i32, ptr %5, align 4, !tbaa !14
  %737 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %735, i32 noundef %736, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %737)
  %738 = load ptr, ptr %4, align 8, !tbaa !5
  %739 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %738, i32 noundef %739, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 27072, i32 noundef 2)
  %740 = load ptr, ptr %11, align 8, !tbaa !5
  %741 = getelementptr inbounds i8, ptr %740, i64 3
  %742 = load i8, ptr %741, align 1, !tbaa !16
  %743 = zext i8 %742 to i64
  %744 = trunc i64 %743 to i32
  store i32 %744, ptr %9, align 4, !tbaa !14
  %745 = load ptr, ptr %4, align 8, !tbaa !5
  %746 = load i32, ptr %5, align 4, !tbaa !14
  %747 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %745, i32 noundef %746, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %747)
  %748 = load ptr, ptr %4, align 8, !tbaa !5
  %749 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %748, i32 noundef %749, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12711944, i32 noundef 3)
  %750 = load ptr, ptr %4, align 8, !tbaa !5
  %751 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %750, i32 noundef %751, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 903, i32 noundef 2)
  %752 = load ptr, ptr %3, align 8, !tbaa !5
  %753 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %752, i32 0, i32 2
  %754 = load ptr, ptr %11, align 8, !tbaa !5
  %755 = getelementptr inbounds i8, ptr %754, i64 2
  %756 = load i8, ptr %755, align 1, !tbaa !16
  %757 = zext i8 %756 to i64
  %758 = getelementptr inbounds [256 x i32], ptr %753, i64 0, i64 %757
  %759 = load ptr, ptr %3, align 8, !tbaa !5
  %760 = ptrtoint ptr %758 to i64
  %761 = ptrtoint ptr %759 to i64
  %762 = sub i64 %760, %761
  %763 = trunc i64 %762 to i32
  store i32 %763, ptr %9, align 4, !tbaa !14
  %764 = load ptr, ptr %4, align 8, !tbaa !5
  %765 = load i32, ptr %5, align 4, !tbaa !14
  %766 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %764, i32 noundef %765, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %766)
  %767 = load ptr, ptr %4, align 8, !tbaa !5
  %768 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %767, i32 noundef %768, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %769 = load ptr, ptr %3, align 8, !tbaa !5
  %770 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %769, i32 0, i32 2
  %771 = load i32, ptr %12, align 4, !tbaa !14
  %772 = sext i32 %771 to i64
  %773 = getelementptr inbounds [256 x i32], ptr %770, i64 0, i64 %772
  %774 = load ptr, ptr %3, align 8, !tbaa !5
  %775 = ptrtoint ptr %773 to i64
  %776 = ptrtoint ptr %774 to i64
  %777 = sub i64 %775, %776
  %778 = trunc i64 %777 to i32
  store i32 %778, ptr %9, align 4, !tbaa !14
  %779 = load ptr, ptr %4, align 8, !tbaa !5
  %780 = load i32, ptr %5, align 4, !tbaa !14
  %781 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %779, i32 noundef %780, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %781)
  br label %1355

782:                                              ; preds = %91
  %783 = load ptr, ptr %4, align 8, !tbaa !5
  %784 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %783, i32 noundef %784, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35591, i32 noundef 2)
  %785 = load ptr, ptr %4, align 8, !tbaa !5
  %786 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %785, i32 noundef %786, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %787 = load ptr, ptr %11, align 8, !tbaa !5
  %788 = getelementptr inbounds i8, ptr %787, i64 5
  %789 = load i8, ptr %788, align 1, !tbaa !16
  %790 = zext i8 %789 to i64
  %791 = trunc i64 %790 to i32
  store i32 %791, ptr %9, align 4, !tbaa !14
  %792 = load ptr, ptr %4, align 8, !tbaa !5
  %793 = load i32, ptr %5, align 4, !tbaa !14
  %794 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %792, i32 noundef %793, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %794)
  %795 = load ptr, ptr %4, align 8, !tbaa !5
  %796 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %795, i32 noundef %796, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 903, i32 noundef 2)
  %797 = load ptr, ptr %3, align 8, !tbaa !5
  %798 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %797, i32 0, i32 3
  %799 = load i32, ptr %12, align 4, !tbaa !14
  %800 = sext i32 %799 to i64
  %801 = getelementptr inbounds [256 x i32], ptr %798, i64 0, i64 %800
  %802 = load ptr, ptr %3, align 8, !tbaa !5
  %803 = ptrtoint ptr %801 to i64
  %804 = ptrtoint ptr %802 to i64
  %805 = sub i64 %803, %804
  %806 = trunc i64 %805 to i32
  store i32 %806, ptr %9, align 4, !tbaa !14
  %807 = load ptr, ptr %4, align 8, !tbaa !5
  %808 = load i32, ptr %5, align 4, !tbaa !14
  %809 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %807, i32 noundef %808, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %809)
  %810 = load ptr, ptr %4, align 8, !tbaa !5
  %811 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %810, i32 noundef %811, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %812 = load ptr, ptr %11, align 8, !tbaa !5
  %813 = getelementptr inbounds i8, ptr %812, i64 1
  %814 = load i8, ptr %813, align 1, !tbaa !16
  %815 = zext i8 %814 to i32
  %816 = shl i32 1, %815
  %817 = sub nsw i32 %816, 1
  %818 = sext i32 %817 to i64
  %819 = trunc i64 %818 to i32
  store i32 %819, ptr %9, align 4, !tbaa !14
  %820 = load ptr, ptr %4, align 8, !tbaa !5
  %821 = load i32, ptr %5, align 4, !tbaa !14
  %822 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %820, i32 noundef %821, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %822)
  %823 = load ptr, ptr %4, align 8, !tbaa !5
  %824 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %823, i32 noundef %824, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %825 = load ptr, ptr %3, align 8, !tbaa !5
  %826 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %825, i32 0, i32 5
  %827 = load i32, ptr %12, align 4, !tbaa !14
  %828 = sext i32 %827 to i64
  %829 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %826, i64 0, i64 %828
  %830 = getelementptr inbounds %"struct.libzpaq::Component", ptr %829, i32 0, i32 1
  %831 = load ptr, ptr %3, align 8, !tbaa !5
  %832 = ptrtoint ptr %830 to i64
  %833 = ptrtoint ptr %831 to i64
  %834 = sub i64 %832, %833
  %835 = trunc i64 %834 to i32
  store i32 %835, ptr %9, align 4, !tbaa !14
  %836 = load ptr, ptr %4, align 8, !tbaa !5
  %837 = load i32, ptr %5, align 4, !tbaa !14
  %838 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %836, i32 noundef %837, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %838)
  %839 = load ptr, ptr %4, align 8, !tbaa !5
  %840 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %839, i32 noundef %840, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %841 = load ptr, ptr %4, align 8, !tbaa !5
  %842 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %841, i32 noundef %842, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %843 = load ptr, ptr %3, align 8, !tbaa !5
  %844 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %843, i32 0, i32 5
  %845 = load i32, ptr %12, align 4, !tbaa !14
  %846 = sext i32 %845 to i64
  %847 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %844, i64 0, i64 %846
  %848 = getelementptr inbounds %"struct.libzpaq::Component", ptr %847, i32 0, i32 7
  %849 = load ptr, ptr %3, align 8, !tbaa !5
  %850 = ptrtoint ptr %848 to i64
  %851 = ptrtoint ptr %849 to i64
  %852 = sub i64 %850, %851
  %853 = trunc i64 %852 to i32
  store i32 %853, ptr %9, align 4, !tbaa !14
  %854 = load ptr, ptr %4, align 8, !tbaa !5
  %855 = load i32, ptr %5, align 4, !tbaa !14
  %856 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %854, i32 noundef %855, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %856)
  %857 = load ptr, ptr %4, align 8, !tbaa !5
  %858 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %857, i32 noundef %858, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263652422, i32 noundef 4)
  %859 = load ptr, ptr %4, align 8, !tbaa !5
  %860 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %859, i32 noundef %860, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35727, i32 noundef 2)
  %861 = load ptr, ptr %3, align 8, !tbaa !5
  %862 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %861, i32 0, i32 2
  %863 = load ptr, ptr %11, align 8, !tbaa !5
  %864 = getelementptr inbounds i8, ptr %863, i64 2
  %865 = load i8, ptr %864, align 1, !tbaa !16
  %866 = zext i8 %865 to i64
  %867 = getelementptr inbounds [256 x i32], ptr %862, i64 0, i64 %866
  %868 = load ptr, ptr %3, align 8, !tbaa !5
  %869 = ptrtoint ptr %867 to i64
  %870 = ptrtoint ptr %868 to i64
  %871 = sub i64 %869, %870
  %872 = trunc i64 %871 to i32
  store i32 %872, ptr %9, align 4, !tbaa !14
  %873 = load ptr, ptr %4, align 8, !tbaa !5
  %874 = load i32, ptr %5, align 4, !tbaa !14
  %875 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %873, i32 noundef %874, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %875)
  %876 = load ptr, ptr %4, align 8, !tbaa !5
  %877 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %876, i32 noundef %877, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35735, i32 noundef 2)
  %878 = load ptr, ptr %3, align 8, !tbaa !5
  %879 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %878, i32 0, i32 2
  %880 = load ptr, ptr %11, align 8, !tbaa !5
  %881 = getelementptr inbounds i8, ptr %880, i64 3
  %882 = load i8, ptr %881, align 1, !tbaa !16
  %883 = zext i8 %882 to i64
  %884 = getelementptr inbounds [256 x i32], ptr %879, i64 0, i64 %883
  %885 = load ptr, ptr %3, align 8, !tbaa !5
  %886 = ptrtoint ptr %884 to i64
  %887 = ptrtoint ptr %885 to i64
  %888 = sub i64 %886, %887
  %889 = trunc i64 %888 to i32
  store i32 %889, ptr %9, align 4, !tbaa !14
  %890 = load ptr, ptr %4, align 8, !tbaa !5
  %891 = load i32, ptr %5, align 4, !tbaa !14
  %892 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %890, i32 noundef %891, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %892)
  %893 = load ptr, ptr %4, align 8, !tbaa !5
  %894 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %893, i32 noundef %894, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10705, i32 noundef 2)
  %895 = load ptr, ptr %4, align 8, !tbaa !5
  %896 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %895, i32 noundef %896, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1028040, i32 noundef 3)
  %897 = load ptr, ptr %4, align 8, !tbaa !5
  %898 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %897, i32 noundef %898, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706320, i32 noundef 3)
  %899 = load ptr, ptr %4, align 8, !tbaa !5
  %900 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %899, i32 noundef %900, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 465, i32 noundef 2)
  %901 = load ptr, ptr %4, align 8, !tbaa !5
  %902 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %901, i32 noundef %902, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12712208, i32 noundef 3)
  %903 = load ptr, ptr %4, align 8, !tbaa !5
  %904 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %903, i32 noundef %904, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35215, i32 noundef 2)
  %905 = load ptr, ptr %3, align 8, !tbaa !5
  %906 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %905, i32 0, i32 2
  %907 = load i32, ptr %12, align 4, !tbaa !14
  %908 = sext i32 %907 to i64
  %909 = getelementptr inbounds [256 x i32], ptr %906, i64 0, i64 %908
  %910 = load ptr, ptr %3, align 8, !tbaa !5
  %911 = ptrtoint ptr %909 to i64
  %912 = ptrtoint ptr %910 to i64
  %913 = sub i64 %911, %912
  %914 = trunc i64 %913 to i32
  store i32 %914, ptr %9, align 4, !tbaa !14
  %915 = load ptr, ptr %4, align 8, !tbaa !5
  %916 = load i32, ptr %5, align 4, !tbaa !14
  %917 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %915, i32 noundef %916, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %917)
  br label %1355

918:                                              ; preds = %91
  %919 = load ptr, ptr %4, align 8, !tbaa !5
  %920 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %919, i32 noundef %920, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35591, i32 noundef 2)
  %921 = load ptr, ptr %4, align 8, !tbaa !5
  %922 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %921, i32 noundef %922, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %923 = load ptr, ptr %11, align 8, !tbaa !5
  %924 = getelementptr inbounds i8, ptr %923, i64 5
  %925 = load i8, ptr %924, align 1, !tbaa !16
  %926 = zext i8 %925 to i64
  %927 = trunc i64 %926 to i32
  store i32 %927, ptr %9, align 4, !tbaa !14
  %928 = load ptr, ptr %4, align 8, !tbaa !5
  %929 = load i32, ptr %5, align 4, !tbaa !14
  %930 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %928, i32 noundef %929, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %930)
  %931 = load ptr, ptr %4, align 8, !tbaa !5
  %932 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %931, i32 noundef %932, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 903, i32 noundef 2)
  %933 = load ptr, ptr %3, align 8, !tbaa !5
  %934 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %933, i32 0, i32 3
  %935 = load i32, ptr %12, align 4, !tbaa !14
  %936 = sext i32 %935 to i64
  %937 = getelementptr inbounds [256 x i32], ptr %934, i64 0, i64 %936
  %938 = load ptr, ptr %3, align 8, !tbaa !5
  %939 = ptrtoint ptr %937 to i64
  %940 = ptrtoint ptr %938 to i64
  %941 = sub i64 %939, %940
  %942 = trunc i64 %941 to i32
  store i32 %942, ptr %9, align 4, !tbaa !14
  %943 = load ptr, ptr %4, align 8, !tbaa !5
  %944 = load i32, ptr %5, align 4, !tbaa !14
  %945 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %943, i32 noundef %944, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %945)
  %946 = load ptr, ptr %4, align 8, !tbaa !5
  %947 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %946, i32 noundef %947, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %948 = load ptr, ptr %11, align 8, !tbaa !5
  %949 = getelementptr inbounds i8, ptr %948, i64 1
  %950 = load i8, ptr %949, align 1, !tbaa !16
  %951 = zext i8 %950 to i32
  %952 = shl i32 1, %951
  %953 = sub nsw i32 %952, 1
  %954 = sext i32 %953 to i64
  %955 = trunc i64 %954 to i32
  store i32 %955, ptr %9, align 4, !tbaa !14
  %956 = load ptr, ptr %4, align 8, !tbaa !5
  %957 = load i32, ptr %5, align 4, !tbaa !14
  %958 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %956, i32 noundef %957, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %958)
  %959 = load ptr, ptr %4, align 8, !tbaa !5
  %960 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %959, i32 noundef %960, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 27072, i32 noundef 2)
  %961 = load ptr, ptr %11, align 8, !tbaa !5
  %962 = getelementptr inbounds i8, ptr %961, i64 3
  %963 = load i8, ptr %962, align 1, !tbaa !16
  %964 = zext i8 %963 to i64
  %965 = trunc i64 %964 to i32
  store i32 %965, ptr %9, align 4, !tbaa !14
  %966 = load ptr, ptr %4, align 8, !tbaa !5
  %967 = load i32, ptr %5, align 4, !tbaa !14
  %968 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %966, i32 noundef %967, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %968)
  %969 = load ptr, ptr %4, align 8, !tbaa !5
  %970 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %969, i32 noundef %970, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %971 = load ptr, ptr %3, align 8, !tbaa !5
  %972 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %971, i32 0, i32 5
  %973 = load i32, ptr %12, align 4, !tbaa !14
  %974 = sext i32 %973 to i64
  %975 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %972, i64 0, i64 %974
  %976 = getelementptr inbounds %"struct.libzpaq::Component", ptr %975, i32 0, i32 1
  %977 = load ptr, ptr %3, align 8, !tbaa !5
  %978 = ptrtoint ptr %976 to i64
  %979 = ptrtoint ptr %977 to i64
  %980 = sub i64 %978, %979
  %981 = trunc i64 %980 to i32
  store i32 %981, ptr %9, align 4, !tbaa !14
  %982 = load ptr, ptr %4, align 8, !tbaa !5
  %983 = load i32, ptr %5, align 4, !tbaa !14
  %984 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %982, i32 noundef %983, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %984)
  %985 = load ptr, ptr %4, align 8, !tbaa !5
  %986 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %985, i32 noundef %986, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %987 = load ptr, ptr %4, align 8, !tbaa !5
  %988 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %987, i32 noundef %988, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %989 = load ptr, ptr %3, align 8, !tbaa !5
  %990 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %989, i32 0, i32 5
  %991 = load i32, ptr %12, align 4, !tbaa !14
  %992 = sext i32 %991 to i64
  %993 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %990, i64 0, i64 %992
  %994 = getelementptr inbounds %"struct.libzpaq::Component", ptr %993, i32 0, i32 5
  %995 = load ptr, ptr %3, align 8, !tbaa !5
  %996 = ptrtoint ptr %994 to i64
  %997 = ptrtoint ptr %995 to i64
  %998 = sub i64 %996, %997
  %999 = trunc i64 %998 to i32
  store i32 %999, ptr %9, align 4, !tbaa !14
  %1000 = load ptr, ptr %4, align 8, !tbaa !5
  %1001 = load i32, ptr %5, align 4, !tbaa !14
  %1002 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1000, i32 noundef %1001, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1002)
  %1003 = load ptr, ptr %4, align 8, !tbaa !5
  %1004 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1003, i32 noundef %1004, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1005 = load ptr, ptr %4, align 8, !tbaa !5
  %1006 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1005, i32 noundef %1006, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9254022, i32 noundef 3)
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #4
  store i32 0, ptr %14, align 4, !tbaa !14
  br label %1007

1007:                                             ; preds = %1139, %918
  %1008 = load i32, ptr %14, align 4, !tbaa !14
  %1009 = load ptr, ptr %11, align 8, !tbaa !5
  %1010 = getelementptr inbounds i8, ptr %1009, i64 3
  %1011 = load i8, ptr %1010, align 1, !tbaa !16
  %1012 = zext i8 %1011 to i32
  %1013 = icmp slt i32 %1008, %1012
  br i1 %1013, label %1015, label %1014

1014:                                             ; preds = %1007
  store i32 6, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #4
  br label %1142

1015:                                             ; preds = %1007
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #4
  %1016 = load ptr, ptr %11, align 8, !tbaa !5
  %1017 = getelementptr inbounds i8, ptr %1016, i64 3
  %1018 = load i8, ptr %1017, align 1, !tbaa !16
  %1019 = zext i8 %1018 to i32
  %1020 = load i32, ptr %14, align 4, !tbaa !14
  %1021 = sub nsw i32 %1019, %1020
  store i32 %1021, ptr %15, align 4, !tbaa !14
  %1022 = load ptr, ptr %4, align 8, !tbaa !5
  %1023 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1022, i32 noundef %1023, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092210, i32 noundef 4)
  %1024 = load i32, ptr %14, align 4, !tbaa !14
  %1025 = mul nsw i32 %1024, 4
  %1026 = sext i32 %1025 to i64
  %1027 = trunc i64 %1026 to i32
  store i32 %1027, ptr %9, align 4, !tbaa !14
  %1028 = load ptr, ptr %4, align 8, !tbaa !5
  %1029 = load i32, ptr %5, align 4, !tbaa !14
  %1030 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1028, i32 noundef %1029, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1030)
  %1031 = load i32, ptr %15, align 4, !tbaa !14
  %1032 = icmp sgt i32 %1031, 3
  br i1 %1032, label %1033, label %1044

1033:                                             ; preds = %1015
  %1034 = load ptr, ptr %4, align 8, !tbaa !5
  %1035 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1034, i32 noundef %1035, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092202, i32 noundef 4)
  %1036 = load i32, ptr %14, align 4, !tbaa !14
  %1037 = mul nsw i32 %1036, 4
  %1038 = add nsw i32 %1037, 16
  %1039 = sext i32 %1038 to i64
  %1040 = trunc i64 %1039 to i32
  store i32 %1040, ptr %9, align 4, !tbaa !14
  %1041 = load ptr, ptr %4, align 8, !tbaa !5
  %1042 = load i32, ptr %5, align 4, !tbaa !14
  %1043 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1041, i32 noundef %1042, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1043)
  br label %1044

1044:                                             ; preds = %1033, %1015
  %1045 = load ptr, ptr %4, align 8, !tbaa !5
  %1046 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1045, i32 noundef %1046, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712288481, i32 noundef 4)
  %1047 = load ptr, ptr %4, align 8, !tbaa !5
  %1048 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1047, i32 noundef %1048, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8, i32 noundef 1)
  %1049 = load i32, ptr %15, align 4, !tbaa !14
  %1050 = icmp sgt i32 %1049, 3
  br i1 %1050, label %1051, label %1056

1051:                                             ; preds = %1044
  %1052 = load ptr, ptr %4, align 8, !tbaa !5
  %1053 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1052, i32 noundef %1053, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712288482, i32 noundef 4)
  %1054 = load ptr, ptr %4, align 8, !tbaa !5
  %1055 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1054, i32 noundef %1055, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8, i32 noundef 1)
  br label %1056

1056:                                             ; preds = %1051, %1044
  %1057 = load ptr, ptr %4, align 8, !tbaa !5
  %1058 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1057, i32 noundef %1058, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712286666, i32 noundef 4)
  %1059 = load ptr, ptr %4, align 8, !tbaa !5
  %1060 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1059, i32 noundef %1060, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092193, i32 noundef 4)
  %1061 = load ptr, ptr %3, align 8, !tbaa !5
  %1062 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1061, i32 0, i32 2
  %1063 = load ptr, ptr %11, align 8, !tbaa !5
  %1064 = getelementptr inbounds i8, ptr %1063, i64 2
  %1065 = load i8, ptr %1064, align 1, !tbaa !16
  %1066 = zext i8 %1065 to i32
  %1067 = load i32, ptr %14, align 4, !tbaa !14
  %1068 = add nsw i32 %1066, %1067
  %1069 = sext i32 %1068 to i64
  %1070 = getelementptr inbounds [256 x i32], ptr %1062, i64 0, i64 %1069
  %1071 = load ptr, ptr %3, align 8, !tbaa !5
  %1072 = ptrtoint ptr %1070 to i64
  %1073 = ptrtoint ptr %1071 to i64
  %1074 = sub i64 %1072, %1073
  %1075 = trunc i64 %1074 to i32
  store i32 %1075, ptr %9, align 4, !tbaa !14
  %1076 = load ptr, ptr %4, align 8, !tbaa !5
  %1077 = load i32, ptr %5, align 4, !tbaa !14
  %1078 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1076, i32 noundef %1077, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1078)
  %1079 = load i32, ptr %15, align 4, !tbaa !14
  %1080 = icmp sgt i32 %1079, 3
  br i1 %1080, label %1081, label %1103

1081:                                             ; preds = %1056
  %1082 = load ptr, ptr %4, align 8, !tbaa !5
  %1083 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1082, i32 noundef %1083, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092185, i32 noundef 4)
  %1084 = load ptr, ptr %3, align 8, !tbaa !5
  %1085 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1084, i32 0, i32 2
  %1086 = load ptr, ptr %11, align 8, !tbaa !5
  %1087 = getelementptr inbounds i8, ptr %1086, i64 2
  %1088 = load i8, ptr %1087, align 1, !tbaa !16
  %1089 = zext i8 %1088 to i32
  %1090 = load i32, ptr %14, align 4, !tbaa !14
  %1091 = add nsw i32 %1089, %1090
  %1092 = add nsw i32 %1091, 4
  %1093 = sext i32 %1092 to i64
  %1094 = getelementptr inbounds [256 x i32], ptr %1085, i64 0, i64 %1093
  %1095 = load ptr, ptr %3, align 8, !tbaa !5
  %1096 = ptrtoint ptr %1094 to i64
  %1097 = ptrtoint ptr %1095 to i64
  %1098 = sub i64 %1096, %1097
  %1099 = trunc i64 %1098 to i32
  store i32 %1099, ptr %9, align 4, !tbaa !14
  %1100 = load ptr, ptr %4, align 8, !tbaa !5
  %1101 = load i32, ptr %5, align 4, !tbaa !14
  %1102 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1100, i32 noundef %1101, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1102)
  br label %1103

1103:                                             ; preds = %1081, %1056
  %1104 = load ptr, ptr %4, align 8, !tbaa !5
  %1105 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1104, i32 noundef %1105, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712286684, i32 noundef 4)
  %1106 = load i32, ptr %15, align 4, !tbaa !14
  %1107 = icmp sgt i32 %1106, 0
  br i1 %1107, label %1108, label %1123

1108:                                             ; preds = %1103
  %1109 = load i32, ptr %15, align 4, !tbaa !14
  %1110 = icmp slt i32 %1109, 8
  br i1 %1110, label %1111, label %1123

1111:                                             ; preds = %1108
  %1112 = load ptr, ptr %4, align 8, !tbaa !5
  %1113 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1112, i32 noundef %1113, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712289517, i32 noundef 4)
  %1114 = load ptr, ptr %4, align 8, !tbaa !5
  %1115 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1114, i32 noundef %1115, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712288733, i32 noundef 4)
  %1116 = load ptr, ptr %4, align 8, !tbaa !5
  %1117 = load i32, ptr %5, align 4, !tbaa !14
  %1118 = load i32, ptr %15, align 4, !tbaa !14
  %1119 = mul nsw i32 %1118, 2
  %1120 = sub nsw i32 16, %1119
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1116, i32 noundef %1117, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1120, i32 noundef 1)
  %1121 = load ptr, ptr %4, align 8, !tbaa !5
  %1122 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1121, i32 noundef %1122, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712315341, i32 noundef 4)
  br label %1123

1123:                                             ; preds = %1111, %1108, %1103
  %1124 = load i32, ptr %14, align 4, !tbaa !14
  %1125 = icmp eq i32 %1124, 0
  br i1 %1125, label %1126, label %1131

1126:                                             ; preds = %1123
  %1127 = load ptr, ptr %4, align 8, !tbaa !5
  %1128 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1127, i32 noundef %1128, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092159, i32 noundef 4)
  %1129 = load ptr, ptr %4, align 8, !tbaa !5
  %1130 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1129, i32 noundef %1130, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712321987, i32 noundef 4)
  br label %1138

1131:                                             ; preds = %1123
  %1132 = load ptr, ptr %4, align 8, !tbaa !5
  %1133 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1132, i32 noundef %1133, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092143, i32 noundef 4)
  %1134 = load ptr, ptr %4, align 8, !tbaa !5
  %1135 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1134, i32 noundef %1135, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712322003, i32 noundef 4)
  %1136 = load ptr, ptr %4, align 8, !tbaa !5
  %1137 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1136, i32 noundef %1137, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712324290, i32 noundef 4)
  br label %1138

1138:                                             ; preds = %1131, %1126
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #4
  br label %1139

1139:                                             ; preds = %1138
  %1140 = load i32, ptr %14, align 4, !tbaa !14
  %1141 = add nsw i32 %1140, 8
  store i32 %1141, ptr %14, align 4, !tbaa !14
  br label %1007, !llvm.loop !23

1142:                                             ; preds = %1014
  %1143 = load ptr, ptr %4, align 8, !tbaa !5
  %1144 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1143, i32 noundef %1144, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092152, i32 noundef 4)
  %1145 = load ptr, ptr %4, align 8, !tbaa !5
  %1146 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1145, i32 noundef %1146, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712288729, i32 noundef 4)
  %1147 = load ptr, ptr %4, align 8, !tbaa !5
  %1148 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1147, i32 noundef %1148, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8, i32 noundef 1)
  %1149 = load ptr, ptr %4, align 8, !tbaa !5
  %1150 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1149, i32 noundef %1150, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712324289, i32 noundef 4)
  %1151 = load ptr, ptr %4, align 8, !tbaa !5
  %1152 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1151, i32 noundef %1152, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -217092152, i32 noundef 4)
  %1153 = load ptr, ptr %4, align 8, !tbaa !5
  %1154 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1153, i32 noundef %1154, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712288729, i32 noundef 4)
  %1155 = load ptr, ptr %4, align 8, !tbaa !5
  %1156 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1155, i32 noundef %1156, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 4, i32 noundef 1)
  %1157 = load ptr, ptr %4, align 8, !tbaa !5
  %1158 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1157, i32 noundef %1158, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712324289, i32 noundef 4)
  %1159 = load ptr, ptr %4, align 8, !tbaa !5
  %1160 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1159, i32 noundef %1160, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1712291520, i32 noundef 4)
  %1161 = load ptr, ptr %4, align 8, !tbaa !5
  %1162 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1161, i32 noundef %1162, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12711944, i32 noundef 3)
  %1163 = load ptr, ptr %4, align 8, !tbaa !5
  %1164 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1163, i32 noundef %1164, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 185, i32 noundef 1)
  store i32 2047, ptr %9, align 4, !tbaa !14
  %1165 = load ptr, ptr %4, align 8, !tbaa !5
  %1166 = load i32, ptr %5, align 4, !tbaa !14
  %1167 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1165, i32 noundef %1166, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1167)
  %1168 = load ptr, ptr %4, align 8, !tbaa !5
  %1169 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1168, i32 noundef %1169, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14792, i32 noundef 2)
  %1170 = load ptr, ptr %4, align 8, !tbaa !5
  %1171 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1170, i32 noundef %1171, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1003457, i32 noundef 3)
  %1172 = load ptr, ptr %4, align 8, !tbaa !5
  %1173 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1172, i32 noundef %1173, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 63441, i32 noundef 2)
  %1174 = load ptr, ptr %4, align 8, !tbaa !5
  %1175 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1174, i32 noundef %1175, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14792, i32 noundef 2)
  %1176 = load ptr, ptr %4, align 8, !tbaa !5
  %1177 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1176, i32 noundef %1177, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1002689, i32 noundef 3)
  %1178 = load ptr, ptr %4, align 8, !tbaa !5
  %1179 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1178, i32 noundef %1179, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %1180 = load ptr, ptr %3, align 8, !tbaa !5
  %1181 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1180, i32 0, i32 2
  %1182 = load i32, ptr %12, align 4, !tbaa !14
  %1183 = sext i32 %1182 to i64
  %1184 = getelementptr inbounds [256 x i32], ptr %1181, i64 0, i64 %1183
  %1185 = load ptr, ptr %3, align 8, !tbaa !5
  %1186 = ptrtoint ptr %1184 to i64
  %1187 = ptrtoint ptr %1185 to i64
  %1188 = sub i64 %1186, %1187
  %1189 = trunc i64 %1188 to i32
  store i32 %1189, ptr %9, align 4, !tbaa !14
  %1190 = load ptr, ptr %4, align 8, !tbaa !5
  %1191 = load i32, ptr %5, align 4, !tbaa !14
  %1192 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1190, i32 noundef %1191, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1192)
  br label %1355

1193:                                             ; preds = %91
  %1194 = load ptr, ptr %4, align 8, !tbaa !5
  %1195 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1194, i32 noundef %1195, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35727, i32 noundef 2)
  %1196 = load ptr, ptr %3, align 8, !tbaa !5
  %1197 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1196, i32 0, i32 3
  %1198 = load i32, ptr %12, align 4, !tbaa !14
  %1199 = sext i32 %1198 to i64
  %1200 = getelementptr inbounds [256 x i32], ptr %1197, i64 0, i64 %1199
  %1201 = load ptr, ptr %3, align 8, !tbaa !5
  %1202 = ptrtoint ptr %1200 to i64
  %1203 = ptrtoint ptr %1201 to i64
  %1204 = sub i64 %1202, %1203
  %1205 = trunc i64 %1204 to i32
  store i32 %1205, ptr %9, align 4, !tbaa !14
  %1206 = load ptr, ptr %4, align 8, !tbaa !5
  %1207 = load i32, ptr %5, align 4, !tbaa !14
  %1208 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1206, i32 noundef %1207, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1208)
  %1209 = load ptr, ptr %4, align 8, !tbaa !5
  %1210 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1209, i32 noundef %1210, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 783, i32 noundef 2)
  %1211 = load ptr, ptr %4, align 8, !tbaa !5
  %1212 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1211, i32 noundef %1212, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33249, i32 noundef 2)
  %1213 = load ptr, ptr %11, align 8, !tbaa !5
  %1214 = getelementptr inbounds i8, ptr %1213, i64 1
  %1215 = load i8, ptr %1214, align 1, !tbaa !16
  %1216 = zext i8 %1215 to i32
  %1217 = shl i32 1, %1216
  %1218 = sub nsw i32 %1217, 1
  %1219 = sext i32 %1218 to i64
  %1220 = trunc i64 %1219 to i32
  store i32 %1220, ptr %9, align 4, !tbaa !14
  %1221 = load ptr, ptr %4, align 8, !tbaa !5
  %1222 = load i32, ptr %5, align 4, !tbaa !14
  %1223 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1221, i32 noundef %1222, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1223)
  %1224 = load ptr, ptr %4, align 8, !tbaa !5
  %1225 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1224, i32 noundef %1225, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706053, i32 noundef 3)
  %1226 = load ptr, ptr %4, align 8, !tbaa !5
  %1227 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1226, i32 noundef %1227, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1228 = load ptr, ptr %3, align 8, !tbaa !5
  %1229 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1228, i32 0, i32 2
  %1230 = load ptr, ptr %11, align 8, !tbaa !5
  %1231 = getelementptr inbounds i8, ptr %1230, i64 2
  %1232 = load i8, ptr %1231, align 1, !tbaa !16
  %1233 = zext i8 %1232 to i64
  %1234 = getelementptr inbounds [256 x i32], ptr %1229, i64 0, i64 %1233
  %1235 = load ptr, ptr %3, align 8, !tbaa !5
  %1236 = ptrtoint ptr %1234 to i64
  %1237 = ptrtoint ptr %1235 to i64
  %1238 = sub i64 %1236, %1237
  %1239 = trunc i64 %1238 to i32
  store i32 %1239, ptr %9, align 4, !tbaa !14
  %1240 = load ptr, ptr %4, align 8, !tbaa !5
  %1241 = load i32, ptr %5, align 4, !tbaa !14
  %1242 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1240, i32 noundef %1241, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1242)
  %1243 = load ptr, ptr %4, align 8, !tbaa !5
  %1244 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1243, i32 noundef %1244, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 992, ptr %9, align 4, !tbaa !14
  %1245 = load ptr, ptr %4, align 8, !tbaa !5
  %1246 = load i32, ptr %5, align 4, !tbaa !14
  %1247 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1245, i32 noundef %1246, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1247)
  %1248 = load ptr, ptr %4, align 8, !tbaa !5
  %1249 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1248, i32 noundef %1249, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12754, i32 noundef 2)
  %1250 = load ptr, ptr %4, align 8, !tbaa !5
  %1251 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1250, i32 noundef %1251, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14800, i32 noundef 2)
  %1252 = load ptr, ptr %4, align 8, !tbaa !5
  %1253 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1252, i32 noundef %1253, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1002690, i32 noundef 3)
  %1254 = load ptr, ptr %4, align 8, !tbaa !5
  %1255 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1254, i32 noundef %1255, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 186, i32 noundef 1)
  store i32 1983, ptr %9, align 4, !tbaa !14
  %1256 = load ptr, ptr %4, align 8, !tbaa !5
  %1257 = load i32, ptr %5, align 4, !tbaa !14
  %1258 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1256, i32 noundef %1257, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1258)
  %1259 = load ptr, ptr %4, align 8, !tbaa !5
  %1260 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1259, i32 noundef %1260, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14800, i32 noundef 2)
  %1261 = load ptr, ptr %4, align 8, !tbaa !5
  %1262 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1261, i32 noundef %1262, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1003458, i32 noundef 3)
  %1263 = load ptr, ptr %4, align 8, !tbaa !5
  %1264 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1263, i32 noundef %1264, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35266, i32 noundef 2)
  %1265 = load ptr, ptr %4, align 8, !tbaa !5
  %1266 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1265, i32 noundef %1266, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8643135, i32 noundef 3)
  %1267 = load ptr, ptr %4, align 8, !tbaa !5
  %1268 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1267, i32 noundef %1268, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12707846, i32 noundef 3)
  %1269 = load ptr, ptr %4, align 8, !tbaa !5
  %1270 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1269, i32 noundef %1270, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 449, i32 noundef 2)
  %1271 = load ptr, ptr %4, align 8, !tbaa !5
  %1272 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1271, i32 noundef %1272, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1273 = load ptr, ptr %4, align 8, !tbaa !5
  %1274 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1273, i32 noundef %1274, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %1275 = load ptr, ptr %3, align 8, !tbaa !5
  %1276 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1275, i32 0, i32 5
  %1277 = load i32, ptr %12, align 4, !tbaa !14
  %1278 = sext i32 %1277 to i64
  %1279 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1276, i64 0, i64 %1278
  %1280 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1279, i32 0, i32 5
  %1281 = load ptr, ptr %3, align 8, !tbaa !5
  %1282 = ptrtoint ptr %1280 to i64
  %1283 = ptrtoint ptr %1281 to i64
  %1284 = sub i64 %1282, %1283
  %1285 = trunc i64 %1284 to i32
  store i32 %1285, ptr %9, align 4, !tbaa !14
  %1286 = load ptr, ptr %4, align 8, !tbaa !5
  %1287 = load i32, ptr %5, align 4, !tbaa !14
  %1288 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1286, i32 noundef %1287, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1288)
  %1289 = load ptr, ptr %4, align 8, !tbaa !5
  %1290 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1289, i32 noundef %1290, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9110670, i32 noundef 3)
  %1291 = load ptr, ptr %4, align 8, !tbaa !5
  %1292 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1291, i32 noundef %1292, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -1956868604, i32 noundef 4)
  %1293 = load ptr, ptr %4, align 8, !tbaa !5
  %1294 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1293, i32 noundef %1294, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8649248, i32 noundef 3)
  %1295 = load ptr, ptr %4, align 8, !tbaa !5
  %1296 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1295, i32 noundef %1296, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8641023, i32 noundef 3)
  %1297 = load ptr, ptr %4, align 8, !tbaa !5
  %1298 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1297, i32 noundef %1298, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35215, i32 noundef 2)
  %1299 = load ptr, ptr %3, align 8, !tbaa !5
  %1300 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1299, i32 0, i32 5
  %1301 = load i32, ptr %12, align 4, !tbaa !14
  %1302 = sext i32 %1301 to i64
  %1303 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1300, i64 0, i64 %1302
  %1304 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1303, i32 0, i32 1
  %1305 = load ptr, ptr %3, align 8, !tbaa !5
  %1306 = ptrtoint ptr %1304 to i64
  %1307 = ptrtoint ptr %1305 to i64
  %1308 = sub i64 %1306, %1307
  %1309 = trunc i64 %1308 to i32
  store i32 %1309, ptr %9, align 4, !tbaa !14
  %1310 = load ptr, ptr %4, align 8, !tbaa !5
  %1311 = load i32, ptr %5, align 4, !tbaa !14
  %1312 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1310, i32 noundef %1311, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1312)
  %1313 = load ptr, ptr %4, align 8, !tbaa !5
  %1314 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1313, i32 noundef %1314, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12707850, i32 noundef 3)
  %1315 = load ptr, ptr %4, align 8, !tbaa !5
  %1316 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1315, i32 noundef %1316, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12708618, i32 noundef 3)
  %1317 = load ptr, ptr %4, align 8, !tbaa !5
  %1318 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1317, i32 noundef %1318, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10691, i32 noundef 2)
  %1319 = load ptr, ptr %4, align 8, !tbaa !5
  %1320 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1319, i32 noundef %1320, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1028058, i32 noundef 3)
  %1321 = load ptr, ptr %4, align 8, !tbaa !5
  %1322 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1321, i32 noundef %1322, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12705798, i32 noundef 3)
  %1323 = load ptr, ptr %4, align 8, !tbaa !5
  %1324 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1323, i32 noundef %1324, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 472, i32 noundef 2)
  %1325 = load ptr, ptr %4, align 8, !tbaa !5
  %1326 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1325, i32 noundef %1326, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12707853, i32 noundef 3)
  %1327 = load ptr, ptr %4, align 8, !tbaa !5
  %1328 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1327, i32 noundef %1328, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 264209479, i32 noundef 4)
  %1329 = load ptr, ptr %3, align 8, !tbaa !5
  %1330 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1329, i32 0, i32 9
  %1331 = load ptr, ptr %3, align 8, !tbaa !5
  %1332 = ptrtoint ptr %1330 to i64
  %1333 = ptrtoint ptr %1331 to i64
  %1334 = sub i64 %1332, %1333
  %1335 = trunc i64 %1334 to i32
  store i32 %1335, ptr %9, align 4, !tbaa !14
  %1336 = load ptr, ptr %4, align 8, !tbaa !5
  %1337 = load i32, ptr %5, align 4, !tbaa !14
  %1338 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1336, i32 noundef %1337, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1338)
  %1339 = load ptr, ptr %4, align 8, !tbaa !5
  %1340 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1339, i32 noundef %1340, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %1341 = load ptr, ptr %3, align 8, !tbaa !5
  %1342 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1341, i32 0, i32 2
  %1343 = load i32, ptr %12, align 4, !tbaa !14
  %1344 = sext i32 %1343 to i64
  %1345 = getelementptr inbounds [256 x i32], ptr %1342, i64 0, i64 %1344
  %1346 = load ptr, ptr %3, align 8, !tbaa !5
  %1347 = ptrtoint ptr %1345 to i64
  %1348 = ptrtoint ptr %1346 to i64
  %1349 = sub i64 %1347, %1348
  %1350 = trunc i64 %1349 to i32
  store i32 %1350, ptr %9, align 4, !tbaa !14
  %1351 = load ptr, ptr %4, align 8, !tbaa !5
  %1352 = load i32, ptr %5, align 4, !tbaa !14
  %1353 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1351, i32 noundef %1352, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1353)
  br label %1355

1354:                                             ; preds = %91
  call void @_ZN7libzpaq5errorEPKc(ptr noundef @.str.43)
  br label %1355

1355:                                             ; preds = %1354, %1193, %1142, %782, %703, %512, %496, %96, %91
  br label %1356

1356:                                             ; preds = %1355
  %1357 = load i32, ptr %12, align 4, !tbaa !14
  %1358 = add nsw i32 %1357, 1
  store i32 %1358, ptr %12, align 4, !tbaa !14
  %1359 = load ptr, ptr %11, align 8, !tbaa !5
  %1360 = getelementptr inbounds i8, ptr %1359, i64 0
  %1361 = load i8, ptr %1360, align 1, !tbaa !16
  %1362 = zext i8 %1361 to i64
  %1363 = getelementptr inbounds [256 x i32], ptr @_ZN7libzpaq8compsizeE, i64 0, i64 %1362
  %1364 = load i32, ptr %1363, align 4, !tbaa !14
  %1365 = load ptr, ptr %11, align 8, !tbaa !5
  %1366 = sext i32 %1364 to i64
  %1367 = getelementptr inbounds i8, ptr %1365, i64 %1366
  store ptr %1367, ptr %11, align 8, !tbaa !5
  br label %59, !llvm.loop !25

1368:                                             ; preds = %63
  %1369 = load ptr, ptr %4, align 8, !tbaa !5
  %1370 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1369, i32 noundef %1370, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1371 = load ptr, ptr %3, align 8, !tbaa !5
  %1372 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1371, i32 0, i32 2
  %1373 = load i32, ptr %10, align 4, !tbaa !14
  %1374 = sub nsw i32 %1373, 1
  %1375 = sext i32 %1374 to i64
  %1376 = getelementptr inbounds [256 x i32], ptr %1372, i64 0, i64 %1375
  %1377 = load ptr, ptr %3, align 8, !tbaa !5
  %1378 = ptrtoint ptr %1376 to i64
  %1379 = ptrtoint ptr %1377 to i64
  %1380 = sub i64 %1378, %1379
  %1381 = trunc i64 %1380 to i32
  store i32 %1381, ptr %9, align 4, !tbaa !14
  %1382 = load ptr, ptr %4, align 8, !tbaa !5
  %1383 = load i32, ptr %5, align 4, !tbaa !14
  %1384 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1382, i32 noundef %1383, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1384)
  %1385 = load ptr, ptr %4, align 8, !tbaa !5
  %1386 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1385, i32 noundef %1386, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 2048, ptr %9, align 4, !tbaa !14
  %1387 = load ptr, ptr %4, align 8, !tbaa !5
  %1388 = load i32, ptr %5, align 4, !tbaa !14
  %1389 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1387, i32 noundef %1388, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1389)
  %1390 = load ptr, ptr %4, align 8, !tbaa !5
  %1391 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1390, i32 noundef %1391, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 264209479, i32 noundef 4)
  %1392 = load ptr, ptr %3, align 8, !tbaa !5
  %1393 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1392, i32 0, i32 8
  %1394 = getelementptr inbounds [4096 x i16], ptr %1393, i64 0, i64 0
  %1395 = load ptr, ptr %3, align 8, !tbaa !5
  %1396 = ptrtoint ptr %1394 to i64
  %1397 = ptrtoint ptr %1395 to i64
  %1398 = sub i64 %1396, %1397
  %1399 = trunc i64 %1398 to i32
  store i32 %1399, ptr %9, align 4, !tbaa !14
  %1400 = load ptr, ptr %4, align 8, !tbaa !5
  %1401 = load i32, ptr %5, align 4, !tbaa !14
  %1402 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1400, i32 noundef %1401, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1402)
  %1403 = load ptr, ptr %4, align 8, !tbaa !5
  %1404 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1403, i32 noundef %1404, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 95, i32 noundef 1)
  %1405 = load ptr, ptr %4, align 8, !tbaa !5
  %1406 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1405, i32 noundef %1406, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 94, i32 noundef 1)
  %1407 = load ptr, ptr %4, align 8, !tbaa !5
  %1408 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1407, i32 noundef %1408, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 93, i32 noundef 1)
  %1409 = load ptr, ptr %4, align 8, !tbaa !5
  %1410 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1409, i32 noundef %1410, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 91, i32 noundef 1)
  %1411 = load ptr, ptr %4, align 8, !tbaa !5
  %1412 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1411, i32 noundef %1412, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 195, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #4
  %1413 = load i32, ptr %6, align 4, !tbaa !14
  store i32 %1413, ptr %16, align 4, !tbaa !14
  store i32 5, ptr %6, align 4, !tbaa !14
  %1414 = load ptr, ptr %4, align 8, !tbaa !5
  %1415 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1414, i32 noundef %1415, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 233, i32 noundef 1)
  %1416 = load i32, ptr %16, align 4, !tbaa !14
  %1417 = sub nsw i32 %1416, 10
  %1418 = sext i32 %1417 to i64
  %1419 = trunc i64 %1418 to i32
  store i32 %1419, ptr %9, align 4, !tbaa !14
  %1420 = load ptr, ptr %4, align 8, !tbaa !5
  %1421 = load i32, ptr %5, align 4, !tbaa !14
  %1422 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1420, i32 noundef %1421, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1422)
  %1423 = load i32, ptr %16, align 4, !tbaa !14
  store i32 %1423, ptr %6, align 4, !tbaa !14
  %1424 = load ptr, ptr %4, align 8, !tbaa !5
  %1425 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1424, i32 noundef %1425, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 83, i32 noundef 1)
  %1426 = load ptr, ptr %4, align 8, !tbaa !5
  %1427 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1426, i32 noundef %1427, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 85, i32 noundef 1)
  %1428 = load ptr, ptr %4, align 8, !tbaa !5
  %1429 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1428, i32 noundef %1429, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 86, i32 noundef 1)
  %1430 = load ptr, ptr %4, align 8, !tbaa !5
  %1431 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1430, i32 noundef %1431, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 87, i32 noundef 1)
  %1432 = load ptr, ptr %4, align 8, !tbaa !5
  %1433 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1432, i32 noundef %1433, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 4753909, i32 noundef 3)
  %1434 = load ptr, ptr %8, align 8, !tbaa !5
  %1435 = getelementptr inbounds i8, ptr %1434, i64 7
  store ptr %1435, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #4
  store i32 0, ptr %17, align 4, !tbaa !14
  br label %1436

1436:                                             ; preds = %2545, %1368
  %1437 = load i32, ptr %17, align 4, !tbaa !14
  %1438 = load i32, ptr %10, align 4, !tbaa !14
  %1439 = icmp slt i32 %1437, %1438
  br i1 %1439, label %1441, label %1440

1440:                                             ; preds = %1436
  store i32 9, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #4
  br label %2557

1441:                                             ; preds = %1436
  %1442 = load ptr, ptr %11, align 8, !tbaa !5
  %1443 = getelementptr inbounds i8, ptr %1442, i64 0
  %1444 = load i8, ptr %1443, align 1, !tbaa !16
  %1445 = zext i8 %1444 to i32
  switch i32 %1445, label %2543 [
    i32 1, label %2544
    i32 9, label %1446
    i32 2, label %1446
    i32 3, label %1560
    i32 8, label %1560
    i32 4, label %1779
    i32 5, label %2544
    i32 6, label %2223
    i32 7, label %2378
  ]

1446:                                             ; preds = %1441, %1441
  %1447 = load ptr, ptr %4, align 8, !tbaa !5
  %1448 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1447, i32 noundef %1448, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1449 = load ptr, ptr %4, align 8, !tbaa !5
  %1450 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1449, i32 noundef %1450, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %1451 = load ptr, ptr %3, align 8, !tbaa !5
  %1452 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1451, i32 0, i32 5
  %1453 = load i32, ptr %17, align 4, !tbaa !14
  %1454 = sext i32 %1453 to i64
  %1455 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1452, i64 0, i64 %1454
  %1456 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1455, i32 0, i32 5
  %1457 = load ptr, ptr %3, align 8, !tbaa !5
  %1458 = ptrtoint ptr %1456 to i64
  %1459 = ptrtoint ptr %1457 to i64
  %1460 = sub i64 %1458, %1459
  %1461 = trunc i64 %1460 to i32
  store i32 %1461, ptr %9, align 4, !tbaa !14
  %1462 = load ptr, ptr %4, align 8, !tbaa !5
  %1463 = load i32, ptr %5, align 4, !tbaa !14
  %1464 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1462, i32 noundef %1463, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1464)
  %1465 = load ptr, ptr %4, align 8, !tbaa !5
  %1466 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1465, i32 noundef %1466, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1467 = load ptr, ptr %3, align 8, !tbaa !5
  %1468 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1467, i32 0, i32 5
  %1469 = load i32, ptr %17, align 4, !tbaa !14
  %1470 = sext i32 %1469 to i64
  %1471 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1468, i64 0, i64 %1470
  %1472 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1471, i32 0, i32 1
  %1473 = load ptr, ptr %3, align 8, !tbaa !5
  %1474 = ptrtoint ptr %1472 to i64
  %1475 = ptrtoint ptr %1473 to i64
  %1476 = sub i64 %1474, %1475
  %1477 = trunc i64 %1476 to i32
  store i32 %1477, ptr %9, align 4, !tbaa !14
  %1478 = load ptr, ptr %4, align 8, !tbaa !5
  %1479 = load i32, ptr %5, align 4, !tbaa !14
  %1480 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1478, i32 noundef %1479, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1480)
  %1481 = load ptr, ptr %4, align 8, !tbaa !5
  %1482 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1481, i32 noundef %1482, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %1483 = load ptr, ptr %3, align 8, !tbaa !5
  %1484 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1483, i32 0, i32 5
  %1485 = load i32, ptr %17, align 4, !tbaa !14
  %1486 = sext i32 %1485 to i64
  %1487 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1484, i64 0, i64 %1486
  %1488 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1487, i32 0, i32 5
  %1489 = call noundef i64 @_ZNK7libzpaq5ArrayIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %1488)
  %1490 = sub i64 %1489, 1
  %1491 = trunc i64 %1490 to i32
  store i32 %1491, ptr %9, align 4, !tbaa !14
  %1492 = load ptr, ptr %4, align 8, !tbaa !5
  %1493 = load i32, ptr %5, align 4, !tbaa !14
  %1494 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1492, i32 noundef %1493, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1494)
  %1495 = load ptr, ptr %4, align 8, !tbaa !5
  %1496 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1495, i32 noundef %1496, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1497 = load ptr, ptr %4, align 8, !tbaa !5
  %1498 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1497, i32 noundef %1498, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9254022, i32 noundef 3)
  %1499 = load ptr, ptr %4, align 8, !tbaa !5
  %1500 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1499, i32 noundef %1500, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35590, i32 noundef 2)
  %1501 = load ptr, ptr %4, align 8, !tbaa !5
  %1502 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1501, i32 noundef %1502, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35266, i32 noundef 2)
  %1503 = load ptr, ptr %4, align 8, !tbaa !5
  %1504 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1503, i32 noundef %1504, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12707857, i32 noundef 3)
  %1505 = load ptr, ptr %4, align 8, !tbaa !5
  %1506 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1505, i32 noundef %1506, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35305, i32 noundef 2)
  %1507 = load ptr, ptr %4, align 8, !tbaa !5
  %1508 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1507, i32 noundef %1508, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706063, i32 noundef 3)
  %1509 = load ptr, ptr %4, align 8, !tbaa !5
  %1510 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1509, i32 noundef %1510, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10729, i32 noundef 2)
  %1511 = load ptr, ptr %4, align 8, !tbaa !5
  %1512 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1511, i32 noundef %1512, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10689, i32 noundef 2)
  %1513 = load ptr, ptr %4, align 8, !tbaa !5
  %1514 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1513, i32 noundef %1514, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33250, i32 noundef 2)
  store i32 1023, ptr %9, align 4, !tbaa !14
  %1515 = load ptr, ptr %4, align 8, !tbaa !5
  %1516 = load i32, ptr %5, align 4, !tbaa !14
  %1517 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1515, i32 noundef %1516, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1517)
  %1518 = load ptr, ptr %4, align 8, !tbaa !5
  %1519 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1518, i32 noundef %1519, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9143447, i32 noundef 3)
  %1520 = load ptr, ptr %3, align 8, !tbaa !5
  %1521 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1520, i32 0, i32 7
  %1522 = load ptr, ptr %3, align 8, !tbaa !5
  %1523 = ptrtoint ptr %1521 to i64
  %1524 = ptrtoint ptr %1522 to i64
  %1525 = sub i64 %1523, %1524
  %1526 = trunc i64 %1525 to i32
  store i32 %1526, ptr %9, align 4, !tbaa !14
  %1527 = load ptr, ptr %4, align 8, !tbaa !5
  %1528 = load i32, ptr %5, align 4, !tbaa !14
  %1529 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1527, i32 noundef %1528, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1529)
  %1530 = load ptr, ptr %4, align 8, !tbaa !5
  %1531 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1530, i32 noundef %1531, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1028040, i32 noundef 3)
  %1532 = load ptr, ptr %4, align 8, !tbaa !5
  %1533 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1532, i32 noundef %1533, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33249, i32 noundef 2)
  store i32 -1024, ptr %9, align 4, !tbaa !14
  %1534 = load ptr, ptr %4, align 8, !tbaa !5
  %1535 = load i32, ptr %5, align 4, !tbaa !14
  %1536 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1534, i32 noundef %1535, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1536)
  %1537 = load ptr, ptr %4, align 8, !tbaa !5
  %1538 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1537, i32 noundef %1538, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33274, i32 noundef 2)
  %1539 = load ptr, ptr %11, align 8, !tbaa !5
  %1540 = load ptr, ptr %11, align 8, !tbaa !5
  %1541 = getelementptr inbounds i8, ptr %1540, i64 0
  %1542 = load i8, ptr %1541, align 1, !tbaa !16
  %1543 = zext i8 %1542 to i32
  %1544 = icmp eq i32 %1543, 9
  %1545 = zext i1 %1544 to i32
  %1546 = mul nsw i32 2, %1545
  %1547 = add nsw i32 2, %1546
  %1548 = sext i32 %1547 to i64
  %1549 = getelementptr inbounds i8, ptr %1539, i64 %1548
  %1550 = load i8, ptr %1549, align 1, !tbaa !16
  %1551 = zext i8 %1550 to i32
  %1552 = mul nsw i32 %1551, 4
  %1553 = sext i32 %1552 to i64
  %1554 = trunc i64 %1553 to i32
  store i32 %1554, ptr %9, align 4, !tbaa !14
  %1555 = load ptr, ptr %4, align 8, !tbaa !5
  %1556 = load i32, ptr %5, align 4, !tbaa !14
  %1557 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1555, i32 noundef %1556, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1557)
  %1558 = load ptr, ptr %4, align 8, !tbaa !5
  %1559 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1558, i32 noundef %1559, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 4366, i32 noundef 2)
  br label %2544

1560:                                             ; preds = %1441, %1441
  %1561 = load ptr, ptr %4, align 8, !tbaa !5
  %1562 = load i32, ptr %5, align 4, !tbaa !14
  %1563 = load ptr, ptr %3, align 8, !tbaa !5
  %1564 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1563, i32 0, i32 1
  %1565 = load ptr, ptr %3, align 8, !tbaa !5
  %1566 = ptrtoint ptr %1564 to i64
  %1567 = ptrtoint ptr %1565 to i64
  %1568 = sub i64 %1566, %1567
  %1569 = add nsw i64 9127680, %1568
  %1570 = trunc i64 %1569 to i32
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1561, i32 noundef %1562, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1570, i32 noundef 3)
  %1571 = load ptr, ptr %4, align 8, !tbaa !5
  %1572 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1571, i32 noundef %1572, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8642575, i32 noundef 3)
  %1573 = load ptr, ptr %4, align 8, !tbaa !5
  %1574 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1573, i32 noundef %1574, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 903, i32 noundef 2)
  %1575 = load ptr, ptr %3, align 8, !tbaa !5
  %1576 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1575, i32 0, i32 5
  %1577 = load i32, ptr %17, align 4, !tbaa !14
  %1578 = sext i32 %1577 to i64
  %1579 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1576, i64 0, i64 %1578
  %1580 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1579, i32 0, i32 4
  %1581 = load ptr, ptr %3, align 8, !tbaa !5
  %1582 = ptrtoint ptr %1580 to i64
  %1583 = ptrtoint ptr %1581 to i64
  %1584 = sub i64 %1582, %1583
  %1585 = trunc i64 %1584 to i32
  store i32 %1585, ptr %9, align 4, !tbaa !14
  %1586 = load ptr, ptr %4, align 8, !tbaa !5
  %1587 = load i32, ptr %5, align 4, !tbaa !14
  %1588 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1586, i32 noundef %1587, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1588)
  %1589 = load ptr, ptr %4, align 8, !tbaa !5
  %1590 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1589, i32 noundef %1590, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1591 = load ptr, ptr %4, align 8, !tbaa !5
  %1592 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1591, i32 noundef %1592, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %1593 = load ptr, ptr %3, align 8, !tbaa !5
  %1594 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1593, i32 0, i32 5
  %1595 = load i32, ptr %17, align 4, !tbaa !14
  %1596 = sext i32 %1595 to i64
  %1597 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1594, i64 0, i64 %1596
  %1598 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1597, i32 0, i32 6
  %1599 = load ptr, ptr %3, align 8, !tbaa !5
  %1600 = ptrtoint ptr %1598 to i64
  %1601 = ptrtoint ptr %1599 to i64
  %1602 = sub i64 %1600, %1601
  %1603 = trunc i64 %1602 to i32
  store i32 %1603, ptr %9, align 4, !tbaa !14
  %1604 = load ptr, ptr %4, align 8, !tbaa !5
  %1605 = load i32, ptr %5, align 4, !tbaa !14
  %1606 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1604, i32 noundef %1605, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1606)
  %1607 = load ptr, ptr %4, align 8, !tbaa !5
  %1608 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1607, i32 noundef %1608, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263590918, i32 noundef 4)
  %1609 = load ptr, ptr %4, align 8, !tbaa !5
  %1610 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1609, i32 noundef %1610, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -1923312384, i32 noundef 4)
  %1611 = load ptr, ptr %4, align 8, !tbaa !5
  %1612 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1611, i32 noundef %1612, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263625759, i32 noundef 4)
  %1613 = load ptr, ptr %3, align 8, !tbaa !5
  %1614 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1613, i32 0, i32 10
  %1615 = load ptr, ptr %3, align 8, !tbaa !5
  %1616 = ptrtoint ptr %1614 to i64
  %1617 = ptrtoint ptr %1615 to i64
  %1618 = sub i64 %1616, %1617
  %1619 = trunc i64 %1618 to i32
  store i32 %1619, ptr %9, align 4, !tbaa !14
  %1620 = load ptr, ptr %4, align 8, !tbaa !5
  %1621 = load i32, ptr %5, align 4, !tbaa !14
  %1622 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1620, i32 noundef %1621, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1622)
  %1623 = load ptr, ptr %4, align 8, !tbaa !5
  %1624 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1623, i32 noundef %1624, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8920070, i32 noundef 3)
  %1625 = load ptr, ptr %4, align 8, !tbaa !5
  %1626 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1625, i32 noundef %1626, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1627 = load ptr, ptr %4, align 8, !tbaa !5
  %1628 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1627, i32 noundef %1628, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %1629 = load ptr, ptr %3, align 8, !tbaa !5
  %1630 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1629, i32 0, i32 5
  %1631 = load i32, ptr %17, align 4, !tbaa !14
  %1632 = sext i32 %1631 to i64
  %1633 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1630, i64 0, i64 %1632
  %1634 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1633, i32 0, i32 5
  %1635 = load ptr, ptr %3, align 8, !tbaa !5
  %1636 = ptrtoint ptr %1634 to i64
  %1637 = ptrtoint ptr %1635 to i64
  %1638 = sub i64 %1636, %1637
  %1639 = trunc i64 %1638 to i32
  store i32 %1639, ptr %9, align 4, !tbaa !14
  %1640 = load ptr, ptr %4, align 8, !tbaa !5
  %1641 = load i32, ptr %5, align 4, !tbaa !14
  %1642 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1640, i32 noundef %1641, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1642)
  %1643 = load ptr, ptr %11, align 8, !tbaa !5
  %1644 = getelementptr inbounds i8, ptr %1643, i64 0
  %1645 = load i8, ptr %1644, align 1, !tbaa !16
  %1646 = zext i8 %1645 to i32
  %1647 = icmp eq i32 %1646, 3
  br i1 %1647, label %1648, label %1669

1648:                                             ; preds = %1560
  %1649 = load ptr, ptr %4, align 8, !tbaa !5
  %1650 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1649, i32 noundef %1650, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1651 = load ptr, ptr %4, align 8, !tbaa !5
  %1652 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1651, i32 noundef %1652, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9254038, i32 noundef 3)
  %1653 = load ptr, ptr %4, align 8, !tbaa !5
  %1654 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1653, i32 noundef %1654, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35590, i32 noundef 2)
  %1655 = load ptr, ptr %4, align 8, !tbaa !5
  %1656 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1655, i32 noundef %1656, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12707848, i32 noundef 3)
  %1657 = load ptr, ptr %4, align 8, !tbaa !5
  %1658 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1657, i32 noundef %1658, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35305, i32 noundef 2)
  %1659 = load ptr, ptr %4, align 8, !tbaa !5
  %1660 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1659, i32 noundef %1660, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706063, i32 noundef 3)
  %1661 = load ptr, ptr %4, align 8, !tbaa !5
  %1662 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1661, i32 noundef %1662, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10729, i32 noundef 2)
  %1663 = load ptr, ptr %4, align 8, !tbaa !5
  %1664 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1663, i32 noundef %1664, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10689, i32 noundef 2)
  %1665 = load ptr, ptr %4, align 8, !tbaa !5
  %1666 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1665, i32 noundef %1666, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12712194, i32 noundef 3)
  %1667 = load ptr, ptr %4, align 8, !tbaa !5
  %1668 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1667, i32 noundef %1668, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 270, i32 noundef 2)
  br label %1778

1669:                                             ; preds = %1560
  %1670 = load ptr, ptr %4, align 8, !tbaa !5
  %1671 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1670, i32 noundef %1671, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1672 = load ptr, ptr %3, align 8, !tbaa !5
  %1673 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1672, i32 0, i32 2
  %1674 = load i32, ptr %17, align 4, !tbaa !14
  %1675 = sext i32 %1674 to i64
  %1676 = getelementptr inbounds [256 x i32], ptr %1673, i64 0, i64 %1675
  %1677 = load ptr, ptr %3, align 8, !tbaa !5
  %1678 = ptrtoint ptr %1676 to i64
  %1679 = ptrtoint ptr %1677 to i64
  %1680 = sub i64 %1678, %1679
  %1681 = trunc i64 %1680 to i32
  store i32 %1681, ptr %9, align 4, !tbaa !14
  %1682 = load ptr, ptr %4, align 8, !tbaa !5
  %1683 = load i32, ptr %5, align 4, !tbaa !14
  %1684 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1682, i32 noundef %1683, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1684)
  %1685 = load ptr, ptr %4, align 8, !tbaa !5
  %1686 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1685, i32 noundef %1686, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 2048, ptr %9, align 4, !tbaa !14
  %1687 = load ptr, ptr %4, align 8, !tbaa !5
  %1688 = load i32, ptr %5, align 4, !tbaa !14
  %1689 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1687, i32 noundef %1688, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1689)
  %1690 = load ptr, ptr %4, align 8, !tbaa !5
  %1691 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1690, i32 noundef %1691, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263685191, i32 noundef 4)
  %1692 = load ptr, ptr %3, align 8, !tbaa !5
  %1693 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1692, i32 0, i32 8
  %1694 = load ptr, ptr %3, align 8, !tbaa !5
  %1695 = ptrtoint ptr %1693 to i64
  %1696 = ptrtoint ptr %1694 to i64
  %1697 = sub i64 %1695, %1696
  %1698 = trunc i64 %1697 to i32
  store i32 %1698, ptr %9, align 4, !tbaa !14
  %1699 = load ptr, ptr %4, align 8, !tbaa !5
  %1700 = load i32, ptr %5, align 4, !tbaa !14
  %1701 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1699, i32 noundef %1700, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1701)
  %1702 = load ptr, ptr %4, align 8, !tbaa !5
  %1703 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1702, i32 noundef %1703, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35305, i32 noundef 2)
  %1704 = load ptr, ptr %4, align 8, !tbaa !5
  %1705 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1704, i32 noundef %1705, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706063, i32 noundef 3)
  %1706 = load ptr, ptr %4, align 8, !tbaa !5
  %1707 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1706, i32 noundef %1707, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10729, i32 noundef 2)
  %1708 = load ptr, ptr %4, align 8, !tbaa !5
  %1709 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1708, i32 noundef %1709, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10689, i32 noundef 2)
  %1710 = load ptr, ptr %4, align 8, !tbaa !5
  %1711 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1710, i32 noundef %1711, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1712 = load ptr, ptr %3, align 8, !tbaa !5
  %1713 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1712, i32 0, i32 2
  %1714 = load ptr, ptr %11, align 8, !tbaa !5
  %1715 = getelementptr inbounds i8, ptr %1714, i64 2
  %1716 = load i8, ptr %1715, align 1, !tbaa !16
  %1717 = zext i8 %1716 to i64
  %1718 = getelementptr inbounds [256 x i32], ptr %1713, i64 0, i64 %1717
  %1719 = load ptr, ptr %3, align 8, !tbaa !5
  %1720 = ptrtoint ptr %1718 to i64
  %1721 = ptrtoint ptr %1719 to i64
  %1722 = sub i64 %1720, %1721
  %1723 = trunc i64 %1722 to i32
  store i32 %1723, ptr %9, align 4, !tbaa !14
  %1724 = load ptr, ptr %4, align 8, !tbaa !5
  %1725 = load i32, ptr %5, align 4, !tbaa !14
  %1726 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1724, i32 noundef %1725, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1726)
  %1727 = load ptr, ptr %4, align 8, !tbaa !5
  %1728 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1727, i32 noundef %1728, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1028033, i32 noundef 3)
  %1729 = load ptr, ptr %4, align 8, !tbaa !5
  %1730 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1729, i32 noundef %1730, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 4096, ptr %9, align 4, !tbaa !14
  %1731 = load ptr, ptr %4, align 8, !tbaa !5
  %1732 = load i32, ptr %5, align 4, !tbaa !14
  %1733 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1731, i32 noundef %1732, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1733)
  %1734 = load ptr, ptr %4, align 8, !tbaa !5
  %1735 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1734, i32 noundef %1735, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12711949, i32 noundef 3)
  %1736 = load ptr, ptr %4, align 8, !tbaa !5
  %1737 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1736, i32 noundef %1737, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 197846, i32 noundef 3)
  %1738 = load ptr, ptr %4, align 8, !tbaa !5
  %1739 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1738, i32 noundef %1739, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 187, i32 noundef 1)
  store i32 524287, ptr %9, align 4, !tbaa !14
  %1740 = load ptr, ptr %4, align 8, !tbaa !5
  %1741 = load i32, ptr %5, align 4, !tbaa !14
  %1742 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1740, i32 noundef %1741, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1742)
  %1743 = load ptr, ptr %4, align 8, !tbaa !5
  %1744 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1743, i32 noundef %1744, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14808, i32 noundef 2)
  %1745 = load ptr, ptr %4, align 8, !tbaa !5
  %1746 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1745, i32 noundef %1746, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1003459, i32 noundef 3)
  %1747 = load ptr, ptr %4, align 8, !tbaa !5
  %1748 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1747, i32 noundef %1748, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 63443, i32 noundef 2)
  %1749 = load ptr, ptr %4, align 8, !tbaa !5
  %1750 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1749, i32 noundef %1750, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14808, i32 noundef 2)
  %1751 = load ptr, ptr %4, align 8, !tbaa !5
  %1752 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1751, i32 noundef %1752, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1002691, i32 noundef 3)
  %1753 = load ptr, ptr %4, align 8, !tbaa !5
  %1754 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1753, i32 noundef %1754, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8979670, i32 noundef 3)
  %1755 = load ptr, ptr %4, align 8, !tbaa !5
  %1756 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1755, i32 noundef %1756, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8634640, i32 noundef 3)
  %1757 = load ptr, ptr %4, align 8, !tbaa !5
  %1758 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1757, i32 noundef %1758, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12712197, i32 noundef 3)
  %1759 = load ptr, ptr %4, align 8, !tbaa !5
  %1760 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1759, i32 noundef %1760, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 55367172, i32 noundef 4)
  %1761 = load ptr, ptr %4, align 8, !tbaa !5
  %1762 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1761, i32 noundef %1762, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 184, i32 noundef 1)
  store i32 524287, ptr %9, align 4, !tbaa !14
  %1763 = load ptr, ptr %4, align 8, !tbaa !5
  %1764 = load i32, ptr %5, align 4, !tbaa !14
  %1765 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1763, i32 noundef %1764, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1765)
  %1766 = load ptr, ptr %4, align 8, !tbaa !5
  %1767 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1766, i32 noundef %1767, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14785, i32 noundef 2)
  %1768 = load ptr, ptr %4, align 8, !tbaa !5
  %1769 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1768, i32 noundef %1769, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1003464, i32 noundef 3)
  %1770 = load ptr, ptr %4, align 8, !tbaa !5
  %1771 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1770, i32 noundef %1771, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 63440, i32 noundef 2)
  %1772 = load ptr, ptr %4, align 8, !tbaa !5
  %1773 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1772, i32 noundef %1773, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14785, i32 noundef 2)
  %1774 = load ptr, ptr %4, align 8, !tbaa !5
  %1775 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1774, i32 noundef %1775, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1002696, i32 noundef 3)
  %1776 = load ptr, ptr %4, align 8, !tbaa !5
  %1777 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1776, i32 noundef %1777, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef -1991453180, i32 noundef 4)
  br label %1778

1778:                                             ; preds = %1669, %1648
  br label %2544

1779:                                             ; preds = %1441
  %1780 = load ptr, ptr %4, align 8, !tbaa !5
  %1781 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1780, i32 noundef %1781, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1782 = load ptr, ptr %4, align 8, !tbaa !5
  %1783 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1782, i32 noundef %1783, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %1784 = load ptr, ptr %3, align 8, !tbaa !5
  %1785 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1784, i32 0, i32 5
  %1786 = load i32, ptr %17, align 4, !tbaa !14
  %1787 = sext i32 %1786 to i64
  %1788 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1785, i64 0, i64 %1787
  %1789 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1788, i32 0, i32 6
  %1790 = load ptr, ptr %3, align 8, !tbaa !5
  %1791 = ptrtoint ptr %1789 to i64
  %1792 = ptrtoint ptr %1790 to i64
  %1793 = sub i64 %1791, %1792
  %1794 = trunc i64 %1793 to i32
  store i32 %1794, ptr %9, align 4, !tbaa !14
  %1795 = load ptr, ptr %4, align 8, !tbaa !5
  %1796 = load i32, ptr %5, align 4, !tbaa !14
  %1797 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1795, i32 noundef %1796, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1797)
  %1798 = load ptr, ptr %4, align 8, !tbaa !5
  %1799 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1798, i32 noundef %1799, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %1800 = load ptr, ptr %4, align 8, !tbaa !5
  %1801 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1800, i32 noundef %1801, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35743, i32 noundef 2)
  %1802 = load ptr, ptr %3, align 8, !tbaa !5
  %1803 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1802, i32 0, i32 5
  %1804 = load i32, ptr %17, align 4, !tbaa !14
  %1805 = sext i32 %1804 to i64
  %1806 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1803, i64 0, i64 %1805
  %1807 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1806, i32 0, i32 5
  %1808 = load ptr, ptr %3, align 8, !tbaa !5
  %1809 = ptrtoint ptr %1807 to i64
  %1810 = ptrtoint ptr %1808 to i64
  %1811 = sub i64 %1809, %1810
  %1812 = trunc i64 %1811 to i32
  store i32 %1812, ptr %9, align 4, !tbaa !14
  %1813 = load ptr, ptr %4, align 8, !tbaa !5
  %1814 = load i32, ptr %5, align 4, !tbaa !14
  %1815 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1813, i32 noundef %1814, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1815)
  %1816 = load ptr, ptr %4, align 8, !tbaa !5
  %1817 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1816, i32 noundef %1817, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1818 = load ptr, ptr %3, align 8, !tbaa !5
  %1819 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1818, i32 0, i32 5
  %1820 = load i32, ptr %17, align 4, !tbaa !14
  %1821 = sext i32 %1820 to i64
  %1822 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1819, i64 0, i64 %1821
  %1823 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1822, i32 0, i32 4
  %1824 = load ptr, ptr %3, align 8, !tbaa !5
  %1825 = ptrtoint ptr %1823 to i64
  %1826 = ptrtoint ptr %1824 to i64
  %1827 = sub i64 %1825, %1826
  %1828 = trunc i64 %1827 to i32
  store i32 %1828, ptr %9, align 4, !tbaa !14
  %1829 = load ptr, ptr %4, align 8, !tbaa !5
  %1830 = load i32, ptr %5, align 4, !tbaa !14
  %1831 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1829, i32 noundef %1830, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1831)
  %1832 = load ptr, ptr %4, align 8, !tbaa !5
  %1833 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1832, i32 noundef %1833, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14824, i32 noundef 2)
  %1834 = load ptr, ptr %4, align 8, !tbaa !5
  %1835 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1834, i32 noundef %1835, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29704, i32 noundef 2)
  %1836 = load ptr, ptr %4, align 8, !tbaa !5
  %1837 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1836, i32 noundef %1837, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12736, i32 noundef 2)
  %1838 = load ptr, ptr %4, align 8, !tbaa !5
  %1839 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1838, i32 noundef %1839, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %1840 = load ptr, ptr %3, align 8, !tbaa !5
  %1841 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1840, i32 0, i32 5
  %1842 = load i32, ptr %17, align 4, !tbaa !14
  %1843 = sext i32 %1842 to i64
  %1844 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1841, i64 0, i64 %1843
  %1845 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1844, i32 0, i32 2
  %1846 = load ptr, ptr %3, align 8, !tbaa !5
  %1847 = ptrtoint ptr %1845 to i64
  %1848 = ptrtoint ptr %1846 to i64
  %1849 = sub i64 %1847, %1848
  %1850 = trunc i64 %1849 to i32
  store i32 %1850, ptr %9, align 4, !tbaa !14
  %1851 = load ptr, ptr %4, align 8, !tbaa !5
  %1852 = load i32, ptr %5, align 4, !tbaa !14
  %1853 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1851, i32 noundef %1852, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1853)
  %1854 = load ptr, ptr %4, align 8, !tbaa !5
  %1855 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1854, i32 noundef %1855, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1856 = load ptr, ptr %3, align 8, !tbaa !5
  %1857 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1856, i32 0, i32 5
  %1858 = load i32, ptr %17, align 4, !tbaa !14
  %1859 = sext i32 %1858 to i64
  %1860 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1857, i64 0, i64 %1859
  %1861 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1860, i32 0, i32 0
  %1862 = load ptr, ptr %3, align 8, !tbaa !5
  %1863 = ptrtoint ptr %1861 to i64
  %1864 = ptrtoint ptr %1862 to i64
  %1865 = sub i64 %1863, %1864
  %1866 = trunc i64 %1865 to i32
  store i32 %1866, ptr %9, align 4, !tbaa !14
  %1867 = load ptr, ptr %4, align 8, !tbaa !5
  %1868 = load i32, ptr %5, align 4, !tbaa !14
  %1869 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1867, i32 noundef %1868, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1869)
  %1870 = load ptr, ptr %4, align 8, !tbaa !5
  %1871 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1870, i32 noundef %1871, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263588870, i32 noundef 4)
  %1872 = load ptr, ptr %4, align 8, !tbaa !5
  %1873 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1872, i32 noundef %1873, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 457, i32 noundef 2)
  %1874 = load ptr, ptr %4, align 8, !tbaa !5
  %1875 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1874, i32 noundef %1875, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 489, i32 noundef 2)
  %1876 = load ptr, ptr %4, align 8, !tbaa !5
  %1877 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1876, i32 noundef %1877, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8915974, i32 noundef 3)
  %1878 = load ptr, ptr %4, align 8, !tbaa !5
  %1879 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1878, i32 noundef %1879, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1880 = load ptr, ptr %3, align 8, !tbaa !5
  %1881 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1880, i32 0, i32 5
  %1882 = load i32, ptr %17, align 4, !tbaa !14
  %1883 = sext i32 %1882 to i64
  %1884 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1881, i64 0, i64 %1883
  %1885 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1884, i32 0, i32 1
  %1886 = load ptr, ptr %3, align 8, !tbaa !5
  %1887 = ptrtoint ptr %1885 to i64
  %1888 = ptrtoint ptr %1886 to i64
  %1889 = sub i64 %1887, %1888
  %1890 = trunc i64 %1889 to i32
  store i32 %1890, ptr %9, align 4, !tbaa !14
  %1891 = load ptr, ptr %4, align 8, !tbaa !5
  %1892 = load i32, ptr %5, align 4, !tbaa !14
  %1893 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1891, i32 noundef %1892, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1893)
  %1894 = load ptr, ptr %4, align 8, !tbaa !5
  %1895 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1894, i32 noundef %1895, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 65472, i32 noundef 2)
  %1896 = load ptr, ptr %4, align 8, !tbaa !5
  %1897 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1896, i32 noundef %1897, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8642567, i32 noundef 3)
  %1898 = load ptr, ptr %4, align 8, !tbaa !5
  %1899 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1898, i32 noundef %1899, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %1900 = load ptr, ptr %3, align 8, !tbaa !5
  %1901 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1900, i32 0, i32 5
  %1902 = load i32, ptr %17, align 4, !tbaa !14
  %1903 = sext i32 %1902 to i64
  %1904 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1901, i64 0, i64 %1903
  %1905 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1904, i32 0, i32 1
  %1906 = load ptr, ptr %3, align 8, !tbaa !5
  %1907 = ptrtoint ptr %1905 to i64
  %1908 = ptrtoint ptr %1906 to i64
  %1909 = sub i64 %1907, %1908
  %1910 = trunc i64 %1909 to i32
  store i32 %1910, ptr %9, align 4, !tbaa !14
  %1911 = load ptr, ptr %4, align 8, !tbaa !5
  %1912 = load i32, ptr %5, align 4, !tbaa !14
  %1913 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1911, i32 noundef %1912, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1913)
  %1914 = load ptr, ptr %4, align 8, !tbaa !5
  %1915 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1914, i32 noundef %1915, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3973, i32 noundef 2)
  store i32 155, ptr %9, align 4, !tbaa !14
  %1916 = load ptr, ptr %4, align 8, !tbaa !5
  %1917 = load i32, ptr %5, align 4, !tbaa !14
  %1918 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1916, i32 noundef %1917, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1918)
  %1919 = load ptr, ptr %4, align 8, !tbaa !5
  %1920 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1919, i32 noundef %1920, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1921 = load ptr, ptr %3, align 8, !tbaa !5
  %1922 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1921, i32 0, i32 5
  %1923 = load i32, ptr %17, align 4, !tbaa !14
  %1924 = sext i32 %1923 to i64
  %1925 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1922, i64 0, i64 %1924
  %1926 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1925, i32 0, i32 0
  %1927 = load ptr, ptr %3, align 8, !tbaa !5
  %1928 = ptrtoint ptr %1926 to i64
  %1929 = ptrtoint ptr %1927 to i64
  %1930 = sub i64 %1928, %1929
  %1931 = trunc i64 %1930 to i32
  store i32 %1931, ptr %9, align 4, !tbaa !14
  %1932 = load ptr, ptr %4, align 8, !tbaa !5
  %1933 = load i32, ptr %5, align 4, !tbaa !14
  %1934 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1932, i32 noundef %1933, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1934)
  %1935 = load ptr, ptr %4, align 8, !tbaa !5
  %1936 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1935, i32 noundef %1936, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 65472, i32 noundef 2)
  %1937 = load ptr, ptr %4, align 8, !tbaa !5
  %1938 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1937, i32 noundef %1938, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %1939 = load ptr, ptr %11, align 8, !tbaa !5
  %1940 = getelementptr inbounds i8, ptr %1939, i64 2
  %1941 = load i8, ptr %1940, align 1, !tbaa !16
  %1942 = zext i8 %1941 to i32
  %1943 = shl i32 1, %1942
  %1944 = sub nsw i32 %1943, 1
  %1945 = sext i32 %1944 to i64
  %1946 = trunc i64 %1945 to i32
  store i32 %1946, ptr %9, align 4, !tbaa !14
  %1947 = load ptr, ptr %4, align 8, !tbaa !5
  %1948 = load i32, ptr %5, align 4, !tbaa !14
  %1949 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1947, i32 noundef %1948, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1949)
  %1950 = load ptr, ptr %4, align 8, !tbaa !5
  %1951 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1950, i32 noundef %1951, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %1952 = load ptr, ptr %3, align 8, !tbaa !5
  %1953 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1952, i32 0, i32 5
  %1954 = load i32, ptr %17, align 4, !tbaa !14
  %1955 = sext i32 %1954 to i64
  %1956 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1953, i64 0, i64 %1955
  %1957 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1956, i32 0, i32 0
  %1958 = load ptr, ptr %3, align 8, !tbaa !5
  %1959 = ptrtoint ptr %1957 to i64
  %1960 = ptrtoint ptr %1958 to i64
  %1961 = sub i64 %1959, %1960
  %1962 = trunc i64 %1961 to i32
  store i32 %1962, ptr %9, align 4, !tbaa !14
  %1963 = load ptr, ptr %4, align 8, !tbaa !5
  %1964 = load i32, ptr %5, align 4, !tbaa !14
  %1965 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1963, i32 noundef %1964, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1965)
  %1966 = load ptr, ptr %4, align 8, !tbaa !5
  %1967 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1966, i32 noundef %1967, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %1968 = load ptr, ptr %3, align 8, !tbaa !5
  %1969 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1968, i32 0, i32 5
  %1970 = load i32, ptr %17, align 4, !tbaa !14
  %1971 = sext i32 %1970 to i64
  %1972 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %1969, i64 0, i64 %1971
  %1973 = getelementptr inbounds %"struct.libzpaq::Component", ptr %1972, i32 0, i32 2
  %1974 = load ptr, ptr %3, align 8, !tbaa !5
  %1975 = ptrtoint ptr %1973 to i64
  %1976 = ptrtoint ptr %1974 to i64
  %1977 = sub i64 %1975, %1976
  %1978 = trunc i64 %1977 to i32
  store i32 %1978, ptr %9, align 4, !tbaa !14
  %1979 = load ptr, ptr %4, align 8, !tbaa !5
  %1980 = load i32, ptr %5, align 4, !tbaa !14
  %1981 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1979, i32 noundef %1980, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %1981)
  %1982 = load ptr, ptr %4, align 8, !tbaa !5
  %1983 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1982, i32 noundef %1983, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 34240, i32 noundef 2)
  %1984 = load ptr, ptr %4, align 8, !tbaa !5
  %1985 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1984, i32 noundef %1985, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 30044, i32 noundef 2)
  %1986 = load ptr, ptr %4, align 8, !tbaa !5
  %1987 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %1986, i32 noundef %1987, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35727, i32 noundef 2)
  %1988 = load ptr, ptr %3, align 8, !tbaa !5
  %1989 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %1988, i32 0, i32 3
  %1990 = load i32, ptr %17, align 4, !tbaa !14
  %1991 = sext i32 %1990 to i64
  %1992 = getelementptr inbounds [256 x i32], ptr %1989, i64 0, i64 %1991
  %1993 = load ptr, ptr %3, align 8, !tbaa !5
  %1994 = ptrtoint ptr %1992 to i64
  %1995 = ptrtoint ptr %1993 to i64
  %1996 = sub i64 %1994, %1995
  %1997 = trunc i64 %1996 to i32
  store i32 %1997, ptr %9, align 4, !tbaa !14
  %1998 = load ptr, ptr %4, align 8, !tbaa !5
  %1999 = load i32, ptr %5, align 4, !tbaa !14
  %2000 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %1998, i32 noundef %1999, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2000)
  %2001 = load ptr, ptr %4, align 8, !tbaa !5
  %2002 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2001, i32 noundef %2002, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33249, i32 noundef 2)
  %2003 = load ptr, ptr %11, align 8, !tbaa !5
  %2004 = getelementptr inbounds i8, ptr %2003, i64 1
  %2005 = load i8, ptr %2004, align 1, !tbaa !16
  %2006 = zext i8 %2005 to i32
  %2007 = shl i32 1, %2006
  %2008 = sub nsw i32 %2007, 1
  %2009 = sext i32 %2008 to i64
  %2010 = trunc i64 %2009 to i32
  store i32 %2010, ptr %9, align 4, !tbaa !14
  %2011 = load ptr, ptr %4, align 8, !tbaa !5
  %2012 = load i32, ptr %5, align 4, !tbaa !14
  %2013 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2011, i32 noundef %2012, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2013)
  %2014 = load ptr, ptr %4, align 8, !tbaa !5
  %2015 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2014, i32 noundef %2015, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2016 = load ptr, ptr %3, align 8, !tbaa !5
  %2017 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2016, i32 0, i32 5
  %2018 = load i32, ptr %17, align 4, !tbaa !14
  %2019 = sext i32 %2018 to i64
  %2020 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2017, i64 0, i64 %2019
  %2021 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2020, i32 0, i32 0
  %2022 = load ptr, ptr %3, align 8, !tbaa !5
  %2023 = ptrtoint ptr %2021 to i64
  %2024 = ptrtoint ptr %2022 to i64
  %2025 = sub i64 %2023, %2024
  %2026 = trunc i64 %2025 to i32
  store i32 %2026, ptr %9, align 4, !tbaa !14
  %2027 = load ptr, ptr %4, align 8, !tbaa !5
  %2028 = load i32, ptr %5, align 4, !tbaa !14
  %2029 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2027, i32 noundef %2028, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2029)
  %2030 = load ptr, ptr %4, align 8, !tbaa !5
  %2031 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2030, i32 noundef %2031, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 2819211, i32 noundef 3)
  %2032 = load ptr, ptr %4, align 8, !tbaa !5
  %2033 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2032, i32 noundef %2033, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %2034 = load ptr, ptr %3, align 8, !tbaa !5
  %2035 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2034, i32 0, i32 5
  %2036 = load i32, ptr %17, align 4, !tbaa !14
  %2037 = sext i32 %2036 to i64
  %2038 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2035, i64 0, i64 %2037
  %2039 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2038, i32 0, i32 3
  %2040 = load ptr, ptr %3, align 8, !tbaa !5
  %2041 = ptrtoint ptr %2039 to i64
  %2042 = ptrtoint ptr %2040 to i64
  %2043 = sub i64 %2041, %2042
  %2044 = trunc i64 %2043 to i32
  store i32 %2044, ptr %9, align 4, !tbaa !14
  %2045 = load ptr, ptr %4, align 8, !tbaa !5
  %2046 = load i32, ptr %5, align 4, !tbaa !14
  %2047 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2045, i32 noundef %2046, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2047)
  %2048 = load ptr, ptr %4, align 8, !tbaa !5
  %2049 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2048, i32 noundef %2049, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 169, i32 noundef 1)
  %2050 = load ptr, ptr %11, align 8, !tbaa !5
  %2051 = getelementptr inbounds i8, ptr %2050, i64 2
  %2052 = load i8, ptr %2051, align 1, !tbaa !16
  %2053 = zext i8 %2052 to i32
  %2054 = shl i32 1, %2053
  %2055 = sub nsw i32 %2054, 1
  %2056 = sext i32 %2055 to i64
  %2057 = trunc i64 %2056 to i32
  store i32 %2057, ptr %9, align 4, !tbaa !14
  %2058 = load ptr, ptr %4, align 8, !tbaa !5
  %2059 = load i32, ptr %5, align 4, !tbaa !14
  %2060 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2058, i32 noundef %2059, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2060)
  %2061 = load ptr, ptr %4, align 8, !tbaa !5
  %2062 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2061, i32 noundef %2062, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29768, i32 noundef 2)
  %2063 = load ptr, ptr %4, align 8, !tbaa !5
  %2064 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2063, i32 noundef %2064, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 83, i32 noundef 1)
  %2065 = load ptr, ptr %4, align 8, !tbaa !5
  %2066 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2065, i32 noundef %2066, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35743, i32 noundef 2)
  %2067 = load ptr, ptr %3, align 8, !tbaa !5
  %2068 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2067, i32 0, i32 5
  %2069 = load i32, ptr %17, align 4, !tbaa !14
  %2070 = sext i32 %2069 to i64
  %2071 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2068, i64 0, i64 %2070
  %2072 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2071, i32 0, i32 0
  %2073 = load ptr, ptr %3, align 8, !tbaa !5
  %2074 = ptrtoint ptr %2072 to i64
  %2075 = ptrtoint ptr %2073 to i64
  %2076 = sub i64 %2074, %2075
  %2077 = trunc i64 %2076 to i32
  store i32 %2077, ptr %9, align 4, !tbaa !14
  %2078 = load ptr, ptr %4, align 8, !tbaa !5
  %2079 = load i32, ptr %5, align 4, !tbaa !14
  %2080 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2078, i32 noundef %2079, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2080)
  %2081 = load ptr, ptr %4, align 8, !tbaa !5
  %2082 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2081, i32 noundef %2082, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35290, i32 noundef 2)
  %2083 = load ptr, ptr %4, align 8, !tbaa !5
  %2084 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2083, i32 noundef %2084, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10691, i32 noundef 2)
  %2085 = load ptr, ptr %4, align 8, !tbaa !5
  %2086 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2085, i32 noundef %2086, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12745, i32 noundef 2)
  %2087 = load ptr, ptr %4, align 8, !tbaa !5
  %2088 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2087, i32 noundef %2088, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33273, i32 noundef 2)
  store i32 255, ptr %9, align 4, !tbaa !14
  %2089 = load ptr, ptr %4, align 8, !tbaa !5
  %2090 = load i32, ptr %5, align 4, !tbaa !14
  %2091 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2089, i32 noundef %2090, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2091)
  %2092 = load ptr, ptr %4, align 8, !tbaa !5
  %2093 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2092, i32 noundef %2093, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29724, i32 noundef 2)
  %2094 = load ptr, ptr %4, align 8, !tbaa !5
  %2095 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2094, i32 noundef %2095, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 65482, i32 noundef 2)
  %2096 = load ptr, ptr %4, align 8, !tbaa !5
  %2097 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2096, i32 noundef %2097, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 65483, i32 noundef 2)
  %2098 = load ptr, ptr %4, align 8, !tbaa !5
  %2099 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2098, i32 noundef %2099, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33250, i32 noundef 2)
  %2100 = load ptr, ptr %11, align 8, !tbaa !5
  %2101 = getelementptr inbounds i8, ptr %2100, i64 2
  %2102 = load i8, ptr %2101, align 1, !tbaa !16
  %2103 = zext i8 %2102 to i32
  %2104 = shl i32 1, %2103
  %2105 = sub nsw i32 %2104, 1
  %2106 = sext i32 %2105 to i64
  %2107 = trunc i64 %2106 to i32
  store i32 %2107, ptr %9, align 4, !tbaa !14
  %2108 = load ptr, ptr %4, align 8, !tbaa !5
  %2109 = load i32, ptr %5, align 4, !tbaa !14
  %2110 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2108, i32 noundef %2109, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2110)
  %2111 = load ptr, ptr %4, align 8, !tbaa !5
  %2112 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2111, i32 noundef %2112, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 33251, i32 noundef 2)
  %2113 = load ptr, ptr %11, align 8, !tbaa !5
  %2114 = getelementptr inbounds i8, ptr %2113, i64 2
  %2115 = load i8, ptr %2114, align 1, !tbaa !16
  %2116 = zext i8 %2115 to i32
  %2117 = shl i32 1, %2116
  %2118 = sub nsw i32 %2117, 1
  %2119 = sext i32 %2118 to i64
  %2120 = trunc i64 %2119 to i32
  store i32 %2120, ptr %9, align 4, !tbaa !14
  %2121 = load ptr, ptr %4, align 8, !tbaa !5
  %2122 = load i32, ptr %5, align 4, !tbaa !14
  %2123 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2121, i32 noundef %2122, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2123)
  %2124 = load ptr, ptr %4, align 8, !tbaa !5
  %2125 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2124, i32 noundef %2125, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9045014, i32 noundef 3)
  %2126 = load ptr, ptr %4, align 8, !tbaa !5
  %2127 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2126, i32 noundef %2127, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 3802142, i32 noundef 3)
  %2128 = load ptr, ptr %4, align 8, !tbaa !5
  %2129 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2128, i32 noundef %2129, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 29956, i32 noundef 2)
  %2130 = load ptr, ptr %4, align 8, !tbaa !5
  %2131 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2130, i32 noundef %2131, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 65473, i32 noundef 2)
  %2132 = load ptr, ptr %4, align 8, !tbaa !5
  %2133 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2132, i32 noundef %2133, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 60380, i32 noundef 2)
  %2134 = load ptr, ptr %4, align 8, !tbaa !5
  %2135 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2134, i32 noundef %2135, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 91, i32 noundef 1)
  %2136 = load ptr, ptr %4, align 8, !tbaa !5
  %2137 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2136, i32 noundef %2137, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35215, i32 noundef 2)
  %2138 = load ptr, ptr %3, align 8, !tbaa !5
  %2139 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2138, i32 0, i32 5
  %2140 = load i32, ptr %17, align 4, !tbaa !14
  %2141 = sext i32 %2140 to i64
  %2142 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2139, i64 0, i64 %2141
  %2143 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2142, i32 0, i32 2
  %2144 = load ptr, ptr %3, align 8, !tbaa !5
  %2145 = ptrtoint ptr %2143 to i64
  %2146 = ptrtoint ptr %2144 to i64
  %2147 = sub i64 %2145, %2146
  %2148 = trunc i64 %2147 to i32
  store i32 %2148, ptr %9, align 4, !tbaa !14
  %2149 = load ptr, ptr %4, align 8, !tbaa !5
  %2150 = load i32, ptr %5, align 4, !tbaa !14
  %2151 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2149, i32 noundef %2150, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2151)
  %2152 = load ptr, ptr %4, align 8, !tbaa !5
  %2153 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2152, i32 noundef %2153, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 60174, i32 noundef 2)
  %2154 = load ptr, ptr %4, align 8, !tbaa !5
  %2155 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2154, i32 noundef %2155, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 61, i32 noundef 1)
  store i32 255, ptr %9, align 4, !tbaa !14
  %2156 = load ptr, ptr %4, align 8, !tbaa !5
  %2157 = load i32, ptr %5, align 4, !tbaa !14
  %2158 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2156, i32 noundef %2157, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2158)
  %2159 = load ptr, ptr %4, align 8, !tbaa !5
  %2160 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2159, i32 noundef %2160, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8638464, i32 noundef 3)
  %2161 = load ptr, ptr %4, align 8, !tbaa !5
  %2162 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2161, i32 noundef %2162, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35207, i32 noundef 2)
  %2163 = load ptr, ptr %3, align 8, !tbaa !5
  %2164 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2163, i32 0, i32 5
  %2165 = load i32, ptr %17, align 4, !tbaa !14
  %2166 = sext i32 %2165 to i64
  %2167 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2164, i64 0, i64 %2166
  %2168 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2167, i32 0, i32 2
  %2169 = load ptr, ptr %3, align 8, !tbaa !5
  %2170 = ptrtoint ptr %2168 to i64
  %2171 = ptrtoint ptr %2169 to i64
  %2172 = sub i64 %2170, %2171
  %2173 = trunc i64 %2172 to i32
  store i32 %2173, ptr %9, align 4, !tbaa !14
  %2174 = load ptr, ptr %4, align 8, !tbaa !5
  %2175 = load i32, ptr %5, align 4, !tbaa !14
  %2176 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2174, i32 noundef %2175, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2176)
  %2177 = load ptr, ptr %4, align 8, !tbaa !5
  %2178 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2177, i32 noundef %2178, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2179 = load ptr, ptr %3, align 8, !tbaa !5
  %2180 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2179, i32 0, i32 3
  %2181 = load i32, ptr %17, align 4, !tbaa !14
  %2182 = sext i32 %2181 to i64
  %2183 = getelementptr inbounds [256 x i32], ptr %2180, i64 0, i64 %2182
  %2184 = load ptr, ptr %3, align 8, !tbaa !5
  %2185 = ptrtoint ptr %2183 to i64
  %2186 = ptrtoint ptr %2184 to i64
  %2187 = sub i64 %2185, %2186
  %2188 = trunc i64 %2187 to i32
  store i32 %2188, ptr %9, align 4, !tbaa !14
  %2189 = load ptr, ptr %4, align 8, !tbaa !5
  %2190 = load i32, ptr %5, align 4, !tbaa !14
  %2191 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2189, i32 noundef %2190, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2191)
  %2192 = load ptr, ptr %4, align 8, !tbaa !5
  %2193 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2192, i32 noundef %2193, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 37, i32 noundef 1)
  %2194 = load ptr, ptr %11, align 8, !tbaa !5
  %2195 = getelementptr inbounds i8, ptr %2194, i64 1
  %2196 = load i8, ptr %2195, align 1, !tbaa !16
  %2197 = zext i8 %2196 to i32
  %2198 = shl i32 1, %2197
  %2199 = sub nsw i32 %2198, 1
  %2200 = sext i32 %2199 to i64
  %2201 = trunc i64 %2200 to i32
  store i32 %2201, ptr %9, align 4, !tbaa !14
  %2202 = load ptr, ptr %4, align 8, !tbaa !5
  %2203 = load i32, ptr %5, align 4, !tbaa !14
  %2204 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2202, i32 noundef %2203, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2204)
  %2205 = load ptr, ptr %4, align 8, !tbaa !5
  %2206 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2205, i32 noundef %2206, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35727, i32 noundef 2)
  %2207 = load ptr, ptr %3, align 8, !tbaa !5
  %2208 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2207, i32 0, i32 5
  %2209 = load i32, ptr %17, align 4, !tbaa !14
  %2210 = sext i32 %2209 to i64
  %2211 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2208, i64 0, i64 %2210
  %2212 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2211, i32 0, i32 0
  %2213 = load ptr, ptr %3, align 8, !tbaa !5
  %2214 = ptrtoint ptr %2212 to i64
  %2215 = ptrtoint ptr %2213 to i64
  %2216 = sub i64 %2214, %2215
  %2217 = trunc i64 %2216 to i32
  store i32 %2217, ptr %9, align 4, !tbaa !14
  %2218 = load ptr, ptr %4, align 8, !tbaa !5
  %2219 = load i32, ptr %5, align 4, !tbaa !14
  %2220 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2218, i32 noundef %2219, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2220)
  %2221 = load ptr, ptr %4, align 8, !tbaa !5
  %2222 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2221, i32 noundef %2222, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8981635, i32 noundef 3)
  br label %2544

2223:                                             ; preds = %1441
  %2224 = load ptr, ptr %4, align 8, !tbaa !5
  %2225 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2224, i32 noundef %2225, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2226 = load ptr, ptr %3, align 8, !tbaa !5
  %2227 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2226, i32 0, i32 2
  %2228 = load i32, ptr %17, align 4, !tbaa !14
  %2229 = sext i32 %2228 to i64
  %2230 = getelementptr inbounds [256 x i32], ptr %2227, i64 0, i64 %2229
  %2231 = load ptr, ptr %3, align 8, !tbaa !5
  %2232 = ptrtoint ptr %2230 to i64
  %2233 = ptrtoint ptr %2231 to i64
  %2234 = sub i64 %2232, %2233
  %2235 = trunc i64 %2234 to i32
  store i32 %2235, ptr %9, align 4, !tbaa !14
  %2236 = load ptr, ptr %4, align 8, !tbaa !5
  %2237 = load i32, ptr %5, align 4, !tbaa !14
  %2238 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2236, i32 noundef %2237, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2238)
  %2239 = load ptr, ptr %4, align 8, !tbaa !5
  %2240 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2239, i32 noundef %2240, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 2048, ptr %9, align 4, !tbaa !14
  %2241 = load ptr, ptr %4, align 8, !tbaa !5
  %2242 = load i32, ptr %5, align 4, !tbaa !14
  %2243 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2241, i32 noundef %2242, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2243)
  %2244 = load ptr, ptr %4, align 8, !tbaa !5
  %2245 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2244, i32 noundef %2245, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263685191, i32 noundef 4)
  %2246 = load ptr, ptr %3, align 8, !tbaa !5
  %2247 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2246, i32 0, i32 8
  %2248 = load ptr, ptr %3, align 8, !tbaa !5
  %2249 = ptrtoint ptr %2247 to i64
  %2250 = ptrtoint ptr %2248 to i64
  %2251 = sub i64 %2249, %2250
  %2252 = trunc i64 %2251 to i32
  store i32 %2252, ptr %9, align 4, !tbaa !14
  %2253 = load ptr, ptr %4, align 8, !tbaa !5
  %2254 = load i32, ptr %5, align 4, !tbaa !14
  %2255 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2253, i32 noundef %2254, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2255)
  %2256 = load ptr, ptr %4, align 8, !tbaa !5
  %2257 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2256, i32 noundef %2257, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35305, i32 noundef 2)
  %2258 = load ptr, ptr %4, align 8, !tbaa !5
  %2259 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2258, i32 noundef %2259, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706063, i32 noundef 3)
  %2260 = load ptr, ptr %4, align 8, !tbaa !5
  %2261 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2260, i32 noundef %2261, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10729, i32 noundef 2)
  %2262 = load ptr, ptr %4, align 8, !tbaa !5
  %2263 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2262, i32 noundef %2263, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10689, i32 noundef 2)
  %2264 = load ptr, ptr %4, align 8, !tbaa !5
  %2265 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2264, i32 noundef %2265, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 27081, i32 noundef 2)
  %2266 = load ptr, ptr %11, align 8, !tbaa !5
  %2267 = getelementptr inbounds i8, ptr %2266, i64 4
  %2268 = load i8, ptr %2267, align 1, !tbaa !16
  %2269 = zext i8 %2268 to i64
  %2270 = trunc i64 %2269 to i32
  store i32 %2270, ptr %9, align 4, !tbaa !14
  %2271 = load ptr, ptr %4, align 8, !tbaa !5
  %2272 = load i32, ptr %5, align 4, !tbaa !14
  %2273 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2271, i32 noundef %2272, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2273)
  %2274 = load ptr, ptr %4, align 8, !tbaa !5
  %2275 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2274, i32 noundef %2275, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12712197, i32 noundef 3)
  %2276 = load ptr, ptr %4, align 8, !tbaa !5
  %2277 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2276, i32 noundef %2277, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2278 = load ptr, ptr %3, align 8, !tbaa !5
  %2279 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2278, i32 0, i32 5
  %2280 = load i32, ptr %17, align 4, !tbaa !14
  %2281 = sext i32 %2280 to i64
  %2282 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2279, i64 0, i64 %2281
  %2283 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2282, i32 0, i32 1
  %2284 = load ptr, ptr %3, align 8, !tbaa !5
  %2285 = ptrtoint ptr %2283 to i64
  %2286 = ptrtoint ptr %2284 to i64
  %2287 = sub i64 %2285, %2286
  %2288 = trunc i64 %2287 to i32
  store i32 %2288, ptr %9, align 4, !tbaa !14
  %2289 = load ptr, ptr %4, align 8, !tbaa !5
  %2290 = load i32, ptr %5, align 4, !tbaa !14
  %2291 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2289, i32 noundef %2290, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2291)
  %2292 = load ptr, ptr %4, align 8, !tbaa !5
  %2293 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2292, i32 noundef %2293, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %2294 = load ptr, ptr %4, align 8, !tbaa !5
  %2295 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2294, i32 noundef %2295, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %2296 = load ptr, ptr %3, align 8, !tbaa !5
  %2297 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2296, i32 0, i32 5
  %2298 = load i32, ptr %17, align 4, !tbaa !14
  %2299 = sext i32 %2298 to i64
  %2300 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2297, i64 0, i64 %2299
  %2301 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2300, i32 0, i32 7
  %2302 = load ptr, ptr %3, align 8, !tbaa !5
  %2303 = ptrtoint ptr %2301 to i64
  %2304 = ptrtoint ptr %2302 to i64
  %2305 = sub i64 %2303, %2304
  %2306 = trunc i64 %2305 to i32
  store i32 %2306, ptr %9, align 4, !tbaa !14
  %2307 = load ptr, ptr %4, align 8, !tbaa !5
  %2308 = load i32, ptr %5, align 4, !tbaa !14
  %2309 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2307, i32 noundef %2308, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2309)
  %2310 = load ptr, ptr %4, align 8, !tbaa !5
  %2311 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2310, i32 noundef %2311, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %2312 = load ptr, ptr %4, align 8, !tbaa !5
  %2313 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2312, i32 noundef %2313, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9253958, i32 noundef 3)
  %2314 = load ptr, ptr %4, align 8, !tbaa !5
  %2315 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2314, i32 noundef %2315, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2316 = load ptr, ptr %3, align 8, !tbaa !5
  %2317 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2316, i32 0, i32 2
  %2318 = load ptr, ptr %11, align 8, !tbaa !5
  %2319 = getelementptr inbounds i8, ptr %2318, i64 2
  %2320 = load i8, ptr %2319, align 1, !tbaa !16
  %2321 = zext i8 %2320 to i64
  %2322 = getelementptr inbounds [256 x i32], ptr %2317, i64 0, i64 %2321
  %2323 = load ptr, ptr %3, align 8, !tbaa !5
  %2324 = ptrtoint ptr %2322 to i64
  %2325 = ptrtoint ptr %2323 to i64
  %2326 = sub i64 %2324, %2325
  %2327 = trunc i64 %2326 to i32
  store i32 %2327, ptr %9, align 4, !tbaa !14
  %2328 = load ptr, ptr %4, align 8, !tbaa !5
  %2329 = load i32, ptr %5, align 4, !tbaa !14
  %2330 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2328, i32 noundef %2329, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2330)
  %2331 = load ptr, ptr %4, align 8, !tbaa !5
  %2332 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2331, i32 noundef %2332, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 11143, i32 noundef 2)
  %2333 = load ptr, ptr %3, align 8, !tbaa !5
  %2334 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2333, i32 0, i32 2
  %2335 = load ptr, ptr %11, align 8, !tbaa !5
  %2336 = getelementptr inbounds i8, ptr %2335, i64 3
  %2337 = load i8, ptr %2336, align 1, !tbaa !16
  %2338 = zext i8 %2337 to i64
  %2339 = getelementptr inbounds [256 x i32], ptr %2334, i64 0, i64 %2338
  %2340 = load ptr, ptr %3, align 8, !tbaa !5
  %2341 = ptrtoint ptr %2339 to i64
  %2342 = ptrtoint ptr %2340 to i64
  %2343 = sub i64 %2341, %2342
  %2344 = trunc i64 %2343 to i32
  store i32 %2344, ptr %9, align 4, !tbaa !14
  %2345 = load ptr, ptr %4, align 8, !tbaa !5
  %2346 = load i32, ptr %5, align 4, !tbaa !14
  %2347 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2345, i32 noundef %2346, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2347)
  %2348 = load ptr, ptr %4, align 8, !tbaa !5
  %2349 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2348, i32 noundef %2349, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1028033, i32 noundef 3)
  %2350 = load ptr, ptr %4, align 8, !tbaa !5
  %2351 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2350, i32 noundef %2351, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 4096, ptr %9, align 4, !tbaa !14
  %2352 = load ptr, ptr %4, align 8, !tbaa !5
  %2353 = load i32, ptr %5, align 4, !tbaa !14
  %2354 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2352, i32 noundef %2353, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2354)
  %2355 = load ptr, ptr %4, align 8, !tbaa !5
  %2356 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2355, i32 noundef %2356, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12711949, i32 noundef 3)
  %2357 = load ptr, ptr %4, align 8, !tbaa !5
  %2358 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2357, i32 noundef %2358, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1029910, i32 noundef 3)
  %2359 = load ptr, ptr %4, align 8, !tbaa !5
  %2360 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2359, i32 noundef %2360, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 464, i32 noundef 2)
  %2361 = load ptr, ptr %4, align 8, !tbaa !5
  %2362 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2361, i32 noundef %2362, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 186, i32 noundef 1)
  store i32 65535, ptr %9, align 4, !tbaa !14
  %2363 = load ptr, ptr %4, align 8, !tbaa !5
  %2364 = load i32, ptr %5, align 4, !tbaa !14
  %2365 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2363, i32 noundef %2364, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2365)
  %2366 = load ptr, ptr %4, align 8, !tbaa !5
  %2367 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2366, i32 noundef %2367, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14800, i32 noundef 2)
  %2368 = load ptr, ptr %4, align 8, !tbaa !5
  %2369 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2368, i32 noundef %2369, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1003458, i32 noundef 3)
  %2370 = load ptr, ptr %4, align 8, !tbaa !5
  %2371 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2370, i32 noundef %2371, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12754, i32 noundef 2)
  %2372 = load ptr, ptr %4, align 8, !tbaa !5
  %2373 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2372, i32 noundef %2373, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14800, i32 noundef 2)
  %2374 = load ptr, ptr %4, align 8, !tbaa !5
  %2375 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2374, i32 noundef %2375, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1002690, i32 noundef 3)
  %2376 = load ptr, ptr %4, align 8, !tbaa !5
  %2377 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2376, i32 noundef %2377, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 6719750, i32 noundef 3)
  br label %2544

2378:                                             ; preds = %1441
  %2379 = load ptr, ptr %4, align 8, !tbaa !5
  %2380 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2379, i32 noundef %2380, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2381 = load ptr, ptr %3, align 8, !tbaa !5
  %2382 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2381, i32 0, i32 2
  %2383 = load i32, ptr %17, align 4, !tbaa !14
  %2384 = sext i32 %2383 to i64
  %2385 = getelementptr inbounds [256 x i32], ptr %2382, i64 0, i64 %2384
  %2386 = load ptr, ptr %3, align 8, !tbaa !5
  %2387 = ptrtoint ptr %2385 to i64
  %2388 = ptrtoint ptr %2386 to i64
  %2389 = sub i64 %2387, %2388
  %2390 = trunc i64 %2389 to i32
  store i32 %2390, ptr %9, align 4, !tbaa !14
  %2391 = load ptr, ptr %4, align 8, !tbaa !5
  %2392 = load i32, ptr %5, align 4, !tbaa !14
  %2393 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2391, i32 noundef %2392, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2393)
  %2394 = load ptr, ptr %4, align 8, !tbaa !5
  %2395 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2394, i32 noundef %2395, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 2048, ptr %9, align 4, !tbaa !14
  %2396 = load ptr, ptr %4, align 8, !tbaa !5
  %2397 = load i32, ptr %5, align 4, !tbaa !14
  %2398 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2396, i32 noundef %2397, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2398)
  %2399 = load ptr, ptr %4, align 8, !tbaa !5
  %2400 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2399, i32 noundef %2400, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 263685191, i32 noundef 4)
  %2401 = load ptr, ptr %3, align 8, !tbaa !5
  %2402 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2401, i32 0, i32 8
  %2403 = load ptr, ptr %3, align 8, !tbaa !5
  %2404 = ptrtoint ptr %2402 to i64
  %2405 = ptrtoint ptr %2403 to i64
  %2406 = sub i64 %2404, %2405
  %2407 = trunc i64 %2406 to i32
  store i32 %2407, ptr %9, align 4, !tbaa !14
  %2408 = load ptr, ptr %4, align 8, !tbaa !5
  %2409 = load i32, ptr %5, align 4, !tbaa !14
  %2410 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2408, i32 noundef %2409, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2410)
  %2411 = load ptr, ptr %4, align 8, !tbaa !5
  %2412 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2411, i32 noundef %2412, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35305, i32 noundef 2)
  %2413 = load ptr, ptr %4, align 8, !tbaa !5
  %2414 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2413, i32 noundef %2414, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12706063, i32 noundef 3)
  %2415 = load ptr, ptr %4, align 8, !tbaa !5
  %2416 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2415, i32 noundef %2416, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10729, i32 noundef 2)
  %2417 = load ptr, ptr %4, align 8, !tbaa !5
  %2418 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2417, i32 noundef %2418, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 10689, i32 noundef 2)
  %2419 = load ptr, ptr %4, align 8, !tbaa !5
  %2420 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2419, i32 noundef %2420, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 27081, i32 noundef 2)
  %2421 = load ptr, ptr %11, align 8, !tbaa !5
  %2422 = getelementptr inbounds i8, ptr %2421, i64 4
  %2423 = load i8, ptr %2422, align 1, !tbaa !16
  %2424 = zext i8 %2423 to i64
  %2425 = trunc i64 %2424 to i32
  store i32 %2425, ptr %9, align 4, !tbaa !14
  %2426 = load ptr, ptr %4, align 8, !tbaa !5
  %2427 = load i32, ptr %5, align 4, !tbaa !14
  %2428 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2426, i32 noundef %2427, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2428)
  %2429 = load ptr, ptr %4, align 8, !tbaa !5
  %2430 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2429, i32 noundef %2430, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12712196, i32 noundef 3)
  %2431 = load ptr, ptr %4, align 8, !tbaa !5
  %2432 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2431, i32 noundef %2432, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2433 = load ptr, ptr %3, align 8, !tbaa !5
  %2434 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2433, i32 0, i32 5
  %2435 = load i32, ptr %17, align 4, !tbaa !14
  %2436 = sext i32 %2435 to i64
  %2437 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2434, i64 0, i64 %2436
  %2438 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2437, i32 0, i32 1
  %2439 = load ptr, ptr %3, align 8, !tbaa !5
  %2440 = ptrtoint ptr %2438 to i64
  %2441 = ptrtoint ptr %2439 to i64
  %2442 = sub i64 %2440, %2441
  %2443 = trunc i64 %2442 to i32
  store i32 %2443, ptr %9, align 4, !tbaa !14
  %2444 = load ptr, ptr %4, align 8, !tbaa !5
  %2445 = load i32, ptr %5, align 4, !tbaa !14
  %2446 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2444, i32 noundef %2445, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2446)
  %2447 = load ptr, ptr %4, align 8, !tbaa !5
  %2448 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2447, i32 noundef %2448, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %2449 = load ptr, ptr %4, align 8, !tbaa !5
  %2450 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2449, i32 noundef %2450, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35767, i32 noundef 2)
  %2451 = load ptr, ptr %3, align 8, !tbaa !5
  %2452 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2451, i32 0, i32 5
  %2453 = load i32, ptr %17, align 4, !tbaa !14
  %2454 = sext i32 %2453 to i64
  %2455 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %2452, i64 0, i64 %2454
  %2456 = getelementptr inbounds %"struct.libzpaq::Component", ptr %2455, i32 0, i32 5
  %2457 = load ptr, ptr %3, align 8, !tbaa !5
  %2458 = ptrtoint ptr %2456 to i64
  %2459 = ptrtoint ptr %2457 to i64
  %2460 = sub i64 %2458, %2459
  %2461 = trunc i64 %2460 to i32
  store i32 %2461, ptr %9, align 4, !tbaa !14
  %2462 = load ptr, ptr %4, align 8, !tbaa !5
  %2463 = load i32, ptr %5, align 4, !tbaa !14
  %2464 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2462, i32 noundef %2463, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2464)
  %2465 = load ptr, ptr %4, align 8, !tbaa !5
  %2466 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2465, i32 noundef %2466, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %2467 = load ptr, ptr %4, align 8, !tbaa !5
  %2468 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2467, i32 noundef %2468, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 9254022, i32 noundef 3)
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #4
  store i32 0, ptr %18, align 4, !tbaa !14
  br label %2469

2469:                                             ; preds = %2539, %2378
  %2470 = load i32, ptr %18, align 4, !tbaa !14
  %2471 = load ptr, ptr %11, align 8, !tbaa !5
  %2472 = getelementptr inbounds i8, ptr %2471, i64 3
  %2473 = load i8, ptr %2472, align 1, !tbaa !16
  %2474 = zext i8 %2473 to i32
  %2475 = icmp slt i32 %2470, %2474
  br i1 %2475, label %2477, label %2476

2476:                                             ; preds = %2469
  store i32 13, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #4
  br label %2542

2477:                                             ; preds = %2469
  %2478 = load ptr, ptr %4, align 8, !tbaa !5
  %2479 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2478, i32 noundef %2479, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35719, i32 noundef 2)
  %2480 = load ptr, ptr %3, align 8, !tbaa !5
  %2481 = getelementptr inbounds %"class.libzpaq::Predictor", ptr %2480, i32 0, i32 2
  %2482 = load ptr, ptr %11, align 8, !tbaa !5
  %2483 = getelementptr inbounds i8, ptr %2482, i64 2
  %2484 = load i8, ptr %2483, align 1, !tbaa !16
  %2485 = zext i8 %2484 to i32
  %2486 = load i32, ptr %18, align 4, !tbaa !14
  %2487 = add nsw i32 %2485, %2486
  %2488 = sext i32 %2487 to i64
  %2489 = getelementptr inbounds [256 x i32], ptr %2481, i64 0, i64 %2488
  %2490 = load ptr, ptr %3, align 8, !tbaa !5
  %2491 = ptrtoint ptr %2489 to i64
  %2492 = ptrtoint ptr %2490 to i64
  %2493 = sub i64 %2491, %2492
  %2494 = trunc i64 %2493 to i32
  store i32 %2494, ptr %9, align 4, !tbaa !14
  %2495 = load ptr, ptr %4, align 8, !tbaa !5
  %2496 = load i32, ptr %5, align 4, !tbaa !14
  %2497 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2495, i32 noundef %2496, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2497)
  %2498 = load ptr, ptr %4, align 8, !tbaa !5
  %2499 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2498, i32 noundef %2499, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1028033, i32 noundef 3)
  %2500 = load ptr, ptr %4, align 8, !tbaa !5
  %2501 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2500, i32 noundef %2501, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 5, i32 noundef 1)
  store i32 4096, ptr %9, align 4, !tbaa !14
  %2502 = load ptr, ptr %4, align 8, !tbaa !5
  %2503 = load i32, ptr %5, align 4, !tbaa !14
  %2504 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2502, i32 noundef %2503, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2504)
  %2505 = load ptr, ptr %4, align 8, !tbaa !5
  %2506 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2505, i32 noundef %2506, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 12711949, i32 noundef 3)
  %2507 = load ptr, ptr %4, align 8, !tbaa !5
  %2508 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2507, i32 noundef %2508, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 774, i32 noundef 2)
  %2509 = load ptr, ptr %4, align 8, !tbaa !5
  %2510 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2509, i32 noundef %2510, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 186, i32 noundef 1)
  store i32 524287, ptr %9, align 4, !tbaa !14
  %2511 = load ptr, ptr %4, align 8, !tbaa !5
  %2512 = load i32, ptr %5, align 4, !tbaa !14
  %2513 = load i32, ptr %9, align 4, !tbaa !14
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %2511, i32 noundef %2512, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef %2513)
  %2514 = load ptr, ptr %4, align 8, !tbaa !5
  %2515 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2514, i32 noundef %2515, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14800, i32 noundef 2)
  %2516 = load ptr, ptr %4, align 8, !tbaa !5
  %2517 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2516, i32 noundef %2517, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1003458, i32 noundef 3)
  %2518 = load ptr, ptr %4, align 8, !tbaa !5
  %2519 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2518, i32 noundef %2519, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 63442, i32 noundef 2)
  %2520 = load ptr, ptr %4, align 8, !tbaa !5
  %2521 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2520, i32 noundef %2521, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 14800, i32 noundef 2)
  %2522 = load ptr, ptr %4, align 8, !tbaa !5
  %2523 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2522, i32 noundef %2523, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 1002690, i32 noundef 3)
  %2524 = load ptr, ptr %4, align 8, !tbaa !5
  %2525 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2524, i32 noundef %2525, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 35078, i32 noundef 2)
  %2526 = load i32, ptr %18, align 4, !tbaa !14
  %2527 = load ptr, ptr %11, align 8, !tbaa !5
  %2528 = getelementptr inbounds i8, ptr %2527, i64 3
  %2529 = load i8, ptr %2528, align 1, !tbaa !16
  %2530 = zext i8 %2529 to i32
  %2531 = sub nsw i32 %2530, 1
  %2532 = icmp slt i32 %2526, %2531
  br i1 %2532, label %2533, label %2538

2533:                                             ; preds = %2477
  %2534 = load ptr, ptr %4, align 8, !tbaa !5
  %2535 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2534, i32 noundef %2535, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 72, i32 noundef 1)
  %2536 = load ptr, ptr %4, align 8, !tbaa !5
  %2537 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2536, i32 noundef %2537, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 8635908, i32 noundef 3)
  br label %2538

2538:                                             ; preds = %2533, %2477
  br label %2539

2539:                                             ; preds = %2538
  %2540 = load i32, ptr %18, align 4, !tbaa !14
  %2541 = add nsw i32 %2540, 1
  store i32 %2541, ptr %18, align 4, !tbaa !14
  br label %2469, !llvm.loop !26

2542:                                             ; preds = %2476
  br label %2544

2543:                                             ; preds = %1441
  call void @_ZN7libzpaq5errorEPKc(ptr noundef @.str.43)
  br label %2544

2544:                                             ; preds = %2543, %2542, %2223, %1779, %1778, %1446, %1441, %1441
  br label %2545

2545:                                             ; preds = %2544
  %2546 = load i32, ptr %17, align 4, !tbaa !14
  %2547 = add nsw i32 %2546, 1
  store i32 %2547, ptr %17, align 4, !tbaa !14
  %2548 = load ptr, ptr %11, align 8, !tbaa !5
  %2549 = getelementptr inbounds i8, ptr %2548, i64 0
  %2550 = load i8, ptr %2549, align 1, !tbaa !16
  %2551 = zext i8 %2550 to i64
  %2552 = getelementptr inbounds [256 x i32], ptr @_ZN7libzpaq8compsizeE, i64 0, i64 %2551
  %2553 = load i32, ptr %2552, align 4, !tbaa !14
  %2554 = load ptr, ptr %11, align 8, !tbaa !5
  %2555 = sext i32 %2553 to i64
  %2556 = getelementptr inbounds i8, ptr %2554, i64 %2555
  store ptr %2556, ptr %11, align 8, !tbaa !5
  br label %1436, !llvm.loop !27

2557:                                             ; preds = %1440
  %2558 = load ptr, ptr %4, align 8, !tbaa !5
  %2559 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2558, i32 noundef %2559, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 95, i32 noundef 1)
  %2560 = load ptr, ptr %4, align 8, !tbaa !5
  %2561 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2560, i32 noundef %2561, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 94, i32 noundef 1)
  %2562 = load ptr, ptr %4, align 8, !tbaa !5
  %2563 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2562, i32 noundef %2563, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 93, i32 noundef 1)
  %2564 = load ptr, ptr %4, align 8, !tbaa !5
  %2565 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2564, i32 noundef %2565, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 91, i32 noundef 1)
  %2566 = load ptr, ptr %4, align 8, !tbaa !5
  %2567 = load i32, ptr %5, align 4, !tbaa !14
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %2566, i32 noundef %2567, ptr noundef nonnull align 4 dereferenceable(4) %6, i32 noundef 195, i32 noundef 1)
  %2568 = load i32, ptr %6, align 4, !tbaa !14
  store i32 1, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #4
  ret i32 %2568
}

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 = { 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 = { 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, !6, i64 110608}
!10 = !{!"_ZTSN7libzpaq9PredictorE", !11, i64 0, !11, i64 4, !7, i64 8, !7, i64 1032, !6, i64 2056, !7, i64 2064, !7, i64 30736, !7, i64 31760, !7, i64 35856, !7, i64 44048, !12, i64 109584, !6, i64 110608, !11, i64 110616}
!11 = !{!"int", !7, i64 0}
!12 = !{!"_ZTSN7libzpaq10StateTableE", !7, i64 0}
!13 = !{!10, !11, i64 110616}
!14 = !{!11, !11, i64 0}
!15 = !{!10, !6, i64 2056}
!16 = !{!7, !7, i64 0}
!17 = !{!18, !11, i64 40}
!18 = !{!"_ZTSN7libzpaq5ZPAQLE", !6, i64 0, !6, i64 8, !19, i64 16, !11, i64 40, !11, i64 44, !11, i64 48, !19, i64 56, !21, i64 80, !21, i64 104, !22, i64 128, !11, i64 152, !11, i64 156, !11, i64 160, !11, i64 164, !11, i64 168, !11, i64 172, !11, i64 176, !11, i64 180, !6, i64 184}
!19 = !{!"_ZTSN7libzpaq5ArrayIhEE", !6, i64 0, !20, i64 8, !11, i64 16}
!20 = !{!"long", !7, i64 0}
!21 = !{!"_ZTSN7libzpaq5ArrayIjEE", !6, i64 0, !20, i64 8, !11, i64 16}
!22 = !{!"_ZTSN7libzpaq5ArrayIcEE", !6, i64 0, !20, i64 8, !11, i64 16}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = distinct !{!25, !24}
!26 = distinct !{!26, !24}
!27 = distinct !{!27, !24}


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

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

@_ZN7libzpaq8compsizeE = external dso_local local_unnamed_addr constant <{ [10 x i32], [246 x i32] }>, align 16
@.str.41 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [23 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 nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(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 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
define dso_local noundef i32 @_ZN7libzpaq9Predictor10assemble_pEv(ptr noundef nonnull align 8 dereferenceable(110620) %0) local_unnamed_addr #3 align 2 {
  %2 = alloca i32, align 4
  %3 = getelementptr inbounds i8, ptr %0, i64 110608
  %4 = load ptr, ptr %3, align 8, !tbaa !5
  %5 = getelementptr inbounds i8, ptr %0, i64 110616
  %6 = load i32, ptr %5, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #4
  store i32 0, ptr %2, align 4, !tbaa !13
  %7 = getelementptr inbounds i8, ptr %0, i64 2056
  %8 = load ptr, ptr %7, align 8, !tbaa !14
  %9 = getelementptr inbounds i8, ptr %8, i64 16
  %10 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZN7libzpaq5ArrayIhEixEm(ptr noundef nonnull align 8 dereferenceable(20) %9, i64 noundef 0)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 233, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 0, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1869574144)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 83, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 85, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 86, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 87, i32 noundef 1)
  %11 = getelementptr inbounds i8, ptr %10, i64 6
  %12 = load i8, ptr %11, align 1, !tbaa !15
  %13 = zext i8 %12 to i64
  %14 = getelementptr inbounds i8, ptr %10, i64 7
  %.not3175 = icmp eq i8 %12, 0
  br i1 %.not3175, label %.._crit_edge3166_crit_edge, label %.lr.ph3165

.._crit_edge3166_crit_edge:                       ; preds = %1
  %.pre3186 = ptrtoint ptr %0 to i64
  br label %._crit_edge3166

.lr.ph3165:                                       ; preds = %1
  %15 = ptrtoint ptr %10 to i64
  %16 = getelementptr inbounds i8, ptr %0, i64 1032
  %17 = ptrtoint ptr %0 to i64
  %18 = getelementptr inbounds i8, ptr %0, i64 8
  %19 = getelementptr inbounds i8, ptr %0, i64 2064
  %wide.trip.count = zext i8 %12 to i64
  br label %30

._crit_edge3166:                                  ; preds = %325, %.._crit_edge3166_crit_edge
  %.pre-phi3187 = phi i64 [ %.pre3186, %.._crit_edge3166_crit_edge ], [ %17, %325 ]
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %20 = getelementptr inbounds i8, ptr %0, i64 8
  %21 = add nsw i64 %13, -1
  %22 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %21
  %23 = ptrtoint ptr %22 to i64
  %24 = sub i64 %23, %.pre-phi3187
  %25 = trunc i64 %24 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %25)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 2048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 264209479, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35856)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 95, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 94, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 93, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 91, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 195, i32 noundef 1)
  %26 = load i32, ptr %2, align 4, !tbaa !13
  store i32 5, ptr %2, align 4, !tbaa !13
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 233, i32 noundef 1)
  %27 = add nsw i32 %26, -10
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %27)
  store i32 %26, ptr %2, align 4, !tbaa !13
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 83, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 85, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 86, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 87, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4753909, i32 noundef 3)
  br i1 %.not3175, label %._crit_edge3174, label %.lr.ph3173

.lr.ph3173:                                       ; preds = %._crit_edge3166
  %28 = getelementptr inbounds i8, ptr %0, i64 2064
  %29 = getelementptr inbounds i8, ptr %0, i64 1032
  %wide.trip.count3183 = zext i8 %12 to i64
  br label %333

30:                                               ; preds = %.lr.ph3165, %325
  %indvars.iv = phi i64 [ 0, %.lr.ph3165 ], [ %indvars.iv.next, %325 ]
  %.031453162 = phi ptr [ %14, %.lr.ph3165 ], [ %331, %325 ]
  %31 = ptrtoint ptr %.031453162 to i64
  %32 = sub i64 %31, %15
  %33 = load ptr, ptr %7, align 8, !tbaa !14
  %34 = getelementptr inbounds i8, ptr %33, i64 40
  %35 = load i32, ptr %34, align 8, !tbaa !16
  %36 = sext i32 %35 to i64
  %.not = icmp slt i64 %32, %36
  br i1 %.not, label %38, label %37

37:                                               ; preds = %30
  call void @_ZN7libzpaq5errorEPKc(ptr noundef nonnull @.str.41)
  br label %38

38:                                               ; preds = %37, %30
  %39 = load i8, ptr %.031453162, align 1, !tbaa !15
  %40 = add i8 %39, -10
  %or.cond3160 = icmp ult i8 %40, -9
  br i1 %or.cond3160, label %41, label %42

41:                                               ; preds = %38
  call void @_ZN7libzpaq5errorEPKc(ptr noundef nonnull @.str.42)
  %.pr = load i8, ptr %.031453162, align 1, !tbaa !15
  br label %42

42:                                               ; preds = %38, %41
  %43 = phi i8 [ %39, %38 ], [ %.pr, %41 ]
  switch i8 %43, label %324 [
    i8 1, label %325
    i8 2, label %44
    i8 8, label %66
    i8 3, label %66
    i8 4, label %112
    i8 5, label %145
    i8 6, label %172
    i8 7, label %210
    i8 9, label %295
  ]

44:                                               ; preds = %42
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %45 = getelementptr inbounds [256 x i32], ptr %16, i64 0, i64 %indvars.iv
  %46 = ptrtoint ptr %45 to i64
  %47 = sub i64 %46, %17
  %48 = trunc i64 %47 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %48)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 13191, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %49 = getelementptr inbounds i8, ptr %.031453162, i64 1
  %50 = load i8, ptr %49, align 1, !tbaa !15
  %51 = zext nneg i8 %50 to i32
  %notmask3159 = shl nsw i32 -1, %51
  %52 = xor i32 %notmask3159, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %52)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %53 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %19, i64 0, i64 %indvars.iv
  %54 = getelementptr inbounds i8, ptr %53, i64 8
  %55 = ptrtoint ptr %54 to i64
  %56 = sub i64 %55, %17
  %57 = trunc i64 %56 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %57)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %58 = getelementptr inbounds i8, ptr %53, i64 40
  %59 = ptrtoint ptr %58 to i64
  %60 = sub i64 %59, %17
  %61 = trunc i64 %60 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %61)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9110662, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12707857, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 264209479, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 44048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %62 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %indvars.iv
  %63 = ptrtoint ptr %62 to i64
  %64 = sub i64 %63, %17
  %65 = trunc i64 %64 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %65)
  br label %325

66:                                               ; preds = %42, %42
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %67 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %19, i64 0, i64 %indvars.iv
  %68 = getelementptr inbounds i8, ptr %67, i64 64
  %69 = ptrtoint ptr %68 to i64
  %70 = sub i64 %69, %17
  %71 = trunc i64 %70 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %71)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35591, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35265, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8648705, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29706, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 240)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8648720, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 30070, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706052, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 911, i32 noundef 2)
  %72 = getelementptr inbounds [256 x i32], ptr %16, i64 0, i64 %indvars.iv
  %73 = ptrtoint ptr %72 to i64
  %74 = sub i64 %73, %17
  %75 = trunc i64 %74 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %75)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35272, i32 noundef 2)
  %76 = getelementptr inbounds i8, ptr %.031453162, i64 1
  %77 = load i8, ptr %76, align 1, !tbaa !15
  %78 = zext i8 %77 to i32
  %79 = add nuw nsw i32 %78, 12708098
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %79, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33249, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 255)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12705796, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %80 = load i8, ptr %76, align 1, !tbaa !15
  %81 = zext nneg i8 %80 to i32
  %82 = shl i32 64, %81
  %83 = add nsw i32 %82, -16
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %83)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3804166, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29773, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8646672, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3804166, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29765, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8646704, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3804166, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29757, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8646689, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9051142, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35266, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8647200, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3808278, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 30472, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8647216, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3808278, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 30225, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8646672, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9051142, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8646704, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3808262, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29443, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8646704, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8646657, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8981510, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12745, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1991506428, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1991506424, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1991506420, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %84 = getelementptr inbounds i8, ptr %67, i64 32
  %85 = ptrtoint ptr %84 to i64
  %86 = sub i64 %85, %17
  %87 = trunc i64 %86 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %87)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 60166, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %87)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35735, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8643087, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 464, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263590918, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35223, i32 noundef 2)
  %88 = getelementptr inbounds i8, ptr %67, i64 8
  %89 = ptrtoint ptr %88 to i64
  %90 = sub i64 %89, %17
  %91 = trunc i64 %90 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %91)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %92 = getelementptr inbounds i8, ptr %67, i64 40
  %93 = ptrtoint ptr %92 to i64
  %94 = sub i64 %93, %17
  %95 = trunc i64 %94 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %95)
  %96 = load i8, ptr %.031453162, align 1, !tbaa !15
  %97 = icmp eq i8 %96, 3
  br i1 %97, label %98, label %99

98:                                               ; preds = %66
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9110678, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12707848, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 264209479, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 44048)
  br label %107

99:                                               ; preds = %66
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %100 = getelementptr inbounds i8, ptr %.031453162, i64 2
  %101 = load i8, ptr %100, align 1, !tbaa !15
  %102 = zext i8 %101 to i64
  %103 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %102
  %104 = ptrtoint ptr %103 to i64
  %105 = sub i64 %104, %17
  %106 = trunc i64 %105 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %106)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263128278, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1957898748, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706054, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 456, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12711952, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 185, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 2047)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14792, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1003457, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 185, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -2048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14792, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1002689, i32 noundef 3)
  br label %107

107:                                              ; preds = %99, %98
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %108 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %indvars.iv
  %109 = ptrtoint ptr %108 to i64
  %110 = sub i64 %109, %17
  %111 = trunc i64 %110 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %111)
  br label %325

112:                                              ; preds = %42
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %113 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %19, i64 0, i64 %indvars.iv
  %114 = getelementptr inbounds i8, ptr %113, i64 64
  %115 = ptrtoint ptr %114 to i64
  %116 = sub i64 %115, %17
  %117 = trunc i64 %116 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %117)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %118 = getelementptr inbounds i8, ptr %113, i64 16
  %119 = ptrtoint ptr %118 to i64
  %120 = sub i64 %119, %17
  %121 = trunc i64 %120 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %121)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 34240, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29769, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 185, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 7)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 11151, i32 noundef 2)
  %122 = getelementptr inbounds i8, ptr %113, i64 8
  %123 = ptrtoint ptr %122 to i64
  %124 = sub i64 %123, %17
  %125 = trunc i64 %124 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %125)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %126 = ptrtoint ptr %113 to i64
  %127 = sub i64 %126, %17
  %128 = trunc i64 %127 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %128)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 11143, i32 noundef 2)
  %129 = getelementptr inbounds i8, ptr %113, i64 24
  %130 = ptrtoint ptr %129 to i64
  %131 = sub i64 %130, %17
  %132 = trunc i64 %131 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %132)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %133 = getelementptr inbounds i8, ptr %.031453162, i64 2
  %134 = load i8, ptr %133, align 1, !tbaa !15
  %135 = zext nneg i8 %134 to i32
  %notmask3158 = shl nsw i32 -1, %135
  %136 = xor i32 %notmask3158, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %136)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263586822, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 54248, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8642561, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %137 = getelementptr inbounds i8, ptr %113, i64 32
  %138 = ptrtoint ptr %137 to i64
  %139 = sub i64 %138, %17
  %140 = trunc i64 %139 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %140)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %121)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9143431, i32 noundef 3)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 30736)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29698, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 63448, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 32767)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 264209479, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 44048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %141 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %indvars.iv
  %142 = ptrtoint ptr %141 to i64
  %143 = sub i64 %142, %17
  %144 = trunc i64 %143 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %144)
  br label %325

145:                                              ; preds = %42
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %146 = getelementptr inbounds i8, ptr %.031453162, i64 1
  %147 = load i8, ptr %146, align 1, !tbaa !15
  %148 = zext i8 %147 to i64
  %149 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %148
  %150 = ptrtoint ptr %149 to i64
  %151 = sub i64 %150, %17
  %152 = trunc i64 %151 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %152)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 11143, i32 noundef 2)
  %153 = getelementptr inbounds i8, ptr %.031453162, i64 2
  %154 = load i8, ptr %153, align 1, !tbaa !15
  %155 = zext i8 %154 to i64
  %156 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %155
  %157 = ptrtoint ptr %156 to i64
  %158 = sub i64 %157, %17
  %159 = trunc i64 %158 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %159)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 27072, i32 noundef 2)
  %160 = getelementptr inbounds i8, ptr %.031453162, i64 3
  %161 = load i8, ptr %160, align 1, !tbaa !15
  %.sroa.0.0.insert.ext324 = zext i8 %161 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.ext324)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12711944, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 903, i32 noundef 2)
  %162 = load i8, ptr %153, align 1, !tbaa !15
  %163 = zext i8 %162 to i64
  %164 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %163
  %165 = ptrtoint ptr %164 to i64
  %166 = sub i64 %165, %17
  %167 = trunc i64 %166 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %167)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %168 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %indvars.iv
  %169 = ptrtoint ptr %168 to i64
  %170 = sub i64 %169, %17
  %171 = trunc i64 %170 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %171)
  br label %325

172:                                              ; preds = %42
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35591, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %173 = getelementptr inbounds i8, ptr %.031453162, i64 5
  %174 = load i8, ptr %173, align 1, !tbaa !15
  %.sroa.0.0.insert.ext339 = zext i8 %174 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.ext339)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 903, i32 noundef 2)
  %175 = getelementptr inbounds [256 x i32], ptr %16, i64 0, i64 %indvars.iv
  %176 = ptrtoint ptr %175 to i64
  %177 = sub i64 %176, %17
  %178 = trunc i64 %177 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %178)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %179 = getelementptr inbounds i8, ptr %.031453162, i64 1
  %180 = load i8, ptr %179, align 1, !tbaa !15
  %181 = zext nneg i8 %180 to i32
  %notmask3157 = shl nsw i32 -1, %181
  %182 = xor i32 %notmask3157, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %182)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %183 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %19, i64 0, i64 %indvars.iv
  %184 = getelementptr inbounds i8, ptr %183, i64 8
  %185 = ptrtoint ptr %184 to i64
  %186 = sub i64 %185, %17
  %187 = trunc i64 %186 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %187)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %188 = getelementptr inbounds i8, ptr %183, i64 88
  %189 = ptrtoint ptr %188 to i64
  %190 = sub i64 %189, %17
  %191 = trunc i64 %190 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %191)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263652422, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35727, i32 noundef 2)
  %192 = getelementptr inbounds i8, ptr %.031453162, i64 2
  %193 = load i8, ptr %192, align 1, !tbaa !15
  %194 = zext i8 %193 to i64
  %195 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %194
  %196 = ptrtoint ptr %195 to i64
  %197 = sub i64 %196, %17
  %198 = trunc i64 %197 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %198)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35735, i32 noundef 2)
  %199 = getelementptr inbounds i8, ptr %.031453162, i64 3
  %200 = load i8, ptr %199, align 1, !tbaa !15
  %201 = zext i8 %200 to i64
  %202 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %201
  %203 = ptrtoint ptr %202 to i64
  %204 = sub i64 %203, %17
  %205 = trunc i64 %204 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %205)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10705, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1028040, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706320, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 465, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12712208, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35215, i32 noundef 2)
  %206 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %indvars.iv
  %207 = ptrtoint ptr %206 to i64
  %208 = sub i64 %207, %17
  %209 = trunc i64 %208 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %209)
  br label %325

210:                                              ; preds = %42
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35591, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %211 = getelementptr inbounds i8, ptr %.031453162, i64 5
  %212 = load i8, ptr %211, align 1, !tbaa !15
  %.sroa.0.0.insert.ext379 = zext i8 %212 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.ext379)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 903, i32 noundef 2)
  %213 = getelementptr inbounds [256 x i32], ptr %16, i64 0, i64 %indvars.iv
  %214 = ptrtoint ptr %213 to i64
  %215 = sub i64 %214, %17
  %216 = trunc i64 %215 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %216)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %217 = getelementptr inbounds i8, ptr %.031453162, i64 1
  %218 = load i8, ptr %217, align 1, !tbaa !15
  %219 = zext nneg i8 %218 to i32
  %notmask3156 = shl nsw i32 -1, %219
  %220 = xor i32 %notmask3156, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %220)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 27072, i32 noundef 2)
  %221 = getelementptr inbounds i8, ptr %.031453162, i64 3
  %222 = load i8, ptr %221, align 1, !tbaa !15
  %.sroa.0.0.insert.ext394 = zext i8 %222 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.ext394)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %223 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %19, i64 0, i64 %indvars.iv
  %224 = getelementptr inbounds i8, ptr %223, i64 8
  %225 = ptrtoint ptr %224 to i64
  %226 = sub i64 %225, %17
  %227 = trunc i64 %226 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %227)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %228 = getelementptr inbounds i8, ptr %223, i64 40
  %229 = ptrtoint ptr %228 to i64
  %230 = sub i64 %229, %17
  %231 = trunc i64 %230 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %231)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9254022, i32 noundef 3)
  %232 = load i8, ptr %221, align 1, !tbaa !15
  %.not3176 = icmp eq i8 %232, 0
  br i1 %.not3176, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %210
  %233 = getelementptr inbounds i8, ptr %.031453162, i64 2
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092210, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 0)
  %234 = icmp ugt i8 %232, 3
  br i1 %234, label %235, label %.critedge.peel

235:                                              ; preds = %.lr.ph
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092202, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 16)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712288481, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8, i32 noundef 1)
  br label %.critedge.peel

.critedge.peel:                                   ; preds = %235, %.lr.ph
  %.sink.peel = phi i32 [ 1712288482, %235 ], [ 1712288481, %.lr.ph ]
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sink.peel, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712286666, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092193, i32 noundef 4)
  %236 = load i8, ptr %233, align 1, !tbaa !15
  %237 = zext i8 %236 to i64
  %238 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %237
  %239 = ptrtoint ptr %238 to i64
  %240 = sub i64 %239, %17
  %241 = trunc i64 %240 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %241)
  br i1 %234, label %242, label %250

242:                                              ; preds = %.critedge.peel
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092185, i32 noundef 4)
  %243 = load i8, ptr %233, align 1, !tbaa !15
  %244 = zext i8 %243 to i64
  %245 = add nuw nsw i64 %244, 4
  %246 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %245
  %247 = ptrtoint ptr %246 to i64
  %248 = sub i64 %247, %17
  %249 = trunc i64 %248 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %249)
  br label %250

250:                                              ; preds = %242, %.critedge.peel
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712286684, i32 noundef 4)
  %or.cond.peel = icmp ult i8 %232, 8
  br i1 %or.cond.peel, label %251, label %254

251:                                              ; preds = %250
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712289517, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712288733, i32 noundef 4)
  %252 = shl nuw nsw i8 %232, 1
  %narrow = sub nuw nsw i8 16, %252
  %253 = zext nneg i8 %narrow to i32
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %253, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712315341, i32 noundef 4)
  br label %254

254:                                              ; preds = %250, %251
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092159, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712321987, i32 noundef 4)
  %255 = load i8, ptr %221, align 1, !tbaa !15
  %256 = zext i8 %255 to i32
  %257 = icmp ugt i8 %255, 8
  br i1 %257, label %.lr.ph.peel.newph, label %._crit_edge

._crit_edge:                                      ; preds = %254, %290, %210
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092152, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712288729, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712324289, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092152, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712288729, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712324289, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712291520, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12711944, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 185, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 2047)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14792, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1003457, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 63441, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14792, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1002689, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %258 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %indvars.iv
  %259 = ptrtoint ptr %258 to i64
  %260 = sub i64 %259, %17
  %261 = trunc i64 %260 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %261)
  br label %325

.lr.ph.peel.newph:                                ; preds = %254, %290
  %262 = phi i32 [ %293, %290 ], [ %256, %254 ]
  %.031433161 = phi i32 [ %291, %290 ], [ 8, %254 ]
  %263 = sub nsw i32 %262, %.031433161
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092210, i32 noundef 4)
  %264 = shl nuw nsw i32 %.031433161, 2
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %264)
  %265 = icmp sgt i32 %263, 3
  br i1 %265, label %266, label %.critedge

266:                                              ; preds = %.lr.ph.peel.newph
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092202, i32 noundef 4)
  %.sroa.0.0.insert.insert416 = or disjoint i32 %264, 16
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.insert416)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712288481, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8, i32 noundef 1)
  br label %.critedge

.critedge:                                        ; preds = %.lr.ph.peel.newph, %266
  %.sink = phi i32 [ 1712288482, %266 ], [ 1712288481, %.lr.ph.peel.newph ]
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sink, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712286666, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092193, i32 noundef 4)
  %267 = load i8, ptr %233, align 1, !tbaa !15
  %268 = zext i8 %267 to i32
  %269 = add nuw nsw i32 %.031433161, %268
  %270 = zext nneg i32 %269 to i64
  %271 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %270
  %272 = ptrtoint ptr %271 to i64
  %273 = sub i64 %272, %17
  %274 = trunc i64 %273 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %274)
  br i1 %265, label %275, label %285

275:                                              ; preds = %.critedge
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092185, i32 noundef 4)
  %276 = load i8, ptr %233, align 1, !tbaa !15
  %277 = zext i8 %276 to i32
  %278 = or disjoint i32 %.031433161, 4
  %279 = add nuw nsw i32 %278, %277
  %280 = zext nneg i32 %279 to i64
  %281 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %280
  %282 = ptrtoint ptr %281 to i64
  %283 = sub i64 %282, %17
  %284 = trunc i64 %283 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %284)
  br label %285

285:                                              ; preds = %275, %.critedge
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712286684, i32 noundef 4)
  %286 = add nsw i32 %263, -1
  %or.cond = icmp ult i32 %286, 7
  br i1 %or.cond, label %287, label %290

287:                                              ; preds = %285
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712289517, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712288733, i32 noundef 4)
  %288 = shl nuw nsw i32 %263, 1
  %289 = sub nuw nsw i32 16, %288
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %289, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712315341, i32 noundef 4)
  br label %290

290:                                              ; preds = %285, %287
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -217092143, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712322003, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1712324290, i32 noundef 4)
  %291 = add nuw nsw i32 %.031433161, 8
  %292 = load i8, ptr %221, align 1, !tbaa !15
  %293 = zext i8 %292 to i32
  %294 = icmp ult i32 %291, %293
  br i1 %294, label %.lr.ph.peel.newph, label %._crit_edge, !llvm.loop !22

295:                                              ; preds = %42
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35727, i32 noundef 2)
  %296 = getelementptr inbounds [256 x i32], ptr %16, i64 0, i64 %indvars.iv
  %297 = ptrtoint ptr %296 to i64
  %298 = sub i64 %297, %17
  %299 = trunc i64 %298 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %299)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 783, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33249, i32 noundef 2)
  %300 = getelementptr inbounds i8, ptr %.031453162, i64 1
  %301 = load i8, ptr %300, align 1, !tbaa !15
  %302 = zext nneg i8 %301 to i32
  %notmask3155 = shl nsw i32 -1, %302
  %303 = xor i32 %notmask3155, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %303)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706053, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %304 = getelementptr inbounds i8, ptr %.031453162, i64 2
  %305 = load i8, ptr %304, align 1, !tbaa !15
  %306 = zext i8 %305 to i64
  %307 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %306
  %308 = ptrtoint ptr %307 to i64
  %309 = sub i64 %308, %17
  %310 = trunc i64 %309 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %310)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 992)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12754, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14800, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1002690, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 186, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1983)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14800, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1003458, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35266, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8643135, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12707846, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 449, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %311 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %19, i64 0, i64 %indvars.iv
  %312 = getelementptr inbounds i8, ptr %311, i64 40
  %313 = ptrtoint ptr %312 to i64
  %314 = sub i64 %313, %17
  %315 = trunc i64 %314 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %315)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9110670, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1956868604, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8649248, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8641023, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35215, i32 noundef 2)
  %316 = getelementptr inbounds i8, ptr %311, i64 8
  %317 = ptrtoint ptr %316 to i64
  %318 = sub i64 %317, %17
  %319 = trunc i64 %318 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %319)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12707850, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12708618, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10691, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1028058, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12705798, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 472, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12707853, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 264209479, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 44048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %320 = getelementptr inbounds [256 x i32], ptr %18, i64 0, i64 %indvars.iv
  %321 = ptrtoint ptr %320 to i64
  %322 = sub i64 %321, %17
  %323 = trunc i64 %322 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %323)
  br label %325

324:                                              ; preds = %42
  call void @_ZN7libzpaq5errorEPKc(ptr noundef nonnull @.str.43)
  br label %325

325:                                              ; preds = %42, %44, %107, %112, %145, %172, %._crit_edge, %295, %324
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %326 = load i8, ptr %.031453162, align 1, !tbaa !15
  %327 = zext i8 %326 to i64
  %328 = getelementptr inbounds [256 x i32], ptr @_ZN7libzpaq8compsizeE, i64 0, i64 %327
  %329 = load i32, ptr %328, align 4, !tbaa !13
  %330 = sext i32 %329 to i64
  %331 = getelementptr inbounds i8, ptr %.031453162, i64 %330
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge3166, label %30, !llvm.loop !25

._crit_edge3174:                                  ; preds = %.loopexit, %._crit_edge3166
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 95, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 94, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 93, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 91, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 195, i32 noundef 1)
  %332 = load i32, ptr %2, align 4, !tbaa !13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #4
  ret i32 %332

333:                                              ; preds = %.lr.ph3173, %.loopexit
  %indvars.iv3180 = phi i64 [ 0, %.lr.ph3173 ], [ %indvars.iv.next3181, %.loopexit ]
  %.13170 = phi ptr [ %14, %.lr.ph3173 ], [ %508, %.loopexit ]
  %334 = load i8, ptr %.13170, align 1, !tbaa !15
  switch i8 %334, label %502 [
    i8 1, label %.loopexit
    i8 9, label %335
    i8 2, label %335
    i8 3, label %354
    i8 8, label %354
    i8 4, label %383
    i8 5, label %.loopexit
    i8 6, label %436
    i8 7, label %466
  ]

335:                                              ; preds = %333, %333
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %336 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %28, i64 0, i64 %indvars.iv3180
  %337 = getelementptr inbounds i8, ptr %336, i64 40
  %338 = ptrtoint ptr %337 to i64
  %339 = sub i64 %338, %.pre-phi3187
  %340 = trunc i64 %339 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %340)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %341 = getelementptr inbounds i8, ptr %336, i64 8
  %342 = ptrtoint ptr %341 to i64
  %343 = sub i64 %342, %.pre-phi3187
  %344 = trunc i64 %343 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %344)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %345 = call noundef i64 @_ZNK7libzpaq5ArrayIjE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %337)
  %346 = trunc i64 %345 to i32
  %347 = add i32 %346, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %347)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9254022, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35590, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35266, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12707857, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35305, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706063, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10729, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10689, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33250, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1023)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9143447, i32 noundef 3)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 31760)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1028040, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33249, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1024)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33274, i32 noundef 2)
  %348 = load i8, ptr %.13170, align 1, !tbaa !15
  %349 = icmp eq i8 %348, 9
  %350 = select i1 %349, i64 4, i64 2
  %351 = getelementptr inbounds i8, ptr %.13170, i64 %350
  %352 = load i8, ptr %351, align 1, !tbaa !15
  %.sroa.0.0.extract.trunc526 = shl i8 %352, 2
  %353 = lshr i8 %352, 6
  %.sroa.282.0.insert.ext1338 = zext nneg i8 %353 to i32
  %.sroa.282.0.insert.shift1339 = shl nuw nsw i32 %.sroa.282.0.insert.ext1338, 8
  %.sroa.0.0.insert.ext528 = zext i8 %.sroa.0.0.extract.trunc526 to i32
  %.sroa.0.0.insert.insert530 = or disjoint i32 %.sroa.282.0.insert.shift1339, %.sroa.0.0.insert.ext528
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.insert530)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4366, i32 noundef 2)
  br label %.loopexit

354:                                              ; preds = %333, %333
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9127684, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8642575, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 903, i32 noundef 2)
  %355 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %28, i64 0, i64 %indvars.iv3180
  %356 = getelementptr inbounds i8, ptr %355, i64 32
  %357 = ptrtoint ptr %356 to i64
  %358 = sub i64 %357, %.pre-phi3187
  %359 = trunc i64 %358 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %359)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %360 = getelementptr inbounds i8, ptr %355, i64 64
  %361 = ptrtoint ptr %360 to i64
  %362 = sub i64 %361, %.pre-phi3187
  %363 = trunc i64 %362 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %363)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263590918, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1923312384, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263625759, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 109584)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8920070, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %364 = getelementptr inbounds i8, ptr %355, i64 40
  %365 = ptrtoint ptr %364 to i64
  %366 = sub i64 %365, %.pre-phi3187
  %367 = trunc i64 %366 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %367)
  %368 = load i8, ptr %.13170, align 1, !tbaa !15
  %369 = icmp eq i8 %368, 3
  br i1 %369, label %370, label %371

370:                                              ; preds = %354
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9254038, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35590, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12707848, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35305, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706063, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10729, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10689, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12712194, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 270, i32 noundef 2)
  br label %.loopexit

371:                                              ; preds = %354
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %372 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %indvars.iv3180
  %373 = ptrtoint ptr %372 to i64
  %374 = sub i64 %373, %.pre-phi3187
  %375 = trunc i64 %374 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %375)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 2048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263685191, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35856)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35305, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706063, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10729, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10689, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %376 = getelementptr inbounds i8, ptr %.13170, i64 2
  %377 = load i8, ptr %376, align 1, !tbaa !15
  %378 = zext i8 %377 to i64
  %379 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %378
  %380 = ptrtoint ptr %379 to i64
  %381 = sub i64 %380, %.pre-phi3187
  %382 = trunc i64 %381 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %382)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1028033, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4096)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12711949, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 197846, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 187, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 524287)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14808, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1003459, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 63443, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14808, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1002691, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8979670, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8634640, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12712197, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 55367172, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 184, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 524287)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14785, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1003464, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 63440, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14785, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1002696, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef -1991453180, i32 noundef 4)
  br label %.loopexit

383:                                              ; preds = %333
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %384 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %28, i64 0, i64 %indvars.iv3180
  %385 = getelementptr inbounds i8, ptr %384, i64 64
  %386 = ptrtoint ptr %385 to i64
  %387 = sub i64 %386, %.pre-phi3187
  %388 = trunc i64 %387 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %388)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35743, i32 noundef 2)
  %389 = getelementptr inbounds i8, ptr %384, i64 40
  %390 = ptrtoint ptr %389 to i64
  %391 = sub i64 %390, %.pre-phi3187
  %392 = trunc i64 %391 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %392)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %393 = getelementptr inbounds i8, ptr %384, i64 32
  %394 = ptrtoint ptr %393 to i64
  %395 = sub i64 %394, %.pre-phi3187
  %396 = trunc i64 %395 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %396)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14824, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29704, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12736, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %397 = getelementptr inbounds i8, ptr %384, i64 16
  %398 = ptrtoint ptr %397 to i64
  %399 = sub i64 %398, %.pre-phi3187
  %400 = trunc i64 %399 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %400)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %401 = ptrtoint ptr %384 to i64
  %402 = sub i64 %401, %.pre-phi3187
  %403 = trunc i64 %402 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %403)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263588870, i32 noundef 4)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 457, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 489, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8915974, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %404 = getelementptr inbounds i8, ptr %384, i64 8
  %405 = ptrtoint ptr %404 to i64
  %406 = sub i64 %405, %.pre-phi3187
  %407 = trunc i64 %406 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %407)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 65472, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8642567, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %407)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3973, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 155)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %403)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 65472, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %408 = getelementptr inbounds i8, ptr %.13170, i64 2
  %409 = load i8, ptr %408, align 1, !tbaa !15
  %410 = zext nneg i8 %409 to i32
  %notmask = shl nsw i32 -1, %410
  %411 = xor i32 %notmask, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %411)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %403)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %400)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 34240, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 30044, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35727, i32 noundef 2)
  %412 = getelementptr inbounds [256 x i32], ptr %29, i64 0, i64 %indvars.iv3180
  %413 = ptrtoint ptr %412 to i64
  %414 = sub i64 %413, %.pre-phi3187
  %415 = trunc i64 %414 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %415)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33249, i32 noundef 2)
  %416 = getelementptr inbounds i8, ptr %.13170, i64 1
  %417 = load i8, ptr %416, align 1, !tbaa !15
  %418 = zext nneg i8 %417 to i32
  %notmask3150 = shl nsw i32 -1, %418
  %419 = xor i32 %notmask3150, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %419)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %403)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 2819211, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  %420 = getelementptr inbounds i8, ptr %384, i64 24
  %421 = ptrtoint ptr %420 to i64
  %422 = sub i64 %421, %.pre-phi3187
  %423 = trunc i64 %422 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %423)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 169, i32 noundef 1)
  %424 = load i8, ptr %408, align 1, !tbaa !15
  %425 = zext nneg i8 %424 to i32
  %notmask3151 = shl nsw i32 -1, %425
  %426 = xor i32 %notmask3151, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %426)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29768, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 83, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35743, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %403)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35290, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10691, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12745, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33273, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 255)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29724, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 65482, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 65483, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33250, i32 noundef 2)
  %427 = load i8, ptr %408, align 1, !tbaa !15
  %428 = zext nneg i8 %427 to i32
  %notmask3152 = shl nsw i32 -1, %428
  %429 = xor i32 %notmask3152, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %429)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 33251, i32 noundef 2)
  %430 = load i8, ptr %408, align 1, !tbaa !15
  %431 = zext nneg i8 %430 to i32
  %notmask3153 = shl nsw i32 -1, %431
  %432 = xor i32 %notmask3153, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %432)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9045014, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 3802142, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 29956, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 65473, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 60380, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 91, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35215, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %400)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 60174, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 61, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 255)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8638464, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35207, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %400)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %415)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 37, i32 noundef 1)
  %433 = load i8, ptr %416, align 1, !tbaa !15
  %434 = zext nneg i8 %433 to i32
  %notmask3154 = shl nsw i32 -1, %434
  %435 = xor i32 %notmask3154, -1
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %435)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35727, i32 noundef 2)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %403)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8981635, i32 noundef 3)
  br label %.loopexit

436:                                              ; preds = %333
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %437 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %indvars.iv3180
  %438 = ptrtoint ptr %437 to i64
  %439 = sub i64 %438, %.pre-phi3187
  %440 = trunc i64 %439 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %440)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 2048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263685191, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35856)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35305, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706063, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10729, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10689, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 27081, i32 noundef 2)
  %441 = getelementptr inbounds i8, ptr %.13170, i64 4
  %442 = load i8, ptr %441, align 1, !tbaa !15
  %.sroa.0.0.insert.ext730 = zext i8 %442 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.ext730)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12712197, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %443 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %28, i64 0, i64 %indvars.iv3180
  %444 = getelementptr inbounds i8, ptr %443, i64 8
  %445 = ptrtoint ptr %444 to i64
  %446 = sub i64 %445, %.pre-phi3187
  %447 = trunc i64 %446 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %447)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %448 = getelementptr inbounds i8, ptr %443, i64 88
  %449 = ptrtoint ptr %448 to i64
  %450 = sub i64 %449, %.pre-phi3187
  %451 = trunc i64 %450 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %451)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9253958, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %452 = getelementptr inbounds i8, ptr %.13170, i64 2
  %453 = load i8, ptr %452, align 1, !tbaa !15
  %454 = zext i8 %453 to i64
  %455 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %454
  %456 = ptrtoint ptr %455 to i64
  %457 = sub i64 %456, %.pre-phi3187
  %458 = trunc i64 %457 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %458)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 11143, i32 noundef 2)
  %459 = getelementptr inbounds i8, ptr %.13170, i64 3
  %460 = load i8, ptr %459, align 1, !tbaa !15
  %461 = zext i8 %460 to i64
  %462 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %461
  %463 = ptrtoint ptr %462 to i64
  %464 = sub i64 %463, %.pre-phi3187
  %465 = trunc i64 %464 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %465)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1028033, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4096)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12711949, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1029910, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 464, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 186, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 65535)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14800, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1003458, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12754, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14800, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1002690, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 6719750, i32 noundef 3)
  br label %.loopexit

466:                                              ; preds = %333
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %467 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %indvars.iv3180
  %468 = ptrtoint ptr %467 to i64
  %469 = sub i64 %468, %.pre-phi3187
  %470 = trunc i64 %469 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %470)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 2048)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 263685191, i32 noundef 4)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35856)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35305, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12706063, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10729, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 10689, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 27081, i32 noundef 2)
  %471 = getelementptr inbounds i8, ptr %.13170, i64 4
  %472 = load i8, ptr %471, align 1, !tbaa !15
  %.sroa.0.0.insert.ext777 = zext i8 %472 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %.sroa.0.0.insert.ext777)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12712196, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %473 = getelementptr inbounds [256 x %"struct.libzpaq::Component"], ptr %28, i64 0, i64 %indvars.iv3180
  %474 = getelementptr inbounds i8, ptr %473, i64 8
  %475 = ptrtoint ptr %474 to i64
  %476 = sub i64 %475, %.pre-phi3187
  %477 = trunc i64 %476 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %477)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35767, i32 noundef 2)
  %478 = getelementptr inbounds i8, ptr %473, i64 40
  %479 = ptrtoint ptr %478 to i64
  %480 = sub i64 %479, %.pre-phi3187
  %481 = trunc i64 %480 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %481)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 9254022, i32 noundef 3)
  %482 = getelementptr inbounds i8, ptr %.13170, i64 3
  %483 = load i8, ptr %482, align 1, !tbaa !15
  %.not3178 = icmp eq i8 %483, 0
  br i1 %.not3178, label %.loopexit, label %.lr.ph3169

.lr.ph3169:                                       ; preds = %466
  %484 = getelementptr inbounds i8, ptr %.13170, i64 2
  br label %485

485:                                              ; preds = %.lr.ph3169, %499
  %.03167 = phi i32 [ 0, %.lr.ph3169 ], [ %500, %499 ]
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35719, i32 noundef 2)
  %486 = load i8, ptr %484, align 1, !tbaa !15
  %487 = zext i8 %486 to i32
  %488 = add nuw nsw i32 %.03167, %487
  %489 = zext nneg i32 %488 to i64
  %490 = getelementptr inbounds [256 x i32], ptr %20, i64 0, i64 %489
  %491 = ptrtoint ptr %490 to i64
  %492 = sub i64 %491, %.pre-phi3187
  %493 = trunc i64 %492 to i32
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef %493)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1028033, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 5, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 4096)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 12711949, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 774, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 186, i32 noundef 1)
  call void @_ZN7libzpaqL7put4lsbEPhiRij(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 524287)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14800, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1003458, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 63442, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 14800, i32 noundef 2)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 1002690, i32 noundef 3)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 35078, i32 noundef 2)
  %494 = load i8, ptr %482, align 1, !tbaa !15
  %495 = zext i8 %494 to i32
  %496 = add nsw i32 %495, -1
  %497 = icmp slt i32 %.03167, %496
  br i1 %497, label %498, label %499

498:                                              ; preds = %485
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 72, i32 noundef 1)
  call void @_ZN7libzpaqL3putEPhiRiji(ptr noundef %4, i32 noundef %6, ptr noundef nonnull align 4 dereferenceable(4) %2, i32 noundef 8635908, i32 noundef 3)
  %.pre = load i8, ptr %482, align 1, !tbaa !15
  %.pre3185 = zext i8 %.pre to i32
  br label %499

499:                                              ; preds = %485, %498
  %.pre-phi = phi i32 [ %495, %485 ], [ %.pre3185, %498 ]
  %500 = add nuw nsw i32 %.03167, 1
  %501 = icmp ult i32 %500, %.pre-phi
  br i1 %501, label %485, label %.loopexit, !llvm.loop !26

502:                                              ; preds = %333
  call void @_ZN7libzpaq5errorEPKc(ptr noundef nonnull @.str.43)
  br label %.loopexit

.loopexit:                                        ; preds = %499, %466, %333, %333, %335, %383, %436, %502, %371, %370
  %indvars.iv.next3181 = add nuw nsw i64 %indvars.iv3180, 1
  %503 = load i8, ptr %.13170, align 1, !tbaa !15
  %504 = zext i8 %503 to i64
  %505 = getelementptr inbounds [256 x i32], ptr @_ZN7libzpaq8compsizeE, i64 0, i64 %504
  %506 = load i32, ptr %505, align 4, !tbaa !13
  %507 = sext i32 %506 to i64
  %508 = getelementptr inbounds i8, ptr %.13170, i64 %507
  %exitcond3184.not = icmp eq i64 %indvars.iv.next3181, %wide.trip.count3183
  br i1 %exitcond3184.not, label %._crit_edge3174, label %333, !llvm.loop !27
}

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 = { 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, !10, i64 110608}
!6 = !{!"_ZTSN7libzpaq9PredictorE", !7, i64 0, !7, i64 4, !8, i64 8, !8, i64 1032, !10, i64 2056, !8, i64 2064, !8, i64 30736, !8, i64 31760, !8, i64 35856, !8, i64 44048, !11, i64 109584, !10, i64 110608, !7, i64 110616}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!"_ZTSN7libzpaq10StateTableE", !8, i64 0}
!12 = !{!6, !7, i64 110616}
!13 = !{!7, !7, i64 0}
!14 = !{!6, !10, i64 2056}
!15 = !{!8, !8, i64 0}
!16 = !{!17, !7, i64 40}
!17 = !{!"_ZTSN7libzpaq5ZPAQLE", !10, i64 0, !10, i64 8, !18, i64 16, !7, i64 40, !7, i64 44, !7, i64 48, !18, i64 56, !20, i64 80, !20, i64 104, !21, i64 128, !7, i64 152, !7, i64 156, !7, i64 160, !7, i64 164, !7, i64 168, !7, i64 172, !7, i64 176, !7, i64 180, !10, i64 184}
!18 = !{!"_ZTSN7libzpaq5ArrayIhEE", !10, i64 0, !19, i64 8, !7, i64 16}
!19 = !{!"long", !8, i64 0}
!20 = !{!"_ZTSN7libzpaq5ArrayIjEE", !10, i64 0, !19, i64 8, !7, i64 16}
!21 = !{!"_ZTSN7libzpaq5ArrayIcEE", !10, i64 0, !19, i64 8, !7, i64 16}
!22 = distinct !{!22, !23, !24}
!23 = !{!"llvm.loop.mustprogress"}
!24 = !{!"llvm.loop.peeled.count", i32 1}
!25 = distinct !{!25, !23}
!26 = distinct !{!26, !23}
!27 = distinct !{!27, !23}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass