; LLVM IR from glaretechnologies/substrata :: rtaudio/RtAudio.ll (ZN5RtApi13convertBufferEPcS0_RNS_11ConvertInfoE)

; 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.RtApi = type { ptr, %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_string", %"class.std::function", i8, %"class.std::vector.3", i32, %"struct.RtApi::RtApiStream" }
%"class.std::__cxx11::basic_ostringstream" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<RtAudio::DeviceInfo, std::allocator<RtAudio::DeviceInfo>>::_Vector_impl" }
%"struct.std::_Vector_base<RtAudio::DeviceInfo, std::allocator<RtAudio::DeviceInfo>>::_Vector_impl" = type { %"struct.std::_Vector_base<RtAudio::DeviceInfo, std::allocator<RtAudio::DeviceInfo>>::_Vector_impl_data" }
%"struct.std::_Vector_base<RtAudio::DeviceInfo, std::allocator<RtAudio::DeviceInfo>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.RtApi::RtApiStream" = type { [2 x i32], ptr, i32, i32, [2 x ptr], ptr, [2 x i8], i8, [2 x i8], [2 x i8], i32, i32, i32, [2 x i32], [2 x i32], [2 x i32], [2 x i64], i64, [2 x i64], %union.pthread_mutex_t, %struct.CallbackInfo, [2 x %"struct.RtApi::ConvertInfo"], double }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%struct.CallbackInfo = type <{ ptr, i64, ptr, ptr, ptr, i8, i8, [2 x i8], i32, i8, [7 x i8] }>
%"struct.RtApi::ConvertInfo" = type { i32, i32, i32, i64, i64, %"class.std::vector.8", %"class.std::vector.8" }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.S24 = type { [3 x i8] }

; 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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN5RtApi11formatBytesEm(ptr noundef nonnull align 8 dereferenceable(888), i64 noundef) #1 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN5RtApi13convertBufferEPcS0_RNS_11ConvertInfoE(ptr noundef nonnull align 8 dereferenceable(888) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(80) %3) #1 align 2 {
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca ptr, align 8
  %27 = alloca i32, align 4
  %28 = alloca ptr, align 8
  %29 = alloca i32, align 4
  %30 = alloca ptr, align 8
  %31 = alloca i32, align 4
  %32 = alloca ptr, align 8
  %33 = alloca i32, align 4
  %34 = alloca ptr, align 8
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca i32, align 4
  %39 = alloca ptr, align 8
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca ptr, align 8
  %44 = alloca i32, align 4
  %45 = alloca ptr, align 8
  %46 = alloca i32, align 4
  %47 = alloca i64, align 8
  %48 = alloca i64, align 8
  %49 = alloca ptr, align 8
  %50 = alloca i32, align 4
  %51 = alloca i64, align 8
  %52 = alloca i64, align 8
  %53 = alloca ptr, align 8
  %54 = alloca ptr, align 8
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca ptr, align 8
  %61 = alloca i32, align 4
  %62 = alloca ptr, align 8
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i64, align 8
  %69 = alloca i64, align 8
  %70 = alloca ptr, align 8
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i64, align 8
  %74 = alloca i64, align 8
  %75 = alloca ptr, align 8
  %76 = alloca ptr, align 8
  %77 = alloca i32, align 4
  %78 = alloca ptr, align 8
  %79 = alloca i32, align 4
  %80 = alloca ptr, align 8
  %81 = alloca i32, align 4
  %82 = alloca ptr, align 8
  %83 = alloca i32, align 4
  %84 = alloca ptr, align 8
  %85 = alloca i32, align 4
  %86 = alloca i64, align 8
  %87 = alloca i64, align 8
  %88 = alloca ptr, align 8
  %89 = alloca i32, align 4
  %90 = alloca i64, align 8
  %91 = alloca i64, align 8
  %92 = alloca ptr, align 8
  %93 = alloca ptr, align 8
  %94 = alloca i32, align 4
  %95 = alloca ptr, align 8
  %96 = alloca i32, align 4
  %97 = alloca ptr, align 8
  %98 = alloca i32, align 4
  %99 = alloca ptr, align 8
  %100 = alloca i32, align 4
  %101 = alloca ptr, align 8
  %102 = alloca i32, align 4
  %103 = alloca i64, align 8
  %104 = alloca i64, align 8
  %105 = alloca ptr, align 8
  %106 = alloca i32, align 4
  %107 = alloca i64, align 8
  %108 = alloca i64, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  store ptr %3, ptr %8, align 8, !tbaa !5
  %109 = load ptr, ptr %5, align 8
  %110 = load ptr, ptr %6, align 8, !tbaa !5
  %111 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %112 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %111, i32 0, i32 5
  %113 = load ptr, ptr %112, align 8, !tbaa !9
  %114 = icmp eq ptr %110, %113
  br i1 %114, label %115, label %143

115:                                              ; preds = %4
  %116 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %117 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %116, i32 0, i32 2
  %118 = load i32, ptr %117, align 8, !tbaa !33
  %119 = icmp eq i32 %118, 2
  br i1 %119, label %120, label %143

120:                                              ; preds = %115
  %121 = load ptr, ptr %8, align 8, !tbaa !5
  %122 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %121, i32 0, i32 2
  %123 = load i32, ptr %122, align 8, !tbaa !34
  %124 = load ptr, ptr %8, align 8, !tbaa !5
  %125 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %124, i32 0, i32 1
  %126 = load i32, ptr %125, align 4, !tbaa !40
  %127 = icmp sgt i32 %123, %126
  br i1 %127, label %128, label %143

128:                                              ; preds = %120
  %129 = load ptr, ptr %6, align 8, !tbaa !5
  %130 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %131 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %130, i32 0, i32 11
  %132 = load i32, ptr %131, align 4, !tbaa !41
  %133 = load ptr, ptr %8, align 8, !tbaa !5
  %134 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %133, i32 0, i32 2
  %135 = load i32, ptr %134, align 8, !tbaa !34
  %136 = mul i32 %132, %135
  %137 = load ptr, ptr %8, align 8, !tbaa !5
  %138 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %137, i32 0, i32 4
  %139 = load i64, ptr %138, align 8, !tbaa !42
  %140 = call noundef i32 @_ZN5RtApi11formatBytesEm(ptr noundef nonnull align 8 dereferenceable(888) %109, i64 noundef %139)
  %141 = mul i32 %136, %140
  %142 = zext i32 %141 to i64
  call void @llvm.memset.p0.i64(ptr align 1 %129, i8 0, i64 %142, i1 false)
  br label %143

143:                                              ; preds = %128, %120, %115, %4
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  %144 = load ptr, ptr %8, align 8, !tbaa !5
  %145 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %144, i32 0, i32 4
  %146 = load i64, ptr %145, align 8, !tbaa !42
  %147 = icmp eq i64 %146, 32
  br i1 %147, label %148, label %530

148:                                              ; preds = %143
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #7
  %149 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %149, ptr %10, align 8, !tbaa !5
  %150 = load ptr, ptr %8, align 8, !tbaa !5
  %151 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %150, i32 0, i32 3
  %152 = load i64, ptr %151, align 8, !tbaa !43
  %153 = icmp eq i64 %152, 1
  br i1 %153, label %154, label %212

154:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  %155 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %155, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #7
  store i32 0, ptr %12, align 4, !tbaa !44
  br label %156

156:                                              ; preds = %208, %154
  %157 = load i32, ptr %12, align 4, !tbaa !44
  %158 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %159 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %158, i32 0, i32 11
  %160 = load i32, ptr %159, align 4, !tbaa !41
  %161 = icmp ult i32 %157, %160
  br i1 %161, label %163, label %162

162:                                              ; preds = %156
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  br label %211

163:                                              ; preds = %156
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %164

164:                                              ; preds = %192, %163
  %165 = load i32, ptr %9, align 4, !tbaa !44
  %166 = load ptr, ptr %8, align 8, !tbaa !5
  %167 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %166, i32 0, i32 0
  %168 = load i32, ptr %167, align 8, !tbaa !45
  %169 = icmp slt i32 %165, %168
  br i1 %169, label %170, label %195

170:                                              ; preds = %164
  %171 = load ptr, ptr %11, align 8, !tbaa !5
  %172 = load ptr, ptr %8, align 8, !tbaa !5
  %173 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %172, i32 0, i32 5
  %174 = load i32, ptr %9, align 4, !tbaa !44
  %175 = sext i32 %174 to i64
  %176 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %173, i64 noundef %175) #7
  %177 = load i32, ptr %176, align 4, !tbaa !44
  %178 = sext i32 %177 to i64
  %179 = getelementptr inbounds i8, ptr %171, i64 %178
  %180 = load i8, ptr %179, align 1, !tbaa !46
  %181 = sitofp i8 %180 to double
  %182 = fdiv double %181, 1.280000e+02
  %183 = load ptr, ptr %10, align 8, !tbaa !5
  %184 = load ptr, ptr %8, align 8, !tbaa !5
  %185 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %184, i32 0, i32 6
  %186 = load i32, ptr %9, align 4, !tbaa !44
  %187 = sext i32 %186 to i64
  %188 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %187) #7
  %189 = load i32, ptr %188, align 4, !tbaa !44
  %190 = sext i32 %189 to i64
  %191 = getelementptr inbounds double, ptr %183, i64 %190
  store double %182, ptr %191, align 8, !tbaa !47
  br label %192

192:                                              ; preds = %170
  %193 = load i32, ptr %9, align 4, !tbaa !44
  %194 = add nsw i32 %193, 1
  store i32 %194, ptr %9, align 4, !tbaa !44
  br label %164, !llvm.loop !48

195:                                              ; preds = %164
  %196 = load ptr, ptr %8, align 8, !tbaa !5
  %197 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %196, i32 0, i32 1
  %198 = load i32, ptr %197, align 4, !tbaa !40
  %199 = load ptr, ptr %11, align 8, !tbaa !5
  %200 = sext i32 %198 to i64
  %201 = getelementptr inbounds i8, ptr %199, i64 %200
  store ptr %201, ptr %11, align 8, !tbaa !5
  %202 = load ptr, ptr %8, align 8, !tbaa !5
  %203 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %202, i32 0, i32 2
  %204 = load i32, ptr %203, align 8, !tbaa !34
  %205 = load ptr, ptr %10, align 8, !tbaa !5
  %206 = sext i32 %204 to i64
  %207 = getelementptr inbounds double, ptr %205, i64 %206
  store ptr %207, ptr %10, align 8, !tbaa !5
  br label %208

208:                                              ; preds = %195
  %209 = load i32, ptr %12, align 4, !tbaa !44
  %210 = add i32 %209, 1
  store i32 %210, ptr %12, align 4, !tbaa !44
  br label %156, !llvm.loop !50

211:                                              ; preds = %162
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %529

212:                                              ; preds = %148
  %213 = load ptr, ptr %8, align 8, !tbaa !5
  %214 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %213, i32 0, i32 3
  %215 = load i64, ptr %214, align 8, !tbaa !43
  %216 = icmp eq i64 %215, 2
  br i1 %216, label %217, label %275

217:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #7
  %218 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %218, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  store i32 0, ptr %14, align 4, !tbaa !44
  br label %219

219:                                              ; preds = %271, %217
  %220 = load i32, ptr %14, align 4, !tbaa !44
  %221 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %222 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %221, i32 0, i32 11
  %223 = load i32, ptr %222, align 4, !tbaa !41
  %224 = icmp ult i32 %220, %223
  br i1 %224, label %226, label %225

225:                                              ; preds = %219
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  br label %274

226:                                              ; preds = %219
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %227

227:                                              ; preds = %255, %226
  %228 = load i32, ptr %9, align 4, !tbaa !44
  %229 = load ptr, ptr %8, align 8, !tbaa !5
  %230 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %229, i32 0, i32 0
  %231 = load i32, ptr %230, align 8, !tbaa !45
  %232 = icmp slt i32 %228, %231
  br i1 %232, label %233, label %258

233:                                              ; preds = %227
  %234 = load ptr, ptr %13, align 8, !tbaa !5
  %235 = load ptr, ptr %8, align 8, !tbaa !5
  %236 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %235, i32 0, i32 5
  %237 = load i32, ptr %9, align 4, !tbaa !44
  %238 = sext i32 %237 to i64
  %239 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %236, i64 noundef %238) #7
  %240 = load i32, ptr %239, align 4, !tbaa !44
  %241 = sext i32 %240 to i64
  %242 = getelementptr inbounds i16, ptr %234, i64 %241
  %243 = load i16, ptr %242, align 2, !tbaa !51
  %244 = sitofp i16 %243 to double
  %245 = fdiv double %244, 3.276800e+04
  %246 = load ptr, ptr %10, align 8, !tbaa !5
  %247 = load ptr, ptr %8, align 8, !tbaa !5
  %248 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %247, i32 0, i32 6
  %249 = load i32, ptr %9, align 4, !tbaa !44
  %250 = sext i32 %249 to i64
  %251 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %248, i64 noundef %250) #7
  %252 = load i32, ptr %251, align 4, !tbaa !44
  %253 = sext i32 %252 to i64
  %254 = getelementptr inbounds double, ptr %246, i64 %253
  store double %245, ptr %254, align 8, !tbaa !47
  br label %255

255:                                              ; preds = %233
  %256 = load i32, ptr %9, align 4, !tbaa !44
  %257 = add nsw i32 %256, 1
  store i32 %257, ptr %9, align 4, !tbaa !44
  br label %227, !llvm.loop !53

258:                                              ; preds = %227
  %259 = load ptr, ptr %8, align 8, !tbaa !5
  %260 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %259, i32 0, i32 1
  %261 = load i32, ptr %260, align 4, !tbaa !40
  %262 = load ptr, ptr %13, align 8, !tbaa !5
  %263 = sext i32 %261 to i64
  %264 = getelementptr inbounds i16, ptr %262, i64 %263
  store ptr %264, ptr %13, align 8, !tbaa !5
  %265 = load ptr, ptr %8, align 8, !tbaa !5
  %266 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %265, i32 0, i32 2
  %267 = load i32, ptr %266, align 8, !tbaa !34
  %268 = load ptr, ptr %10, align 8, !tbaa !5
  %269 = sext i32 %267 to i64
  %270 = getelementptr inbounds double, ptr %268, i64 %269
  store ptr %270, ptr %10, align 8, !tbaa !5
  br label %271

271:                                              ; preds = %258
  %272 = load i32, ptr %14, align 4, !tbaa !44
  %273 = add i32 %272, 1
  store i32 %273, ptr %14, align 4, !tbaa !44
  br label %219, !llvm.loop !54

274:                                              ; preds = %225
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  br label %528

275:                                              ; preds = %212
  %276 = load ptr, ptr %8, align 8, !tbaa !5
  %277 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %276, i32 0, i32 3
  %278 = load i64, ptr %277, align 8, !tbaa !43
  %279 = icmp eq i64 %278, 4
  br i1 %279, label %280, label %338

280:                                              ; preds = %275
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #7
  %281 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %281, ptr %15, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  store i32 0, ptr %16, align 4, !tbaa !44
  br label %282

282:                                              ; preds = %334, %280
  %283 = load i32, ptr %16, align 4, !tbaa !44
  %284 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %285 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %284, i32 0, i32 11
  %286 = load i32, ptr %285, align 4, !tbaa !41
  %287 = icmp ult i32 %283, %286
  br i1 %287, label %289, label %288

288:                                              ; preds = %282
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  br label %337

289:                                              ; preds = %282
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %290

290:                                              ; preds = %318, %289
  %291 = load i32, ptr %9, align 4, !tbaa !44
  %292 = load ptr, ptr %8, align 8, !tbaa !5
  %293 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %292, i32 0, i32 0
  %294 = load i32, ptr %293, align 8, !tbaa !45
  %295 = icmp slt i32 %291, %294
  br i1 %295, label %296, label %321

296:                                              ; preds = %290
  %297 = load ptr, ptr %15, align 8, !tbaa !5
  %298 = load ptr, ptr %8, align 8, !tbaa !5
  %299 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %298, i32 0, i32 5
  %300 = load i32, ptr %9, align 4, !tbaa !44
  %301 = sext i32 %300 to i64
  %302 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %299, i64 noundef %301) #7
  %303 = load i32, ptr %302, align 4, !tbaa !44
  %304 = sext i32 %303 to i64
  %305 = getelementptr inbounds %class.S24, ptr %297, i64 %304
  %306 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %305)
  %307 = sitofp i32 %306 to double
  %308 = fdiv double %307, 0x4160000000000000
  %309 = load ptr, ptr %10, align 8, !tbaa !5
  %310 = load ptr, ptr %8, align 8, !tbaa !5
  %311 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %310, i32 0, i32 6
  %312 = load i32, ptr %9, align 4, !tbaa !44
  %313 = sext i32 %312 to i64
  %314 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %311, i64 noundef %313) #7
  %315 = load i32, ptr %314, align 4, !tbaa !44
  %316 = sext i32 %315 to i64
  %317 = getelementptr inbounds double, ptr %309, i64 %316
  store double %308, ptr %317, align 8, !tbaa !47
  br label %318

318:                                              ; preds = %296
  %319 = load i32, ptr %9, align 4, !tbaa !44
  %320 = add nsw i32 %319, 1
  store i32 %320, ptr %9, align 4, !tbaa !44
  br label %290, !llvm.loop !55

321:                                              ; preds = %290
  %322 = load ptr, ptr %8, align 8, !tbaa !5
  %323 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %322, i32 0, i32 1
  %324 = load i32, ptr %323, align 4, !tbaa !40
  %325 = load ptr, ptr %15, align 8, !tbaa !5
  %326 = sext i32 %324 to i64
  %327 = getelementptr inbounds %class.S24, ptr %325, i64 %326
  store ptr %327, ptr %15, align 8, !tbaa !5
  %328 = load ptr, ptr %8, align 8, !tbaa !5
  %329 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %328, i32 0, i32 2
  %330 = load i32, ptr %329, align 8, !tbaa !34
  %331 = load ptr, ptr %10, align 8, !tbaa !5
  %332 = sext i32 %330 to i64
  %333 = getelementptr inbounds double, ptr %331, i64 %332
  store ptr %333, ptr %10, align 8, !tbaa !5
  br label %334

334:                                              ; preds = %321
  %335 = load i32, ptr %16, align 4, !tbaa !44
  %336 = add i32 %335, 1
  store i32 %336, ptr %16, align 4, !tbaa !44
  br label %282, !llvm.loop !56

337:                                              ; preds = %288
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  br label %527

338:                                              ; preds = %275
  %339 = load ptr, ptr %8, align 8, !tbaa !5
  %340 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %339, i32 0, i32 3
  %341 = load i64, ptr %340, align 8, !tbaa !43
  %342 = icmp eq i64 %341, 8
  br i1 %342, label %343, label %401

343:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  %344 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %344, ptr %17, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #7
  store i32 0, ptr %18, align 4, !tbaa !44
  br label %345

345:                                              ; preds = %397, %343
  %346 = load i32, ptr %18, align 4, !tbaa !44
  %347 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %348 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %347, i32 0, i32 11
  %349 = load i32, ptr %348, align 4, !tbaa !41
  %350 = icmp ult i32 %346, %349
  br i1 %350, label %352, label %351

351:                                              ; preds = %345
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  br label %400

352:                                              ; preds = %345
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %353

353:                                              ; preds = %381, %352
  %354 = load i32, ptr %9, align 4, !tbaa !44
  %355 = load ptr, ptr %8, align 8, !tbaa !5
  %356 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %355, i32 0, i32 0
  %357 = load i32, ptr %356, align 8, !tbaa !45
  %358 = icmp slt i32 %354, %357
  br i1 %358, label %359, label %384

359:                                              ; preds = %353
  %360 = load ptr, ptr %17, align 8, !tbaa !5
  %361 = load ptr, ptr %8, align 8, !tbaa !5
  %362 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %361, i32 0, i32 5
  %363 = load i32, ptr %9, align 4, !tbaa !44
  %364 = sext i32 %363 to i64
  %365 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %362, i64 noundef %364) #7
  %366 = load i32, ptr %365, align 4, !tbaa !44
  %367 = sext i32 %366 to i64
  %368 = getelementptr inbounds i32, ptr %360, i64 %367
  %369 = load i32, ptr %368, align 4, !tbaa !44
  %370 = sitofp i32 %369 to double
  %371 = fdiv double %370, 0x41E0000000000000
  %372 = load ptr, ptr %10, align 8, !tbaa !5
  %373 = load ptr, ptr %8, align 8, !tbaa !5
  %374 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %373, i32 0, i32 6
  %375 = load i32, ptr %9, align 4, !tbaa !44
  %376 = sext i32 %375 to i64
  %377 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %374, i64 noundef %376) #7
  %378 = load i32, ptr %377, align 4, !tbaa !44
  %379 = sext i32 %378 to i64
  %380 = getelementptr inbounds double, ptr %372, i64 %379
  store double %371, ptr %380, align 8, !tbaa !47
  br label %381

381:                                              ; preds = %359
  %382 = load i32, ptr %9, align 4, !tbaa !44
  %383 = add nsw i32 %382, 1
  store i32 %383, ptr %9, align 4, !tbaa !44
  br label %353, !llvm.loop !57

384:                                              ; preds = %353
  %385 = load ptr, ptr %8, align 8, !tbaa !5
  %386 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %385, i32 0, i32 1
  %387 = load i32, ptr %386, align 4, !tbaa !40
  %388 = load ptr, ptr %17, align 8, !tbaa !5
  %389 = sext i32 %387 to i64
  %390 = getelementptr inbounds i32, ptr %388, i64 %389
  store ptr %390, ptr %17, align 8, !tbaa !5
  %391 = load ptr, ptr %8, align 8, !tbaa !5
  %392 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %391, i32 0, i32 2
  %393 = load i32, ptr %392, align 8, !tbaa !34
  %394 = load ptr, ptr %10, align 8, !tbaa !5
  %395 = sext i32 %393 to i64
  %396 = getelementptr inbounds double, ptr %394, i64 %395
  store ptr %396, ptr %10, align 8, !tbaa !5
  br label %397

397:                                              ; preds = %384
  %398 = load i32, ptr %18, align 4, !tbaa !44
  %399 = add i32 %398, 1
  store i32 %399, ptr %18, align 4, !tbaa !44
  br label %345, !llvm.loop !58

400:                                              ; preds = %351
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %526

401:                                              ; preds = %338
  %402 = load ptr, ptr %8, align 8, !tbaa !5
  %403 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %402, i32 0, i32 3
  %404 = load i64, ptr %403, align 8, !tbaa !43
  %405 = icmp eq i64 %404, 16
  br i1 %405, label %406, label %463

406:                                              ; preds = %401
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  %407 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %407, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #7
  store i32 0, ptr %20, align 4, !tbaa !44
  br label %408

408:                                              ; preds = %459, %406
  %409 = load i32, ptr %20, align 4, !tbaa !44
  %410 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %411 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %410, i32 0, i32 11
  %412 = load i32, ptr %411, align 4, !tbaa !41
  %413 = icmp ult i32 %409, %412
  br i1 %413, label %415, label %414

414:                                              ; preds = %408
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  br label %462

415:                                              ; preds = %408
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %416

416:                                              ; preds = %443, %415
  %417 = load i32, ptr %9, align 4, !tbaa !44
  %418 = load ptr, ptr %8, align 8, !tbaa !5
  %419 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %418, i32 0, i32 0
  %420 = load i32, ptr %419, align 8, !tbaa !45
  %421 = icmp slt i32 %417, %420
  br i1 %421, label %422, label %446

422:                                              ; preds = %416
  %423 = load ptr, ptr %19, align 8, !tbaa !5
  %424 = load ptr, ptr %8, align 8, !tbaa !5
  %425 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %424, i32 0, i32 5
  %426 = load i32, ptr %9, align 4, !tbaa !44
  %427 = sext i32 %426 to i64
  %428 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %425, i64 noundef %427) #7
  %429 = load i32, ptr %428, align 4, !tbaa !44
  %430 = sext i32 %429 to i64
  %431 = getelementptr inbounds float, ptr %423, i64 %430
  %432 = load float, ptr %431, align 4, !tbaa !59
  %433 = fpext float %432 to double
  %434 = load ptr, ptr %10, align 8, !tbaa !5
  %435 = load ptr, ptr %8, align 8, !tbaa !5
  %436 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %435, i32 0, i32 6
  %437 = load i32, ptr %9, align 4, !tbaa !44
  %438 = sext i32 %437 to i64
  %439 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %436, i64 noundef %438) #7
  %440 = load i32, ptr %439, align 4, !tbaa !44
  %441 = sext i32 %440 to i64
  %442 = getelementptr inbounds double, ptr %434, i64 %441
  store double %433, ptr %442, align 8, !tbaa !47
  br label %443

443:                                              ; preds = %422
  %444 = load i32, ptr %9, align 4, !tbaa !44
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr %9, align 4, !tbaa !44
  br label %416, !llvm.loop !61

446:                                              ; preds = %416
  %447 = load ptr, ptr %8, align 8, !tbaa !5
  %448 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %447, i32 0, i32 1
  %449 = load i32, ptr %448, align 4, !tbaa !40
  %450 = load ptr, ptr %19, align 8, !tbaa !5
  %451 = sext i32 %449 to i64
  %452 = getelementptr inbounds float, ptr %450, i64 %451
  store ptr %452, ptr %19, align 8, !tbaa !5
  %453 = load ptr, ptr %8, align 8, !tbaa !5
  %454 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %453, i32 0, i32 2
  %455 = load i32, ptr %454, align 8, !tbaa !34
  %456 = load ptr, ptr %10, align 8, !tbaa !5
  %457 = sext i32 %455 to i64
  %458 = getelementptr inbounds double, ptr %456, i64 %457
  store ptr %458, ptr %10, align 8, !tbaa !5
  br label %459

459:                                              ; preds = %446
  %460 = load i32, ptr %20, align 4, !tbaa !44
  %461 = add i32 %460, 1
  store i32 %461, ptr %20, align 4, !tbaa !44
  br label %408, !llvm.loop !62

462:                                              ; preds = %414
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %525

463:                                              ; preds = %401
  %464 = load ptr, ptr %8, align 8, !tbaa !5
  %465 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %464, i32 0, i32 3
  %466 = load i64, ptr %465, align 8, !tbaa !43
  %467 = icmp eq i64 %466, 32
  br i1 %467, label %468, label %524

468:                                              ; preds = %463
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  %469 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %469, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store i32 0, ptr %22, align 4, !tbaa !44
  br label %470

470:                                              ; preds = %520, %468
  %471 = load i32, ptr %22, align 4, !tbaa !44
  %472 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %473 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %472, i32 0, i32 11
  %474 = load i32, ptr %473, align 4, !tbaa !41
  %475 = icmp ult i32 %471, %474
  br i1 %475, label %477, label %476

476:                                              ; preds = %470
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %523

477:                                              ; preds = %470
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %478

478:                                              ; preds = %504, %477
  %479 = load i32, ptr %9, align 4, !tbaa !44
  %480 = load ptr, ptr %8, align 8, !tbaa !5
  %481 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %480, i32 0, i32 0
  %482 = load i32, ptr %481, align 8, !tbaa !45
  %483 = icmp slt i32 %479, %482
  br i1 %483, label %484, label %507

484:                                              ; preds = %478
  %485 = load ptr, ptr %21, align 8, !tbaa !5
  %486 = load ptr, ptr %8, align 8, !tbaa !5
  %487 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %486, i32 0, i32 5
  %488 = load i32, ptr %9, align 4, !tbaa !44
  %489 = sext i32 %488 to i64
  %490 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %487, i64 noundef %489) #7
  %491 = load i32, ptr %490, align 4, !tbaa !44
  %492 = sext i32 %491 to i64
  %493 = getelementptr inbounds double, ptr %485, i64 %492
  %494 = load double, ptr %493, align 8, !tbaa !47
  %495 = load ptr, ptr %10, align 8, !tbaa !5
  %496 = load ptr, ptr %8, align 8, !tbaa !5
  %497 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %496, i32 0, i32 6
  %498 = load i32, ptr %9, align 4, !tbaa !44
  %499 = sext i32 %498 to i64
  %500 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %497, i64 noundef %499) #7
  %501 = load i32, ptr %500, align 4, !tbaa !44
  %502 = sext i32 %501 to i64
  %503 = getelementptr inbounds double, ptr %495, i64 %502
  store double %494, ptr %503, align 8, !tbaa !47
  br label %504

504:                                              ; preds = %484
  %505 = load i32, ptr %9, align 4, !tbaa !44
  %506 = add nsw i32 %505, 1
  store i32 %506, ptr %9, align 4, !tbaa !44
  br label %478, !llvm.loop !63

507:                                              ; preds = %478
  %508 = load ptr, ptr %8, align 8, !tbaa !5
  %509 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %508, i32 0, i32 1
  %510 = load i32, ptr %509, align 4, !tbaa !40
  %511 = load ptr, ptr %21, align 8, !tbaa !5
  %512 = sext i32 %510 to i64
  %513 = getelementptr inbounds double, ptr %511, i64 %512
  store ptr %513, ptr %21, align 8, !tbaa !5
  %514 = load ptr, ptr %8, align 8, !tbaa !5
  %515 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %514, i32 0, i32 2
  %516 = load i32, ptr %515, align 8, !tbaa !34
  %517 = load ptr, ptr %10, align 8, !tbaa !5
  %518 = sext i32 %516 to i64
  %519 = getelementptr inbounds double, ptr %517, i64 %518
  store ptr %519, ptr %10, align 8, !tbaa !5
  br label %520

520:                                              ; preds = %507
  %521 = load i32, ptr %22, align 4, !tbaa !44
  %522 = add i32 %521, 1
  store i32 %522, ptr %22, align 4, !tbaa !44
  br label %470, !llvm.loop !64

523:                                              ; preds = %476
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br label %524

524:                                              ; preds = %523, %463
  br label %525

525:                                              ; preds = %524, %462
  br label %526

526:                                              ; preds = %525, %400
  br label %527

527:                                              ; preds = %526, %337
  br label %528

528:                                              ; preds = %527, %274
  br label %529

529:                                              ; preds = %528, %211
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  br label %2545

530:                                              ; preds = %143
  %531 = load ptr, ptr %8, align 8, !tbaa !5
  %532 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %531, i32 0, i32 4
  %533 = load i64, ptr %532, align 8, !tbaa !42
  %534 = icmp eq i64 %533, 16
  br i1 %534, label %535, label %917

535:                                              ; preds = %530
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %536 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %536, ptr %23, align 8, !tbaa !5
  %537 = load ptr, ptr %8, align 8, !tbaa !5
  %538 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %537, i32 0, i32 3
  %539 = load i64, ptr %538, align 8, !tbaa !43
  %540 = icmp eq i64 %539, 1
  br i1 %540, label %541, label %599

541:                                              ; preds = %535
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  %542 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %542, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  store i32 0, ptr %25, align 4, !tbaa !44
  br label %543

543:                                              ; preds = %595, %541
  %544 = load i32, ptr %25, align 4, !tbaa !44
  %545 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %546 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %545, i32 0, i32 11
  %547 = load i32, ptr %546, align 4, !tbaa !41
  %548 = icmp ult i32 %544, %547
  br i1 %548, label %550, label %549

549:                                              ; preds = %543
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  br label %598

550:                                              ; preds = %543
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %551

551:                                              ; preds = %579, %550
  %552 = load i32, ptr %9, align 4, !tbaa !44
  %553 = load ptr, ptr %8, align 8, !tbaa !5
  %554 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %553, i32 0, i32 0
  %555 = load i32, ptr %554, align 8, !tbaa !45
  %556 = icmp slt i32 %552, %555
  br i1 %556, label %557, label %582

557:                                              ; preds = %551
  %558 = load ptr, ptr %24, align 8, !tbaa !5
  %559 = load ptr, ptr %8, align 8, !tbaa !5
  %560 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %559, i32 0, i32 5
  %561 = load i32, ptr %9, align 4, !tbaa !44
  %562 = sext i32 %561 to i64
  %563 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %560, i64 noundef %562) #7
  %564 = load i32, ptr %563, align 4, !tbaa !44
  %565 = sext i32 %564 to i64
  %566 = getelementptr inbounds i8, ptr %558, i64 %565
  %567 = load i8, ptr %566, align 1, !tbaa !46
  %568 = sitofp i8 %567 to float
  %569 = fdiv float %568, 1.280000e+02
  %570 = load ptr, ptr %23, align 8, !tbaa !5
  %571 = load ptr, ptr %8, align 8, !tbaa !5
  %572 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %571, i32 0, i32 6
  %573 = load i32, ptr %9, align 4, !tbaa !44
  %574 = sext i32 %573 to i64
  %575 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %572, i64 noundef %574) #7
  %576 = load i32, ptr %575, align 4, !tbaa !44
  %577 = sext i32 %576 to i64
  %578 = getelementptr inbounds float, ptr %570, i64 %577
  store float %569, ptr %578, align 4, !tbaa !59
  br label %579

579:                                              ; preds = %557
  %580 = load i32, ptr %9, align 4, !tbaa !44
  %581 = add nsw i32 %580, 1
  store i32 %581, ptr %9, align 4, !tbaa !44
  br label %551, !llvm.loop !65

582:                                              ; preds = %551
  %583 = load ptr, ptr %8, align 8, !tbaa !5
  %584 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %583, i32 0, i32 1
  %585 = load i32, ptr %584, align 4, !tbaa !40
  %586 = load ptr, ptr %24, align 8, !tbaa !5
  %587 = sext i32 %585 to i64
  %588 = getelementptr inbounds i8, ptr %586, i64 %587
  store ptr %588, ptr %24, align 8, !tbaa !5
  %589 = load ptr, ptr %8, align 8, !tbaa !5
  %590 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %589, i32 0, i32 2
  %591 = load i32, ptr %590, align 8, !tbaa !34
  %592 = load ptr, ptr %23, align 8, !tbaa !5
  %593 = sext i32 %591 to i64
  %594 = getelementptr inbounds float, ptr %592, i64 %593
  store ptr %594, ptr %23, align 8, !tbaa !5
  br label %595

595:                                              ; preds = %582
  %596 = load i32, ptr %25, align 4, !tbaa !44
  %597 = add i32 %596, 1
  store i32 %597, ptr %25, align 4, !tbaa !44
  br label %543, !llvm.loop !66

598:                                              ; preds = %549
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br label %916

599:                                              ; preds = %535
  %600 = load ptr, ptr %8, align 8, !tbaa !5
  %601 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %600, i32 0, i32 3
  %602 = load i64, ptr %601, align 8, !tbaa !43
  %603 = icmp eq i64 %602, 2
  br i1 %603, label %604, label %662

604:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #7
  %605 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %605, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 0, ptr %27, align 4, !tbaa !44
  br label %606

606:                                              ; preds = %658, %604
  %607 = load i32, ptr %27, align 4, !tbaa !44
  %608 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %609 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %608, i32 0, i32 11
  %610 = load i32, ptr %609, align 4, !tbaa !41
  %611 = icmp ult i32 %607, %610
  br i1 %611, label %613, label %612

612:                                              ; preds = %606
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br label %661

613:                                              ; preds = %606
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %614

614:                                              ; preds = %642, %613
  %615 = load i32, ptr %9, align 4, !tbaa !44
  %616 = load ptr, ptr %8, align 8, !tbaa !5
  %617 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %616, i32 0, i32 0
  %618 = load i32, ptr %617, align 8, !tbaa !45
  %619 = icmp slt i32 %615, %618
  br i1 %619, label %620, label %645

620:                                              ; preds = %614
  %621 = load ptr, ptr %26, align 8, !tbaa !5
  %622 = load ptr, ptr %8, align 8, !tbaa !5
  %623 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %622, i32 0, i32 5
  %624 = load i32, ptr %9, align 4, !tbaa !44
  %625 = sext i32 %624 to i64
  %626 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %623, i64 noundef %625) #7
  %627 = load i32, ptr %626, align 4, !tbaa !44
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds i16, ptr %621, i64 %628
  %630 = load i16, ptr %629, align 2, !tbaa !51
  %631 = sitofp i16 %630 to float
  %632 = fdiv float %631, 3.276800e+04
  %633 = load ptr, ptr %23, align 8, !tbaa !5
  %634 = load ptr, ptr %8, align 8, !tbaa !5
  %635 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %634, i32 0, i32 6
  %636 = load i32, ptr %9, align 4, !tbaa !44
  %637 = sext i32 %636 to i64
  %638 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %635, i64 noundef %637) #7
  %639 = load i32, ptr %638, align 4, !tbaa !44
  %640 = sext i32 %639 to i64
  %641 = getelementptr inbounds float, ptr %633, i64 %640
  store float %632, ptr %641, align 4, !tbaa !59
  br label %642

642:                                              ; preds = %620
  %643 = load i32, ptr %9, align 4, !tbaa !44
  %644 = add nsw i32 %643, 1
  store i32 %644, ptr %9, align 4, !tbaa !44
  br label %614, !llvm.loop !67

645:                                              ; preds = %614
  %646 = load ptr, ptr %8, align 8, !tbaa !5
  %647 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %646, i32 0, i32 1
  %648 = load i32, ptr %647, align 4, !tbaa !40
  %649 = load ptr, ptr %26, align 8, !tbaa !5
  %650 = sext i32 %648 to i64
  %651 = getelementptr inbounds i16, ptr %649, i64 %650
  store ptr %651, ptr %26, align 8, !tbaa !5
  %652 = load ptr, ptr %8, align 8, !tbaa !5
  %653 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %652, i32 0, i32 2
  %654 = load i32, ptr %653, align 8, !tbaa !34
  %655 = load ptr, ptr %23, align 8, !tbaa !5
  %656 = sext i32 %654 to i64
  %657 = getelementptr inbounds float, ptr %655, i64 %656
  store ptr %657, ptr %23, align 8, !tbaa !5
  br label %658

658:                                              ; preds = %645
  %659 = load i32, ptr %27, align 4, !tbaa !44
  %660 = add i32 %659, 1
  store i32 %660, ptr %27, align 4, !tbaa !44
  br label %606, !llvm.loop !68

661:                                              ; preds = %612
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  br label %915

662:                                              ; preds = %599
  %663 = load ptr, ptr %8, align 8, !tbaa !5
  %664 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %663, i32 0, i32 3
  %665 = load i64, ptr %664, align 8, !tbaa !43
  %666 = icmp eq i64 %665, 4
  br i1 %666, label %667, label %725

667:                                              ; preds = %662
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  %668 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %668, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #7
  store i32 0, ptr %29, align 4, !tbaa !44
  br label %669

669:                                              ; preds = %721, %667
  %670 = load i32, ptr %29, align 4, !tbaa !44
  %671 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %672 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %671, i32 0, i32 11
  %673 = load i32, ptr %672, align 4, !tbaa !41
  %674 = icmp ult i32 %670, %673
  br i1 %674, label %676, label %675

675:                                              ; preds = %669
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #7
  br label %724

676:                                              ; preds = %669
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %677

677:                                              ; preds = %705, %676
  %678 = load i32, ptr %9, align 4, !tbaa !44
  %679 = load ptr, ptr %8, align 8, !tbaa !5
  %680 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %679, i32 0, i32 0
  %681 = load i32, ptr %680, align 8, !tbaa !45
  %682 = icmp slt i32 %678, %681
  br i1 %682, label %683, label %708

683:                                              ; preds = %677
  %684 = load ptr, ptr %28, align 8, !tbaa !5
  %685 = load ptr, ptr %8, align 8, !tbaa !5
  %686 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %685, i32 0, i32 5
  %687 = load i32, ptr %9, align 4, !tbaa !44
  %688 = sext i32 %687 to i64
  %689 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %686, i64 noundef %688) #7
  %690 = load i32, ptr %689, align 4, !tbaa !44
  %691 = sext i32 %690 to i64
  %692 = getelementptr inbounds %class.S24, ptr %684, i64 %691
  %693 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %692)
  %694 = sitofp i32 %693 to float
  %695 = fdiv float %694, 0x4160000000000000
  %696 = load ptr, ptr %23, align 8, !tbaa !5
  %697 = load ptr, ptr %8, align 8, !tbaa !5
  %698 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %697, i32 0, i32 6
  %699 = load i32, ptr %9, align 4, !tbaa !44
  %700 = sext i32 %699 to i64
  %701 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %698, i64 noundef %700) #7
  %702 = load i32, ptr %701, align 4, !tbaa !44
  %703 = sext i32 %702 to i64
  %704 = getelementptr inbounds float, ptr %696, i64 %703
  store float %695, ptr %704, align 4, !tbaa !59
  br label %705

705:                                              ; preds = %683
  %706 = load i32, ptr %9, align 4, !tbaa !44
  %707 = add nsw i32 %706, 1
  store i32 %707, ptr %9, align 4, !tbaa !44
  br label %677, !llvm.loop !69

708:                                              ; preds = %677
  %709 = load ptr, ptr %8, align 8, !tbaa !5
  %710 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %709, i32 0, i32 1
  %711 = load i32, ptr %710, align 4, !tbaa !40
  %712 = load ptr, ptr %28, align 8, !tbaa !5
  %713 = sext i32 %711 to i64
  %714 = getelementptr inbounds %class.S24, ptr %712, i64 %713
  store ptr %714, ptr %28, align 8, !tbaa !5
  %715 = load ptr, ptr %8, align 8, !tbaa !5
  %716 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %715, i32 0, i32 2
  %717 = load i32, ptr %716, align 8, !tbaa !34
  %718 = load ptr, ptr %23, align 8, !tbaa !5
  %719 = sext i32 %717 to i64
  %720 = getelementptr inbounds float, ptr %718, i64 %719
  store ptr %720, ptr %23, align 8, !tbaa !5
  br label %721

721:                                              ; preds = %708
  %722 = load i32, ptr %29, align 4, !tbaa !44
  %723 = add i32 %722, 1
  store i32 %723, ptr %29, align 4, !tbaa !44
  br label %669, !llvm.loop !70

724:                                              ; preds = %675
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %914

725:                                              ; preds = %662
  %726 = load ptr, ptr %8, align 8, !tbaa !5
  %727 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %726, i32 0, i32 3
  %728 = load i64, ptr %727, align 8, !tbaa !43
  %729 = icmp eq i64 %728, 8
  br i1 %729, label %730, label %788

730:                                              ; preds = %725
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #7
  %731 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %731, ptr %30, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #7
  store i32 0, ptr %31, align 4, !tbaa !44
  br label %732

732:                                              ; preds = %784, %730
  %733 = load i32, ptr %31, align 4, !tbaa !44
  %734 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %735 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %734, i32 0, i32 11
  %736 = load i32, ptr %735, align 4, !tbaa !41
  %737 = icmp ult i32 %733, %736
  br i1 %737, label %739, label %738

738:                                              ; preds = %732
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  br label %787

739:                                              ; preds = %732
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %740

740:                                              ; preds = %768, %739
  %741 = load i32, ptr %9, align 4, !tbaa !44
  %742 = load ptr, ptr %8, align 8, !tbaa !5
  %743 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %742, i32 0, i32 0
  %744 = load i32, ptr %743, align 8, !tbaa !45
  %745 = icmp slt i32 %741, %744
  br i1 %745, label %746, label %771

746:                                              ; preds = %740
  %747 = load ptr, ptr %30, align 8, !tbaa !5
  %748 = load ptr, ptr %8, align 8, !tbaa !5
  %749 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %748, i32 0, i32 5
  %750 = load i32, ptr %9, align 4, !tbaa !44
  %751 = sext i32 %750 to i64
  %752 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %749, i64 noundef %751) #7
  %753 = load i32, ptr %752, align 4, !tbaa !44
  %754 = sext i32 %753 to i64
  %755 = getelementptr inbounds i32, ptr %747, i64 %754
  %756 = load i32, ptr %755, align 4, !tbaa !44
  %757 = sitofp i32 %756 to float
  %758 = fdiv float %757, 0x41E0000000000000
  %759 = load ptr, ptr %23, align 8, !tbaa !5
  %760 = load ptr, ptr %8, align 8, !tbaa !5
  %761 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %760, i32 0, i32 6
  %762 = load i32, ptr %9, align 4, !tbaa !44
  %763 = sext i32 %762 to i64
  %764 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %761, i64 noundef %763) #7
  %765 = load i32, ptr %764, align 4, !tbaa !44
  %766 = sext i32 %765 to i64
  %767 = getelementptr inbounds float, ptr %759, i64 %766
  store float %758, ptr %767, align 4, !tbaa !59
  br label %768

768:                                              ; preds = %746
  %769 = load i32, ptr %9, align 4, !tbaa !44
  %770 = add nsw i32 %769, 1
  store i32 %770, ptr %9, align 4, !tbaa !44
  br label %740, !llvm.loop !71

771:                                              ; preds = %740
  %772 = load ptr, ptr %8, align 8, !tbaa !5
  %773 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %772, i32 0, i32 1
  %774 = load i32, ptr %773, align 4, !tbaa !40
  %775 = load ptr, ptr %30, align 8, !tbaa !5
  %776 = sext i32 %774 to i64
  %777 = getelementptr inbounds i32, ptr %775, i64 %776
  store ptr %777, ptr %30, align 8, !tbaa !5
  %778 = load ptr, ptr %8, align 8, !tbaa !5
  %779 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %778, i32 0, i32 2
  %780 = load i32, ptr %779, align 8, !tbaa !34
  %781 = load ptr, ptr %23, align 8, !tbaa !5
  %782 = sext i32 %780 to i64
  %783 = getelementptr inbounds float, ptr %781, i64 %782
  store ptr %783, ptr %23, align 8, !tbaa !5
  br label %784

784:                                              ; preds = %771
  %785 = load i32, ptr %31, align 4, !tbaa !44
  %786 = add i32 %785, 1
  store i32 %786, ptr %31, align 4, !tbaa !44
  br label %732, !llvm.loop !72

787:                                              ; preds = %738
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  br label %913

788:                                              ; preds = %725
  %789 = load ptr, ptr %8, align 8, !tbaa !5
  %790 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %789, i32 0, i32 3
  %791 = load i64, ptr %790, align 8, !tbaa !43
  %792 = icmp eq i64 %791, 16
  br i1 %792, label %793, label %849

793:                                              ; preds = %788
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %794 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %794, ptr %32, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #7
  store i32 0, ptr %33, align 4, !tbaa !44
  br label %795

795:                                              ; preds = %845, %793
  %796 = load i32, ptr %33, align 4, !tbaa !44
  %797 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %798 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %797, i32 0, i32 11
  %799 = load i32, ptr %798, align 4, !tbaa !41
  %800 = icmp ult i32 %796, %799
  br i1 %800, label %802, label %801

801:                                              ; preds = %795
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  br label %848

802:                                              ; preds = %795
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %803

803:                                              ; preds = %829, %802
  %804 = load i32, ptr %9, align 4, !tbaa !44
  %805 = load ptr, ptr %8, align 8, !tbaa !5
  %806 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %805, i32 0, i32 0
  %807 = load i32, ptr %806, align 8, !tbaa !45
  %808 = icmp slt i32 %804, %807
  br i1 %808, label %809, label %832

809:                                              ; preds = %803
  %810 = load ptr, ptr %32, align 8, !tbaa !5
  %811 = load ptr, ptr %8, align 8, !tbaa !5
  %812 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %811, i32 0, i32 5
  %813 = load i32, ptr %9, align 4, !tbaa !44
  %814 = sext i32 %813 to i64
  %815 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %812, i64 noundef %814) #7
  %816 = load i32, ptr %815, align 4, !tbaa !44
  %817 = sext i32 %816 to i64
  %818 = getelementptr inbounds float, ptr %810, i64 %817
  %819 = load float, ptr %818, align 4, !tbaa !59
  %820 = load ptr, ptr %23, align 8, !tbaa !5
  %821 = load ptr, ptr %8, align 8, !tbaa !5
  %822 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %821, i32 0, i32 6
  %823 = load i32, ptr %9, align 4, !tbaa !44
  %824 = sext i32 %823 to i64
  %825 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %822, i64 noundef %824) #7
  %826 = load i32, ptr %825, align 4, !tbaa !44
  %827 = sext i32 %826 to i64
  %828 = getelementptr inbounds float, ptr %820, i64 %827
  store float %819, ptr %828, align 4, !tbaa !59
  br label %829

829:                                              ; preds = %809
  %830 = load i32, ptr %9, align 4, !tbaa !44
  %831 = add nsw i32 %830, 1
  store i32 %831, ptr %9, align 4, !tbaa !44
  br label %803, !llvm.loop !73

832:                                              ; preds = %803
  %833 = load ptr, ptr %8, align 8, !tbaa !5
  %834 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %833, i32 0, i32 1
  %835 = load i32, ptr %834, align 4, !tbaa !40
  %836 = load ptr, ptr %32, align 8, !tbaa !5
  %837 = sext i32 %835 to i64
  %838 = getelementptr inbounds float, ptr %836, i64 %837
  store ptr %838, ptr %32, align 8, !tbaa !5
  %839 = load ptr, ptr %8, align 8, !tbaa !5
  %840 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %839, i32 0, i32 2
  %841 = load i32, ptr %840, align 8, !tbaa !34
  %842 = load ptr, ptr %23, align 8, !tbaa !5
  %843 = sext i32 %841 to i64
  %844 = getelementptr inbounds float, ptr %842, i64 %843
  store ptr %844, ptr %23, align 8, !tbaa !5
  br label %845

845:                                              ; preds = %832
  %846 = load i32, ptr %33, align 4, !tbaa !44
  %847 = add i32 %846, 1
  store i32 %847, ptr %33, align 4, !tbaa !44
  br label %795, !llvm.loop !74

848:                                              ; preds = %801
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %912

849:                                              ; preds = %788
  %850 = load ptr, ptr %8, align 8, !tbaa !5
  %851 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %850, i32 0, i32 3
  %852 = load i64, ptr %851, align 8, !tbaa !43
  %853 = icmp eq i64 %852, 32
  br i1 %853, label %854, label %911

854:                                              ; preds = %849
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  %855 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %855, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #7
  store i32 0, ptr %35, align 4, !tbaa !44
  br label %856

856:                                              ; preds = %907, %854
  %857 = load i32, ptr %35, align 4, !tbaa !44
  %858 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %859 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %858, i32 0, i32 11
  %860 = load i32, ptr %859, align 4, !tbaa !41
  %861 = icmp ult i32 %857, %860
  br i1 %861, label %863, label %862

862:                                              ; preds = %856
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  br label %910

863:                                              ; preds = %856
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %864

864:                                              ; preds = %891, %863
  %865 = load i32, ptr %9, align 4, !tbaa !44
  %866 = load ptr, ptr %8, align 8, !tbaa !5
  %867 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %866, i32 0, i32 0
  %868 = load i32, ptr %867, align 8, !tbaa !45
  %869 = icmp slt i32 %865, %868
  br i1 %869, label %870, label %894

870:                                              ; preds = %864
  %871 = load ptr, ptr %34, align 8, !tbaa !5
  %872 = load ptr, ptr %8, align 8, !tbaa !5
  %873 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %872, i32 0, i32 5
  %874 = load i32, ptr %9, align 4, !tbaa !44
  %875 = sext i32 %874 to i64
  %876 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %873, i64 noundef %875) #7
  %877 = load i32, ptr %876, align 4, !tbaa !44
  %878 = sext i32 %877 to i64
  %879 = getelementptr inbounds double, ptr %871, i64 %878
  %880 = load double, ptr %879, align 8, !tbaa !47
  %881 = fptrunc double %880 to float
  %882 = load ptr, ptr %23, align 8, !tbaa !5
  %883 = load ptr, ptr %8, align 8, !tbaa !5
  %884 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %883, i32 0, i32 6
  %885 = load i32, ptr %9, align 4, !tbaa !44
  %886 = sext i32 %885 to i64
  %887 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %884, i64 noundef %886) #7
  %888 = load i32, ptr %887, align 4, !tbaa !44
  %889 = sext i32 %888 to i64
  %890 = getelementptr inbounds float, ptr %882, i64 %889
  store float %881, ptr %890, align 4, !tbaa !59
  br label %891

891:                                              ; preds = %870
  %892 = load i32, ptr %9, align 4, !tbaa !44
  %893 = add nsw i32 %892, 1
  store i32 %893, ptr %9, align 4, !tbaa !44
  br label %864, !llvm.loop !75

894:                                              ; preds = %864
  %895 = load ptr, ptr %8, align 8, !tbaa !5
  %896 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %895, i32 0, i32 1
  %897 = load i32, ptr %896, align 4, !tbaa !40
  %898 = load ptr, ptr %34, align 8, !tbaa !5
  %899 = sext i32 %897 to i64
  %900 = getelementptr inbounds double, ptr %898, i64 %899
  store ptr %900, ptr %34, align 8, !tbaa !5
  %901 = load ptr, ptr %8, align 8, !tbaa !5
  %902 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %901, i32 0, i32 2
  %903 = load i32, ptr %902, align 8, !tbaa !34
  %904 = load ptr, ptr %23, align 8, !tbaa !5
  %905 = sext i32 %903 to i64
  %906 = getelementptr inbounds float, ptr %904, i64 %905
  store ptr %906, ptr %23, align 8, !tbaa !5
  br label %907

907:                                              ; preds = %894
  %908 = load i32, ptr %35, align 4, !tbaa !44
  %909 = add i32 %908, 1
  store i32 %909, ptr %35, align 4, !tbaa !44
  br label %856, !llvm.loop !76

910:                                              ; preds = %862
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  br label %911

911:                                              ; preds = %910, %849
  br label %912

912:                                              ; preds = %911, %848
  br label %913

913:                                              ; preds = %912, %787
  br label %914

914:                                              ; preds = %913, %724
  br label %915

915:                                              ; preds = %914, %661
  br label %916

916:                                              ; preds = %915, %598
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  br label %2544

917:                                              ; preds = %530
  %918 = load ptr, ptr %8, align 8, !tbaa !5
  %919 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %918, i32 0, i32 4
  %920 = load i64, ptr %919, align 8, !tbaa !42
  %921 = icmp eq i64 %920, 8
  br i1 %921, label %922, label %1340

922:                                              ; preds = %917
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  %923 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %923, ptr %36, align 8, !tbaa !5
  %924 = load ptr, ptr %8, align 8, !tbaa !5
  %925 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %924, i32 0, i32 3
  %926 = load i64, ptr %925, align 8, !tbaa !43
  %927 = icmp eq i64 %926, 1
  br i1 %927, label %928, label %996

928:                                              ; preds = %922
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %929 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %929, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  store i32 0, ptr %38, align 4, !tbaa !44
  br label %930

930:                                              ; preds = %992, %928
  %931 = load i32, ptr %38, align 4, !tbaa !44
  %932 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %933 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %932, i32 0, i32 11
  %934 = load i32, ptr %933, align 4, !tbaa !41
  %935 = icmp ult i32 %931, %934
  br i1 %935, label %937, label %936

936:                                              ; preds = %930
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  br label %995

937:                                              ; preds = %930
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %938

938:                                              ; preds = %976, %937
  %939 = load i32, ptr %9, align 4, !tbaa !44
  %940 = load ptr, ptr %8, align 8, !tbaa !5
  %941 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %940, i32 0, i32 0
  %942 = load i32, ptr %941, align 8, !tbaa !45
  %943 = icmp slt i32 %939, %942
  br i1 %943, label %944, label %979

944:                                              ; preds = %938
  %945 = load ptr, ptr %37, align 8, !tbaa !5
  %946 = load ptr, ptr %8, align 8, !tbaa !5
  %947 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %946, i32 0, i32 5
  %948 = load i32, ptr %9, align 4, !tbaa !44
  %949 = sext i32 %948 to i64
  %950 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %947, i64 noundef %949) #7
  %951 = load i32, ptr %950, align 4, !tbaa !44
  %952 = sext i32 %951 to i64
  %953 = getelementptr inbounds i8, ptr %945, i64 %952
  %954 = load i8, ptr %953, align 1, !tbaa !46
  %955 = sext i8 %954 to i32
  %956 = load ptr, ptr %36, align 8, !tbaa !5
  %957 = load ptr, ptr %8, align 8, !tbaa !5
  %958 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %957, i32 0, i32 6
  %959 = load i32, ptr %9, align 4, !tbaa !44
  %960 = sext i32 %959 to i64
  %961 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %958, i64 noundef %960) #7
  %962 = load i32, ptr %961, align 4, !tbaa !44
  %963 = sext i32 %962 to i64
  %964 = getelementptr inbounds i32, ptr %956, i64 %963
  store i32 %955, ptr %964, align 4, !tbaa !44
  %965 = load ptr, ptr %36, align 8, !tbaa !5
  %966 = load ptr, ptr %8, align 8, !tbaa !5
  %967 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %966, i32 0, i32 6
  %968 = load i32, ptr %9, align 4, !tbaa !44
  %969 = sext i32 %968 to i64
  %970 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %967, i64 noundef %969) #7
  %971 = load i32, ptr %970, align 4, !tbaa !44
  %972 = sext i32 %971 to i64
  %973 = getelementptr inbounds i32, ptr %965, i64 %972
  %974 = load i32, ptr %973, align 4, !tbaa !44
  %975 = shl i32 %974, 24
  store i32 %975, ptr %973, align 4, !tbaa !44
  br label %976

976:                                              ; preds = %944
  %977 = load i32, ptr %9, align 4, !tbaa !44
  %978 = add nsw i32 %977, 1
  store i32 %978, ptr %9, align 4, !tbaa !44
  br label %938, !llvm.loop !77

979:                                              ; preds = %938
  %980 = load ptr, ptr %8, align 8, !tbaa !5
  %981 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %980, i32 0, i32 1
  %982 = load i32, ptr %981, align 4, !tbaa !40
  %983 = load ptr, ptr %37, align 8, !tbaa !5
  %984 = sext i32 %982 to i64
  %985 = getelementptr inbounds i8, ptr %983, i64 %984
  store ptr %985, ptr %37, align 8, !tbaa !5
  %986 = load ptr, ptr %8, align 8, !tbaa !5
  %987 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %986, i32 0, i32 2
  %988 = load i32, ptr %987, align 8, !tbaa !34
  %989 = load ptr, ptr %36, align 8, !tbaa !5
  %990 = sext i32 %988 to i64
  %991 = getelementptr inbounds i32, ptr %989, i64 %990
  store ptr %991, ptr %36, align 8, !tbaa !5
  br label %992

992:                                              ; preds = %979
  %993 = load i32, ptr %38, align 4, !tbaa !44
  %994 = add i32 %993, 1
  store i32 %994, ptr %38, align 4, !tbaa !44
  br label %930, !llvm.loop !78

995:                                              ; preds = %936
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %1339

996:                                              ; preds = %922
  %997 = load ptr, ptr %8, align 8, !tbaa !5
  %998 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %997, i32 0, i32 3
  %999 = load i64, ptr %998, align 8, !tbaa !43
  %1000 = icmp eq i64 %999, 2
  br i1 %1000, label %1001, label %1069

1001:                                             ; preds = %996
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  %1002 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1002, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #7
  store i32 0, ptr %40, align 4, !tbaa !44
  br label %1003

1003:                                             ; preds = %1065, %1001
  %1004 = load i32, ptr %40, align 4, !tbaa !44
  %1005 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1006 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1005, i32 0, i32 11
  %1007 = load i32, ptr %1006, align 4, !tbaa !41
  %1008 = icmp ult i32 %1004, %1007
  br i1 %1008, label %1010, label %1009

1009:                                             ; preds = %1003
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  br label %1068

1010:                                             ; preds = %1003
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1011

1011:                                             ; preds = %1049, %1010
  %1012 = load i32, ptr %9, align 4, !tbaa !44
  %1013 = load ptr, ptr %8, align 8, !tbaa !5
  %1014 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1013, i32 0, i32 0
  %1015 = load i32, ptr %1014, align 8, !tbaa !45
  %1016 = icmp slt i32 %1012, %1015
  br i1 %1016, label %1017, label %1052

1017:                                             ; preds = %1011
  %1018 = load ptr, ptr %39, align 8, !tbaa !5
  %1019 = load ptr, ptr %8, align 8, !tbaa !5
  %1020 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1019, i32 0, i32 5
  %1021 = load i32, ptr %9, align 4, !tbaa !44
  %1022 = sext i32 %1021 to i64
  %1023 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1020, i64 noundef %1022) #7
  %1024 = load i32, ptr %1023, align 4, !tbaa !44
  %1025 = sext i32 %1024 to i64
  %1026 = getelementptr inbounds i16, ptr %1018, i64 %1025
  %1027 = load i16, ptr %1026, align 2, !tbaa !51
  %1028 = sext i16 %1027 to i32
  %1029 = load ptr, ptr %36, align 8, !tbaa !5
  %1030 = load ptr, ptr %8, align 8, !tbaa !5
  %1031 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1030, i32 0, i32 6
  %1032 = load i32, ptr %9, align 4, !tbaa !44
  %1033 = sext i32 %1032 to i64
  %1034 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1031, i64 noundef %1033) #7
  %1035 = load i32, ptr %1034, align 4, !tbaa !44
  %1036 = sext i32 %1035 to i64
  %1037 = getelementptr inbounds i32, ptr %1029, i64 %1036
  store i32 %1028, ptr %1037, align 4, !tbaa !44
  %1038 = load ptr, ptr %36, align 8, !tbaa !5
  %1039 = load ptr, ptr %8, align 8, !tbaa !5
  %1040 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1039, i32 0, i32 6
  %1041 = load i32, ptr %9, align 4, !tbaa !44
  %1042 = sext i32 %1041 to i64
  %1043 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1040, i64 noundef %1042) #7
  %1044 = load i32, ptr %1043, align 4, !tbaa !44
  %1045 = sext i32 %1044 to i64
  %1046 = getelementptr inbounds i32, ptr %1038, i64 %1045
  %1047 = load i32, ptr %1046, align 4, !tbaa !44
  %1048 = shl i32 %1047, 16
  store i32 %1048, ptr %1046, align 4, !tbaa !44
  br label %1049

1049:                                             ; preds = %1017
  %1050 = load i32, ptr %9, align 4, !tbaa !44
  %1051 = add nsw i32 %1050, 1
  store i32 %1051, ptr %9, align 4, !tbaa !44
  br label %1011, !llvm.loop !79

1052:                                             ; preds = %1011
  %1053 = load ptr, ptr %8, align 8, !tbaa !5
  %1054 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1053, i32 0, i32 1
  %1055 = load i32, ptr %1054, align 4, !tbaa !40
  %1056 = load ptr, ptr %39, align 8, !tbaa !5
  %1057 = sext i32 %1055 to i64
  %1058 = getelementptr inbounds i16, ptr %1056, i64 %1057
  store ptr %1058, ptr %39, align 8, !tbaa !5
  %1059 = load ptr, ptr %8, align 8, !tbaa !5
  %1060 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1059, i32 0, i32 2
  %1061 = load i32, ptr %1060, align 8, !tbaa !34
  %1062 = load ptr, ptr %36, align 8, !tbaa !5
  %1063 = sext i32 %1061 to i64
  %1064 = getelementptr inbounds i32, ptr %1062, i64 %1063
  store ptr %1064, ptr %36, align 8, !tbaa !5
  br label %1065

1065:                                             ; preds = %1052
  %1066 = load i32, ptr %40, align 4, !tbaa !44
  %1067 = add i32 %1066, 1
  store i32 %1067, ptr %40, align 4, !tbaa !44
  br label %1003, !llvm.loop !80

1068:                                             ; preds = %1009
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  br label %1338

1069:                                             ; preds = %996
  %1070 = load ptr, ptr %8, align 8, !tbaa !5
  %1071 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1070, i32 0, i32 3
  %1072 = load i64, ptr %1071, align 8, !tbaa !43
  %1073 = icmp eq i64 %1072, 4
  br i1 %1073, label %1074, label %1141

1074:                                             ; preds = %1069
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #7
  %1075 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1075, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #7
  store i32 0, ptr %42, align 4, !tbaa !44
  br label %1076

1076:                                             ; preds = %1137, %1074
  %1077 = load i32, ptr %42, align 4, !tbaa !44
  %1078 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1079 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1078, i32 0, i32 11
  %1080 = load i32, ptr %1079, align 4, !tbaa !41
  %1081 = icmp ult i32 %1077, %1080
  br i1 %1081, label %1083, label %1082

1082:                                             ; preds = %1076
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  br label %1140

1083:                                             ; preds = %1076
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1084

1084:                                             ; preds = %1121, %1083
  %1085 = load i32, ptr %9, align 4, !tbaa !44
  %1086 = load ptr, ptr %8, align 8, !tbaa !5
  %1087 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1086, i32 0, i32 0
  %1088 = load i32, ptr %1087, align 8, !tbaa !45
  %1089 = icmp slt i32 %1085, %1088
  br i1 %1089, label %1090, label %1124

1090:                                             ; preds = %1084
  %1091 = load ptr, ptr %41, align 8, !tbaa !5
  %1092 = load ptr, ptr %8, align 8, !tbaa !5
  %1093 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1092, i32 0, i32 5
  %1094 = load i32, ptr %9, align 4, !tbaa !44
  %1095 = sext i32 %1094 to i64
  %1096 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1093, i64 noundef %1095) #7
  %1097 = load i32, ptr %1096, align 4, !tbaa !44
  %1098 = sext i32 %1097 to i64
  %1099 = getelementptr inbounds %class.S24, ptr %1091, i64 %1098
  %1100 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %1099)
  %1101 = load ptr, ptr %36, align 8, !tbaa !5
  %1102 = load ptr, ptr %8, align 8, !tbaa !5
  %1103 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1102, i32 0, i32 6
  %1104 = load i32, ptr %9, align 4, !tbaa !44
  %1105 = sext i32 %1104 to i64
  %1106 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1103, i64 noundef %1105) #7
  %1107 = load i32, ptr %1106, align 4, !tbaa !44
  %1108 = sext i32 %1107 to i64
  %1109 = getelementptr inbounds i32, ptr %1101, i64 %1108
  store i32 %1100, ptr %1109, align 4, !tbaa !44
  %1110 = load ptr, ptr %36, align 8, !tbaa !5
  %1111 = load ptr, ptr %8, align 8, !tbaa !5
  %1112 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1111, i32 0, i32 6
  %1113 = load i32, ptr %9, align 4, !tbaa !44
  %1114 = sext i32 %1113 to i64
  %1115 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1112, i64 noundef %1114) #7
  %1116 = load i32, ptr %1115, align 4, !tbaa !44
  %1117 = sext i32 %1116 to i64
  %1118 = getelementptr inbounds i32, ptr %1110, i64 %1117
  %1119 = load i32, ptr %1118, align 4, !tbaa !44
  %1120 = shl i32 %1119, 8
  store i32 %1120, ptr %1118, align 4, !tbaa !44
  br label %1121

1121:                                             ; preds = %1090
  %1122 = load i32, ptr %9, align 4, !tbaa !44
  %1123 = add nsw i32 %1122, 1
  store i32 %1123, ptr %9, align 4, !tbaa !44
  br label %1084, !llvm.loop !81

1124:                                             ; preds = %1084
  %1125 = load ptr, ptr %8, align 8, !tbaa !5
  %1126 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1125, i32 0, i32 1
  %1127 = load i32, ptr %1126, align 4, !tbaa !40
  %1128 = load ptr, ptr %41, align 8, !tbaa !5
  %1129 = sext i32 %1127 to i64
  %1130 = getelementptr inbounds %class.S24, ptr %1128, i64 %1129
  store ptr %1130, ptr %41, align 8, !tbaa !5
  %1131 = load ptr, ptr %8, align 8, !tbaa !5
  %1132 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1131, i32 0, i32 2
  %1133 = load i32, ptr %1132, align 8, !tbaa !34
  %1134 = load ptr, ptr %36, align 8, !tbaa !5
  %1135 = sext i32 %1133 to i64
  %1136 = getelementptr inbounds i32, ptr %1134, i64 %1135
  store ptr %1136, ptr %36, align 8, !tbaa !5
  br label %1137

1137:                                             ; preds = %1124
  %1138 = load i32, ptr %42, align 4, !tbaa !44
  %1139 = add i32 %1138, 1
  store i32 %1139, ptr %42, align 4, !tbaa !44
  br label %1076, !llvm.loop !82

1140:                                             ; preds = %1082
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  br label %1337

1141:                                             ; preds = %1069
  %1142 = load ptr, ptr %8, align 8, !tbaa !5
  %1143 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1142, i32 0, i32 3
  %1144 = load i64, ptr %1143, align 8, !tbaa !43
  %1145 = icmp eq i64 %1144, 8
  br i1 %1145, label %1146, label %1202

1146:                                             ; preds = %1141
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #7
  %1147 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1147, ptr %43, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #7
  store i32 0, ptr %44, align 4, !tbaa !44
  br label %1148

1148:                                             ; preds = %1198, %1146
  %1149 = load i32, ptr %44, align 4, !tbaa !44
  %1150 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1151 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1150, i32 0, i32 11
  %1152 = load i32, ptr %1151, align 4, !tbaa !41
  %1153 = icmp ult i32 %1149, %1152
  br i1 %1153, label %1155, label %1154

1154:                                             ; preds = %1148
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #7
  br label %1201

1155:                                             ; preds = %1148
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1156

1156:                                             ; preds = %1182, %1155
  %1157 = load i32, ptr %9, align 4, !tbaa !44
  %1158 = load ptr, ptr %8, align 8, !tbaa !5
  %1159 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1158, i32 0, i32 0
  %1160 = load i32, ptr %1159, align 8, !tbaa !45
  %1161 = icmp slt i32 %1157, %1160
  br i1 %1161, label %1162, label %1185

1162:                                             ; preds = %1156
  %1163 = load ptr, ptr %43, align 8, !tbaa !5
  %1164 = load ptr, ptr %8, align 8, !tbaa !5
  %1165 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1164, i32 0, i32 5
  %1166 = load i32, ptr %9, align 4, !tbaa !44
  %1167 = sext i32 %1166 to i64
  %1168 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1165, i64 noundef %1167) #7
  %1169 = load i32, ptr %1168, align 4, !tbaa !44
  %1170 = sext i32 %1169 to i64
  %1171 = getelementptr inbounds i32, ptr %1163, i64 %1170
  %1172 = load i32, ptr %1171, align 4, !tbaa !44
  %1173 = load ptr, ptr %36, align 8, !tbaa !5
  %1174 = load ptr, ptr %8, align 8, !tbaa !5
  %1175 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1174, i32 0, i32 6
  %1176 = load i32, ptr %9, align 4, !tbaa !44
  %1177 = sext i32 %1176 to i64
  %1178 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1175, i64 noundef %1177) #7
  %1179 = load i32, ptr %1178, align 4, !tbaa !44
  %1180 = sext i32 %1179 to i64
  %1181 = getelementptr inbounds i32, ptr %1173, i64 %1180
  store i32 %1172, ptr %1181, align 4, !tbaa !44
  br label %1182

1182:                                             ; preds = %1162
  %1183 = load i32, ptr %9, align 4, !tbaa !44
  %1184 = add nsw i32 %1183, 1
  store i32 %1184, ptr %9, align 4, !tbaa !44
  br label %1156, !llvm.loop !83

1185:                                             ; preds = %1156
  %1186 = load ptr, ptr %8, align 8, !tbaa !5
  %1187 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1186, i32 0, i32 1
  %1188 = load i32, ptr %1187, align 4, !tbaa !40
  %1189 = load ptr, ptr %43, align 8, !tbaa !5
  %1190 = sext i32 %1188 to i64
  %1191 = getelementptr inbounds i32, ptr %1189, i64 %1190
  store ptr %1191, ptr %43, align 8, !tbaa !5
  %1192 = load ptr, ptr %8, align 8, !tbaa !5
  %1193 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1192, i32 0, i32 2
  %1194 = load i32, ptr %1193, align 8, !tbaa !34
  %1195 = load ptr, ptr %36, align 8, !tbaa !5
  %1196 = sext i32 %1194 to i64
  %1197 = getelementptr inbounds i32, ptr %1195, i64 %1196
  store ptr %1197, ptr %36, align 8, !tbaa !5
  br label %1198

1198:                                             ; preds = %1185
  %1199 = load i32, ptr %44, align 4, !tbaa !44
  %1200 = add i32 %1199, 1
  store i32 %1200, ptr %44, align 4, !tbaa !44
  br label %1148, !llvm.loop !84

1201:                                             ; preds = %1154
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  br label %1336

1202:                                             ; preds = %1141
  %1203 = load ptr, ptr %8, align 8, !tbaa !5
  %1204 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1203, i32 0, i32 3
  %1205 = load i64, ptr %1204, align 8, !tbaa !43
  %1206 = icmp eq i64 %1205, 16
  br i1 %1206, label %1207, label %1268

1207:                                             ; preds = %1202
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  %1208 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1208, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #7
  store i32 0, ptr %46, align 4, !tbaa !44
  br label %1209

1209:                                             ; preds = %1264, %1207
  %1210 = load i32, ptr %46, align 4, !tbaa !44
  %1211 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1212 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1211, i32 0, i32 11
  %1213 = load i32, ptr %1212, align 4, !tbaa !41
  %1214 = icmp ult i32 %1210, %1213
  br i1 %1214, label %1216, label %1215

1215:                                             ; preds = %1209
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  br label %1267

1216:                                             ; preds = %1209
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1217

1217:                                             ; preds = %1248, %1216
  %1218 = load i32, ptr %9, align 4, !tbaa !44
  %1219 = load ptr, ptr %8, align 8, !tbaa !5
  %1220 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1219, i32 0, i32 0
  %1221 = load i32, ptr %1220, align 8, !tbaa !45
  %1222 = icmp slt i32 %1218, %1221
  br i1 %1222, label %1223, label %1251

1223:                                             ; preds = %1217
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #7
  %1224 = load ptr, ptr %45, align 8, !tbaa !5
  %1225 = load ptr, ptr %8, align 8, !tbaa !5
  %1226 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1225, i32 0, i32 5
  %1227 = load i32, ptr %9, align 4, !tbaa !44
  %1228 = sext i32 %1227 to i64
  %1229 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1226, i64 noundef %1228) #7
  %1230 = load i32, ptr %1229, align 4, !tbaa !44
  %1231 = sext i32 %1230 to i64
  %1232 = getelementptr inbounds float, ptr %1224, i64 %1231
  %1233 = load float, ptr %1232, align 4, !tbaa !59
  %1234 = fmul float %1233, 0x41E0000000000000
  %1235 = call noundef i64 @_ZSt7llroundf(float noundef %1234)
  store i64 %1235, ptr %47, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #7
  store i64 2147483647, ptr %48, align 8, !tbaa !85
  %1236 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 8 dereferenceable(8) %48)
  %1237 = load i64, ptr %1236, align 8, !tbaa !85
  %1238 = trunc i64 %1237 to i32
  %1239 = load ptr, ptr %36, align 8, !tbaa !5
  %1240 = load ptr, ptr %8, align 8, !tbaa !5
  %1241 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1240, i32 0, i32 6
  %1242 = load i32, ptr %9, align 4, !tbaa !44
  %1243 = sext i32 %1242 to i64
  %1244 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1241, i64 noundef %1243) #7
  %1245 = load i32, ptr %1244, align 4, !tbaa !44
  %1246 = sext i32 %1245 to i64
  %1247 = getelementptr inbounds i32, ptr %1239, i64 %1246
  store i32 %1238, ptr %1247, align 4, !tbaa !44
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  br label %1248

1248:                                             ; preds = %1223
  %1249 = load i32, ptr %9, align 4, !tbaa !44
  %1250 = add nsw i32 %1249, 1
  store i32 %1250, ptr %9, align 4, !tbaa !44
  br label %1217, !llvm.loop !87

1251:                                             ; preds = %1217
  %1252 = load ptr, ptr %8, align 8, !tbaa !5
  %1253 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1252, i32 0, i32 1
  %1254 = load i32, ptr %1253, align 4, !tbaa !40
  %1255 = load ptr, ptr %45, align 8, !tbaa !5
  %1256 = sext i32 %1254 to i64
  %1257 = getelementptr inbounds float, ptr %1255, i64 %1256
  store ptr %1257, ptr %45, align 8, !tbaa !5
  %1258 = load ptr, ptr %8, align 8, !tbaa !5
  %1259 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1258, i32 0, i32 2
  %1260 = load i32, ptr %1259, align 8, !tbaa !34
  %1261 = load ptr, ptr %36, align 8, !tbaa !5
  %1262 = sext i32 %1260 to i64
  %1263 = getelementptr inbounds i32, ptr %1261, i64 %1262
  store ptr %1263, ptr %36, align 8, !tbaa !5
  br label %1264

1264:                                             ; preds = %1251
  %1265 = load i32, ptr %46, align 4, !tbaa !44
  %1266 = add i32 %1265, 1
  store i32 %1266, ptr %46, align 4, !tbaa !44
  br label %1209, !llvm.loop !88

1267:                                             ; preds = %1215
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %1335

1268:                                             ; preds = %1202
  %1269 = load ptr, ptr %8, align 8, !tbaa !5
  %1270 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1269, i32 0, i32 3
  %1271 = load i64, ptr %1270, align 8, !tbaa !43
  %1272 = icmp eq i64 %1271, 32
  br i1 %1272, label %1273, label %1334

1273:                                             ; preds = %1268
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #7
  %1274 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1274, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #7
  store i32 0, ptr %50, align 4, !tbaa !44
  br label %1275

1275:                                             ; preds = %1330, %1273
  %1276 = load i32, ptr %50, align 4, !tbaa !44
  %1277 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1278 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1277, i32 0, i32 11
  %1279 = load i32, ptr %1278, align 4, !tbaa !41
  %1280 = icmp ult i32 %1276, %1279
  br i1 %1280, label %1282, label %1281

1281:                                             ; preds = %1275
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #7
  br label %1333

1282:                                             ; preds = %1275
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1283

1283:                                             ; preds = %1314, %1282
  %1284 = load i32, ptr %9, align 4, !tbaa !44
  %1285 = load ptr, ptr %8, align 8, !tbaa !5
  %1286 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1285, i32 0, i32 0
  %1287 = load i32, ptr %1286, align 8, !tbaa !45
  %1288 = icmp slt i32 %1284, %1287
  br i1 %1288, label %1289, label %1317

1289:                                             ; preds = %1283
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  %1290 = load ptr, ptr %49, align 8, !tbaa !5
  %1291 = load ptr, ptr %8, align 8, !tbaa !5
  %1292 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1291, i32 0, i32 5
  %1293 = load i32, ptr %9, align 4, !tbaa !44
  %1294 = sext i32 %1293 to i64
  %1295 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1292, i64 noundef %1294) #7
  %1296 = load i32, ptr %1295, align 4, !tbaa !44
  %1297 = sext i32 %1296 to i64
  %1298 = getelementptr inbounds double, ptr %1290, i64 %1297
  %1299 = load double, ptr %1298, align 8, !tbaa !47
  %1300 = fmul double %1299, 0x41E0000000000000
  %1301 = call i64 @llround(double noundef %1300) #7
  store i64 %1301, ptr %51, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  store i64 2147483647, ptr %52, align 8, !tbaa !85
  %1302 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %52)
  %1303 = load i64, ptr %1302, align 8, !tbaa !85
  %1304 = trunc i64 %1303 to i32
  %1305 = load ptr, ptr %36, align 8, !tbaa !5
  %1306 = load ptr, ptr %8, align 8, !tbaa !5
  %1307 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1306, i32 0, i32 6
  %1308 = load i32, ptr %9, align 4, !tbaa !44
  %1309 = sext i32 %1308 to i64
  %1310 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1307, i64 noundef %1309) #7
  %1311 = load i32, ptr %1310, align 4, !tbaa !44
  %1312 = sext i32 %1311 to i64
  %1313 = getelementptr inbounds i32, ptr %1305, i64 %1312
  store i32 %1304, ptr %1313, align 4, !tbaa !44
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br label %1314

1314:                                             ; preds = %1289
  %1315 = load i32, ptr %9, align 4, !tbaa !44
  %1316 = add nsw i32 %1315, 1
  store i32 %1316, ptr %9, align 4, !tbaa !44
  br label %1283, !llvm.loop !89

1317:                                             ; preds = %1283
  %1318 = load ptr, ptr %8, align 8, !tbaa !5
  %1319 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1318, i32 0, i32 1
  %1320 = load i32, ptr %1319, align 4, !tbaa !40
  %1321 = load ptr, ptr %49, align 8, !tbaa !5
  %1322 = sext i32 %1320 to i64
  %1323 = getelementptr inbounds double, ptr %1321, i64 %1322
  store ptr %1323, ptr %49, align 8, !tbaa !5
  %1324 = load ptr, ptr %8, align 8, !tbaa !5
  %1325 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1324, i32 0, i32 2
  %1326 = load i32, ptr %1325, align 8, !tbaa !34
  %1327 = load ptr, ptr %36, align 8, !tbaa !5
  %1328 = sext i32 %1326 to i64
  %1329 = getelementptr inbounds i32, ptr %1327, i64 %1328
  store ptr %1329, ptr %36, align 8, !tbaa !5
  br label %1330

1330:                                             ; preds = %1317
  %1331 = load i32, ptr %50, align 4, !tbaa !44
  %1332 = add i32 %1331, 1
  store i32 %1332, ptr %50, align 4, !tbaa !44
  br label %1275, !llvm.loop !90

1333:                                             ; preds = %1281
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  br label %1334

1334:                                             ; preds = %1333, %1268
  br label %1335

1335:                                             ; preds = %1334, %1267
  br label %1336

1336:                                             ; preds = %1335, %1201
  br label %1337

1337:                                             ; preds = %1336, %1140
  br label %1338

1338:                                             ; preds = %1337, %1068
  br label %1339

1339:                                             ; preds = %1338, %995
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  br label %2543

1340:                                             ; preds = %917
  %1341 = load ptr, ptr %8, align 8, !tbaa !5
  %1342 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1341, i32 0, i32 4
  %1343 = load i64, ptr %1342, align 8, !tbaa !42
  %1344 = icmp eq i64 %1343, 4
  br i1 %1344, label %1345, label %1737

1345:                                             ; preds = %1340
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #7
  %1346 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %1346, ptr %53, align 8, !tbaa !5
  %1347 = load ptr, ptr %8, align 8, !tbaa !5
  %1348 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1347, i32 0, i32 3
  %1349 = load i64, ptr %1348, align 8, !tbaa !43
  %1350 = icmp eq i64 %1349, 1
  br i1 %1350, label %1351, label %1410

1351:                                             ; preds = %1345
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %1352 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1352, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #7
  store i32 0, ptr %55, align 4, !tbaa !44
  br label %1353

1353:                                             ; preds = %1406, %1351
  %1354 = load i32, ptr %55, align 4, !tbaa !44
  %1355 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1356 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1355, i32 0, i32 11
  %1357 = load i32, ptr %1356, align 4, !tbaa !41
  %1358 = icmp ult i32 %1354, %1357
  br i1 %1358, label %1360, label %1359

1359:                                             ; preds = %1353
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  br label %1409

1360:                                             ; preds = %1353
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1361

1361:                                             ; preds = %1390, %1360
  %1362 = load i32, ptr %9, align 4, !tbaa !44
  %1363 = load ptr, ptr %8, align 8, !tbaa !5
  %1364 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1363, i32 0, i32 0
  %1365 = load i32, ptr %1364, align 8, !tbaa !45
  %1366 = icmp slt i32 %1362, %1365
  br i1 %1366, label %1367, label %1393

1367:                                             ; preds = %1361
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #7
  %1368 = load ptr, ptr %54, align 8, !tbaa !5
  %1369 = load ptr, ptr %8, align 8, !tbaa !5
  %1370 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1369, i32 0, i32 5
  %1371 = load i32, ptr %9, align 4, !tbaa !44
  %1372 = sext i32 %1371 to i64
  %1373 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1370, i64 noundef %1372) #7
  %1374 = load i32, ptr %1373, align 4, !tbaa !44
  %1375 = sext i32 %1374 to i64
  %1376 = getelementptr inbounds i8, ptr %1368, i64 %1375
  %1377 = load i8, ptr %1376, align 1, !tbaa !46
  %1378 = sext i8 %1377 to i32
  %1379 = shl i32 %1378, 16
  store i32 %1379, ptr %56, align 4, !tbaa !44
  %1380 = load ptr, ptr %53, align 8, !tbaa !5
  %1381 = load ptr, ptr %8, align 8, !tbaa !5
  %1382 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1381, i32 0, i32 6
  %1383 = load i32, ptr %9, align 4, !tbaa !44
  %1384 = sext i32 %1383 to i64
  %1385 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1382, i64 noundef %1384) #7
  %1386 = load i32, ptr %1385, align 4, !tbaa !44
  %1387 = sext i32 %1386 to i64
  %1388 = getelementptr inbounds %class.S24, ptr %1380, i64 %1387
  %1389 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1388, ptr noundef nonnull align 4 dereferenceable(4) %56)
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #7
  br label %1390

1390:                                             ; preds = %1367
  %1391 = load i32, ptr %9, align 4, !tbaa !44
  %1392 = add nsw i32 %1391, 1
  store i32 %1392, ptr %9, align 4, !tbaa !44
  br label %1361, !llvm.loop !91

1393:                                             ; preds = %1361
  %1394 = load ptr, ptr %8, align 8, !tbaa !5
  %1395 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1394, i32 0, i32 1
  %1396 = load i32, ptr %1395, align 4, !tbaa !40
  %1397 = load ptr, ptr %54, align 8, !tbaa !5
  %1398 = sext i32 %1396 to i64
  %1399 = getelementptr inbounds i8, ptr %1397, i64 %1398
  store ptr %1399, ptr %54, align 8, !tbaa !5
  %1400 = load ptr, ptr %8, align 8, !tbaa !5
  %1401 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1400, i32 0, i32 2
  %1402 = load i32, ptr %1401, align 8, !tbaa !34
  %1403 = load ptr, ptr %53, align 8, !tbaa !5
  %1404 = sext i32 %1402 to i64
  %1405 = getelementptr inbounds %class.S24, ptr %1403, i64 %1404
  store ptr %1405, ptr %53, align 8, !tbaa !5
  br label %1406

1406:                                             ; preds = %1393
  %1407 = load i32, ptr %55, align 4, !tbaa !44
  %1408 = add i32 %1407, 1
  store i32 %1408, ptr %55, align 4, !tbaa !44
  br label %1353, !llvm.loop !92

1409:                                             ; preds = %1359
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  br label %1736

1410:                                             ; preds = %1345
  %1411 = load ptr, ptr %8, align 8, !tbaa !5
  %1412 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1411, i32 0, i32 3
  %1413 = load i64, ptr %1412, align 8, !tbaa !43
  %1414 = icmp eq i64 %1413, 2
  br i1 %1414, label %1415, label %1474

1415:                                             ; preds = %1410
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #7
  %1416 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1416, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #7
  store i32 0, ptr %58, align 4, !tbaa !44
  br label %1417

1417:                                             ; preds = %1470, %1415
  %1418 = load i32, ptr %58, align 4, !tbaa !44
  %1419 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1420 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1419, i32 0, i32 11
  %1421 = load i32, ptr %1420, align 4, !tbaa !41
  %1422 = icmp ult i32 %1418, %1421
  br i1 %1422, label %1424, label %1423

1423:                                             ; preds = %1417
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  br label %1473

1424:                                             ; preds = %1417
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1425

1425:                                             ; preds = %1454, %1424
  %1426 = load i32, ptr %9, align 4, !tbaa !44
  %1427 = load ptr, ptr %8, align 8, !tbaa !5
  %1428 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1427, i32 0, i32 0
  %1429 = load i32, ptr %1428, align 8, !tbaa !45
  %1430 = icmp slt i32 %1426, %1429
  br i1 %1430, label %1431, label %1457

1431:                                             ; preds = %1425
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #7
  %1432 = load ptr, ptr %57, align 8, !tbaa !5
  %1433 = load ptr, ptr %8, align 8, !tbaa !5
  %1434 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1433, i32 0, i32 5
  %1435 = load i32, ptr %9, align 4, !tbaa !44
  %1436 = sext i32 %1435 to i64
  %1437 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1434, i64 noundef %1436) #7
  %1438 = load i32, ptr %1437, align 4, !tbaa !44
  %1439 = sext i32 %1438 to i64
  %1440 = getelementptr inbounds i16, ptr %1432, i64 %1439
  %1441 = load i16, ptr %1440, align 2, !tbaa !51
  %1442 = sext i16 %1441 to i32
  %1443 = shl i32 %1442, 8
  store i32 %1443, ptr %59, align 4, !tbaa !44
  %1444 = load ptr, ptr %53, align 8, !tbaa !5
  %1445 = load ptr, ptr %8, align 8, !tbaa !5
  %1446 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1445, i32 0, i32 6
  %1447 = load i32, ptr %9, align 4, !tbaa !44
  %1448 = sext i32 %1447 to i64
  %1449 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1446, i64 noundef %1448) #7
  %1450 = load i32, ptr %1449, align 4, !tbaa !44
  %1451 = sext i32 %1450 to i64
  %1452 = getelementptr inbounds %class.S24, ptr %1444, i64 %1451
  %1453 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1452, ptr noundef nonnull align 4 dereferenceable(4) %59)
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #7
  br label %1454

1454:                                             ; preds = %1431
  %1455 = load i32, ptr %9, align 4, !tbaa !44
  %1456 = add nsw i32 %1455, 1
  store i32 %1456, ptr %9, align 4, !tbaa !44
  br label %1425, !llvm.loop !93

1457:                                             ; preds = %1425
  %1458 = load ptr, ptr %8, align 8, !tbaa !5
  %1459 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1458, i32 0, i32 1
  %1460 = load i32, ptr %1459, align 4, !tbaa !40
  %1461 = load ptr, ptr %57, align 8, !tbaa !5
  %1462 = sext i32 %1460 to i64
  %1463 = getelementptr inbounds i16, ptr %1461, i64 %1462
  store ptr %1463, ptr %57, align 8, !tbaa !5
  %1464 = load ptr, ptr %8, align 8, !tbaa !5
  %1465 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1464, i32 0, i32 2
  %1466 = load i32, ptr %1465, align 8, !tbaa !34
  %1467 = load ptr, ptr %53, align 8, !tbaa !5
  %1468 = sext i32 %1466 to i64
  %1469 = getelementptr inbounds %class.S24, ptr %1467, i64 %1468
  store ptr %1469, ptr %53, align 8, !tbaa !5
  br label %1470

1470:                                             ; preds = %1457
  %1471 = load i32, ptr %58, align 4, !tbaa !44
  %1472 = add i32 %1471, 1
  store i32 %1472, ptr %58, align 4, !tbaa !44
  br label %1417, !llvm.loop !94

1473:                                             ; preds = %1423
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  br label %1735

1474:                                             ; preds = %1410
  %1475 = load ptr, ptr %8, align 8, !tbaa !5
  %1476 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1475, i32 0, i32 3
  %1477 = load i64, ptr %1476, align 8, !tbaa !43
  %1478 = icmp eq i64 %1477, 4
  br i1 %1478, label %1479, label %1534

1479:                                             ; preds = %1474
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #7
  %1480 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1480, ptr %60, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #7
  store i32 0, ptr %61, align 4, !tbaa !44
  br label %1481

1481:                                             ; preds = %1530, %1479
  %1482 = load i32, ptr %61, align 4, !tbaa !44
  %1483 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1484 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1483, i32 0, i32 11
  %1485 = load i32, ptr %1484, align 4, !tbaa !41
  %1486 = icmp ult i32 %1482, %1485
  br i1 %1486, label %1488, label %1487

1487:                                             ; preds = %1481
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  br label %1533

1488:                                             ; preds = %1481
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1489

1489:                                             ; preds = %1514, %1488
  %1490 = load i32, ptr %9, align 4, !tbaa !44
  %1491 = load ptr, ptr %8, align 8, !tbaa !5
  %1492 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1491, i32 0, i32 0
  %1493 = load i32, ptr %1492, align 8, !tbaa !45
  %1494 = icmp slt i32 %1490, %1493
  br i1 %1494, label %1495, label %1517

1495:                                             ; preds = %1489
  %1496 = load ptr, ptr %60, align 8, !tbaa !5
  %1497 = load ptr, ptr %8, align 8, !tbaa !5
  %1498 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1497, i32 0, i32 5
  %1499 = load i32, ptr %9, align 4, !tbaa !44
  %1500 = sext i32 %1499 to i64
  %1501 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1498, i64 noundef %1500) #7
  %1502 = load i32, ptr %1501, align 4, !tbaa !44
  %1503 = sext i32 %1502 to i64
  %1504 = getelementptr inbounds %class.S24, ptr %1496, i64 %1503
  %1505 = load ptr, ptr %53, align 8, !tbaa !5
  %1506 = load ptr, ptr %8, align 8, !tbaa !5
  %1507 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1506, i32 0, i32 6
  %1508 = load i32, ptr %9, align 4, !tbaa !44
  %1509 = sext i32 %1508 to i64
  %1510 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1507, i64 noundef %1509) #7
  %1511 = load i32, ptr %1510, align 4, !tbaa !44
  %1512 = sext i32 %1511 to i64
  %1513 = getelementptr inbounds %class.S24, ptr %1505, i64 %1512
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1513, ptr align 1 %1504, i64 3, i1 false), !tbaa.struct !95
  br label %1514

1514:                                             ; preds = %1495
  %1515 = load i32, ptr %9, align 4, !tbaa !44
  %1516 = add nsw i32 %1515, 1
  store i32 %1516, ptr %9, align 4, !tbaa !44
  br label %1489, !llvm.loop !96

1517:                                             ; preds = %1489
  %1518 = load ptr, ptr %8, align 8, !tbaa !5
  %1519 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1518, i32 0, i32 1
  %1520 = load i32, ptr %1519, align 4, !tbaa !40
  %1521 = load ptr, ptr %60, align 8, !tbaa !5
  %1522 = sext i32 %1520 to i64
  %1523 = getelementptr inbounds %class.S24, ptr %1521, i64 %1522
  store ptr %1523, ptr %60, align 8, !tbaa !5
  %1524 = load ptr, ptr %8, align 8, !tbaa !5
  %1525 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1524, i32 0, i32 2
  %1526 = load i32, ptr %1525, align 8, !tbaa !34
  %1527 = load ptr, ptr %53, align 8, !tbaa !5
  %1528 = sext i32 %1526 to i64
  %1529 = getelementptr inbounds %class.S24, ptr %1527, i64 %1528
  store ptr %1529, ptr %53, align 8, !tbaa !5
  br label %1530

1530:                                             ; preds = %1517
  %1531 = load i32, ptr %61, align 4, !tbaa !44
  %1532 = add i32 %1531, 1
  store i32 %1532, ptr %61, align 4, !tbaa !44
  br label %1481, !llvm.loop !97

1533:                                             ; preds = %1487
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br label %1734

1534:                                             ; preds = %1474
  %1535 = load ptr, ptr %8, align 8, !tbaa !5
  %1536 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1535, i32 0, i32 3
  %1537 = load i64, ptr %1536, align 8, !tbaa !43
  %1538 = icmp eq i64 %1537, 8
  br i1 %1538, label %1539, label %1597

1539:                                             ; preds = %1534
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #7
  %1540 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1540, ptr %62, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #7
  store i32 0, ptr %63, align 4, !tbaa !44
  br label %1541

1541:                                             ; preds = %1593, %1539
  %1542 = load i32, ptr %63, align 4, !tbaa !44
  %1543 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1544 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1543, i32 0, i32 11
  %1545 = load i32, ptr %1544, align 4, !tbaa !41
  %1546 = icmp ult i32 %1542, %1545
  br i1 %1546, label %1548, label %1547

1547:                                             ; preds = %1541
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  br label %1596

1548:                                             ; preds = %1541
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1549

1549:                                             ; preds = %1577, %1548
  %1550 = load i32, ptr %9, align 4, !tbaa !44
  %1551 = load ptr, ptr %8, align 8, !tbaa !5
  %1552 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1551, i32 0, i32 0
  %1553 = load i32, ptr %1552, align 8, !tbaa !45
  %1554 = icmp slt i32 %1550, %1553
  br i1 %1554, label %1555, label %1580

1555:                                             ; preds = %1549
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #7
  %1556 = load ptr, ptr %62, align 8, !tbaa !5
  %1557 = load ptr, ptr %8, align 8, !tbaa !5
  %1558 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1557, i32 0, i32 5
  %1559 = load i32, ptr %9, align 4, !tbaa !44
  %1560 = sext i32 %1559 to i64
  %1561 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1558, i64 noundef %1560) #7
  %1562 = load i32, ptr %1561, align 4, !tbaa !44
  %1563 = sext i32 %1562 to i64
  %1564 = getelementptr inbounds i32, ptr %1556, i64 %1563
  %1565 = load i32, ptr %1564, align 4, !tbaa !44
  %1566 = ashr i32 %1565, 8
  store i32 %1566, ptr %64, align 4, !tbaa !44
  %1567 = load ptr, ptr %53, align 8, !tbaa !5
  %1568 = load ptr, ptr %8, align 8, !tbaa !5
  %1569 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1568, i32 0, i32 6
  %1570 = load i32, ptr %9, align 4, !tbaa !44
  %1571 = sext i32 %1570 to i64
  %1572 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1569, i64 noundef %1571) #7
  %1573 = load i32, ptr %1572, align 4, !tbaa !44
  %1574 = sext i32 %1573 to i64
  %1575 = getelementptr inbounds %class.S24, ptr %1567, i64 %1574
  %1576 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1575, ptr noundef nonnull align 4 dereferenceable(4) %64)
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #7
  br label %1577

1577:                                             ; preds = %1555
  %1578 = load i32, ptr %9, align 4, !tbaa !44
  %1579 = add nsw i32 %1578, 1
  store i32 %1579, ptr %9, align 4, !tbaa !44
  br label %1549, !llvm.loop !98

1580:                                             ; preds = %1549
  %1581 = load ptr, ptr %8, align 8, !tbaa !5
  %1582 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1581, i32 0, i32 1
  %1583 = load i32, ptr %1582, align 4, !tbaa !40
  %1584 = load ptr, ptr %62, align 8, !tbaa !5
  %1585 = sext i32 %1583 to i64
  %1586 = getelementptr inbounds i32, ptr %1584, i64 %1585
  store ptr %1586, ptr %62, align 8, !tbaa !5
  %1587 = load ptr, ptr %8, align 8, !tbaa !5
  %1588 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1587, i32 0, i32 2
  %1589 = load i32, ptr %1588, align 8, !tbaa !34
  %1590 = load ptr, ptr %53, align 8, !tbaa !5
  %1591 = sext i32 %1589 to i64
  %1592 = getelementptr inbounds %class.S24, ptr %1590, i64 %1591
  store ptr %1592, ptr %53, align 8, !tbaa !5
  br label %1593

1593:                                             ; preds = %1580
  %1594 = load i32, ptr %63, align 4, !tbaa !44
  %1595 = add i32 %1594, 1
  store i32 %1595, ptr %63, align 4, !tbaa !44
  br label %1541, !llvm.loop !99

1596:                                             ; preds = %1547
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  br label %1733

1597:                                             ; preds = %1534
  %1598 = load ptr, ptr %8, align 8, !tbaa !5
  %1599 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1598, i32 0, i32 3
  %1600 = load i64, ptr %1599, align 8, !tbaa !43
  %1601 = icmp eq i64 %1600, 16
  br i1 %1601, label %1602, label %1664

1602:                                             ; preds = %1597
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #7
  %1603 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1603, ptr %65, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #7
  store i32 0, ptr %66, align 4, !tbaa !44
  br label %1604

1604:                                             ; preds = %1660, %1602
  %1605 = load i32, ptr %66, align 4, !tbaa !44
  %1606 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1607 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1606, i32 0, i32 11
  %1608 = load i32, ptr %1607, align 4, !tbaa !41
  %1609 = icmp ult i32 %1605, %1608
  br i1 %1609, label %1611, label %1610

1610:                                             ; preds = %1604
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  br label %1663

1611:                                             ; preds = %1604
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1612

1612:                                             ; preds = %1644, %1611
  %1613 = load i32, ptr %9, align 4, !tbaa !44
  %1614 = load ptr, ptr %8, align 8, !tbaa !5
  %1615 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1614, i32 0, i32 0
  %1616 = load i32, ptr %1615, align 8, !tbaa !45
  %1617 = icmp slt i32 %1613, %1616
  br i1 %1617, label %1618, label %1647

1618:                                             ; preds = %1612
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %1619 = load ptr, ptr %65, align 8, !tbaa !5
  %1620 = load ptr, ptr %8, align 8, !tbaa !5
  %1621 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1620, i32 0, i32 5
  %1622 = load i32, ptr %9, align 4, !tbaa !44
  %1623 = sext i32 %1622 to i64
  %1624 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1621, i64 noundef %1623) #7
  %1625 = load i32, ptr %1624, align 4, !tbaa !44
  %1626 = sext i32 %1625 to i64
  %1627 = getelementptr inbounds float, ptr %1619, i64 %1626
  %1628 = load float, ptr %1627, align 4, !tbaa !59
  %1629 = fmul float %1628, 0x4160000000000000
  %1630 = call noundef i64 @_ZSt7llroundf(float noundef %1629)
  store i64 %1630, ptr %68, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #7
  store i64 8388607, ptr %69, align 8, !tbaa !85
  %1631 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %69)
  %1632 = load i64, ptr %1631, align 8, !tbaa !85
  %1633 = trunc i64 %1632 to i32
  store i32 %1633, ptr %67, align 4, !tbaa !44
  %1634 = load ptr, ptr %53, align 8, !tbaa !5
  %1635 = load ptr, ptr %8, align 8, !tbaa !5
  %1636 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1635, i32 0, i32 6
  %1637 = load i32, ptr %9, align 4, !tbaa !44
  %1638 = sext i32 %1637 to i64
  %1639 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1636, i64 noundef %1638) #7
  %1640 = load i32, ptr %1639, align 4, !tbaa !44
  %1641 = sext i32 %1640 to i64
  %1642 = getelementptr inbounds %class.S24, ptr %1634, i64 %1641
  %1643 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1642, ptr noundef nonnull align 4 dereferenceable(4) %67)
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  br label %1644

1644:                                             ; preds = %1618
  %1645 = load i32, ptr %9, align 4, !tbaa !44
  %1646 = add nsw i32 %1645, 1
  store i32 %1646, ptr %9, align 4, !tbaa !44
  br label %1612, !llvm.loop !100

1647:                                             ; preds = %1612
  %1648 = load ptr, ptr %8, align 8, !tbaa !5
  %1649 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1648, i32 0, i32 1
  %1650 = load i32, ptr %1649, align 4, !tbaa !40
  %1651 = load ptr, ptr %65, align 8, !tbaa !5
  %1652 = sext i32 %1650 to i64
  %1653 = getelementptr inbounds float, ptr %1651, i64 %1652
  store ptr %1653, ptr %65, align 8, !tbaa !5
  %1654 = load ptr, ptr %8, align 8, !tbaa !5
  %1655 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1654, i32 0, i32 2
  %1656 = load i32, ptr %1655, align 8, !tbaa !34
  %1657 = load ptr, ptr %53, align 8, !tbaa !5
  %1658 = sext i32 %1656 to i64
  %1659 = getelementptr inbounds %class.S24, ptr %1657, i64 %1658
  store ptr %1659, ptr %53, align 8, !tbaa !5
  br label %1660

1660:                                             ; preds = %1647
  %1661 = load i32, ptr %66, align 4, !tbaa !44
  %1662 = add i32 %1661, 1
  store i32 %1662, ptr %66, align 4, !tbaa !44
  br label %1604, !llvm.loop !101

1663:                                             ; preds = %1610
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #7
  br label %1732

1664:                                             ; preds = %1597
  %1665 = load ptr, ptr %8, align 8, !tbaa !5
  %1666 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1665, i32 0, i32 3
  %1667 = load i64, ptr %1666, align 8, !tbaa !43
  %1668 = icmp eq i64 %1667, 32
  br i1 %1668, label %1669, label %1731

1669:                                             ; preds = %1664
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %1670 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1670, ptr %70, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #7
  store i32 0, ptr %71, align 4, !tbaa !44
  br label %1671

1671:                                             ; preds = %1727, %1669
  %1672 = load i32, ptr %71, align 4, !tbaa !44
  %1673 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1674 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1673, i32 0, i32 11
  %1675 = load i32, ptr %1674, align 4, !tbaa !41
  %1676 = icmp ult i32 %1672, %1675
  br i1 %1676, label %1678, label %1677

1677:                                             ; preds = %1671
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  br label %1730

1678:                                             ; preds = %1671
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1679

1679:                                             ; preds = %1711, %1678
  %1680 = load i32, ptr %9, align 4, !tbaa !44
  %1681 = load ptr, ptr %8, align 8, !tbaa !5
  %1682 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1681, i32 0, i32 0
  %1683 = load i32, ptr %1682, align 8, !tbaa !45
  %1684 = icmp slt i32 %1680, %1683
  br i1 %1684, label %1685, label %1714

1685:                                             ; preds = %1679
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  %1686 = load ptr, ptr %70, align 8, !tbaa !5
  %1687 = load ptr, ptr %8, align 8, !tbaa !5
  %1688 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1687, i32 0, i32 5
  %1689 = load i32, ptr %9, align 4, !tbaa !44
  %1690 = sext i32 %1689 to i64
  %1691 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1688, i64 noundef %1690) #7
  %1692 = load i32, ptr %1691, align 4, !tbaa !44
  %1693 = sext i32 %1692 to i64
  %1694 = getelementptr inbounds double, ptr %1686, i64 %1693
  %1695 = load double, ptr %1694, align 8, !tbaa !47
  %1696 = fmul double %1695, 0x4160000000000000
  %1697 = call i64 @llround(double noundef %1696) #7
  store i64 %1697, ptr %73, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  store i64 8388607, ptr %74, align 8, !tbaa !85
  %1698 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 8 dereferenceable(8) %74)
  %1699 = load i64, ptr %1698, align 8, !tbaa !85
  %1700 = trunc i64 %1699 to i32
  store i32 %1700, ptr %72, align 4, !tbaa !44
  %1701 = load ptr, ptr %53, align 8, !tbaa !5
  %1702 = load ptr, ptr %8, align 8, !tbaa !5
  %1703 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1702, i32 0, i32 6
  %1704 = load i32, ptr %9, align 4, !tbaa !44
  %1705 = sext i32 %1704 to i64
  %1706 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1703, i64 noundef %1705) #7
  %1707 = load i32, ptr %1706, align 4, !tbaa !44
  %1708 = sext i32 %1707 to i64
  %1709 = getelementptr inbounds %class.S24, ptr %1701, i64 %1708
  %1710 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1709, ptr noundef nonnull align 4 dereferenceable(4) %72)
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #7
  br label %1711

1711:                                             ; preds = %1685
  %1712 = load i32, ptr %9, align 4, !tbaa !44
  %1713 = add nsw i32 %1712, 1
  store i32 %1713, ptr %9, align 4, !tbaa !44
  br label %1679, !llvm.loop !102

1714:                                             ; preds = %1679
  %1715 = load ptr, ptr %8, align 8, !tbaa !5
  %1716 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1715, i32 0, i32 1
  %1717 = load i32, ptr %1716, align 4, !tbaa !40
  %1718 = load ptr, ptr %70, align 8, !tbaa !5
  %1719 = sext i32 %1717 to i64
  %1720 = getelementptr inbounds double, ptr %1718, i64 %1719
  store ptr %1720, ptr %70, align 8, !tbaa !5
  %1721 = load ptr, ptr %8, align 8, !tbaa !5
  %1722 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1721, i32 0, i32 2
  %1723 = load i32, ptr %1722, align 8, !tbaa !34
  %1724 = load ptr, ptr %53, align 8, !tbaa !5
  %1725 = sext i32 %1723 to i64
  %1726 = getelementptr inbounds %class.S24, ptr %1724, i64 %1725
  store ptr %1726, ptr %53, align 8, !tbaa !5
  br label %1727

1727:                                             ; preds = %1714
  %1728 = load i32, ptr %71, align 4, !tbaa !44
  %1729 = add i32 %1728, 1
  store i32 %1729, ptr %71, align 4, !tbaa !44
  br label %1671, !llvm.loop !103

1730:                                             ; preds = %1677
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  br label %1731

1731:                                             ; preds = %1730, %1664
  br label %1732

1732:                                             ; preds = %1731, %1663
  br label %1733

1733:                                             ; preds = %1732, %1596
  br label %1734

1734:                                             ; preds = %1733, %1533
  br label %1735

1735:                                             ; preds = %1734, %1473
  br label %1736

1736:                                             ; preds = %1735, %1409
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br label %2542

1737:                                             ; preds = %1340
  %1738 = load ptr, ptr %8, align 8, !tbaa !5
  %1739 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1738, i32 0, i32 4
  %1740 = load i64, ptr %1739, align 8, !tbaa !42
  %1741 = icmp eq i64 %1740, 2
  br i1 %1741, label %1742, label %2144

1742:                                             ; preds = %1737
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  %1743 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %1743, ptr %75, align 8, !tbaa !5
  %1744 = load ptr, ptr %8, align 8, !tbaa !5
  %1745 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1744, i32 0, i32 3
  %1746 = load i64, ptr %1745, align 8, !tbaa !43
  %1747 = icmp eq i64 %1746, 1
  br i1 %1747, label %1748, label %1818

1748:                                             ; preds = %1742
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  %1749 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1749, ptr %76, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #7
  store i32 0, ptr %77, align 4, !tbaa !44
  br label %1750

1750:                                             ; preds = %1814, %1748
  %1751 = load i32, ptr %77, align 4, !tbaa !44
  %1752 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1753 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1752, i32 0, i32 11
  %1754 = load i32, ptr %1753, align 4, !tbaa !41
  %1755 = icmp ult i32 %1751, %1754
  br i1 %1755, label %1757, label %1756

1756:                                             ; preds = %1750
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  br label %1817

1757:                                             ; preds = %1750
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1758

1758:                                             ; preds = %1798, %1757
  %1759 = load i32, ptr %9, align 4, !tbaa !44
  %1760 = load ptr, ptr %8, align 8, !tbaa !5
  %1761 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1760, i32 0, i32 0
  %1762 = load i32, ptr %1761, align 8, !tbaa !45
  %1763 = icmp slt i32 %1759, %1762
  br i1 %1763, label %1764, label %1801

1764:                                             ; preds = %1758
  %1765 = load ptr, ptr %76, align 8, !tbaa !5
  %1766 = load ptr, ptr %8, align 8, !tbaa !5
  %1767 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1766, i32 0, i32 5
  %1768 = load i32, ptr %9, align 4, !tbaa !44
  %1769 = sext i32 %1768 to i64
  %1770 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1767, i64 noundef %1769) #7
  %1771 = load i32, ptr %1770, align 4, !tbaa !44
  %1772 = sext i32 %1771 to i64
  %1773 = getelementptr inbounds i8, ptr %1765, i64 %1772
  %1774 = load i8, ptr %1773, align 1, !tbaa !46
  %1775 = sext i8 %1774 to i16
  %1776 = load ptr, ptr %75, align 8, !tbaa !5
  %1777 = load ptr, ptr %8, align 8, !tbaa !5
  %1778 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1777, i32 0, i32 6
  %1779 = load i32, ptr %9, align 4, !tbaa !44
  %1780 = sext i32 %1779 to i64
  %1781 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1778, i64 noundef %1780) #7
  %1782 = load i32, ptr %1781, align 4, !tbaa !44
  %1783 = sext i32 %1782 to i64
  %1784 = getelementptr inbounds i16, ptr %1776, i64 %1783
  store i16 %1775, ptr %1784, align 2, !tbaa !51
  %1785 = load ptr, ptr %75, align 8, !tbaa !5
  %1786 = load ptr, ptr %8, align 8, !tbaa !5
  %1787 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1786, i32 0, i32 6
  %1788 = load i32, ptr %9, align 4, !tbaa !44
  %1789 = sext i32 %1788 to i64
  %1790 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1787, i64 noundef %1789) #7
  %1791 = load i32, ptr %1790, align 4, !tbaa !44
  %1792 = sext i32 %1791 to i64
  %1793 = getelementptr inbounds i16, ptr %1785, i64 %1792
  %1794 = load i16, ptr %1793, align 2, !tbaa !51
  %1795 = sext i16 %1794 to i32
  %1796 = shl i32 %1795, 8
  %1797 = trunc i32 %1796 to i16
  store i16 %1797, ptr %1793, align 2, !tbaa !51
  br label %1798

1798:                                             ; preds = %1764
  %1799 = load i32, ptr %9, align 4, !tbaa !44
  %1800 = add nsw i32 %1799, 1
  store i32 %1800, ptr %9, align 4, !tbaa !44
  br label %1758, !llvm.loop !104

1801:                                             ; preds = %1758
  %1802 = load ptr, ptr %8, align 8, !tbaa !5
  %1803 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1802, i32 0, i32 1
  %1804 = load i32, ptr %1803, align 4, !tbaa !40
  %1805 = load ptr, ptr %76, align 8, !tbaa !5
  %1806 = sext i32 %1804 to i64
  %1807 = getelementptr inbounds i8, ptr %1805, i64 %1806
  store ptr %1807, ptr %76, align 8, !tbaa !5
  %1808 = load ptr, ptr %8, align 8, !tbaa !5
  %1809 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1808, i32 0, i32 2
  %1810 = load i32, ptr %1809, align 8, !tbaa !34
  %1811 = load ptr, ptr %75, align 8, !tbaa !5
  %1812 = sext i32 %1810 to i64
  %1813 = getelementptr inbounds i16, ptr %1811, i64 %1812
  store ptr %1813, ptr %75, align 8, !tbaa !5
  br label %1814

1814:                                             ; preds = %1801
  %1815 = load i32, ptr %77, align 4, !tbaa !44
  %1816 = add i32 %1815, 1
  store i32 %1816, ptr %77, align 4, !tbaa !44
  br label %1750, !llvm.loop !105

1817:                                             ; preds = %1756
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %2143

1818:                                             ; preds = %1742
  %1819 = load ptr, ptr %8, align 8, !tbaa !5
  %1820 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1819, i32 0, i32 3
  %1821 = load i64, ptr %1820, align 8, !tbaa !43
  %1822 = icmp eq i64 %1821, 2
  br i1 %1822, label %1823, label %1879

1823:                                             ; preds = %1818
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #7
  %1824 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1824, ptr %78, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #7
  store i32 0, ptr %79, align 4, !tbaa !44
  br label %1825

1825:                                             ; preds = %1875, %1823
  %1826 = load i32, ptr %79, align 4, !tbaa !44
  %1827 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1828 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1827, i32 0, i32 11
  %1829 = load i32, ptr %1828, align 4, !tbaa !41
  %1830 = icmp ult i32 %1826, %1829
  br i1 %1830, label %1832, label %1831

1831:                                             ; preds = %1825
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #7
  br label %1878

1832:                                             ; preds = %1825
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1833

1833:                                             ; preds = %1859, %1832
  %1834 = load i32, ptr %9, align 4, !tbaa !44
  %1835 = load ptr, ptr %8, align 8, !tbaa !5
  %1836 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1835, i32 0, i32 0
  %1837 = load i32, ptr %1836, align 8, !tbaa !45
  %1838 = icmp slt i32 %1834, %1837
  br i1 %1838, label %1839, label %1862

1839:                                             ; preds = %1833
  %1840 = load ptr, ptr %78, align 8, !tbaa !5
  %1841 = load ptr, ptr %8, align 8, !tbaa !5
  %1842 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1841, i32 0, i32 5
  %1843 = load i32, ptr %9, align 4, !tbaa !44
  %1844 = sext i32 %1843 to i64
  %1845 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1842, i64 noundef %1844) #7
  %1846 = load i32, ptr %1845, align 4, !tbaa !44
  %1847 = sext i32 %1846 to i64
  %1848 = getelementptr inbounds i16, ptr %1840, i64 %1847
  %1849 = load i16, ptr %1848, align 2, !tbaa !51
  %1850 = load ptr, ptr %75, align 8, !tbaa !5
  %1851 = load ptr, ptr %8, align 8, !tbaa !5
  %1852 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1851, i32 0, i32 6
  %1853 = load i32, ptr %9, align 4, !tbaa !44
  %1854 = sext i32 %1853 to i64
  %1855 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1852, i64 noundef %1854) #7
  %1856 = load i32, ptr %1855, align 4, !tbaa !44
  %1857 = sext i32 %1856 to i64
  %1858 = getelementptr inbounds i16, ptr %1850, i64 %1857
  store i16 %1849, ptr %1858, align 2, !tbaa !51
  br label %1859

1859:                                             ; preds = %1839
  %1860 = load i32, ptr %9, align 4, !tbaa !44
  %1861 = add nsw i32 %1860, 1
  store i32 %1861, ptr %9, align 4, !tbaa !44
  br label %1833, !llvm.loop !106

1862:                                             ; preds = %1833
  %1863 = load ptr, ptr %8, align 8, !tbaa !5
  %1864 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1863, i32 0, i32 1
  %1865 = load i32, ptr %1864, align 4, !tbaa !40
  %1866 = load ptr, ptr %78, align 8, !tbaa !5
  %1867 = sext i32 %1865 to i64
  %1868 = getelementptr inbounds i16, ptr %1866, i64 %1867
  store ptr %1868, ptr %78, align 8, !tbaa !5
  %1869 = load ptr, ptr %8, align 8, !tbaa !5
  %1870 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1869, i32 0, i32 2
  %1871 = load i32, ptr %1870, align 8, !tbaa !34
  %1872 = load ptr, ptr %75, align 8, !tbaa !5
  %1873 = sext i32 %1871 to i64
  %1874 = getelementptr inbounds i16, ptr %1872, i64 %1873
  store ptr %1874, ptr %75, align 8, !tbaa !5
  br label %1875

1875:                                             ; preds = %1862
  %1876 = load i32, ptr %79, align 4, !tbaa !44
  %1877 = add i32 %1876, 1
  store i32 %1877, ptr %79, align 4, !tbaa !44
  br label %1825, !llvm.loop !107

1878:                                             ; preds = %1831
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #7
  br label %2142

1879:                                             ; preds = %1818
  %1880 = load ptr, ptr %8, align 8, !tbaa !5
  %1881 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1880, i32 0, i32 3
  %1882 = load i64, ptr %1881, align 8, !tbaa !43
  %1883 = icmp eq i64 %1882, 4
  br i1 %1883, label %1884, label %1942

1884:                                             ; preds = %1879
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #7
  %1885 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1885, ptr %80, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #7
  store i32 0, ptr %81, align 4, !tbaa !44
  br label %1886

1886:                                             ; preds = %1938, %1884
  %1887 = load i32, ptr %81, align 4, !tbaa !44
  %1888 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1889 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1888, i32 0, i32 11
  %1890 = load i32, ptr %1889, align 4, !tbaa !41
  %1891 = icmp ult i32 %1887, %1890
  br i1 %1891, label %1893, label %1892

1892:                                             ; preds = %1886
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #7
  br label %1941

1893:                                             ; preds = %1886
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1894

1894:                                             ; preds = %1922, %1893
  %1895 = load i32, ptr %9, align 4, !tbaa !44
  %1896 = load ptr, ptr %8, align 8, !tbaa !5
  %1897 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1896, i32 0, i32 0
  %1898 = load i32, ptr %1897, align 8, !tbaa !45
  %1899 = icmp slt i32 %1895, %1898
  br i1 %1899, label %1900, label %1925

1900:                                             ; preds = %1894
  %1901 = load ptr, ptr %80, align 8, !tbaa !5
  %1902 = load ptr, ptr %8, align 8, !tbaa !5
  %1903 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1902, i32 0, i32 5
  %1904 = load i32, ptr %9, align 4, !tbaa !44
  %1905 = sext i32 %1904 to i64
  %1906 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1903, i64 noundef %1905) #7
  %1907 = load i32, ptr %1906, align 4, !tbaa !44
  %1908 = sext i32 %1907 to i64
  %1909 = getelementptr inbounds %class.S24, ptr %1901, i64 %1908
  %1910 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %1909)
  %1911 = ashr i32 %1910, 8
  %1912 = trunc i32 %1911 to i16
  %1913 = load ptr, ptr %75, align 8, !tbaa !5
  %1914 = load ptr, ptr %8, align 8, !tbaa !5
  %1915 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1914, i32 0, i32 6
  %1916 = load i32, ptr %9, align 4, !tbaa !44
  %1917 = sext i32 %1916 to i64
  %1918 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1915, i64 noundef %1917) #7
  %1919 = load i32, ptr %1918, align 4, !tbaa !44
  %1920 = sext i32 %1919 to i64
  %1921 = getelementptr inbounds i16, ptr %1913, i64 %1920
  store i16 %1912, ptr %1921, align 2, !tbaa !51
  br label %1922

1922:                                             ; preds = %1900
  %1923 = load i32, ptr %9, align 4, !tbaa !44
  %1924 = add nsw i32 %1923, 1
  store i32 %1924, ptr %9, align 4, !tbaa !44
  br label %1894, !llvm.loop !108

1925:                                             ; preds = %1894
  %1926 = load ptr, ptr %8, align 8, !tbaa !5
  %1927 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1926, i32 0, i32 1
  %1928 = load i32, ptr %1927, align 4, !tbaa !40
  %1929 = load ptr, ptr %80, align 8, !tbaa !5
  %1930 = sext i32 %1928 to i64
  %1931 = getelementptr inbounds %class.S24, ptr %1929, i64 %1930
  store ptr %1931, ptr %80, align 8, !tbaa !5
  %1932 = load ptr, ptr %8, align 8, !tbaa !5
  %1933 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1932, i32 0, i32 2
  %1934 = load i32, ptr %1933, align 8, !tbaa !34
  %1935 = load ptr, ptr %75, align 8, !tbaa !5
  %1936 = sext i32 %1934 to i64
  %1937 = getelementptr inbounds i16, ptr %1935, i64 %1936
  store ptr %1937, ptr %75, align 8, !tbaa !5
  br label %1938

1938:                                             ; preds = %1925
  %1939 = load i32, ptr %81, align 4, !tbaa !44
  %1940 = add i32 %1939, 1
  store i32 %1940, ptr %81, align 4, !tbaa !44
  br label %1886, !llvm.loop !109

1941:                                             ; preds = %1892
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %2141

1942:                                             ; preds = %1879
  %1943 = load ptr, ptr %8, align 8, !tbaa !5
  %1944 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1943, i32 0, i32 3
  %1945 = load i64, ptr %1944, align 8, !tbaa !43
  %1946 = icmp eq i64 %1945, 8
  br i1 %1946, label %1947, label %2006

1947:                                             ; preds = %1942
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #7
  %1948 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1948, ptr %82, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #7
  store i32 0, ptr %83, align 4, !tbaa !44
  br label %1949

1949:                                             ; preds = %2002, %1947
  %1950 = load i32, ptr %83, align 4, !tbaa !44
  %1951 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %1952 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1951, i32 0, i32 11
  %1953 = load i32, ptr %1952, align 4, !tbaa !41
  %1954 = icmp ult i32 %1950, %1953
  br i1 %1954, label %1956, label %1955

1955:                                             ; preds = %1949
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  br label %2005

1956:                                             ; preds = %1949
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %1957

1957:                                             ; preds = %1986, %1956
  %1958 = load i32, ptr %9, align 4, !tbaa !44
  %1959 = load ptr, ptr %8, align 8, !tbaa !5
  %1960 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1959, i32 0, i32 0
  %1961 = load i32, ptr %1960, align 8, !tbaa !45
  %1962 = icmp slt i32 %1958, %1961
  br i1 %1962, label %1963, label %1989

1963:                                             ; preds = %1957
  %1964 = load ptr, ptr %82, align 8, !tbaa !5
  %1965 = load ptr, ptr %8, align 8, !tbaa !5
  %1966 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1965, i32 0, i32 5
  %1967 = load i32, ptr %9, align 4, !tbaa !44
  %1968 = sext i32 %1967 to i64
  %1969 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1966, i64 noundef %1968) #7
  %1970 = load i32, ptr %1969, align 4, !tbaa !44
  %1971 = sext i32 %1970 to i64
  %1972 = getelementptr inbounds i32, ptr %1964, i64 %1971
  %1973 = load i32, ptr %1972, align 4, !tbaa !44
  %1974 = ashr i32 %1973, 16
  %1975 = and i32 %1974, 65535
  %1976 = trunc i32 %1975 to i16
  %1977 = load ptr, ptr %75, align 8, !tbaa !5
  %1978 = load ptr, ptr %8, align 8, !tbaa !5
  %1979 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1978, i32 0, i32 6
  %1980 = load i32, ptr %9, align 4, !tbaa !44
  %1981 = sext i32 %1980 to i64
  %1982 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1979, i64 noundef %1981) #7
  %1983 = load i32, ptr %1982, align 4, !tbaa !44
  %1984 = sext i32 %1983 to i64
  %1985 = getelementptr inbounds i16, ptr %1977, i64 %1984
  store i16 %1976, ptr %1985, align 2, !tbaa !51
  br label %1986

1986:                                             ; preds = %1963
  %1987 = load i32, ptr %9, align 4, !tbaa !44
  %1988 = add nsw i32 %1987, 1
  store i32 %1988, ptr %9, align 4, !tbaa !44
  br label %1957, !llvm.loop !110

1989:                                             ; preds = %1957
  %1990 = load ptr, ptr %8, align 8, !tbaa !5
  %1991 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1990, i32 0, i32 1
  %1992 = load i32, ptr %1991, align 4, !tbaa !40
  %1993 = load ptr, ptr %82, align 8, !tbaa !5
  %1994 = sext i32 %1992 to i64
  %1995 = getelementptr inbounds i32, ptr %1993, i64 %1994
  store ptr %1995, ptr %82, align 8, !tbaa !5
  %1996 = load ptr, ptr %8, align 8, !tbaa !5
  %1997 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1996, i32 0, i32 2
  %1998 = load i32, ptr %1997, align 8, !tbaa !34
  %1999 = load ptr, ptr %75, align 8, !tbaa !5
  %2000 = sext i32 %1998 to i64
  %2001 = getelementptr inbounds i16, ptr %1999, i64 %2000
  store ptr %2001, ptr %75, align 8, !tbaa !5
  br label %2002

2002:                                             ; preds = %1989
  %2003 = load i32, ptr %83, align 4, !tbaa !44
  %2004 = add i32 %2003, 1
  store i32 %2004, ptr %83, align 4, !tbaa !44
  br label %1949, !llvm.loop !111

2005:                                             ; preds = %1955
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  br label %2140

2006:                                             ; preds = %1942
  %2007 = load ptr, ptr %8, align 8, !tbaa !5
  %2008 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2007, i32 0, i32 3
  %2009 = load i64, ptr %2008, align 8, !tbaa !43
  %2010 = icmp eq i64 %2009, 16
  br i1 %2010, label %2011, label %2072

2011:                                             ; preds = %2006
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #7
  %2012 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2012, ptr %84, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #7
  store i32 0, ptr %85, align 4, !tbaa !44
  br label %2013

2013:                                             ; preds = %2068, %2011
  %2014 = load i32, ptr %85, align 4, !tbaa !44
  %2015 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2016 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2015, i32 0, i32 11
  %2017 = load i32, ptr %2016, align 4, !tbaa !41
  %2018 = icmp ult i32 %2014, %2017
  br i1 %2018, label %2020, label %2019

2019:                                             ; preds = %2013
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #7
  br label %2071

2020:                                             ; preds = %2013
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2021

2021:                                             ; preds = %2052, %2020
  %2022 = load i32, ptr %9, align 4, !tbaa !44
  %2023 = load ptr, ptr %8, align 8, !tbaa !5
  %2024 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2023, i32 0, i32 0
  %2025 = load i32, ptr %2024, align 8, !tbaa !45
  %2026 = icmp slt i32 %2022, %2025
  br i1 %2026, label %2027, label %2055

2027:                                             ; preds = %2021
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #7
  %2028 = load ptr, ptr %84, align 8, !tbaa !5
  %2029 = load ptr, ptr %8, align 8, !tbaa !5
  %2030 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2029, i32 0, i32 5
  %2031 = load i32, ptr %9, align 4, !tbaa !44
  %2032 = sext i32 %2031 to i64
  %2033 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2030, i64 noundef %2032) #7
  %2034 = load i32, ptr %2033, align 4, !tbaa !44
  %2035 = sext i32 %2034 to i64
  %2036 = getelementptr inbounds float, ptr %2028, i64 %2035
  %2037 = load float, ptr %2036, align 4, !tbaa !59
  %2038 = fmul float %2037, 3.276800e+04
  %2039 = call noundef i64 @_ZSt7llroundf(float noundef %2038)
  store i64 %2039, ptr %86, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #7
  store i64 32767, ptr %87, align 8, !tbaa !85
  %2040 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef nonnull align 8 dereferenceable(8) %87)
  %2041 = load i64, ptr %2040, align 8, !tbaa !85
  %2042 = trunc i64 %2041 to i16
  %2043 = load ptr, ptr %75, align 8, !tbaa !5
  %2044 = load ptr, ptr %8, align 8, !tbaa !5
  %2045 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2044, i32 0, i32 6
  %2046 = load i32, ptr %9, align 4, !tbaa !44
  %2047 = sext i32 %2046 to i64
  %2048 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2045, i64 noundef %2047) #7
  %2049 = load i32, ptr %2048, align 4, !tbaa !44
  %2050 = sext i32 %2049 to i64
  %2051 = getelementptr inbounds i16, ptr %2043, i64 %2050
  store i16 %2042, ptr %2051, align 2, !tbaa !51
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  br label %2052

2052:                                             ; preds = %2027
  %2053 = load i32, ptr %9, align 4, !tbaa !44
  %2054 = add nsw i32 %2053, 1
  store i32 %2054, ptr %9, align 4, !tbaa !44
  br label %2021, !llvm.loop !112

2055:                                             ; preds = %2021
  %2056 = load ptr, ptr %8, align 8, !tbaa !5
  %2057 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2056, i32 0, i32 1
  %2058 = load i32, ptr %2057, align 4, !tbaa !40
  %2059 = load ptr, ptr %84, align 8, !tbaa !5
  %2060 = sext i32 %2058 to i64
  %2061 = getelementptr inbounds float, ptr %2059, i64 %2060
  store ptr %2061, ptr %84, align 8, !tbaa !5
  %2062 = load ptr, ptr %8, align 8, !tbaa !5
  %2063 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2062, i32 0, i32 2
  %2064 = load i32, ptr %2063, align 8, !tbaa !34
  %2065 = load ptr, ptr %75, align 8, !tbaa !5
  %2066 = sext i32 %2064 to i64
  %2067 = getelementptr inbounds i16, ptr %2065, i64 %2066
  store ptr %2067, ptr %75, align 8, !tbaa !5
  br label %2068

2068:                                             ; preds = %2055
  %2069 = load i32, ptr %85, align 4, !tbaa !44
  %2070 = add i32 %2069, 1
  store i32 %2070, ptr %85, align 4, !tbaa !44
  br label %2013, !llvm.loop !113

2071:                                             ; preds = %2019
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  br label %2139

2072:                                             ; preds = %2006
  %2073 = load ptr, ptr %8, align 8, !tbaa !5
  %2074 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2073, i32 0, i32 3
  %2075 = load i64, ptr %2074, align 8, !tbaa !43
  %2076 = icmp eq i64 %2075, 32
  br i1 %2076, label %2077, label %2138

2077:                                             ; preds = %2072
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  %2078 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2078, ptr %88, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #7
  store i32 0, ptr %89, align 4, !tbaa !44
  br label %2079

2079:                                             ; preds = %2134, %2077
  %2080 = load i32, ptr %89, align 4, !tbaa !44
  %2081 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2082 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2081, i32 0, i32 11
  %2083 = load i32, ptr %2082, align 4, !tbaa !41
  %2084 = icmp ult i32 %2080, %2083
  br i1 %2084, label %2086, label %2085

2085:                                             ; preds = %2079
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  br label %2137

2086:                                             ; preds = %2079
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2087

2087:                                             ; preds = %2118, %2086
  %2088 = load i32, ptr %9, align 4, !tbaa !44
  %2089 = load ptr, ptr %8, align 8, !tbaa !5
  %2090 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2089, i32 0, i32 0
  %2091 = load i32, ptr %2090, align 8, !tbaa !45
  %2092 = icmp slt i32 %2088, %2091
  br i1 %2092, label %2093, label %2121

2093:                                             ; preds = %2087
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #7
  %2094 = load ptr, ptr %88, align 8, !tbaa !5
  %2095 = load ptr, ptr %8, align 8, !tbaa !5
  %2096 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2095, i32 0, i32 5
  %2097 = load i32, ptr %9, align 4, !tbaa !44
  %2098 = sext i32 %2097 to i64
  %2099 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2096, i64 noundef %2098) #7
  %2100 = load i32, ptr %2099, align 4, !tbaa !44
  %2101 = sext i32 %2100 to i64
  %2102 = getelementptr inbounds double, ptr %2094, i64 %2101
  %2103 = load double, ptr %2102, align 8, !tbaa !47
  %2104 = fmul double %2103, 3.276800e+04
  %2105 = call i64 @llround(double noundef %2104) #7
  store i64 %2105, ptr %90, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #7
  store i64 32767, ptr %91, align 8, !tbaa !85
  %2106 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull align 8 dereferenceable(8) %91)
  %2107 = load i64, ptr %2106, align 8, !tbaa !85
  %2108 = trunc i64 %2107 to i16
  %2109 = load ptr, ptr %75, align 8, !tbaa !5
  %2110 = load ptr, ptr %8, align 8, !tbaa !5
  %2111 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2110, i32 0, i32 6
  %2112 = load i32, ptr %9, align 4, !tbaa !44
  %2113 = sext i32 %2112 to i64
  %2114 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2111, i64 noundef %2113) #7
  %2115 = load i32, ptr %2114, align 4, !tbaa !44
  %2116 = sext i32 %2115 to i64
  %2117 = getelementptr inbounds i16, ptr %2109, i64 %2116
  store i16 %2108, ptr %2117, align 2, !tbaa !51
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #7
  br label %2118

2118:                                             ; preds = %2093
  %2119 = load i32, ptr %9, align 4, !tbaa !44
  %2120 = add nsw i32 %2119, 1
  store i32 %2120, ptr %9, align 4, !tbaa !44
  br label %2087, !llvm.loop !114

2121:                                             ; preds = %2087
  %2122 = load ptr, ptr %8, align 8, !tbaa !5
  %2123 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2122, i32 0, i32 1
  %2124 = load i32, ptr %2123, align 4, !tbaa !40
  %2125 = load ptr, ptr %88, align 8, !tbaa !5
  %2126 = sext i32 %2124 to i64
  %2127 = getelementptr inbounds double, ptr %2125, i64 %2126
  store ptr %2127, ptr %88, align 8, !tbaa !5
  %2128 = load ptr, ptr %8, align 8, !tbaa !5
  %2129 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2128, i32 0, i32 2
  %2130 = load i32, ptr %2129, align 8, !tbaa !34
  %2131 = load ptr, ptr %75, align 8, !tbaa !5
  %2132 = sext i32 %2130 to i64
  %2133 = getelementptr inbounds i16, ptr %2131, i64 %2132
  store ptr %2133, ptr %75, align 8, !tbaa !5
  br label %2134

2134:                                             ; preds = %2121
  %2135 = load i32, ptr %89, align 4, !tbaa !44
  %2136 = add i32 %2135, 1
  store i32 %2136, ptr %89, align 4, !tbaa !44
  br label %2079, !llvm.loop !115

2137:                                             ; preds = %2085
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  br label %2138

2138:                                             ; preds = %2137, %2072
  br label %2139

2139:                                             ; preds = %2138, %2071
  br label %2140

2140:                                             ; preds = %2139, %2005
  br label %2141

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

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

2143:                                             ; preds = %2142, %1817
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br label %2541

2144:                                             ; preds = %1737
  %2145 = load ptr, ptr %8, align 8, !tbaa !5
  %2146 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2145, i32 0, i32 4
  %2147 = load i64, ptr %2146, align 8, !tbaa !42
  %2148 = icmp eq i64 %2147, 1
  br i1 %2148, label %2149, label %2540

2149:                                             ; preds = %2144
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #7
  %2150 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %2150, ptr %92, align 8, !tbaa !5
  %2151 = load ptr, ptr %8, align 8, !tbaa !5
  %2152 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2151, i32 0, i32 3
  %2153 = load i64, ptr %2152, align 8, !tbaa !43
  %2154 = icmp eq i64 %2153, 1
  br i1 %2154, label %2155, label %2211

2155:                                             ; preds = %2149
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #7
  %2156 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2156, ptr %93, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #7
  store i32 0, ptr %94, align 4, !tbaa !44
  br label %2157

2157:                                             ; preds = %2207, %2155
  %2158 = load i32, ptr %94, align 4, !tbaa !44
  %2159 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2160 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2159, i32 0, i32 11
  %2161 = load i32, ptr %2160, align 4, !tbaa !41
  %2162 = icmp ult i32 %2158, %2161
  br i1 %2162, label %2164, label %2163

2163:                                             ; preds = %2157
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #7
  br label %2210

2164:                                             ; preds = %2157
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2165

2165:                                             ; preds = %2191, %2164
  %2166 = load i32, ptr %9, align 4, !tbaa !44
  %2167 = load ptr, ptr %8, align 8, !tbaa !5
  %2168 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2167, i32 0, i32 0
  %2169 = load i32, ptr %2168, align 8, !tbaa !45
  %2170 = icmp slt i32 %2166, %2169
  br i1 %2170, label %2171, label %2194

2171:                                             ; preds = %2165
  %2172 = load ptr, ptr %93, align 8, !tbaa !5
  %2173 = load ptr, ptr %8, align 8, !tbaa !5
  %2174 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2173, i32 0, i32 5
  %2175 = load i32, ptr %9, align 4, !tbaa !44
  %2176 = sext i32 %2175 to i64
  %2177 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2174, i64 noundef %2176) #7
  %2178 = load i32, ptr %2177, align 4, !tbaa !44
  %2179 = sext i32 %2178 to i64
  %2180 = getelementptr inbounds i8, ptr %2172, i64 %2179
  %2181 = load i8, ptr %2180, align 1, !tbaa !46
  %2182 = load ptr, ptr %92, align 8, !tbaa !5
  %2183 = load ptr, ptr %8, align 8, !tbaa !5
  %2184 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2183, i32 0, i32 6
  %2185 = load i32, ptr %9, align 4, !tbaa !44
  %2186 = sext i32 %2185 to i64
  %2187 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2184, i64 noundef %2186) #7
  %2188 = load i32, ptr %2187, align 4, !tbaa !44
  %2189 = sext i32 %2188 to i64
  %2190 = getelementptr inbounds i8, ptr %2182, i64 %2189
  store i8 %2181, ptr %2190, align 1, !tbaa !46
  br label %2191

2191:                                             ; preds = %2171
  %2192 = load i32, ptr %9, align 4, !tbaa !44
  %2193 = add nsw i32 %2192, 1
  store i32 %2193, ptr %9, align 4, !tbaa !44
  br label %2165, !llvm.loop !116

2194:                                             ; preds = %2165
  %2195 = load ptr, ptr %8, align 8, !tbaa !5
  %2196 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2195, i32 0, i32 1
  %2197 = load i32, ptr %2196, align 4, !tbaa !40
  %2198 = load ptr, ptr %93, align 8, !tbaa !5
  %2199 = sext i32 %2197 to i64
  %2200 = getelementptr inbounds i8, ptr %2198, i64 %2199
  store ptr %2200, ptr %93, align 8, !tbaa !5
  %2201 = load ptr, ptr %8, align 8, !tbaa !5
  %2202 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2201, i32 0, i32 2
  %2203 = load i32, ptr %2202, align 8, !tbaa !34
  %2204 = load ptr, ptr %92, align 8, !tbaa !5
  %2205 = sext i32 %2203 to i64
  %2206 = getelementptr inbounds i8, ptr %2204, i64 %2205
  store ptr %2206, ptr %92, align 8, !tbaa !5
  br label %2207

2207:                                             ; preds = %2194
  %2208 = load i32, ptr %94, align 4, !tbaa !44
  %2209 = add i32 %2208, 1
  store i32 %2209, ptr %94, align 4, !tbaa !44
  br label %2157, !llvm.loop !117

2210:                                             ; preds = %2163
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  br label %2211

2211:                                             ; preds = %2210, %2149
  %2212 = load ptr, ptr %8, align 8, !tbaa !5
  %2213 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2212, i32 0, i32 3
  %2214 = load i64, ptr %2213, align 8, !tbaa !43
  %2215 = icmp eq i64 %2214, 2
  br i1 %2215, label %2216, label %2276

2216:                                             ; preds = %2211
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #7
  %2217 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2217, ptr %95, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #7
  store i32 0, ptr %96, align 4, !tbaa !44
  br label %2218

2218:                                             ; preds = %2272, %2216
  %2219 = load i32, ptr %96, align 4, !tbaa !44
  %2220 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2221 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2220, i32 0, i32 11
  %2222 = load i32, ptr %2221, align 4, !tbaa !41
  %2223 = icmp ult i32 %2219, %2222
  br i1 %2223, label %2225, label %2224

2224:                                             ; preds = %2218
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  br label %2275

2225:                                             ; preds = %2218
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2226

2226:                                             ; preds = %2256, %2225
  %2227 = load i32, ptr %9, align 4, !tbaa !44
  %2228 = load ptr, ptr %8, align 8, !tbaa !5
  %2229 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2228, i32 0, i32 0
  %2230 = load i32, ptr %2229, align 8, !tbaa !45
  %2231 = icmp slt i32 %2227, %2230
  br i1 %2231, label %2232, label %2259

2232:                                             ; preds = %2226
  %2233 = load ptr, ptr %95, align 8, !tbaa !5
  %2234 = load ptr, ptr %8, align 8, !tbaa !5
  %2235 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2234, i32 0, i32 5
  %2236 = load i32, ptr %9, align 4, !tbaa !44
  %2237 = sext i32 %2236 to i64
  %2238 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2235, i64 noundef %2237) #7
  %2239 = load i32, ptr %2238, align 4, !tbaa !44
  %2240 = sext i32 %2239 to i64
  %2241 = getelementptr inbounds i16, ptr %2233, i64 %2240
  %2242 = load i16, ptr %2241, align 2, !tbaa !51
  %2243 = sext i16 %2242 to i32
  %2244 = ashr i32 %2243, 8
  %2245 = and i32 %2244, 255
  %2246 = trunc i32 %2245 to i8
  %2247 = load ptr, ptr %92, align 8, !tbaa !5
  %2248 = load ptr, ptr %8, align 8, !tbaa !5
  %2249 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2248, i32 0, i32 6
  %2250 = load i32, ptr %9, align 4, !tbaa !44
  %2251 = sext i32 %2250 to i64
  %2252 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2249, i64 noundef %2251) #7
  %2253 = load i32, ptr %2252, align 4, !tbaa !44
  %2254 = sext i32 %2253 to i64
  %2255 = getelementptr inbounds i8, ptr %2247, i64 %2254
  store i8 %2246, ptr %2255, align 1, !tbaa !46
  br label %2256

2256:                                             ; preds = %2232
  %2257 = load i32, ptr %9, align 4, !tbaa !44
  %2258 = add nsw i32 %2257, 1
  store i32 %2258, ptr %9, align 4, !tbaa !44
  br label %2226, !llvm.loop !118

2259:                                             ; preds = %2226
  %2260 = load ptr, ptr %8, align 8, !tbaa !5
  %2261 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2260, i32 0, i32 1
  %2262 = load i32, ptr %2261, align 4, !tbaa !40
  %2263 = load ptr, ptr %95, align 8, !tbaa !5
  %2264 = sext i32 %2262 to i64
  %2265 = getelementptr inbounds i16, ptr %2263, i64 %2264
  store ptr %2265, ptr %95, align 8, !tbaa !5
  %2266 = load ptr, ptr %8, align 8, !tbaa !5
  %2267 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2266, i32 0, i32 2
  %2268 = load i32, ptr %2267, align 8, !tbaa !34
  %2269 = load ptr, ptr %92, align 8, !tbaa !5
  %2270 = sext i32 %2268 to i64
  %2271 = getelementptr inbounds i8, ptr %2269, i64 %2270
  store ptr %2271, ptr %92, align 8, !tbaa !5
  br label %2272

2272:                                             ; preds = %2259
  %2273 = load i32, ptr %96, align 4, !tbaa !44
  %2274 = add i32 %2273, 1
  store i32 %2274, ptr %96, align 4, !tbaa !44
  br label %2218, !llvm.loop !119

2275:                                             ; preds = %2224
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  br label %2539

2276:                                             ; preds = %2211
  %2277 = load ptr, ptr %8, align 8, !tbaa !5
  %2278 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2277, i32 0, i32 3
  %2279 = load i64, ptr %2278, align 8, !tbaa !43
  %2280 = icmp eq i64 %2279, 4
  br i1 %2280, label %2281, label %2339

2281:                                             ; preds = %2276
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #7
  %2282 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2282, ptr %97, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #7
  store i32 0, ptr %98, align 4, !tbaa !44
  br label %2283

2283:                                             ; preds = %2335, %2281
  %2284 = load i32, ptr %98, align 4, !tbaa !44
  %2285 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2286 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2285, i32 0, i32 11
  %2287 = load i32, ptr %2286, align 4, !tbaa !41
  %2288 = icmp ult i32 %2284, %2287
  br i1 %2288, label %2290, label %2289

2289:                                             ; preds = %2283
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #7
  br label %2338

2290:                                             ; preds = %2283
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2291

2291:                                             ; preds = %2319, %2290
  %2292 = load i32, ptr %9, align 4, !tbaa !44
  %2293 = load ptr, ptr %8, align 8, !tbaa !5
  %2294 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2293, i32 0, i32 0
  %2295 = load i32, ptr %2294, align 8, !tbaa !45
  %2296 = icmp slt i32 %2292, %2295
  br i1 %2296, label %2297, label %2322

2297:                                             ; preds = %2291
  %2298 = load ptr, ptr %97, align 8, !tbaa !5
  %2299 = load ptr, ptr %8, align 8, !tbaa !5
  %2300 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2299, i32 0, i32 5
  %2301 = load i32, ptr %9, align 4, !tbaa !44
  %2302 = sext i32 %2301 to i64
  %2303 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2300, i64 noundef %2302) #7
  %2304 = load i32, ptr %2303, align 4, !tbaa !44
  %2305 = sext i32 %2304 to i64
  %2306 = getelementptr inbounds %class.S24, ptr %2298, i64 %2305
  %2307 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %2306)
  %2308 = ashr i32 %2307, 16
  %2309 = trunc i32 %2308 to i8
  %2310 = load ptr, ptr %92, align 8, !tbaa !5
  %2311 = load ptr, ptr %8, align 8, !tbaa !5
  %2312 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2311, i32 0, i32 6
  %2313 = load i32, ptr %9, align 4, !tbaa !44
  %2314 = sext i32 %2313 to i64
  %2315 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2312, i64 noundef %2314) #7
  %2316 = load i32, ptr %2315, align 4, !tbaa !44
  %2317 = sext i32 %2316 to i64
  %2318 = getelementptr inbounds i8, ptr %2310, i64 %2317
  store i8 %2309, ptr %2318, align 1, !tbaa !46
  br label %2319

2319:                                             ; preds = %2297
  %2320 = load i32, ptr %9, align 4, !tbaa !44
  %2321 = add nsw i32 %2320, 1
  store i32 %2321, ptr %9, align 4, !tbaa !44
  br label %2291, !llvm.loop !120

2322:                                             ; preds = %2291
  %2323 = load ptr, ptr %8, align 8, !tbaa !5
  %2324 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2323, i32 0, i32 1
  %2325 = load i32, ptr %2324, align 4, !tbaa !40
  %2326 = load ptr, ptr %97, align 8, !tbaa !5
  %2327 = sext i32 %2325 to i64
  %2328 = getelementptr inbounds %class.S24, ptr %2326, i64 %2327
  store ptr %2328, ptr %97, align 8, !tbaa !5
  %2329 = load ptr, ptr %8, align 8, !tbaa !5
  %2330 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2329, i32 0, i32 2
  %2331 = load i32, ptr %2330, align 8, !tbaa !34
  %2332 = load ptr, ptr %92, align 8, !tbaa !5
  %2333 = sext i32 %2331 to i64
  %2334 = getelementptr inbounds i8, ptr %2332, i64 %2333
  store ptr %2334, ptr %92, align 8, !tbaa !5
  br label %2335

2335:                                             ; preds = %2322
  %2336 = load i32, ptr %98, align 4, !tbaa !44
  %2337 = add i32 %2336, 1
  store i32 %2337, ptr %98, align 4, !tbaa !44
  br label %2283, !llvm.loop !121

2338:                                             ; preds = %2289
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %2538

2339:                                             ; preds = %2276
  %2340 = load ptr, ptr %8, align 8, !tbaa !5
  %2341 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2340, i32 0, i32 3
  %2342 = load i64, ptr %2341, align 8, !tbaa !43
  %2343 = icmp eq i64 %2342, 8
  br i1 %2343, label %2344, label %2403

2344:                                             ; preds = %2339
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #7
  %2345 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2345, ptr %99, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #7
  store i32 0, ptr %100, align 4, !tbaa !44
  br label %2346

2346:                                             ; preds = %2399, %2344
  %2347 = load i32, ptr %100, align 4, !tbaa !44
  %2348 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2349 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2348, i32 0, i32 11
  %2350 = load i32, ptr %2349, align 4, !tbaa !41
  %2351 = icmp ult i32 %2347, %2350
  br i1 %2351, label %2353, label %2352

2352:                                             ; preds = %2346
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  br label %2402

2353:                                             ; preds = %2346
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2354

2354:                                             ; preds = %2383, %2353
  %2355 = load i32, ptr %9, align 4, !tbaa !44
  %2356 = load ptr, ptr %8, align 8, !tbaa !5
  %2357 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2356, i32 0, i32 0
  %2358 = load i32, ptr %2357, align 8, !tbaa !45
  %2359 = icmp slt i32 %2355, %2358
  br i1 %2359, label %2360, label %2386

2360:                                             ; preds = %2354
  %2361 = load ptr, ptr %99, align 8, !tbaa !5
  %2362 = load ptr, ptr %8, align 8, !tbaa !5
  %2363 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2362, i32 0, i32 5
  %2364 = load i32, ptr %9, align 4, !tbaa !44
  %2365 = sext i32 %2364 to i64
  %2366 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2363, i64 noundef %2365) #7
  %2367 = load i32, ptr %2366, align 4, !tbaa !44
  %2368 = sext i32 %2367 to i64
  %2369 = getelementptr inbounds i32, ptr %2361, i64 %2368
  %2370 = load i32, ptr %2369, align 4, !tbaa !44
  %2371 = ashr i32 %2370, 24
  %2372 = and i32 %2371, 255
  %2373 = trunc i32 %2372 to i8
  %2374 = load ptr, ptr %92, align 8, !tbaa !5
  %2375 = load ptr, ptr %8, align 8, !tbaa !5
  %2376 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2375, i32 0, i32 6
  %2377 = load i32, ptr %9, align 4, !tbaa !44
  %2378 = sext i32 %2377 to i64
  %2379 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2376, i64 noundef %2378) #7
  %2380 = load i32, ptr %2379, align 4, !tbaa !44
  %2381 = sext i32 %2380 to i64
  %2382 = getelementptr inbounds i8, ptr %2374, i64 %2381
  store i8 %2373, ptr %2382, align 1, !tbaa !46
  br label %2383

2383:                                             ; preds = %2360
  %2384 = load i32, ptr %9, align 4, !tbaa !44
  %2385 = add nsw i32 %2384, 1
  store i32 %2385, ptr %9, align 4, !tbaa !44
  br label %2354, !llvm.loop !122

2386:                                             ; preds = %2354
  %2387 = load ptr, ptr %8, align 8, !tbaa !5
  %2388 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2387, i32 0, i32 1
  %2389 = load i32, ptr %2388, align 4, !tbaa !40
  %2390 = load ptr, ptr %99, align 8, !tbaa !5
  %2391 = sext i32 %2389 to i64
  %2392 = getelementptr inbounds i32, ptr %2390, i64 %2391
  store ptr %2392, ptr %99, align 8, !tbaa !5
  %2393 = load ptr, ptr %8, align 8, !tbaa !5
  %2394 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2393, i32 0, i32 2
  %2395 = load i32, ptr %2394, align 8, !tbaa !34
  %2396 = load ptr, ptr %92, align 8, !tbaa !5
  %2397 = sext i32 %2395 to i64
  %2398 = getelementptr inbounds i8, ptr %2396, i64 %2397
  store ptr %2398, ptr %92, align 8, !tbaa !5
  br label %2399

2399:                                             ; preds = %2386
  %2400 = load i32, ptr %100, align 4, !tbaa !44
  %2401 = add i32 %2400, 1
  store i32 %2401, ptr %100, align 4, !tbaa !44
  br label %2346, !llvm.loop !123

2402:                                             ; preds = %2352
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  br label %2537

2403:                                             ; preds = %2339
  %2404 = load ptr, ptr %8, align 8, !tbaa !5
  %2405 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2404, i32 0, i32 3
  %2406 = load i64, ptr %2405, align 8, !tbaa !43
  %2407 = icmp eq i64 %2406, 16
  br i1 %2407, label %2408, label %2469

2408:                                             ; preds = %2403
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #7
  %2409 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2409, ptr %101, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #7
  store i32 0, ptr %102, align 4, !tbaa !44
  br label %2410

2410:                                             ; preds = %2465, %2408
  %2411 = load i32, ptr %102, align 4, !tbaa !44
  %2412 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2413 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2412, i32 0, i32 11
  %2414 = load i32, ptr %2413, align 4, !tbaa !41
  %2415 = icmp ult i32 %2411, %2414
  br i1 %2415, label %2417, label %2416

2416:                                             ; preds = %2410
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #7
  br label %2468

2417:                                             ; preds = %2410
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2418

2418:                                             ; preds = %2449, %2417
  %2419 = load i32, ptr %9, align 4, !tbaa !44
  %2420 = load ptr, ptr %8, align 8, !tbaa !5
  %2421 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2420, i32 0, i32 0
  %2422 = load i32, ptr %2421, align 8, !tbaa !45
  %2423 = icmp slt i32 %2419, %2422
  br i1 %2423, label %2424, label %2452

2424:                                             ; preds = %2418
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #7
  %2425 = load ptr, ptr %101, align 8, !tbaa !5
  %2426 = load ptr, ptr %8, align 8, !tbaa !5
  %2427 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2426, i32 0, i32 5
  %2428 = load i32, ptr %9, align 4, !tbaa !44
  %2429 = sext i32 %2428 to i64
  %2430 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2427, i64 noundef %2429) #7
  %2431 = load i32, ptr %2430, align 4, !tbaa !44
  %2432 = sext i32 %2431 to i64
  %2433 = getelementptr inbounds float, ptr %2425, i64 %2432
  %2434 = load float, ptr %2433, align 4, !tbaa !59
  %2435 = fmul float %2434, 1.280000e+02
  %2436 = call noundef i64 @_ZSt7llroundf(float noundef %2435)
  store i64 %2436, ptr %103, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #7
  store i64 127, ptr %104, align 8, !tbaa !85
  %2437 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull align 8 dereferenceable(8) %104)
  %2438 = load i64, ptr %2437, align 8, !tbaa !85
  %2439 = trunc i64 %2438 to i8
  %2440 = load ptr, ptr %92, align 8, !tbaa !5
  %2441 = load ptr, ptr %8, align 8, !tbaa !5
  %2442 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2441, i32 0, i32 6
  %2443 = load i32, ptr %9, align 4, !tbaa !44
  %2444 = sext i32 %2443 to i64
  %2445 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2442, i64 noundef %2444) #7
  %2446 = load i32, ptr %2445, align 4, !tbaa !44
  %2447 = sext i32 %2446 to i64
  %2448 = getelementptr inbounds i8, ptr %2440, i64 %2447
  store i8 %2439, ptr %2448, align 1, !tbaa !46
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  br label %2449

2449:                                             ; preds = %2424
  %2450 = load i32, ptr %9, align 4, !tbaa !44
  %2451 = add nsw i32 %2450, 1
  store i32 %2451, ptr %9, align 4, !tbaa !44
  br label %2418, !llvm.loop !124

2452:                                             ; preds = %2418
  %2453 = load ptr, ptr %8, align 8, !tbaa !5
  %2454 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2453, i32 0, i32 1
  %2455 = load i32, ptr %2454, align 4, !tbaa !40
  %2456 = load ptr, ptr %101, align 8, !tbaa !5
  %2457 = sext i32 %2455 to i64
  %2458 = getelementptr inbounds float, ptr %2456, i64 %2457
  store ptr %2458, ptr %101, align 8, !tbaa !5
  %2459 = load ptr, ptr %8, align 8, !tbaa !5
  %2460 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2459, i32 0, i32 2
  %2461 = load i32, ptr %2460, align 8, !tbaa !34
  %2462 = load ptr, ptr %92, align 8, !tbaa !5
  %2463 = sext i32 %2461 to i64
  %2464 = getelementptr inbounds i8, ptr %2462, i64 %2463
  store ptr %2464, ptr %92, align 8, !tbaa !5
  br label %2465

2465:                                             ; preds = %2452
  %2466 = load i32, ptr %102, align 4, !tbaa !44
  %2467 = add i32 %2466, 1
  store i32 %2467, ptr %102, align 4, !tbaa !44
  br label %2410, !llvm.loop !125

2468:                                             ; preds = %2416
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  br label %2536

2469:                                             ; preds = %2403
  %2470 = load ptr, ptr %8, align 8, !tbaa !5
  %2471 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2470, i32 0, i32 3
  %2472 = load i64, ptr %2471, align 8, !tbaa !43
  %2473 = icmp eq i64 %2472, 32
  br i1 %2473, label %2474, label %2535

2474:                                             ; preds = %2469
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  %2475 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2475, ptr %105, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #7
  store i32 0, ptr %106, align 4, !tbaa !44
  br label %2476

2476:                                             ; preds = %2531, %2474
  %2477 = load i32, ptr %106, align 4, !tbaa !44
  %2478 = getelementptr inbounds %class.RtApi, ptr %109, i32 0, i32 7
  %2479 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2478, i32 0, i32 11
  %2480 = load i32, ptr %2479, align 4, !tbaa !41
  %2481 = icmp ult i32 %2477, %2480
  br i1 %2481, label %2483, label %2482

2482:                                             ; preds = %2476
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #7
  br label %2534

2483:                                             ; preds = %2476
  store i32 0, ptr %9, align 4, !tbaa !44
  br label %2484

2484:                                             ; preds = %2515, %2483
  %2485 = load i32, ptr %9, align 4, !tbaa !44
  %2486 = load ptr, ptr %8, align 8, !tbaa !5
  %2487 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2486, i32 0, i32 0
  %2488 = load i32, ptr %2487, align 8, !tbaa !45
  %2489 = icmp slt i32 %2485, %2488
  br i1 %2489, label %2490, label %2518

2490:                                             ; preds = %2484
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #7
  %2491 = load ptr, ptr %105, align 8, !tbaa !5
  %2492 = load ptr, ptr %8, align 8, !tbaa !5
  %2493 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2492, i32 0, i32 5
  %2494 = load i32, ptr %9, align 4, !tbaa !44
  %2495 = sext i32 %2494 to i64
  %2496 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2493, i64 noundef %2495) #7
  %2497 = load i32, ptr %2496, align 4, !tbaa !44
  %2498 = sext i32 %2497 to i64
  %2499 = getelementptr inbounds double, ptr %2491, i64 %2498
  %2500 = load double, ptr %2499, align 8, !tbaa !47
  %2501 = fmul double %2500, 1.280000e+02
  %2502 = call i64 @llround(double noundef %2501) #7
  store i64 %2502, ptr %107, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #7
  store i64 127, ptr %108, align 8, !tbaa !85
  %2503 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %107, ptr noundef nonnull align 8 dereferenceable(8) %108)
  %2504 = load i64, ptr %2503, align 8, !tbaa !85
  %2505 = trunc i64 %2504 to i8
  %2506 = load ptr, ptr %92, align 8, !tbaa !5
  %2507 = load ptr, ptr %8, align 8, !tbaa !5
  %2508 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2507, i32 0, i32 6
  %2509 = load i32, ptr %9, align 4, !tbaa !44
  %2510 = sext i32 %2509 to i64
  %2511 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2508, i64 noundef %2510) #7
  %2512 = load i32, ptr %2511, align 4, !tbaa !44
  %2513 = sext i32 %2512 to i64
  %2514 = getelementptr inbounds i8, ptr %2506, i64 %2513
  store i8 %2505, ptr %2514, align 1, !tbaa !46
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  br label %2515

2515:                                             ; preds = %2490
  %2516 = load i32, ptr %9, align 4, !tbaa !44
  %2517 = add nsw i32 %2516, 1
  store i32 %2517, ptr %9, align 4, !tbaa !44
  br label %2484, !llvm.loop !126

2518:                                             ; preds = %2484
  %2519 = load ptr, ptr %8, align 8, !tbaa !5
  %2520 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2519, i32 0, i32 1
  %2521 = load i32, ptr %2520, align 4, !tbaa !40
  %2522 = load ptr, ptr %105, align 8, !tbaa !5
  %2523 = sext i32 %2521 to i64
  %2524 = getelementptr inbounds double, ptr %2522, i64 %2523
  store ptr %2524, ptr %105, align 8, !tbaa !5
  %2525 = load ptr, ptr %8, align 8, !tbaa !5
  %2526 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2525, i32 0, i32 2
  %2527 = load i32, ptr %2526, align 8, !tbaa !34
  %2528 = load ptr, ptr %92, align 8, !tbaa !5
  %2529 = sext i32 %2527 to i64
  %2530 = getelementptr inbounds i8, ptr %2528, i64 %2529
  store ptr %2530, ptr %92, align 8, !tbaa !5
  br label %2531

2531:                                             ; preds = %2518
  %2532 = load i32, ptr %106, align 4, !tbaa !44
  %2533 = add i32 %2532, 1
  store i32 %2533, ptr %106, align 4, !tbaa !44
  br label %2476, !llvm.loop !127

2534:                                             ; preds = %2482
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  br label %2535

2535:                                             ; preds = %2534, %2469
  br label %2536

2536:                                             ; preds = %2535, %2468
  br label %2537

2537:                                             ; preds = %2536, %2402
  br label %2538

2538:                                             ; preds = %2537, %2338
  br label %2539

2539:                                             ; preds = %2538, %2275
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #7
  br label %2540

2540:                                             ; preds = %2539, %2144
  br label %2541

2541:                                             ; preds = %2540, %2143
  br label %2542

2542:                                             ; preds = %2541, %1736
  br label %2543

2543:                                             ; preds = %2542, %1339
  br label %2544

2544:                                             ; preds = %2543, %916
  br label %2545

2545:                                             ; preds = %2544, %529
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  ret void
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3)) #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZSt7llroundf(float noundef) #3

; Function Attrs: nounwind
declare i64 @llround(double noundef) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 4 dereferenceable(4)) #3 align 2

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint 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 #5 = { nounwind "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 #6 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { 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 528}
!10 = !{!"_ZTS5RtApi", !11, i64 8, !17, i64 384, !20, i64 416, !22, i64 448, !23, i64 456, !27, i64 480, !28, i64 488}
!11 = !{!"_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE", !12, i64 0, !13, i64 8}
!12 = !{!"_ZTSSo"}
!13 = !{!"_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE", !14, i64 0, !16, i64 64, !17, i64 72}
!14 = !{!"_ZTSSt15basic_streambufIcSt11char_traitsIcEE", !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !15, i64 56}
!15 = !{!"_ZTSSt6locale", !6, i64 0}
!16 = !{!"_ZTSSt13_Ios_Openmode", !7, i64 0}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !18, i64 0, !19, i64 8, !7, i64 16}
!18 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!19 = !{!"long", !7, i64 0}
!20 = !{!"_ZTSSt8functionIFv16RtAudioErrorTypeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !21, i64 0, !6, i64 24}
!21 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!22 = !{!"bool", !7, i64 0}
!23 = !{!"_ZTSSt6vectorIN7RtAudio10DeviceInfoESaIS1_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIN7RtAudio10DeviceInfoESaIS1_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIN7RtAudio10DeviceInfoESaIS1_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIN7RtAudio10DeviceInfoESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!27 = !{!"int", !7, i64 0}
!28 = !{!"_ZTSN5RtApi11RtApiStreamE", !7, i64 0, !6, i64 8, !29, i64 16, !30, i64 20, !7, i64 24, !6, i64 40, !7, i64 48, !22, i64 50, !7, i64 51, !7, i64 53, !27, i64 56, !27, i64 60, !27, i64 64, !7, i64 68, !7, i64 76, !7, i64 84, !7, i64 96, !19, i64 112, !7, i64 120, !7, i64 136, !31, i64 176, !7, i64 232, !32, i64 392}
!29 = !{!"_ZTSN5RtApi10StreamModeE", !7, i64 0}
!30 = !{!"_ZTSN5RtApi11StreamStateE", !7, i64 0}
!31 = !{!"_ZTS12CallbackInfo", !6, i64 0, !19, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !22, i64 40, !22, i64 41, !27, i64 44, !22, i64 48}
!32 = !{!"double", !7, i64 0}
!33 = !{!10, !29, i64 504}
!34 = !{!35, !27, i64 8}
!35 = !{!"_ZTSN5RtApi11ConvertInfoE", !27, i64 0, !27, i64 4, !27, i64 8, !19, i64 16, !19, i64 24, !36, i64 32, !36, i64 56}
!36 = !{!"_ZTSSt6vectorIiSaIiEE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!40 = !{!35, !27, i64 4}
!41 = !{!10, !27, i64 548}
!42 = !{!35, !19, i64 24}
!43 = !{!35, !19, i64 16}
!44 = !{!27, !27, i64 0}
!45 = !{!35, !27, i64 0}
!46 = !{!7, !7, i64 0}
!47 = !{!32, !32, i64 0}
!48 = distinct !{!48, !49}
!49 = !{!"llvm.loop.mustprogress"}
!50 = distinct !{!50, !49}
!51 = !{!52, !52, i64 0}
!52 = !{!"short", !7, i64 0}
!53 = distinct !{!53, !49}
!54 = distinct !{!54, !49}
!55 = distinct !{!55, !49}
!56 = distinct !{!56, !49}
!57 = distinct !{!57, !49}
!58 = distinct !{!58, !49}
!59 = !{!60, !60, i64 0}
!60 = !{!"float", !7, i64 0}
!61 = distinct !{!61, !49}
!62 = distinct !{!62, !49}
!63 = distinct !{!63, !49}
!64 = distinct !{!64, !49}
!65 = distinct !{!65, !49}
!66 = distinct !{!66, !49}
!67 = distinct !{!67, !49}
!68 = distinct !{!68, !49}
!69 = distinct !{!69, !49}
!70 = distinct !{!70, !49}
!71 = distinct !{!71, !49}
!72 = distinct !{!72, !49}
!73 = distinct !{!73, !49}
!74 = distinct !{!74, !49}
!75 = distinct !{!75, !49}
!76 = distinct !{!76, !49}
!77 = distinct !{!77, !49}
!78 = distinct !{!78, !49}
!79 = distinct !{!79, !49}
!80 = distinct !{!80, !49}
!81 = distinct !{!81, !49}
!82 = distinct !{!82, !49}
!83 = distinct !{!83, !49}
!84 = distinct !{!84, !49}
!85 = !{!86, !86, i64 0}
!86 = !{!"long long", !7, i64 0}
!87 = distinct !{!87, !49}
!88 = distinct !{!88, !49}
!89 = distinct !{!89, !49}
!90 = distinct !{!90, !49}
!91 = distinct !{!91, !49}
!92 = distinct !{!92, !49}
!93 = distinct !{!93, !49}
!94 = distinct !{!94, !49}
!95 = !{i64 0, i64 3, !46}
!96 = distinct !{!96, !49}
!97 = distinct !{!97, !49}
!98 = distinct !{!98, !49}
!99 = distinct !{!99, !49}
!100 = distinct !{!100, !49}
!101 = distinct !{!101, !49}
!102 = distinct !{!102, !49}
!103 = distinct !{!103, !49}
!104 = distinct !{!104, !49}
!105 = distinct !{!105, !49}
!106 = distinct !{!106, !49}
!107 = distinct !{!107, !49}
!108 = distinct !{!108, !49}
!109 = distinct !{!109, !49}
!110 = distinct !{!110, !49}
!111 = distinct !{!111, !49}
!112 = distinct !{!112, !49}
!113 = distinct !{!113, !49}
!114 = distinct !{!114, !49}
!115 = distinct !{!115, !49}
!116 = distinct !{!116, !49}
!117 = distinct !{!117, !49}
!118 = distinct !{!118, !49}
!119 = distinct !{!119, !49}
!120 = distinct !{!120, !49}
!121 = distinct !{!121, !49}
!122 = distinct !{!122, !49}
!123 = distinct !{!123, !49}
!124 = distinct !{!124, !49}
!125 = distinct !{!125, !49}
!126 = distinct !{!126, !49}
!127 = distinct !{!127, !49}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%class.S24 = type { [3 x i8] }

; 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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN5RtApi11formatBytesEm(ptr noundef nonnull align 8 dereferenceable(888), i64 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN5RtApi13convertBufferEPcS0_RNS_11ConvertInfoE(ptr noundef nonnull align 8 dereferenceable(888) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(80) %3) local_unnamed_addr #1 align 2 {
  %5 = alloca i64, align 8
  %6 = alloca i64, align 8
  %7 = alloca i64, align 8
  %8 = alloca i64, align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i64, align 8
  %14 = alloca i64, align 8
  %15 = alloca i32, align 4
  %16 = alloca i64, align 8
  %17 = alloca i64, align 8
  %18 = alloca i64, align 8
  %19 = alloca i64, align 8
  %20 = alloca i64, align 8
  %21 = alloca i64, align 8
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %25 = alloca i64, align 8
  %26 = getelementptr inbounds i8, ptr %0, i64 528
  %27 = load ptr, ptr %26, align 8, !tbaa !5
  %28 = icmp eq ptr %27, %1
  %29 = getelementptr inbounds i8, ptr %0, i64 504
  %30 = load i32, ptr %29, align 8
  %31 = icmp eq i32 %30, 2
  %or.cond = select i1 %28, i1 %31, i1 false
  br i1 %or.cond, label %32, label %47

32:                                               ; preds = %4
  %33 = getelementptr inbounds i8, ptr %3, i64 8
  %34 = load i32, ptr %33, align 8, !tbaa !32
  %35 = getelementptr inbounds i8, ptr %3, i64 4
  %36 = load i32, ptr %35, align 4, !tbaa !38
  %37 = icmp sgt i32 %34, %36
  br i1 %37, label %38, label %47

38:                                               ; preds = %32
  %39 = getelementptr inbounds i8, ptr %0, i64 548
  %40 = load i32, ptr %39, align 4, !tbaa !39
  %41 = mul i32 %40, %34
  %42 = getelementptr inbounds i8, ptr %3, i64 24
  %43 = load i64, ptr %42, align 8, !tbaa !40
  %44 = tail call noundef i32 @_ZN5RtApi11formatBytesEm(ptr noundef nonnull align 8 dereferenceable(888) %0, i64 noundef %43)
  %45 = mul i32 %41, %44
  %46 = zext i32 %45 to i64
  tail call void @llvm.memset.p0.i64(ptr align 1 %1, i8 0, i64 %46, i1 false)
  br label %47

47:                                               ; preds = %38, %32, %4
  %48 = getelementptr inbounds i8, ptr %3, i64 24
  %49 = load i64, ptr %48, align 8, !tbaa !40
  switch i64 %49, label %.loopexit [
    i64 32, label %50
    i64 16, label %248
    i64 8, label %446
    i64 4, label %665
    i64 2, label %873
    i64 1, label %1083
  ]

50:                                               ; preds = %47
  %51 = getelementptr inbounds i8, ptr %3, i64 16
  %52 = load i64, ptr %51, align 8, !tbaa !41
  switch i64 %52, label %.loopexit [
    i64 1, label %.preheader762
    i64 2, label %.preheader764
    i64 4, label %.preheader767
    i64 8, label %.preheader770
    i64 16, label %.preheader773
    i64 32, label %.preheader776
  ]

.preheader776:                                    ; preds = %50
  %53 = getelementptr inbounds i8, ptr %0, i64 548
  %54 = load i32, ptr %53, align 4, !tbaa !39
  %.not1110 = icmp eq i32 %54, 0
  br i1 %.not1110, label %.loopexit, label %.preheader775.lr.ph

.preheader775.lr.ph:                              ; preds = %.preheader776
  %55 = getelementptr inbounds i8, ptr %3, i64 32
  %56 = getelementptr inbounds i8, ptr %3, i64 56
  %57 = getelementptr inbounds i8, ptr %3, i64 4
  %58 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1316 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader775

.preheader773:                                    ; preds = %50
  %59 = getelementptr inbounds i8, ptr %0, i64 548
  %60 = load i32, ptr %59, align 4, !tbaa !39
  %.not1111 = icmp eq i32 %60, 0
  br i1 %.not1111, label %.loopexit, label %.preheader772.lr.ph

.preheader772.lr.ph:                              ; preds = %.preheader773
  %61 = getelementptr inbounds i8, ptr %3, i64 32
  %62 = getelementptr inbounds i8, ptr %3, i64 56
  %63 = getelementptr inbounds i8, ptr %3, i64 4
  %64 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1318 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader772

.preheader770:                                    ; preds = %50
  %65 = getelementptr inbounds i8, ptr %0, i64 548
  %66 = load i32, ptr %65, align 4, !tbaa !39
  %.not1112 = icmp eq i32 %66, 0
  br i1 %.not1112, label %.loopexit, label %.preheader769.lr.ph

.preheader769.lr.ph:                              ; preds = %.preheader770
  %67 = getelementptr inbounds i8, ptr %3, i64 32
  %68 = getelementptr inbounds i8, ptr %3, i64 56
  %69 = getelementptr inbounds i8, ptr %3, i64 4
  %70 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1320 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader769

.preheader767:                                    ; preds = %50
  %71 = getelementptr inbounds i8, ptr %0, i64 548
  %72 = load i32, ptr %71, align 4, !tbaa !39
  %.not1113 = icmp eq i32 %72, 0
  br i1 %.not1113, label %.loopexit, label %.preheader766.lr.ph

.preheader766.lr.ph:                              ; preds = %.preheader767
  %73 = getelementptr inbounds i8, ptr %3, i64 32
  %74 = getelementptr inbounds i8, ptr %3, i64 56
  %75 = getelementptr inbounds i8, ptr %3, i64 4
  %76 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1322 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader766

.preheader764:                                    ; preds = %50
  %77 = getelementptr inbounds i8, ptr %0, i64 548
  %78 = load i32, ptr %77, align 4, !tbaa !39
  %.not1114 = icmp eq i32 %78, 0
  br i1 %.not1114, label %.loopexit, label %.preheader763.lr.ph

.preheader763.lr.ph:                              ; preds = %.preheader764
  %79 = getelementptr inbounds i8, ptr %3, i64 32
  %80 = getelementptr inbounds i8, ptr %3, i64 56
  %81 = getelementptr inbounds i8, ptr %3, i64 4
  %82 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1324 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader763

.preheader762:                                    ; preds = %50
  %83 = getelementptr inbounds i8, ptr %0, i64 548
  %84 = load i32, ptr %83, align 4, !tbaa !39
  %.not1115 = icmp eq i32 %84, 0
  br i1 %.not1115, label %.loopexit, label %.preheader.lr.ph

.preheader.lr.ph:                                 ; preds = %.preheader762
  %85 = getelementptr inbounds i8, ptr %3, i64 32
  %86 = getelementptr inbounds i8, ptr %3, i64 56
  %87 = getelementptr inbounds i8, ptr %3, i64 4
  %88 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1326 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader

.preheader:                                       ; preds = %.preheader.lr.ph, %._crit_edge1077
  %89 = phi i32 [ %84, %.preheader.lr.ph ], [ %106, %._crit_edge1077 ]
  %90 = phi i32 [ %.pre1326, %.preheader.lr.ph ], [ %107, %._crit_edge1077 ]
  %.07361080 = phi i32 [ 0, %.preheader.lr.ph ], [ %114, %._crit_edge1077 ]
  %.07371079 = phi ptr [ %2, %.preheader.lr.ph ], [ %110, %._crit_edge1077 ]
  %.07381078 = phi ptr [ %1, %.preheader.lr.ph ], [ %113, %._crit_edge1077 ]
  %91 = icmp sgt i32 %90, 0
  br i1 %91, label %.lr.ph1076, label %._crit_edge1077

.lr.ph1076:                                       ; preds = %.preheader, %.lr.ph1076
  %indvars.iv1253 = phi i64 [ %indvars.iv.next1254, %.lr.ph1076 ], [ 0, %.preheader ]
  %92 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %indvars.iv1253) #7
  %93 = load i32, ptr %92, align 4, !tbaa !43
  %94 = sext i32 %93 to i64
  %95 = getelementptr inbounds i8, ptr %.07371079, i64 %94
  %96 = load i8, ptr %95, align 1, !tbaa !44
  %97 = sitofp i8 %96 to double
  %98 = fmul double %97, 7.812500e-03
  %99 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %indvars.iv1253) #7
  %100 = load i32, ptr %99, align 4, !tbaa !43
  %101 = sext i32 %100 to i64
  %102 = getelementptr inbounds double, ptr %.07381078, i64 %101
  store double %98, ptr %102, align 8, !tbaa !45
  %indvars.iv.next1254 = add nuw nsw i64 %indvars.iv1253, 1
  %103 = load i32, ptr %3, align 8, !tbaa !42
  %104 = sext i32 %103 to i64
  %105 = icmp slt i64 %indvars.iv.next1254, %104
  br i1 %105, label %.lr.ph1076, label %._crit_edge1077.loopexit, !llvm.loop !46

._crit_edge1077.loopexit:                         ; preds = %.lr.ph1076
  %.pre1327 = load i32, ptr %83, align 4, !tbaa !39
  br label %._crit_edge1077

._crit_edge1077:                                  ; preds = %._crit_edge1077.loopexit, %.preheader
  %106 = phi i32 [ %.pre1327, %._crit_edge1077.loopexit ], [ %89, %.preheader ]
  %107 = phi i32 [ %103, %._crit_edge1077.loopexit ], [ %90, %.preheader ]
  %108 = load i32, ptr %87, align 4, !tbaa !38
  %109 = sext i32 %108 to i64
  %110 = getelementptr inbounds i8, ptr %.07371079, i64 %109
  %111 = load i32, ptr %88, align 8, !tbaa !32
  %112 = sext i32 %111 to i64
  %113 = getelementptr inbounds double, ptr %.07381078, i64 %112
  %114 = add nuw i32 %.07361080, 1
  %115 = icmp ult i32 %114, %106
  br i1 %115, label %.preheader, label %.loopexit, !llvm.loop !48

.preheader763:                                    ; preds = %.preheader763.lr.ph, %._crit_edge1071
  %116 = phi i32 [ %78, %.preheader763.lr.ph ], [ %133, %._crit_edge1071 ]
  %117 = phi i32 [ %.pre1324, %.preheader763.lr.ph ], [ %134, %._crit_edge1071 ]
  %.07341074 = phi i32 [ 0, %.preheader763.lr.ph ], [ %141, %._crit_edge1071 ]
  %.07351073 = phi ptr [ %2, %.preheader763.lr.ph ], [ %137, %._crit_edge1071 ]
  %.17391072 = phi ptr [ %1, %.preheader763.lr.ph ], [ %140, %._crit_edge1071 ]
  %118 = icmp sgt i32 %117, 0
  br i1 %118, label %.lr.ph1070, label %._crit_edge1071

.lr.ph1070:                                       ; preds = %.preheader763, %.lr.ph1070
  %indvars.iv1250 = phi i64 [ %indvars.iv.next1251, %.lr.ph1070 ], [ 0, %.preheader763 ]
  %119 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %79, i64 noundef %indvars.iv1250) #7
  %120 = load i32, ptr %119, align 4, !tbaa !43
  %121 = sext i32 %120 to i64
  %122 = getelementptr inbounds i16, ptr %.07351073, i64 %121
  %123 = load i16, ptr %122, align 2, !tbaa !49
  %124 = sitofp i16 %123 to double
  %125 = fmul double %124, 0x3F00000000000000
  %126 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %indvars.iv1250) #7
  %127 = load i32, ptr %126, align 4, !tbaa !43
  %128 = sext i32 %127 to i64
  %129 = getelementptr inbounds double, ptr %.17391072, i64 %128
  store double %125, ptr %129, align 8, !tbaa !45
  %indvars.iv.next1251 = add nuw nsw i64 %indvars.iv1250, 1
  %130 = load i32, ptr %3, align 8, !tbaa !42
  %131 = sext i32 %130 to i64
  %132 = icmp slt i64 %indvars.iv.next1251, %131
  br i1 %132, label %.lr.ph1070, label %._crit_edge1071.loopexit, !llvm.loop !51

._crit_edge1071.loopexit:                         ; preds = %.lr.ph1070
  %.pre1325 = load i32, ptr %77, align 4, !tbaa !39
  br label %._crit_edge1071

._crit_edge1071:                                  ; preds = %._crit_edge1071.loopexit, %.preheader763
  %133 = phi i32 [ %.pre1325, %._crit_edge1071.loopexit ], [ %116, %.preheader763 ]
  %134 = phi i32 [ %130, %._crit_edge1071.loopexit ], [ %117, %.preheader763 ]
  %135 = load i32, ptr %81, align 4, !tbaa !38
  %136 = sext i32 %135 to i64
  %137 = getelementptr inbounds i16, ptr %.07351073, i64 %136
  %138 = load i32, ptr %82, align 8, !tbaa !32
  %139 = sext i32 %138 to i64
  %140 = getelementptr inbounds double, ptr %.17391072, i64 %139
  %141 = add nuw i32 %.07341074, 1
  %142 = icmp ult i32 %141, %133
  br i1 %142, label %.preheader763, label %.loopexit, !llvm.loop !52

.preheader766:                                    ; preds = %.preheader766.lr.ph, %._crit_edge1065
  %143 = phi i32 [ %72, %.preheader766.lr.ph ], [ %160, %._crit_edge1065 ]
  %144 = phi i32 [ %.pre1322, %.preheader766.lr.ph ], [ %161, %._crit_edge1065 ]
  %.07321068 = phi i32 [ 0, %.preheader766.lr.ph ], [ %168, %._crit_edge1065 ]
  %.07331067 = phi ptr [ %2, %.preheader766.lr.ph ], [ %164, %._crit_edge1065 ]
  %.27401066 = phi ptr [ %1, %.preheader766.lr.ph ], [ %167, %._crit_edge1065 ]
  %145 = icmp sgt i32 %144, 0
  br i1 %145, label %.lr.ph1064, label %._crit_edge1065

.lr.ph1064:                                       ; preds = %.preheader766, %.lr.ph1064
  %indvars.iv1247 = phi i64 [ %indvars.iv.next1248, %.lr.ph1064 ], [ 0, %.preheader766 ]
  %146 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %indvars.iv1247) #7
  %147 = load i32, ptr %146, align 4, !tbaa !43
  %148 = sext i32 %147 to i64
  %149 = getelementptr inbounds %class.S24, ptr %.07331067, i64 %148
  %150 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %149)
  %151 = sitofp i32 %150 to double
  %152 = fmul double %151, 0x3E80000000000000
  %153 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %74, i64 noundef %indvars.iv1247) #7
  %154 = load i32, ptr %153, align 4, !tbaa !43
  %155 = sext i32 %154 to i64
  %156 = getelementptr inbounds double, ptr %.27401066, i64 %155
  store double %152, ptr %156, align 8, !tbaa !45
  %indvars.iv.next1248 = add nuw nsw i64 %indvars.iv1247, 1
  %157 = load i32, ptr %3, align 8, !tbaa !42
  %158 = sext i32 %157 to i64
  %159 = icmp slt i64 %indvars.iv.next1248, %158
  br i1 %159, label %.lr.ph1064, label %._crit_edge1065.loopexit, !llvm.loop !53

._crit_edge1065.loopexit:                         ; preds = %.lr.ph1064
  %.pre1323 = load i32, ptr %71, align 4, !tbaa !39
  br label %._crit_edge1065

._crit_edge1065:                                  ; preds = %._crit_edge1065.loopexit, %.preheader766
  %160 = phi i32 [ %.pre1323, %._crit_edge1065.loopexit ], [ %143, %.preheader766 ]
  %161 = phi i32 [ %157, %._crit_edge1065.loopexit ], [ %144, %.preheader766 ]
  %162 = load i32, ptr %75, align 4, !tbaa !38
  %163 = sext i32 %162 to i64
  %164 = getelementptr inbounds %class.S24, ptr %.07331067, i64 %163
  %165 = load i32, ptr %76, align 8, !tbaa !32
  %166 = sext i32 %165 to i64
  %167 = getelementptr inbounds double, ptr %.27401066, i64 %166
  %168 = add nuw i32 %.07321068, 1
  %169 = icmp ult i32 %168, %160
  br i1 %169, label %.preheader766, label %.loopexit, !llvm.loop !54

.preheader769:                                    ; preds = %.preheader769.lr.ph, %._crit_edge1059
  %170 = phi i32 [ %66, %.preheader769.lr.ph ], [ %187, %._crit_edge1059 ]
  %171 = phi i32 [ %.pre1320, %.preheader769.lr.ph ], [ %188, %._crit_edge1059 ]
  %.07301062 = phi i32 [ 0, %.preheader769.lr.ph ], [ %195, %._crit_edge1059 ]
  %.07311061 = phi ptr [ %2, %.preheader769.lr.ph ], [ %191, %._crit_edge1059 ]
  %.37411060 = phi ptr [ %1, %.preheader769.lr.ph ], [ %194, %._crit_edge1059 ]
  %172 = icmp sgt i32 %171, 0
  br i1 %172, label %.lr.ph1058, label %._crit_edge1059

.lr.ph1058:                                       ; preds = %.preheader769, %.lr.ph1058
  %indvars.iv1244 = phi i64 [ %indvars.iv.next1245, %.lr.ph1058 ], [ 0, %.preheader769 ]
  %173 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv1244) #7
  %174 = load i32, ptr %173, align 4, !tbaa !43
  %175 = sext i32 %174 to i64
  %176 = getelementptr inbounds i32, ptr %.07311061, i64 %175
  %177 = load i32, ptr %176, align 4, !tbaa !43
  %178 = sitofp i32 %177 to double
  %179 = fmul double %178, 0x3E00000000000000
  %180 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %68, i64 noundef %indvars.iv1244) #7
  %181 = load i32, ptr %180, align 4, !tbaa !43
  %182 = sext i32 %181 to i64
  %183 = getelementptr inbounds double, ptr %.37411060, i64 %182
  store double %179, ptr %183, align 8, !tbaa !45
  %indvars.iv.next1245 = add nuw nsw i64 %indvars.iv1244, 1
  %184 = load i32, ptr %3, align 8, !tbaa !42
  %185 = sext i32 %184 to i64
  %186 = icmp slt i64 %indvars.iv.next1245, %185
  br i1 %186, label %.lr.ph1058, label %._crit_edge1059.loopexit, !llvm.loop !55

._crit_edge1059.loopexit:                         ; preds = %.lr.ph1058
  %.pre1321 = load i32, ptr %65, align 4, !tbaa !39
  br label %._crit_edge1059

._crit_edge1059:                                  ; preds = %._crit_edge1059.loopexit, %.preheader769
  %187 = phi i32 [ %.pre1321, %._crit_edge1059.loopexit ], [ %170, %.preheader769 ]
  %188 = phi i32 [ %184, %._crit_edge1059.loopexit ], [ %171, %.preheader769 ]
  %189 = load i32, ptr %69, align 4, !tbaa !38
  %190 = sext i32 %189 to i64
  %191 = getelementptr inbounds i32, ptr %.07311061, i64 %190
  %192 = load i32, ptr %70, align 8, !tbaa !32
  %193 = sext i32 %192 to i64
  %194 = getelementptr inbounds double, ptr %.37411060, i64 %193
  %195 = add nuw i32 %.07301062, 1
  %196 = icmp ult i32 %195, %187
  br i1 %196, label %.preheader769, label %.loopexit, !llvm.loop !56

.preheader772:                                    ; preds = %.preheader772.lr.ph, %._crit_edge1053
  %197 = phi i32 [ %60, %.preheader772.lr.ph ], [ %213, %._crit_edge1053 ]
  %198 = phi i32 [ %.pre1318, %.preheader772.lr.ph ], [ %214, %._crit_edge1053 ]
  %.07281056 = phi i32 [ 0, %.preheader772.lr.ph ], [ %221, %._crit_edge1053 ]
  %.07291055 = phi ptr [ %2, %.preheader772.lr.ph ], [ %217, %._crit_edge1053 ]
  %.47421054 = phi ptr [ %1, %.preheader772.lr.ph ], [ %220, %._crit_edge1053 ]
  %199 = icmp sgt i32 %198, 0
  br i1 %199, label %.lr.ph1052, label %._crit_edge1053

.lr.ph1052:                                       ; preds = %.preheader772, %.lr.ph1052
  %indvars.iv1241 = phi i64 [ %indvars.iv.next1242, %.lr.ph1052 ], [ 0, %.preheader772 ]
  %200 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %indvars.iv1241) #7
  %201 = load i32, ptr %200, align 4, !tbaa !43
  %202 = sext i32 %201 to i64
  %203 = getelementptr inbounds float, ptr %.07291055, i64 %202
  %204 = load float, ptr %203, align 4, !tbaa !57
  %205 = fpext float %204 to double
  %206 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %indvars.iv1241) #7
  %207 = load i32, ptr %206, align 4, !tbaa !43
  %208 = sext i32 %207 to i64
  %209 = getelementptr inbounds double, ptr %.47421054, i64 %208
  store double %205, ptr %209, align 8, !tbaa !45
  %indvars.iv.next1242 = add nuw nsw i64 %indvars.iv1241, 1
  %210 = load i32, ptr %3, align 8, !tbaa !42
  %211 = sext i32 %210 to i64
  %212 = icmp slt i64 %indvars.iv.next1242, %211
  br i1 %212, label %.lr.ph1052, label %._crit_edge1053.loopexit, !llvm.loop !59

._crit_edge1053.loopexit:                         ; preds = %.lr.ph1052
  %.pre1319 = load i32, ptr %59, align 4, !tbaa !39
  br label %._crit_edge1053

._crit_edge1053:                                  ; preds = %._crit_edge1053.loopexit, %.preheader772
  %213 = phi i32 [ %.pre1319, %._crit_edge1053.loopexit ], [ %197, %.preheader772 ]
  %214 = phi i32 [ %210, %._crit_edge1053.loopexit ], [ %198, %.preheader772 ]
  %215 = load i32, ptr %63, align 4, !tbaa !38
  %216 = sext i32 %215 to i64
  %217 = getelementptr inbounds float, ptr %.07291055, i64 %216
  %218 = load i32, ptr %64, align 8, !tbaa !32
  %219 = sext i32 %218 to i64
  %220 = getelementptr inbounds double, ptr %.47421054, i64 %219
  %221 = add nuw i32 %.07281056, 1
  %222 = icmp ult i32 %221, %213
  br i1 %222, label %.preheader772, label %.loopexit, !llvm.loop !60

.preheader775:                                    ; preds = %.preheader775.lr.ph, %._crit_edge1047
  %223 = phi i32 [ %54, %.preheader775.lr.ph ], [ %238, %._crit_edge1047 ]
  %224 = phi i32 [ %.pre1316, %.preheader775.lr.ph ], [ %239, %._crit_edge1047 ]
  %.07261050 = phi i32 [ 0, %.preheader775.lr.ph ], [ %246, %._crit_edge1047 ]
  %.07271049 = phi ptr [ %2, %.preheader775.lr.ph ], [ %242, %._crit_edge1047 ]
  %.57431048 = phi ptr [ %1, %.preheader775.lr.ph ], [ %245, %._crit_edge1047 ]
  %225 = icmp sgt i32 %224, 0
  br i1 %225, label %.lr.ph1046, label %._crit_edge1047

.lr.ph1046:                                       ; preds = %.preheader775, %.lr.ph1046
  %indvars.iv1238 = phi i64 [ %indvars.iv.next1239, %.lr.ph1046 ], [ 0, %.preheader775 ]
  %226 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %indvars.iv1238) #7
  %227 = load i32, ptr %226, align 4, !tbaa !43
  %228 = sext i32 %227 to i64
  %229 = getelementptr inbounds double, ptr %.07271049, i64 %228
  %230 = load double, ptr %229, align 8, !tbaa !45
  %231 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %56, i64 noundef %indvars.iv1238) #7
  %232 = load i32, ptr %231, align 4, !tbaa !43
  %233 = sext i32 %232 to i64
  %234 = getelementptr inbounds double, ptr %.57431048, i64 %233
  store double %230, ptr %234, align 8, !tbaa !45
  %indvars.iv.next1239 = add nuw nsw i64 %indvars.iv1238, 1
  %235 = load i32, ptr %3, align 8, !tbaa !42
  %236 = sext i32 %235 to i64
  %237 = icmp slt i64 %indvars.iv.next1239, %236
  br i1 %237, label %.lr.ph1046, label %._crit_edge1047.loopexit, !llvm.loop !61

._crit_edge1047.loopexit:                         ; preds = %.lr.ph1046
  %.pre1317 = load i32, ptr %53, align 4, !tbaa !39
  br label %._crit_edge1047

._crit_edge1047:                                  ; preds = %._crit_edge1047.loopexit, %.preheader775
  %238 = phi i32 [ %.pre1317, %._crit_edge1047.loopexit ], [ %223, %.preheader775 ]
  %239 = phi i32 [ %235, %._crit_edge1047.loopexit ], [ %224, %.preheader775 ]
  %240 = load i32, ptr %57, align 4, !tbaa !38
  %241 = sext i32 %240 to i64
  %242 = getelementptr inbounds double, ptr %.07271049, i64 %241
  %243 = load i32, ptr %58, align 8, !tbaa !32
  %244 = sext i32 %243 to i64
  %245 = getelementptr inbounds double, ptr %.57431048, i64 %244
  %246 = add nuw i32 %.07261050, 1
  %247 = icmp ult i32 %246, %238
  br i1 %247, label %.preheader775, label %.loopexit, !llvm.loop !62

248:                                              ; preds = %47
  %249 = getelementptr inbounds i8, ptr %3, i64 16
  %250 = load i64, ptr %249, align 8, !tbaa !41
  switch i64 %250, label %.loopexit [
    i64 1, label %.preheader779
    i64 2, label %.preheader782
    i64 4, label %.preheader785
    i64 8, label %.preheader788
    i64 16, label %.preheader791
    i64 32, label %.preheader794
  ]

.preheader794:                                    ; preds = %248
  %251 = getelementptr inbounds i8, ptr %0, i64 548
  %252 = load i32, ptr %251, align 4, !tbaa !39
  %.not1104 = icmp eq i32 %252, 0
  br i1 %.not1104, label %.loopexit, label %.preheader793.lr.ph

.preheader793.lr.ph:                              ; preds = %.preheader794
  %253 = getelementptr inbounds i8, ptr %3, i64 32
  %254 = getelementptr inbounds i8, ptr %3, i64 56
  %255 = getelementptr inbounds i8, ptr %3, i64 4
  %256 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1304 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader793

.preheader791:                                    ; preds = %248
  %257 = getelementptr inbounds i8, ptr %0, i64 548
  %258 = load i32, ptr %257, align 4, !tbaa !39
  %.not1105 = icmp eq i32 %258, 0
  br i1 %.not1105, label %.loopexit, label %.preheader790.lr.ph

.preheader790.lr.ph:                              ; preds = %.preheader791
  %259 = getelementptr inbounds i8, ptr %3, i64 32
  %260 = getelementptr inbounds i8, ptr %3, i64 56
  %261 = getelementptr inbounds i8, ptr %3, i64 4
  %262 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1306 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader790

.preheader788:                                    ; preds = %248
  %263 = getelementptr inbounds i8, ptr %0, i64 548
  %264 = load i32, ptr %263, align 4, !tbaa !39
  %.not1106 = icmp eq i32 %264, 0
  br i1 %.not1106, label %.loopexit, label %.preheader787.lr.ph

.preheader787.lr.ph:                              ; preds = %.preheader788
  %265 = getelementptr inbounds i8, ptr %3, i64 32
  %266 = getelementptr inbounds i8, ptr %3, i64 56
  %267 = getelementptr inbounds i8, ptr %3, i64 4
  %268 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1308 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader787

.preheader785:                                    ; preds = %248
  %269 = getelementptr inbounds i8, ptr %0, i64 548
  %270 = load i32, ptr %269, align 4, !tbaa !39
  %.not1107 = icmp eq i32 %270, 0
  br i1 %.not1107, label %.loopexit, label %.preheader784.lr.ph

.preheader784.lr.ph:                              ; preds = %.preheader785
  %271 = getelementptr inbounds i8, ptr %3, i64 32
  %272 = getelementptr inbounds i8, ptr %3, i64 56
  %273 = getelementptr inbounds i8, ptr %3, i64 4
  %274 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1310 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader784

.preheader782:                                    ; preds = %248
  %275 = getelementptr inbounds i8, ptr %0, i64 548
  %276 = load i32, ptr %275, align 4, !tbaa !39
  %.not1108 = icmp eq i32 %276, 0
  br i1 %.not1108, label %.loopexit, label %.preheader781.lr.ph

.preheader781.lr.ph:                              ; preds = %.preheader782
  %277 = getelementptr inbounds i8, ptr %3, i64 32
  %278 = getelementptr inbounds i8, ptr %3, i64 56
  %279 = getelementptr inbounds i8, ptr %3, i64 4
  %280 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1312 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader781

.preheader779:                                    ; preds = %248
  %281 = getelementptr inbounds i8, ptr %0, i64 548
  %282 = load i32, ptr %281, align 4, !tbaa !39
  %.not1109 = icmp eq i32 %282, 0
  br i1 %.not1109, label %.loopexit, label %.preheader778.lr.ph

.preheader778.lr.ph:                              ; preds = %.preheader779
  %283 = getelementptr inbounds i8, ptr %3, i64 32
  %284 = getelementptr inbounds i8, ptr %3, i64 56
  %285 = getelementptr inbounds i8, ptr %3, i64 4
  %286 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1314 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader778

.preheader778:                                    ; preds = %.preheader778.lr.ph, %._crit_edge1041
  %287 = phi i32 [ %282, %.preheader778.lr.ph ], [ %304, %._crit_edge1041 ]
  %288 = phi i32 [ %.pre1314, %.preheader778.lr.ph ], [ %305, %._crit_edge1041 ]
  %.07181044 = phi i32 [ 0, %.preheader778.lr.ph ], [ %312, %._crit_edge1041 ]
  %.07191043 = phi ptr [ %2, %.preheader778.lr.ph ], [ %308, %._crit_edge1041 ]
  %.07201042 = phi ptr [ %1, %.preheader778.lr.ph ], [ %311, %._crit_edge1041 ]
  %289 = icmp sgt i32 %288, 0
  br i1 %289, label %.lr.ph1040, label %._crit_edge1041

.lr.ph1040:                                       ; preds = %.preheader778, %.lr.ph1040
  %indvars.iv1235 = phi i64 [ %indvars.iv.next1236, %.lr.ph1040 ], [ 0, %.preheader778 ]
  %290 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %283, i64 noundef %indvars.iv1235) #7
  %291 = load i32, ptr %290, align 4, !tbaa !43
  %292 = sext i32 %291 to i64
  %293 = getelementptr inbounds i8, ptr %.07191043, i64 %292
  %294 = load i8, ptr %293, align 1, !tbaa !44
  %295 = sitofp i8 %294 to float
  %296 = fmul float %295, 7.812500e-03
  %297 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %284, i64 noundef %indvars.iv1235) #7
  %298 = load i32, ptr %297, align 4, !tbaa !43
  %299 = sext i32 %298 to i64
  %300 = getelementptr inbounds float, ptr %.07201042, i64 %299
  store float %296, ptr %300, align 4, !tbaa !57
  %indvars.iv.next1236 = add nuw nsw i64 %indvars.iv1235, 1
  %301 = load i32, ptr %3, align 8, !tbaa !42
  %302 = sext i32 %301 to i64
  %303 = icmp slt i64 %indvars.iv.next1236, %302
  br i1 %303, label %.lr.ph1040, label %._crit_edge1041.loopexit, !llvm.loop !63

._crit_edge1041.loopexit:                         ; preds = %.lr.ph1040
  %.pre1315 = load i32, ptr %281, align 4, !tbaa !39
  br label %._crit_edge1041

._crit_edge1041:                                  ; preds = %._crit_edge1041.loopexit, %.preheader778
  %304 = phi i32 [ %.pre1315, %._crit_edge1041.loopexit ], [ %287, %.preheader778 ]
  %305 = phi i32 [ %301, %._crit_edge1041.loopexit ], [ %288, %.preheader778 ]
  %306 = load i32, ptr %285, align 4, !tbaa !38
  %307 = sext i32 %306 to i64
  %308 = getelementptr inbounds i8, ptr %.07191043, i64 %307
  %309 = load i32, ptr %286, align 8, !tbaa !32
  %310 = sext i32 %309 to i64
  %311 = getelementptr inbounds float, ptr %.07201042, i64 %310
  %312 = add nuw i32 %.07181044, 1
  %313 = icmp ult i32 %312, %304
  br i1 %313, label %.preheader778, label %.loopexit, !llvm.loop !64

.preheader781:                                    ; preds = %.preheader781.lr.ph, %._crit_edge1035
  %314 = phi i32 [ %276, %.preheader781.lr.ph ], [ %331, %._crit_edge1035 ]
  %315 = phi i32 [ %.pre1312, %.preheader781.lr.ph ], [ %332, %._crit_edge1035 ]
  %.07161038 = phi i32 [ 0, %.preheader781.lr.ph ], [ %339, %._crit_edge1035 ]
  %.07171037 = phi ptr [ %2, %.preheader781.lr.ph ], [ %335, %._crit_edge1035 ]
  %.17211036 = phi ptr [ %1, %.preheader781.lr.ph ], [ %338, %._crit_edge1035 ]
  %316 = icmp sgt i32 %315, 0
  br i1 %316, label %.lr.ph1034, label %._crit_edge1035

.lr.ph1034:                                       ; preds = %.preheader781, %.lr.ph1034
  %indvars.iv1232 = phi i64 [ %indvars.iv.next1233, %.lr.ph1034 ], [ 0, %.preheader781 ]
  %317 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %277, i64 noundef %indvars.iv1232) #7
  %318 = load i32, ptr %317, align 4, !tbaa !43
  %319 = sext i32 %318 to i64
  %320 = getelementptr inbounds i16, ptr %.07171037, i64 %319
  %321 = load i16, ptr %320, align 2, !tbaa !49
  %322 = sitofp i16 %321 to float
  %323 = fmul float %322, 0x3F00000000000000
  %324 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %278, i64 noundef %indvars.iv1232) #7
  %325 = load i32, ptr %324, align 4, !tbaa !43
  %326 = sext i32 %325 to i64
  %327 = getelementptr inbounds float, ptr %.17211036, i64 %326
  store float %323, ptr %327, align 4, !tbaa !57
  %indvars.iv.next1233 = add nuw nsw i64 %indvars.iv1232, 1
  %328 = load i32, ptr %3, align 8, !tbaa !42
  %329 = sext i32 %328 to i64
  %330 = icmp slt i64 %indvars.iv.next1233, %329
  br i1 %330, label %.lr.ph1034, label %._crit_edge1035.loopexit, !llvm.loop !65

._crit_edge1035.loopexit:                         ; preds = %.lr.ph1034
  %.pre1313 = load i32, ptr %275, align 4, !tbaa !39
  br label %._crit_edge1035

._crit_edge1035:                                  ; preds = %._crit_edge1035.loopexit, %.preheader781
  %331 = phi i32 [ %.pre1313, %._crit_edge1035.loopexit ], [ %314, %.preheader781 ]
  %332 = phi i32 [ %328, %._crit_edge1035.loopexit ], [ %315, %.preheader781 ]
  %333 = load i32, ptr %279, align 4, !tbaa !38
  %334 = sext i32 %333 to i64
  %335 = getelementptr inbounds i16, ptr %.07171037, i64 %334
  %336 = load i32, ptr %280, align 8, !tbaa !32
  %337 = sext i32 %336 to i64
  %338 = getelementptr inbounds float, ptr %.17211036, i64 %337
  %339 = add nuw i32 %.07161038, 1
  %340 = icmp ult i32 %339, %331
  br i1 %340, label %.preheader781, label %.loopexit, !llvm.loop !66

.preheader784:                                    ; preds = %.preheader784.lr.ph, %._crit_edge1029
  %341 = phi i32 [ %270, %.preheader784.lr.ph ], [ %358, %._crit_edge1029 ]
  %342 = phi i32 [ %.pre1310, %.preheader784.lr.ph ], [ %359, %._crit_edge1029 ]
  %.07141032 = phi i32 [ 0, %.preheader784.lr.ph ], [ %366, %._crit_edge1029 ]
  %.07151031 = phi ptr [ %2, %.preheader784.lr.ph ], [ %362, %._crit_edge1029 ]
  %.27221030 = phi ptr [ %1, %.preheader784.lr.ph ], [ %365, %._crit_edge1029 ]
  %343 = icmp sgt i32 %342, 0
  br i1 %343, label %.lr.ph1028, label %._crit_edge1029

.lr.ph1028:                                       ; preds = %.preheader784, %.lr.ph1028
  %indvars.iv1229 = phi i64 [ %indvars.iv.next1230, %.lr.ph1028 ], [ 0, %.preheader784 ]
  %344 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %271, i64 noundef %indvars.iv1229) #7
  %345 = load i32, ptr %344, align 4, !tbaa !43
  %346 = sext i32 %345 to i64
  %347 = getelementptr inbounds %class.S24, ptr %.07151031, i64 %346
  %348 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %347)
  %349 = sitofp i32 %348 to float
  %350 = fmul float %349, 0x3E80000000000000
  %351 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %272, i64 noundef %indvars.iv1229) #7
  %352 = load i32, ptr %351, align 4, !tbaa !43
  %353 = sext i32 %352 to i64
  %354 = getelementptr inbounds float, ptr %.27221030, i64 %353
  store float %350, ptr %354, align 4, !tbaa !57
  %indvars.iv.next1230 = add nuw nsw i64 %indvars.iv1229, 1
  %355 = load i32, ptr %3, align 8, !tbaa !42
  %356 = sext i32 %355 to i64
  %357 = icmp slt i64 %indvars.iv.next1230, %356
  br i1 %357, label %.lr.ph1028, label %._crit_edge1029.loopexit, !llvm.loop !67

._crit_edge1029.loopexit:                         ; preds = %.lr.ph1028
  %.pre1311 = load i32, ptr %269, align 4, !tbaa !39
  br label %._crit_edge1029

._crit_edge1029:                                  ; preds = %._crit_edge1029.loopexit, %.preheader784
  %358 = phi i32 [ %.pre1311, %._crit_edge1029.loopexit ], [ %341, %.preheader784 ]
  %359 = phi i32 [ %355, %._crit_edge1029.loopexit ], [ %342, %.preheader784 ]
  %360 = load i32, ptr %273, align 4, !tbaa !38
  %361 = sext i32 %360 to i64
  %362 = getelementptr inbounds %class.S24, ptr %.07151031, i64 %361
  %363 = load i32, ptr %274, align 8, !tbaa !32
  %364 = sext i32 %363 to i64
  %365 = getelementptr inbounds float, ptr %.27221030, i64 %364
  %366 = add nuw i32 %.07141032, 1
  %367 = icmp ult i32 %366, %358
  br i1 %367, label %.preheader784, label %.loopexit, !llvm.loop !68

.preheader787:                                    ; preds = %.preheader787.lr.ph, %._crit_edge1023
  %368 = phi i32 [ %264, %.preheader787.lr.ph ], [ %385, %._crit_edge1023 ]
  %369 = phi i32 [ %.pre1308, %.preheader787.lr.ph ], [ %386, %._crit_edge1023 ]
  %.07121026 = phi i32 [ 0, %.preheader787.lr.ph ], [ %393, %._crit_edge1023 ]
  %.07131025 = phi ptr [ %2, %.preheader787.lr.ph ], [ %389, %._crit_edge1023 ]
  %.37231024 = phi ptr [ %1, %.preheader787.lr.ph ], [ %392, %._crit_edge1023 ]
  %370 = icmp sgt i32 %369, 0
  br i1 %370, label %.lr.ph1022, label %._crit_edge1023

.lr.ph1022:                                       ; preds = %.preheader787, %.lr.ph1022
  %indvars.iv1226 = phi i64 [ %indvars.iv.next1227, %.lr.ph1022 ], [ 0, %.preheader787 ]
  %371 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %265, i64 noundef %indvars.iv1226) #7
  %372 = load i32, ptr %371, align 4, !tbaa !43
  %373 = sext i32 %372 to i64
  %374 = getelementptr inbounds i32, ptr %.07131025, i64 %373
  %375 = load i32, ptr %374, align 4, !tbaa !43
  %376 = sitofp i32 %375 to float
  %377 = fmul float %376, 0x3E00000000000000
  %378 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %266, i64 noundef %indvars.iv1226) #7
  %379 = load i32, ptr %378, align 4, !tbaa !43
  %380 = sext i32 %379 to i64
  %381 = getelementptr inbounds float, ptr %.37231024, i64 %380
  store float %377, ptr %381, align 4, !tbaa !57
  %indvars.iv.next1227 = add nuw nsw i64 %indvars.iv1226, 1
  %382 = load i32, ptr %3, align 8, !tbaa !42
  %383 = sext i32 %382 to i64
  %384 = icmp slt i64 %indvars.iv.next1227, %383
  br i1 %384, label %.lr.ph1022, label %._crit_edge1023.loopexit, !llvm.loop !69

._crit_edge1023.loopexit:                         ; preds = %.lr.ph1022
  %.pre1309 = load i32, ptr %263, align 4, !tbaa !39
  br label %._crit_edge1023

._crit_edge1023:                                  ; preds = %._crit_edge1023.loopexit, %.preheader787
  %385 = phi i32 [ %.pre1309, %._crit_edge1023.loopexit ], [ %368, %.preheader787 ]
  %386 = phi i32 [ %382, %._crit_edge1023.loopexit ], [ %369, %.preheader787 ]
  %387 = load i32, ptr %267, align 4, !tbaa !38
  %388 = sext i32 %387 to i64
  %389 = getelementptr inbounds i32, ptr %.07131025, i64 %388
  %390 = load i32, ptr %268, align 8, !tbaa !32
  %391 = sext i32 %390 to i64
  %392 = getelementptr inbounds float, ptr %.37231024, i64 %391
  %393 = add nuw i32 %.07121026, 1
  %394 = icmp ult i32 %393, %385
  br i1 %394, label %.preheader787, label %.loopexit, !llvm.loop !70

.preheader790:                                    ; preds = %.preheader790.lr.ph, %._crit_edge1017
  %395 = phi i32 [ %258, %.preheader790.lr.ph ], [ %410, %._crit_edge1017 ]
  %396 = phi i32 [ %.pre1306, %.preheader790.lr.ph ], [ %411, %._crit_edge1017 ]
  %.07101020 = phi i32 [ 0, %.preheader790.lr.ph ], [ %418, %._crit_edge1017 ]
  %.07111019 = phi ptr [ %2, %.preheader790.lr.ph ], [ %414, %._crit_edge1017 ]
  %.47241018 = phi ptr [ %1, %.preheader790.lr.ph ], [ %417, %._crit_edge1017 ]
  %397 = icmp sgt i32 %396, 0
  br i1 %397, label %.lr.ph1016, label %._crit_edge1017

.lr.ph1016:                                       ; preds = %.preheader790, %.lr.ph1016
  %indvars.iv1223 = phi i64 [ %indvars.iv.next1224, %.lr.ph1016 ], [ 0, %.preheader790 ]
  %398 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %259, i64 noundef %indvars.iv1223) #7
  %399 = load i32, ptr %398, align 4, !tbaa !43
  %400 = sext i32 %399 to i64
  %401 = getelementptr inbounds float, ptr %.07111019, i64 %400
  %402 = load float, ptr %401, align 4, !tbaa !57
  %403 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %260, i64 noundef %indvars.iv1223) #7
  %404 = load i32, ptr %403, align 4, !tbaa !43
  %405 = sext i32 %404 to i64
  %406 = getelementptr inbounds float, ptr %.47241018, i64 %405
  store float %402, ptr %406, align 4, !tbaa !57
  %indvars.iv.next1224 = add nuw nsw i64 %indvars.iv1223, 1
  %407 = load i32, ptr %3, align 8, !tbaa !42
  %408 = sext i32 %407 to i64
  %409 = icmp slt i64 %indvars.iv.next1224, %408
  br i1 %409, label %.lr.ph1016, label %._crit_edge1017.loopexit, !llvm.loop !71

._crit_edge1017.loopexit:                         ; preds = %.lr.ph1016
  %.pre1307 = load i32, ptr %257, align 4, !tbaa !39
  br label %._crit_edge1017

._crit_edge1017:                                  ; preds = %._crit_edge1017.loopexit, %.preheader790
  %410 = phi i32 [ %.pre1307, %._crit_edge1017.loopexit ], [ %395, %.preheader790 ]
  %411 = phi i32 [ %407, %._crit_edge1017.loopexit ], [ %396, %.preheader790 ]
  %412 = load i32, ptr %261, align 4, !tbaa !38
  %413 = sext i32 %412 to i64
  %414 = getelementptr inbounds float, ptr %.07111019, i64 %413
  %415 = load i32, ptr %262, align 8, !tbaa !32
  %416 = sext i32 %415 to i64
  %417 = getelementptr inbounds float, ptr %.47241018, i64 %416
  %418 = add nuw i32 %.07101020, 1
  %419 = icmp ult i32 %418, %410
  br i1 %419, label %.preheader790, label %.loopexit, !llvm.loop !72

.preheader793:                                    ; preds = %.preheader793.lr.ph, %._crit_edge1011
  %420 = phi i32 [ %252, %.preheader793.lr.ph ], [ %436, %._crit_edge1011 ]
  %421 = phi i32 [ %.pre1304, %.preheader793.lr.ph ], [ %437, %._crit_edge1011 ]
  %.07081014 = phi i32 [ 0, %.preheader793.lr.ph ], [ %444, %._crit_edge1011 ]
  %.07091013 = phi ptr [ %2, %.preheader793.lr.ph ], [ %440, %._crit_edge1011 ]
  %.57251012 = phi ptr [ %1, %.preheader793.lr.ph ], [ %443, %._crit_edge1011 ]
  %422 = icmp sgt i32 %421, 0
  br i1 %422, label %.lr.ph1010, label %._crit_edge1011

.lr.ph1010:                                       ; preds = %.preheader793, %.lr.ph1010
  %indvars.iv1220 = phi i64 [ %indvars.iv.next1221, %.lr.ph1010 ], [ 0, %.preheader793 ]
  %423 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %253, i64 noundef %indvars.iv1220) #7
  %424 = load i32, ptr %423, align 4, !tbaa !43
  %425 = sext i32 %424 to i64
  %426 = getelementptr inbounds double, ptr %.07091013, i64 %425
  %427 = load double, ptr %426, align 8, !tbaa !45
  %428 = fptrunc double %427 to float
  %429 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %254, i64 noundef %indvars.iv1220) #7
  %430 = load i32, ptr %429, align 4, !tbaa !43
  %431 = sext i32 %430 to i64
  %432 = getelementptr inbounds float, ptr %.57251012, i64 %431
  store float %428, ptr %432, align 4, !tbaa !57
  %indvars.iv.next1221 = add nuw nsw i64 %indvars.iv1220, 1
  %433 = load i32, ptr %3, align 8, !tbaa !42
  %434 = sext i32 %433 to i64
  %435 = icmp slt i64 %indvars.iv.next1221, %434
  br i1 %435, label %.lr.ph1010, label %._crit_edge1011.loopexit, !llvm.loop !73

._crit_edge1011.loopexit:                         ; preds = %.lr.ph1010
  %.pre1305 = load i32, ptr %251, align 4, !tbaa !39
  br label %._crit_edge1011

._crit_edge1011:                                  ; preds = %._crit_edge1011.loopexit, %.preheader793
  %436 = phi i32 [ %.pre1305, %._crit_edge1011.loopexit ], [ %420, %.preheader793 ]
  %437 = phi i32 [ %433, %._crit_edge1011.loopexit ], [ %421, %.preheader793 ]
  %438 = load i32, ptr %255, align 4, !tbaa !38
  %439 = sext i32 %438 to i64
  %440 = getelementptr inbounds double, ptr %.07091013, i64 %439
  %441 = load i32, ptr %256, align 8, !tbaa !32
  %442 = sext i32 %441 to i64
  %443 = getelementptr inbounds float, ptr %.57251012, i64 %442
  %444 = add nuw i32 %.07081014, 1
  %445 = icmp ult i32 %444, %436
  br i1 %445, label %.preheader793, label %.loopexit, !llvm.loop !74

446:                                              ; preds = %47
  %447 = getelementptr inbounds i8, ptr %3, i64 16
  %448 = load i64, ptr %447, align 8, !tbaa !41
  switch i64 %448, label %.loopexit [
    i64 1, label %.preheader797
    i64 2, label %.preheader800
    i64 4, label %.preheader803
    i64 8, label %.preheader806
    i64 16, label %.preheader809
    i64 32, label %.preheader812
  ]

.preheader812:                                    ; preds = %446
  %449 = getelementptr inbounds i8, ptr %0, i64 548
  %450 = load i32, ptr %449, align 4, !tbaa !39
  %.not1098 = icmp eq i32 %450, 0
  br i1 %.not1098, label %.loopexit, label %.preheader811.lr.ph

.preheader811.lr.ph:                              ; preds = %.preheader812
  %451 = getelementptr inbounds i8, ptr %3, i64 32
  %452 = getelementptr inbounds i8, ptr %3, i64 56
  %453 = getelementptr inbounds i8, ptr %3, i64 4
  %454 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1292 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader811

.preheader809:                                    ; preds = %446
  %455 = getelementptr inbounds i8, ptr %0, i64 548
  %456 = load i32, ptr %455, align 4, !tbaa !39
  %.not1099 = icmp eq i32 %456, 0
  br i1 %.not1099, label %.loopexit, label %.preheader808.lr.ph

.preheader808.lr.ph:                              ; preds = %.preheader809
  %457 = getelementptr inbounds i8, ptr %3, i64 32
  %458 = getelementptr inbounds i8, ptr %3, i64 56
  %459 = getelementptr inbounds i8, ptr %3, i64 4
  %460 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1294 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader808

.preheader806:                                    ; preds = %446
  %461 = getelementptr inbounds i8, ptr %0, i64 548
  %462 = load i32, ptr %461, align 4, !tbaa !39
  %.not1100 = icmp eq i32 %462, 0
  br i1 %.not1100, label %.loopexit, label %.preheader805.lr.ph

.preheader805.lr.ph:                              ; preds = %.preheader806
  %463 = getelementptr inbounds i8, ptr %3, i64 32
  %464 = getelementptr inbounds i8, ptr %3, i64 56
  %465 = getelementptr inbounds i8, ptr %3, i64 4
  %466 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1296 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader805

.preheader803:                                    ; preds = %446
  %467 = getelementptr inbounds i8, ptr %0, i64 548
  %468 = load i32, ptr %467, align 4, !tbaa !39
  %.not1101 = icmp eq i32 %468, 0
  br i1 %.not1101, label %.loopexit, label %.preheader802.lr.ph

.preheader802.lr.ph:                              ; preds = %.preheader803
  %469 = getelementptr inbounds i8, ptr %3, i64 32
  %470 = getelementptr inbounds i8, ptr %3, i64 56
  %471 = getelementptr inbounds i8, ptr %3, i64 4
  %472 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1298 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader802

.preheader800:                                    ; preds = %446
  %473 = getelementptr inbounds i8, ptr %0, i64 548
  %474 = load i32, ptr %473, align 4, !tbaa !39
  %.not1102 = icmp eq i32 %474, 0
  br i1 %.not1102, label %.loopexit, label %.preheader799.lr.ph

.preheader799.lr.ph:                              ; preds = %.preheader800
  %475 = getelementptr inbounds i8, ptr %3, i64 32
  %476 = getelementptr inbounds i8, ptr %3, i64 56
  %477 = getelementptr inbounds i8, ptr %3, i64 4
  %478 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1300 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader799

.preheader797:                                    ; preds = %446
  %479 = getelementptr inbounds i8, ptr %0, i64 548
  %480 = load i32, ptr %479, align 4, !tbaa !39
  %.not1103 = icmp eq i32 %480, 0
  br i1 %.not1103, label %.loopexit, label %.preheader796.lr.ph

.preheader796.lr.ph:                              ; preds = %.preheader797
  %481 = getelementptr inbounds i8, ptr %3, i64 32
  %482 = getelementptr inbounds i8, ptr %3, i64 56
  %483 = getelementptr inbounds i8, ptr %3, i64 4
  %484 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1302 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader796

.preheader796:                                    ; preds = %.preheader796.lr.ph, %._crit_edge1005
  %485 = phi i32 [ %480, %.preheader796.lr.ph ], [ %507, %._crit_edge1005 ]
  %486 = phi i32 [ %.pre1302, %.preheader796.lr.ph ], [ %508, %._crit_edge1005 ]
  %.07001008 = phi i32 [ 0, %.preheader796.lr.ph ], [ %515, %._crit_edge1005 ]
  %.07011007 = phi ptr [ %2, %.preheader796.lr.ph ], [ %511, %._crit_edge1005 ]
  %.07021006 = phi ptr [ %1, %.preheader796.lr.ph ], [ %514, %._crit_edge1005 ]
  %487 = icmp sgt i32 %486, 0
  br i1 %487, label %.lr.ph1004, label %._crit_edge1005

.lr.ph1004:                                       ; preds = %.preheader796, %.lr.ph1004
  %indvars.iv1217 = phi i64 [ %indvars.iv.next1218, %.lr.ph1004 ], [ 0, %.preheader796 ]
  %488 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %481, i64 noundef %indvars.iv1217) #7
  %489 = load i32, ptr %488, align 4, !tbaa !43
  %490 = sext i32 %489 to i64
  %491 = getelementptr inbounds i8, ptr %.07011007, i64 %490
  %492 = load i8, ptr %491, align 1, !tbaa !44
  %493 = sext i8 %492 to i32
  %494 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %482, i64 noundef %indvars.iv1217) #7
  %495 = load i32, ptr %494, align 4, !tbaa !43
  %496 = sext i32 %495 to i64
  %497 = getelementptr inbounds i32, ptr %.07021006, i64 %496
  store i32 %493, ptr %497, align 4, !tbaa !43
  %498 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %482, i64 noundef %indvars.iv1217) #7
  %499 = load i32, ptr %498, align 4, !tbaa !43
  %500 = sext i32 %499 to i64
  %501 = getelementptr inbounds i32, ptr %.07021006, i64 %500
  %502 = load i32, ptr %501, align 4, !tbaa !43
  %503 = shl i32 %502, 24
  store i32 %503, ptr %501, align 4, !tbaa !43
  %indvars.iv.next1218 = add nuw nsw i64 %indvars.iv1217, 1
  %504 = load i32, ptr %3, align 8, !tbaa !42
  %505 = sext i32 %504 to i64
  %506 = icmp slt i64 %indvars.iv.next1218, %505
  br i1 %506, label %.lr.ph1004, label %._crit_edge1005.loopexit, !llvm.loop !75

._crit_edge1005.loopexit:                         ; preds = %.lr.ph1004
  %.pre1303 = load i32, ptr %479, align 4, !tbaa !39
  br label %._crit_edge1005

._crit_edge1005:                                  ; preds = %._crit_edge1005.loopexit, %.preheader796
  %507 = phi i32 [ %.pre1303, %._crit_edge1005.loopexit ], [ %485, %.preheader796 ]
  %508 = phi i32 [ %504, %._crit_edge1005.loopexit ], [ %486, %.preheader796 ]
  %509 = load i32, ptr %483, align 4, !tbaa !38
  %510 = sext i32 %509 to i64
  %511 = getelementptr inbounds i8, ptr %.07011007, i64 %510
  %512 = load i32, ptr %484, align 8, !tbaa !32
  %513 = sext i32 %512 to i64
  %514 = getelementptr inbounds i32, ptr %.07021006, i64 %513
  %515 = add nuw i32 %.07001008, 1
  %516 = icmp ult i32 %515, %507
  br i1 %516, label %.preheader796, label %.loopexit, !llvm.loop !76

.preheader799:                                    ; preds = %.preheader799.lr.ph, %._crit_edge999
  %517 = phi i32 [ %474, %.preheader799.lr.ph ], [ %539, %._crit_edge999 ]
  %518 = phi i32 [ %.pre1300, %.preheader799.lr.ph ], [ %540, %._crit_edge999 ]
  %.06981002 = phi i32 [ 0, %.preheader799.lr.ph ], [ %547, %._crit_edge999 ]
  %.06991001 = phi ptr [ %2, %.preheader799.lr.ph ], [ %543, %._crit_edge999 ]
  %.17031000 = phi ptr [ %1, %.preheader799.lr.ph ], [ %546, %._crit_edge999 ]
  %519 = icmp sgt i32 %518, 0
  br i1 %519, label %.lr.ph998, label %._crit_edge999

.lr.ph998:                                        ; preds = %.preheader799, %.lr.ph998
  %indvars.iv1214 = phi i64 [ %indvars.iv.next1215, %.lr.ph998 ], [ 0, %.preheader799 ]
  %520 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %475, i64 noundef %indvars.iv1214) #7
  %521 = load i32, ptr %520, align 4, !tbaa !43
  %522 = sext i32 %521 to i64
  %523 = getelementptr inbounds i16, ptr %.06991001, i64 %522
  %524 = load i16, ptr %523, align 2, !tbaa !49
  %525 = sext i16 %524 to i32
  %526 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %476, i64 noundef %indvars.iv1214) #7
  %527 = load i32, ptr %526, align 4, !tbaa !43
  %528 = sext i32 %527 to i64
  %529 = getelementptr inbounds i32, ptr %.17031000, i64 %528
  store i32 %525, ptr %529, align 4, !tbaa !43
  %530 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %476, i64 noundef %indvars.iv1214) #7
  %531 = load i32, ptr %530, align 4, !tbaa !43
  %532 = sext i32 %531 to i64
  %533 = getelementptr inbounds i32, ptr %.17031000, i64 %532
  %534 = load i32, ptr %533, align 4, !tbaa !43
  %535 = shl i32 %534, 16
  store i32 %535, ptr %533, align 4, !tbaa !43
  %indvars.iv.next1215 = add nuw nsw i64 %indvars.iv1214, 1
  %536 = load i32, ptr %3, align 8, !tbaa !42
  %537 = sext i32 %536 to i64
  %538 = icmp slt i64 %indvars.iv.next1215, %537
  br i1 %538, label %.lr.ph998, label %._crit_edge999.loopexit, !llvm.loop !77

._crit_edge999.loopexit:                          ; preds = %.lr.ph998
  %.pre1301 = load i32, ptr %473, align 4, !tbaa !39
  br label %._crit_edge999

._crit_edge999:                                   ; preds = %._crit_edge999.loopexit, %.preheader799
  %539 = phi i32 [ %.pre1301, %._crit_edge999.loopexit ], [ %517, %.preheader799 ]
  %540 = phi i32 [ %536, %._crit_edge999.loopexit ], [ %518, %.preheader799 ]
  %541 = load i32, ptr %477, align 4, !tbaa !38
  %542 = sext i32 %541 to i64
  %543 = getelementptr inbounds i16, ptr %.06991001, i64 %542
  %544 = load i32, ptr %478, align 8, !tbaa !32
  %545 = sext i32 %544 to i64
  %546 = getelementptr inbounds i32, ptr %.17031000, i64 %545
  %547 = add nuw i32 %.06981002, 1
  %548 = icmp ult i32 %547, %539
  br i1 %548, label %.preheader799, label %.loopexit, !llvm.loop !78

.preheader802:                                    ; preds = %.preheader802.lr.ph, %._crit_edge993
  %549 = phi i32 [ %468, %.preheader802.lr.ph ], [ %570, %._crit_edge993 ]
  %550 = phi i32 [ %.pre1298, %.preheader802.lr.ph ], [ %571, %._crit_edge993 ]
  %.0696996 = phi i32 [ 0, %.preheader802.lr.ph ], [ %578, %._crit_edge993 ]
  %.0697995 = phi ptr [ %2, %.preheader802.lr.ph ], [ %574, %._crit_edge993 ]
  %.2704994 = phi ptr [ %1, %.preheader802.lr.ph ], [ %577, %._crit_edge993 ]
  %551 = icmp sgt i32 %550, 0
  br i1 %551, label %.lr.ph992, label %._crit_edge993

.lr.ph992:                                        ; preds = %.preheader802, %.lr.ph992
  %indvars.iv1211 = phi i64 [ %indvars.iv.next1212, %.lr.ph992 ], [ 0, %.preheader802 ]
  %552 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %469, i64 noundef %indvars.iv1211) #7
  %553 = load i32, ptr %552, align 4, !tbaa !43
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds %class.S24, ptr %.0697995, i64 %554
  %556 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %555)
  %557 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %470, i64 noundef %indvars.iv1211) #7
  %558 = load i32, ptr %557, align 4, !tbaa !43
  %559 = sext i32 %558 to i64
  %560 = getelementptr inbounds i32, ptr %.2704994, i64 %559
  store i32 %556, ptr %560, align 4, !tbaa !43
  %561 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %470, i64 noundef %indvars.iv1211) #7
  %562 = load i32, ptr %561, align 4, !tbaa !43
  %563 = sext i32 %562 to i64
  %564 = getelementptr inbounds i32, ptr %.2704994, i64 %563
  %565 = load i32, ptr %564, align 4, !tbaa !43
  %566 = shl i32 %565, 8
  store i32 %566, ptr %564, align 4, !tbaa !43
  %indvars.iv.next1212 = add nuw nsw i64 %indvars.iv1211, 1
  %567 = load i32, ptr %3, align 8, !tbaa !42
  %568 = sext i32 %567 to i64
  %569 = icmp slt i64 %indvars.iv.next1212, %568
  br i1 %569, label %.lr.ph992, label %._crit_edge993.loopexit, !llvm.loop !79

._crit_edge993.loopexit:                          ; preds = %.lr.ph992
  %.pre1299 = load i32, ptr %467, align 4, !tbaa !39
  br label %._crit_edge993

._crit_edge993:                                   ; preds = %._crit_edge993.loopexit, %.preheader802
  %570 = phi i32 [ %.pre1299, %._crit_edge993.loopexit ], [ %549, %.preheader802 ]
  %571 = phi i32 [ %567, %._crit_edge993.loopexit ], [ %550, %.preheader802 ]
  %572 = load i32, ptr %471, align 4, !tbaa !38
  %573 = sext i32 %572 to i64
  %574 = getelementptr inbounds %class.S24, ptr %.0697995, i64 %573
  %575 = load i32, ptr %472, align 8, !tbaa !32
  %576 = sext i32 %575 to i64
  %577 = getelementptr inbounds i32, ptr %.2704994, i64 %576
  %578 = add nuw i32 %.0696996, 1
  %579 = icmp ult i32 %578, %570
  br i1 %579, label %.preheader802, label %.loopexit, !llvm.loop !80

.preheader805:                                    ; preds = %.preheader805.lr.ph, %._crit_edge987
  %580 = phi i32 [ %462, %.preheader805.lr.ph ], [ %595, %._crit_edge987 ]
  %581 = phi i32 [ %.pre1296, %.preheader805.lr.ph ], [ %596, %._crit_edge987 ]
  %.0694990 = phi i32 [ 0, %.preheader805.lr.ph ], [ %603, %._crit_edge987 ]
  %.0695989 = phi ptr [ %2, %.preheader805.lr.ph ], [ %599, %._crit_edge987 ]
  %.3705988 = phi ptr [ %1, %.preheader805.lr.ph ], [ %602, %._crit_edge987 ]
  %582 = icmp sgt i32 %581, 0
  br i1 %582, label %.lr.ph986, label %._crit_edge987

.lr.ph986:                                        ; preds = %.preheader805, %.lr.ph986
  %indvars.iv1208 = phi i64 [ %indvars.iv.next1209, %.lr.ph986 ], [ 0, %.preheader805 ]
  %583 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %463, i64 noundef %indvars.iv1208) #7
  %584 = load i32, ptr %583, align 4, !tbaa !43
  %585 = sext i32 %584 to i64
  %586 = getelementptr inbounds i32, ptr %.0695989, i64 %585
  %587 = load i32, ptr %586, align 4, !tbaa !43
  %588 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %464, i64 noundef %indvars.iv1208) #7
  %589 = load i32, ptr %588, align 4, !tbaa !43
  %590 = sext i32 %589 to i64
  %591 = getelementptr inbounds i32, ptr %.3705988, i64 %590
  store i32 %587, ptr %591, align 4, !tbaa !43
  %indvars.iv.next1209 = add nuw nsw i64 %indvars.iv1208, 1
  %592 = load i32, ptr %3, align 8, !tbaa !42
  %593 = sext i32 %592 to i64
  %594 = icmp slt i64 %indvars.iv.next1209, %593
  br i1 %594, label %.lr.ph986, label %._crit_edge987.loopexit, !llvm.loop !81

._crit_edge987.loopexit:                          ; preds = %.lr.ph986
  %.pre1297 = load i32, ptr %461, align 4, !tbaa !39
  br label %._crit_edge987

._crit_edge987:                                   ; preds = %._crit_edge987.loopexit, %.preheader805
  %595 = phi i32 [ %.pre1297, %._crit_edge987.loopexit ], [ %580, %.preheader805 ]
  %596 = phi i32 [ %592, %._crit_edge987.loopexit ], [ %581, %.preheader805 ]
  %597 = load i32, ptr %465, align 4, !tbaa !38
  %598 = sext i32 %597 to i64
  %599 = getelementptr inbounds i32, ptr %.0695989, i64 %598
  %600 = load i32, ptr %466, align 8, !tbaa !32
  %601 = sext i32 %600 to i64
  %602 = getelementptr inbounds i32, ptr %.3705988, i64 %601
  %603 = add nuw i32 %.0694990, 1
  %604 = icmp ult i32 %603, %595
  br i1 %604, label %.preheader805, label %.loopexit, !llvm.loop !82

.preheader808:                                    ; preds = %.preheader808.lr.ph, %._crit_edge981
  %605 = phi i32 [ %456, %.preheader808.lr.ph ], [ %625, %._crit_edge981 ]
  %606 = phi i32 [ %.pre1294, %.preheader808.lr.ph ], [ %626, %._crit_edge981 ]
  %.0692984 = phi i32 [ 0, %.preheader808.lr.ph ], [ %633, %._crit_edge981 ]
  %.0693983 = phi ptr [ %2, %.preheader808.lr.ph ], [ %629, %._crit_edge981 ]
  %.4706982 = phi ptr [ %1, %.preheader808.lr.ph ], [ %632, %._crit_edge981 ]
  %607 = icmp sgt i32 %606, 0
  br i1 %607, label %.lr.ph980, label %._crit_edge981

.lr.ph980:                                        ; preds = %.preheader808, %.lr.ph980
  %indvars.iv1205 = phi i64 [ %indvars.iv.next1206, %.lr.ph980 ], [ 0, %.preheader808 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  %608 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %457, i64 noundef %indvars.iv1205) #7
  %609 = load i32, ptr %608, align 4, !tbaa !43
  %610 = sext i32 %609 to i64
  %611 = getelementptr inbounds float, ptr %.0693983, i64 %610
  %612 = load float, ptr %611, align 4, !tbaa !57
  %613 = fmul float %612, 0x41E0000000000000
  %614 = call noundef i64 @_ZSt7llroundf(float noundef %613)
  store i64 %614, ptr %5, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  store i64 2147483647, ptr %6, align 8, !tbaa !83
  %615 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6)
  %616 = load i64, ptr %615, align 8, !tbaa !83
  %617 = trunc i64 %616 to i32
  %618 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %458, i64 noundef %indvars.iv1205) #7
  %619 = load i32, ptr %618, align 4, !tbaa !43
  %620 = sext i32 %619 to i64
  %621 = getelementptr inbounds i32, ptr %.4706982, i64 %620
  store i32 %617, ptr %621, align 4, !tbaa !43
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  %indvars.iv.next1206 = add nuw nsw i64 %indvars.iv1205, 1
  %622 = load i32, ptr %3, align 8, !tbaa !42
  %623 = sext i32 %622 to i64
  %624 = icmp slt i64 %indvars.iv.next1206, %623
  br i1 %624, label %.lr.ph980, label %._crit_edge981.loopexit, !llvm.loop !85

._crit_edge981.loopexit:                          ; preds = %.lr.ph980
  %.pre1295 = load i32, ptr %455, align 4, !tbaa !39
  br label %._crit_edge981

._crit_edge981:                                   ; preds = %._crit_edge981.loopexit, %.preheader808
  %625 = phi i32 [ %.pre1295, %._crit_edge981.loopexit ], [ %605, %.preheader808 ]
  %626 = phi i32 [ %622, %._crit_edge981.loopexit ], [ %606, %.preheader808 ]
  %627 = load i32, ptr %459, align 4, !tbaa !38
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds float, ptr %.0693983, i64 %628
  %630 = load i32, ptr %460, align 8, !tbaa !32
  %631 = sext i32 %630 to i64
  %632 = getelementptr inbounds i32, ptr %.4706982, i64 %631
  %633 = add nuw i32 %.0692984, 1
  %634 = icmp ult i32 %633, %625
  br i1 %634, label %.preheader808, label %.loopexit, !llvm.loop !86

.preheader811:                                    ; preds = %.preheader811.lr.ph, %._crit_edge975
  %635 = phi i32 [ %450, %.preheader811.lr.ph ], [ %655, %._crit_edge975 ]
  %636 = phi i32 [ %.pre1292, %.preheader811.lr.ph ], [ %656, %._crit_edge975 ]
  %.0690978 = phi i32 [ 0, %.preheader811.lr.ph ], [ %663, %._crit_edge975 ]
  %.0691977 = phi ptr [ %2, %.preheader811.lr.ph ], [ %659, %._crit_edge975 ]
  %.5707976 = phi ptr [ %1, %.preheader811.lr.ph ], [ %662, %._crit_edge975 ]
  %637 = icmp sgt i32 %636, 0
  br i1 %637, label %.lr.ph974, label %._crit_edge975

.lr.ph974:                                        ; preds = %.preheader811, %.lr.ph974
  %indvars.iv1202 = phi i64 [ %indvars.iv.next1203, %.lr.ph974 ], [ 0, %.preheader811 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  %638 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %451, i64 noundef %indvars.iv1202) #7
  %639 = load i32, ptr %638, align 4, !tbaa !43
  %640 = sext i32 %639 to i64
  %641 = getelementptr inbounds double, ptr %.0691977, i64 %640
  %642 = load double, ptr %641, align 8, !tbaa !45
  %643 = fmul double %642, 0x41E0000000000000
  %644 = call i64 @llround(double noundef %643) #7
  store i64 %644, ptr %7, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  store i64 2147483647, ptr %8, align 8, !tbaa !83
  %645 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %646 = load i64, ptr %645, align 8, !tbaa !83
  %647 = trunc i64 %646 to i32
  %648 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %452, i64 noundef %indvars.iv1202) #7
  %649 = load i32, ptr %648, align 4, !tbaa !43
  %650 = sext i32 %649 to i64
  %651 = getelementptr inbounds i32, ptr %.5707976, i64 %650
  store i32 %647, ptr %651, align 4, !tbaa !43
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  %indvars.iv.next1203 = add nuw nsw i64 %indvars.iv1202, 1
  %652 = load i32, ptr %3, align 8, !tbaa !42
  %653 = sext i32 %652 to i64
  %654 = icmp slt i64 %indvars.iv.next1203, %653
  br i1 %654, label %.lr.ph974, label %._crit_edge975.loopexit, !llvm.loop !87

._crit_edge975.loopexit:                          ; preds = %.lr.ph974
  %.pre1293 = load i32, ptr %449, align 4, !tbaa !39
  br label %._crit_edge975

._crit_edge975:                                   ; preds = %._crit_edge975.loopexit, %.preheader811
  %655 = phi i32 [ %.pre1293, %._crit_edge975.loopexit ], [ %635, %.preheader811 ]
  %656 = phi i32 [ %652, %._crit_edge975.loopexit ], [ %636, %.preheader811 ]
  %657 = load i32, ptr %453, align 4, !tbaa !38
  %658 = sext i32 %657 to i64
  %659 = getelementptr inbounds double, ptr %.0691977, i64 %658
  %660 = load i32, ptr %454, align 8, !tbaa !32
  %661 = sext i32 %660 to i64
  %662 = getelementptr inbounds i32, ptr %.5707976, i64 %661
  %663 = add nuw i32 %.0690978, 1
  %664 = icmp ult i32 %663, %655
  br i1 %664, label %.preheader811, label %.loopexit, !llvm.loop !88

665:                                              ; preds = %47
  %666 = getelementptr inbounds i8, ptr %3, i64 16
  %667 = load i64, ptr %666, align 8, !tbaa !41
  switch i64 %667, label %.loopexit [
    i64 1, label %.preheader815
    i64 2, label %.preheader818
    i64 4, label %.preheader821
    i64 8, label %.preheader824
    i64 16, label %.preheader827
    i64 32, label %.preheader830
  ]

.preheader830:                                    ; preds = %665
  %668 = getelementptr inbounds i8, ptr %0, i64 548
  %669 = load i32, ptr %668, align 4, !tbaa !39
  %.not1092 = icmp eq i32 %669, 0
  br i1 %.not1092, label %.loopexit, label %.preheader829.lr.ph

.preheader829.lr.ph:                              ; preds = %.preheader830
  %670 = getelementptr inbounds i8, ptr %3, i64 32
  %671 = getelementptr inbounds i8, ptr %3, i64 56
  %672 = getelementptr inbounds i8, ptr %3, i64 4
  %673 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1280 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader829

.preheader827:                                    ; preds = %665
  %674 = getelementptr inbounds i8, ptr %0, i64 548
  %675 = load i32, ptr %674, align 4, !tbaa !39
  %.not1093 = icmp eq i32 %675, 0
  br i1 %.not1093, label %.loopexit, label %.preheader826.lr.ph

.preheader826.lr.ph:                              ; preds = %.preheader827
  %676 = getelementptr inbounds i8, ptr %3, i64 32
  %677 = getelementptr inbounds i8, ptr %3, i64 56
  %678 = getelementptr inbounds i8, ptr %3, i64 4
  %679 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1282 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader826

.preheader824:                                    ; preds = %665
  %680 = getelementptr inbounds i8, ptr %0, i64 548
  %681 = load i32, ptr %680, align 4, !tbaa !39
  %.not1094 = icmp eq i32 %681, 0
  br i1 %.not1094, label %.loopexit, label %.preheader823.lr.ph

.preheader823.lr.ph:                              ; preds = %.preheader824
  %682 = getelementptr inbounds i8, ptr %3, i64 32
  %683 = getelementptr inbounds i8, ptr %3, i64 56
  %684 = getelementptr inbounds i8, ptr %3, i64 4
  %685 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1284 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader823

.preheader821:                                    ; preds = %665
  %686 = getelementptr inbounds i8, ptr %0, i64 548
  %687 = load i32, ptr %686, align 4, !tbaa !39
  %.not1095 = icmp eq i32 %687, 0
  br i1 %.not1095, label %.loopexit, label %.preheader820.lr.ph

.preheader820.lr.ph:                              ; preds = %.preheader821
  %688 = getelementptr inbounds i8, ptr %3, i64 32
  %689 = getelementptr inbounds i8, ptr %3, i64 56
  %690 = getelementptr inbounds i8, ptr %3, i64 4
  %691 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1286 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader820

.preheader818:                                    ; preds = %665
  %692 = getelementptr inbounds i8, ptr %0, i64 548
  %693 = load i32, ptr %692, align 4, !tbaa !39
  %.not1096 = icmp eq i32 %693, 0
  br i1 %.not1096, label %.loopexit, label %.preheader817.lr.ph

.preheader817.lr.ph:                              ; preds = %.preheader818
  %694 = getelementptr inbounds i8, ptr %3, i64 32
  %695 = getelementptr inbounds i8, ptr %3, i64 56
  %696 = getelementptr inbounds i8, ptr %3, i64 4
  %697 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1288 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader817

.preheader815:                                    ; preds = %665
  %698 = getelementptr inbounds i8, ptr %0, i64 548
  %699 = load i32, ptr %698, align 4, !tbaa !39
  %.not1097 = icmp eq i32 %699, 0
  br i1 %.not1097, label %.loopexit, label %.preheader814.lr.ph

.preheader814.lr.ph:                              ; preds = %.preheader815
  %700 = getelementptr inbounds i8, ptr %3, i64 32
  %701 = getelementptr inbounds i8, ptr %3, i64 56
  %702 = getelementptr inbounds i8, ptr %3, i64 4
  %703 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1290 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader814

.preheader814:                                    ; preds = %.preheader814.lr.ph, %._crit_edge969
  %704 = phi i32 [ %699, %.preheader814.lr.ph ], [ %722, %._crit_edge969 ]
  %705 = phi i32 [ %.pre1290, %.preheader814.lr.ph ], [ %723, %._crit_edge969 ]
  %.0682972 = phi i32 [ 0, %.preheader814.lr.ph ], [ %730, %._crit_edge969 ]
  %.0683971 = phi ptr [ %2, %.preheader814.lr.ph ], [ %726, %._crit_edge969 ]
  %.0684970 = phi ptr [ %1, %.preheader814.lr.ph ], [ %729, %._crit_edge969 ]
  %706 = icmp sgt i32 %705, 0
  br i1 %706, label %.lr.ph968, label %._crit_edge969

.lr.ph968:                                        ; preds = %.preheader814, %.lr.ph968
  %indvars.iv1199 = phi i64 [ %indvars.iv.next1200, %.lr.ph968 ], [ 0, %.preheader814 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #7
  %707 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %700, i64 noundef %indvars.iv1199) #7
  %708 = load i32, ptr %707, align 4, !tbaa !43
  %709 = sext i32 %708 to i64
  %710 = getelementptr inbounds i8, ptr %.0683971, i64 %709
  %711 = load i8, ptr %710, align 1, !tbaa !44
  %712 = sext i8 %711 to i32
  %713 = shl nsw i32 %712, 16
  store i32 %713, ptr %9, align 4, !tbaa !43
  %714 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %701, i64 noundef %indvars.iv1199) #7
  %715 = load i32, ptr %714, align 4, !tbaa !43
  %716 = sext i32 %715 to i64
  %717 = getelementptr inbounds %class.S24, ptr %.0684970, i64 %716
  %718 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %717, ptr noundef nonnull align 4 dereferenceable(4) %9)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #7
  %indvars.iv.next1200 = add nuw nsw i64 %indvars.iv1199, 1
  %719 = load i32, ptr %3, align 8, !tbaa !42
  %720 = sext i32 %719 to i64
  %721 = icmp slt i64 %indvars.iv.next1200, %720
  br i1 %721, label %.lr.ph968, label %._crit_edge969.loopexit, !llvm.loop !89

._crit_edge969.loopexit:                          ; preds = %.lr.ph968
  %.pre1291 = load i32, ptr %698, align 4, !tbaa !39
  br label %._crit_edge969

._crit_edge969:                                   ; preds = %._crit_edge969.loopexit, %.preheader814
  %722 = phi i32 [ %.pre1291, %._crit_edge969.loopexit ], [ %704, %.preheader814 ]
  %723 = phi i32 [ %719, %._crit_edge969.loopexit ], [ %705, %.preheader814 ]
  %724 = load i32, ptr %702, align 4, !tbaa !38
  %725 = sext i32 %724 to i64
  %726 = getelementptr inbounds i8, ptr %.0683971, i64 %725
  %727 = load i32, ptr %703, align 8, !tbaa !32
  %728 = sext i32 %727 to i64
  %729 = getelementptr inbounds %class.S24, ptr %.0684970, i64 %728
  %730 = add nuw i32 %.0682972, 1
  %731 = icmp ult i32 %730, %722
  br i1 %731, label %.preheader814, label %.loopexit, !llvm.loop !90

.preheader817:                                    ; preds = %.preheader817.lr.ph, %._crit_edge963
  %732 = phi i32 [ %693, %.preheader817.lr.ph ], [ %750, %._crit_edge963 ]
  %733 = phi i32 [ %.pre1288, %.preheader817.lr.ph ], [ %751, %._crit_edge963 ]
  %.0680966 = phi i32 [ 0, %.preheader817.lr.ph ], [ %758, %._crit_edge963 ]
  %.0681965 = phi ptr [ %2, %.preheader817.lr.ph ], [ %754, %._crit_edge963 ]
  %.1685964 = phi ptr [ %1, %.preheader817.lr.ph ], [ %757, %._crit_edge963 ]
  %734 = icmp sgt i32 %733, 0
  br i1 %734, label %.lr.ph962, label %._crit_edge963

.lr.ph962:                                        ; preds = %.preheader817, %.lr.ph962
  %indvars.iv1196 = phi i64 [ %indvars.iv.next1197, %.lr.ph962 ], [ 0, %.preheader817 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #7
  %735 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %694, i64 noundef %indvars.iv1196) #7
  %736 = load i32, ptr %735, align 4, !tbaa !43
  %737 = sext i32 %736 to i64
  %738 = getelementptr inbounds i16, ptr %.0681965, i64 %737
  %739 = load i16, ptr %738, align 2, !tbaa !49
  %740 = sext i16 %739 to i32
  %741 = shl nsw i32 %740, 8
  store i32 %741, ptr %10, align 4, !tbaa !43
  %742 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %695, i64 noundef %indvars.iv1196) #7
  %743 = load i32, ptr %742, align 4, !tbaa !43
  %744 = sext i32 %743 to i64
  %745 = getelementptr inbounds %class.S24, ptr %.1685964, i64 %744
  %746 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %745, ptr noundef nonnull align 4 dereferenceable(4) %10)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  %indvars.iv.next1197 = add nuw nsw i64 %indvars.iv1196, 1
  %747 = load i32, ptr %3, align 8, !tbaa !42
  %748 = sext i32 %747 to i64
  %749 = icmp slt i64 %indvars.iv.next1197, %748
  br i1 %749, label %.lr.ph962, label %._crit_edge963.loopexit, !llvm.loop !91

._crit_edge963.loopexit:                          ; preds = %.lr.ph962
  %.pre1289 = load i32, ptr %692, align 4, !tbaa !39
  br label %._crit_edge963

._crit_edge963:                                   ; preds = %._crit_edge963.loopexit, %.preheader817
  %750 = phi i32 [ %.pre1289, %._crit_edge963.loopexit ], [ %732, %.preheader817 ]
  %751 = phi i32 [ %747, %._crit_edge963.loopexit ], [ %733, %.preheader817 ]
  %752 = load i32, ptr %696, align 4, !tbaa !38
  %753 = sext i32 %752 to i64
  %754 = getelementptr inbounds i16, ptr %.0681965, i64 %753
  %755 = load i32, ptr %697, align 8, !tbaa !32
  %756 = sext i32 %755 to i64
  %757 = getelementptr inbounds %class.S24, ptr %.1685964, i64 %756
  %758 = add nuw i32 %.0680966, 1
  %759 = icmp ult i32 %758, %750
  br i1 %759, label %.preheader817, label %.loopexit, !llvm.loop !92

.preheader820:                                    ; preds = %.preheader820.lr.ph, %._crit_edge957
  %760 = phi i32 [ %687, %.preheader820.lr.ph ], [ %774, %._crit_edge957 ]
  %761 = phi i32 [ %.pre1286, %.preheader820.lr.ph ], [ %775, %._crit_edge957 ]
  %.0678960 = phi i32 [ 0, %.preheader820.lr.ph ], [ %782, %._crit_edge957 ]
  %.0679959 = phi ptr [ %2, %.preheader820.lr.ph ], [ %778, %._crit_edge957 ]
  %.2686958 = phi ptr [ %1, %.preheader820.lr.ph ], [ %781, %._crit_edge957 ]
  %762 = icmp sgt i32 %761, 0
  br i1 %762, label %.lr.ph956, label %._crit_edge957

.lr.ph956:                                        ; preds = %.preheader820, %.lr.ph956
  %indvars.iv1193 = phi i64 [ %indvars.iv.next1194, %.lr.ph956 ], [ 0, %.preheader820 ]
  %763 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %688, i64 noundef %indvars.iv1193) #7
  %764 = load i32, ptr %763, align 4, !tbaa !43
  %765 = sext i32 %764 to i64
  %766 = getelementptr inbounds %class.S24, ptr %.0679959, i64 %765
  %767 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %689, i64 noundef %indvars.iv1193) #7
  %768 = load i32, ptr %767, align 4, !tbaa !43
  %769 = sext i32 %768 to i64
  %770 = getelementptr inbounds %class.S24, ptr %.2686958, i64 %769
  tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %770, ptr noundef nonnull align 1 dereferenceable(3) %766, i64 3, i1 false), !tbaa.struct !93
  %indvars.iv.next1194 = add nuw nsw i64 %indvars.iv1193, 1
  %771 = load i32, ptr %3, align 8, !tbaa !42
  %772 = sext i32 %771 to i64
  %773 = icmp slt i64 %indvars.iv.next1194, %772
  br i1 %773, label %.lr.ph956, label %._crit_edge957.loopexit, !llvm.loop !94

._crit_edge957.loopexit:                          ; preds = %.lr.ph956
  %.pre1287 = load i32, ptr %686, align 4, !tbaa !39
  br label %._crit_edge957

._crit_edge957:                                   ; preds = %._crit_edge957.loopexit, %.preheader820
  %774 = phi i32 [ %.pre1287, %._crit_edge957.loopexit ], [ %760, %.preheader820 ]
  %775 = phi i32 [ %771, %._crit_edge957.loopexit ], [ %761, %.preheader820 ]
  %776 = load i32, ptr %690, align 4, !tbaa !38
  %777 = sext i32 %776 to i64
  %778 = getelementptr inbounds %class.S24, ptr %.0679959, i64 %777
  %779 = load i32, ptr %691, align 8, !tbaa !32
  %780 = sext i32 %779 to i64
  %781 = getelementptr inbounds %class.S24, ptr %.2686958, i64 %780
  %782 = add nuw i32 %.0678960, 1
  %783 = icmp ult i32 %782, %774
  br i1 %783, label %.preheader820, label %.loopexit, !llvm.loop !95

.preheader823:                                    ; preds = %.preheader823.lr.ph, %._crit_edge951
  %784 = phi i32 [ %681, %.preheader823.lr.ph ], [ %801, %._crit_edge951 ]
  %785 = phi i32 [ %.pre1284, %.preheader823.lr.ph ], [ %802, %._crit_edge951 ]
  %.0676954 = phi i32 [ 0, %.preheader823.lr.ph ], [ %809, %._crit_edge951 ]
  %.0677953 = phi ptr [ %2, %.preheader823.lr.ph ], [ %805, %._crit_edge951 ]
  %.3687952 = phi ptr [ %1, %.preheader823.lr.ph ], [ %808, %._crit_edge951 ]
  %786 = icmp sgt i32 %785, 0
  br i1 %786, label %.lr.ph950, label %._crit_edge951

.lr.ph950:                                        ; preds = %.preheader823, %.lr.ph950
  %indvars.iv1190 = phi i64 [ %indvars.iv.next1191, %.lr.ph950 ], [ 0, %.preheader823 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #7
  %787 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %682, i64 noundef %indvars.iv1190) #7
  %788 = load i32, ptr %787, align 4, !tbaa !43
  %789 = sext i32 %788 to i64
  %790 = getelementptr inbounds i32, ptr %.0677953, i64 %789
  %791 = load i32, ptr %790, align 4, !tbaa !43
  %792 = ashr i32 %791, 8
  store i32 %792, ptr %11, align 4, !tbaa !43
  %793 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %683, i64 noundef %indvars.iv1190) #7
  %794 = load i32, ptr %793, align 4, !tbaa !43
  %795 = sext i32 %794 to i64
  %796 = getelementptr inbounds %class.S24, ptr %.3687952, i64 %795
  %797 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %796, ptr noundef nonnull align 4 dereferenceable(4) %11)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #7
  %indvars.iv.next1191 = add nuw nsw i64 %indvars.iv1190, 1
  %798 = load i32, ptr %3, align 8, !tbaa !42
  %799 = sext i32 %798 to i64
  %800 = icmp slt i64 %indvars.iv.next1191, %799
  br i1 %800, label %.lr.ph950, label %._crit_edge951.loopexit, !llvm.loop !96

._crit_edge951.loopexit:                          ; preds = %.lr.ph950
  %.pre1285 = load i32, ptr %680, align 4, !tbaa !39
  br label %._crit_edge951

._crit_edge951:                                   ; preds = %._crit_edge951.loopexit, %.preheader823
  %801 = phi i32 [ %.pre1285, %._crit_edge951.loopexit ], [ %784, %.preheader823 ]
  %802 = phi i32 [ %798, %._crit_edge951.loopexit ], [ %785, %.preheader823 ]
  %803 = load i32, ptr %684, align 4, !tbaa !38
  %804 = sext i32 %803 to i64
  %805 = getelementptr inbounds i32, ptr %.0677953, i64 %804
  %806 = load i32, ptr %685, align 8, !tbaa !32
  %807 = sext i32 %806 to i64
  %808 = getelementptr inbounds %class.S24, ptr %.3687952, i64 %807
  %809 = add nuw i32 %.0676954, 1
  %810 = icmp ult i32 %809, %801
  br i1 %810, label %.preheader823, label %.loopexit, !llvm.loop !97

.preheader826:                                    ; preds = %.preheader826.lr.ph, %._crit_edge945
  %811 = phi i32 [ %675, %.preheader826.lr.ph ], [ %832, %._crit_edge945 ]
  %812 = phi i32 [ %.pre1282, %.preheader826.lr.ph ], [ %833, %._crit_edge945 ]
  %.0674948 = phi i32 [ 0, %.preheader826.lr.ph ], [ %840, %._crit_edge945 ]
  %.0675947 = phi ptr [ %2, %.preheader826.lr.ph ], [ %836, %._crit_edge945 ]
  %.4688946 = phi ptr [ %1, %.preheader826.lr.ph ], [ %839, %._crit_edge945 ]
  %813 = icmp sgt i32 %812, 0
  br i1 %813, label %.lr.ph944, label %._crit_edge945

.lr.ph944:                                        ; preds = %.preheader826, %.lr.ph944
  %indvars.iv1187 = phi i64 [ %indvars.iv.next1188, %.lr.ph944 ], [ 0, %.preheader826 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  %814 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %676, i64 noundef %indvars.iv1187) #7
  %815 = load i32, ptr %814, align 4, !tbaa !43
  %816 = sext i32 %815 to i64
  %817 = getelementptr inbounds float, ptr %.0675947, i64 %816
  %818 = load float, ptr %817, align 4, !tbaa !57
  %819 = fmul float %818, 0x4160000000000000
  %820 = call noundef i64 @_ZSt7llroundf(float noundef %819)
  store i64 %820, ptr %13, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  store i64 8388607, ptr %14, align 8, !tbaa !83
  %821 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14)
  %822 = load i64, ptr %821, align 8, !tbaa !83
  %823 = trunc i64 %822 to i32
  store i32 %823, ptr %12, align 4, !tbaa !43
  %824 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %677, i64 noundef %indvars.iv1187) #7
  %825 = load i32, ptr %824, align 4, !tbaa !43
  %826 = sext i32 %825 to i64
  %827 = getelementptr inbounds %class.S24, ptr %.4688946, i64 %826
  %828 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %827, ptr noundef nonnull align 4 dereferenceable(4) %12)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #7
  %indvars.iv.next1188 = add nuw nsw i64 %indvars.iv1187, 1
  %829 = load i32, ptr %3, align 8, !tbaa !42
  %830 = sext i32 %829 to i64
  %831 = icmp slt i64 %indvars.iv.next1188, %830
  br i1 %831, label %.lr.ph944, label %._crit_edge945.loopexit, !llvm.loop !98

._crit_edge945.loopexit:                          ; preds = %.lr.ph944
  %.pre1283 = load i32, ptr %674, align 4, !tbaa !39
  br label %._crit_edge945

._crit_edge945:                                   ; preds = %._crit_edge945.loopexit, %.preheader826
  %832 = phi i32 [ %.pre1283, %._crit_edge945.loopexit ], [ %811, %.preheader826 ]
  %833 = phi i32 [ %829, %._crit_edge945.loopexit ], [ %812, %.preheader826 ]
  %834 = load i32, ptr %678, align 4, !tbaa !38
  %835 = sext i32 %834 to i64
  %836 = getelementptr inbounds float, ptr %.0675947, i64 %835
  %837 = load i32, ptr %679, align 8, !tbaa !32
  %838 = sext i32 %837 to i64
  %839 = getelementptr inbounds %class.S24, ptr %.4688946, i64 %838
  %840 = add nuw i32 %.0674948, 1
  %841 = icmp ult i32 %840, %832
  br i1 %841, label %.preheader826, label %.loopexit, !llvm.loop !99

.preheader829:                                    ; preds = %.preheader829.lr.ph, %._crit_edge939
  %842 = phi i32 [ %669, %.preheader829.lr.ph ], [ %863, %._crit_edge939 ]
  %843 = phi i32 [ %.pre1280, %.preheader829.lr.ph ], [ %864, %._crit_edge939 ]
  %.0672942 = phi i32 [ 0, %.preheader829.lr.ph ], [ %871, %._crit_edge939 ]
  %.0673941 = phi ptr [ %2, %.preheader829.lr.ph ], [ %867, %._crit_edge939 ]
  %.5689940 = phi ptr [ %1, %.preheader829.lr.ph ], [ %870, %._crit_edge939 ]
  %844 = icmp sgt i32 %843, 0
  br i1 %844, label %.lr.ph938, label %._crit_edge939

.lr.ph938:                                        ; preds = %.preheader829, %.lr.ph938
  %indvars.iv1184 = phi i64 [ %indvars.iv.next1185, %.lr.ph938 ], [ 0, %.preheader829 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  %845 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %670, i64 noundef %indvars.iv1184) #7
  %846 = load i32, ptr %845, align 4, !tbaa !43
  %847 = sext i32 %846 to i64
  %848 = getelementptr inbounds double, ptr %.0673941, i64 %847
  %849 = load double, ptr %848, align 8, !tbaa !45
  %850 = fmul double %849, 0x4160000000000000
  %851 = call i64 @llround(double noundef %850) #7
  store i64 %851, ptr %16, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  store i64 8388607, ptr %17, align 8, !tbaa !83
  %852 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17)
  %853 = load i64, ptr %852, align 8, !tbaa !83
  %854 = trunc i64 %853 to i32
  store i32 %854, ptr %15, align 4, !tbaa !43
  %855 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %671, i64 noundef %indvars.iv1184) #7
  %856 = load i32, ptr %855, align 4, !tbaa !43
  %857 = sext i32 %856 to i64
  %858 = getelementptr inbounds %class.S24, ptr %.5689940, i64 %857
  %859 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %858, ptr noundef nonnull align 4 dereferenceable(4) %15)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  %indvars.iv.next1185 = add nuw nsw i64 %indvars.iv1184, 1
  %860 = load i32, ptr %3, align 8, !tbaa !42
  %861 = sext i32 %860 to i64
  %862 = icmp slt i64 %indvars.iv.next1185, %861
  br i1 %862, label %.lr.ph938, label %._crit_edge939.loopexit, !llvm.loop !100

._crit_edge939.loopexit:                          ; preds = %.lr.ph938
  %.pre1281 = load i32, ptr %668, align 4, !tbaa !39
  br label %._crit_edge939

._crit_edge939:                                   ; preds = %._crit_edge939.loopexit, %.preheader829
  %863 = phi i32 [ %.pre1281, %._crit_edge939.loopexit ], [ %842, %.preheader829 ]
  %864 = phi i32 [ %860, %._crit_edge939.loopexit ], [ %843, %.preheader829 ]
  %865 = load i32, ptr %672, align 4, !tbaa !38
  %866 = sext i32 %865 to i64
  %867 = getelementptr inbounds double, ptr %.0673941, i64 %866
  %868 = load i32, ptr %673, align 8, !tbaa !32
  %869 = sext i32 %868 to i64
  %870 = getelementptr inbounds %class.S24, ptr %.5689940, i64 %869
  %871 = add nuw i32 %.0672942, 1
  %872 = icmp ult i32 %871, %863
  br i1 %872, label %.preheader829, label %.loopexit, !llvm.loop !101

873:                                              ; preds = %47
  %874 = getelementptr inbounds i8, ptr %3, i64 16
  %875 = load i64, ptr %874, align 8, !tbaa !41
  switch i64 %875, label %.loopexit [
    i64 1, label %.preheader833
    i64 2, label %.preheader836
    i64 4, label %.preheader839
    i64 8, label %.preheader842
    i64 16, label %.preheader845
    i64 32, label %.preheader848
  ]

.preheader848:                                    ; preds = %873
  %876 = getelementptr inbounds i8, ptr %0, i64 548
  %877 = load i32, ptr %876, align 4, !tbaa !39
  %.not1086 = icmp eq i32 %877, 0
  br i1 %.not1086, label %.loopexit, label %.preheader847.lr.ph

.preheader847.lr.ph:                              ; preds = %.preheader848
  %878 = getelementptr inbounds i8, ptr %3, i64 32
  %879 = getelementptr inbounds i8, ptr %3, i64 56
  %880 = getelementptr inbounds i8, ptr %3, i64 4
  %881 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1268 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader847

.preheader845:                                    ; preds = %873
  %882 = getelementptr inbounds i8, ptr %0, i64 548
  %883 = load i32, ptr %882, align 4, !tbaa !39
  %.not1087 = icmp eq i32 %883, 0
  br i1 %.not1087, label %.loopexit, label %.preheader844.lr.ph

.preheader844.lr.ph:                              ; preds = %.preheader845
  %884 = getelementptr inbounds i8, ptr %3, i64 32
  %885 = getelementptr inbounds i8, ptr %3, i64 56
  %886 = getelementptr inbounds i8, ptr %3, i64 4
  %887 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1270 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader844

.preheader842:                                    ; preds = %873
  %888 = getelementptr inbounds i8, ptr %0, i64 548
  %889 = load i32, ptr %888, align 4, !tbaa !39
  %.not1088 = icmp eq i32 %889, 0
  br i1 %.not1088, label %.loopexit, label %.preheader841.lr.ph

.preheader841.lr.ph:                              ; preds = %.preheader842
  %890 = getelementptr inbounds i8, ptr %3, i64 32
  %891 = getelementptr inbounds i8, ptr %3, i64 56
  %892 = getelementptr inbounds i8, ptr %3, i64 4
  %893 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1272 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader841

.preheader839:                                    ; preds = %873
  %894 = getelementptr inbounds i8, ptr %0, i64 548
  %895 = load i32, ptr %894, align 4, !tbaa !39
  %.not1089 = icmp eq i32 %895, 0
  br i1 %.not1089, label %.loopexit, label %.preheader838.lr.ph

.preheader838.lr.ph:                              ; preds = %.preheader839
  %896 = getelementptr inbounds i8, ptr %3, i64 32
  %897 = getelementptr inbounds i8, ptr %3, i64 56
  %898 = getelementptr inbounds i8, ptr %3, i64 4
  %899 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1274 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader838

.preheader836:                                    ; preds = %873
  %900 = getelementptr inbounds i8, ptr %0, i64 548
  %901 = load i32, ptr %900, align 4, !tbaa !39
  %.not1090 = icmp eq i32 %901, 0
  br i1 %.not1090, label %.loopexit, label %.preheader835.lr.ph

.preheader835.lr.ph:                              ; preds = %.preheader836
  %902 = getelementptr inbounds i8, ptr %3, i64 32
  %903 = getelementptr inbounds i8, ptr %3, i64 56
  %904 = getelementptr inbounds i8, ptr %3, i64 4
  %905 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1276 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader835

.preheader833:                                    ; preds = %873
  %906 = getelementptr inbounds i8, ptr %0, i64 548
  %907 = load i32, ptr %906, align 4, !tbaa !39
  %.not1091 = icmp eq i32 %907, 0
  br i1 %.not1091, label %.loopexit, label %.preheader832.lr.ph

.preheader832.lr.ph:                              ; preds = %.preheader833
  %908 = getelementptr inbounds i8, ptr %3, i64 32
  %909 = getelementptr inbounds i8, ptr %3, i64 56
  %910 = getelementptr inbounds i8, ptr %3, i64 4
  %911 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1278 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader832

.preheader832:                                    ; preds = %.preheader832.lr.ph, %._crit_edge933
  %912 = phi i32 [ %907, %.preheader832.lr.ph ], [ %934, %._crit_edge933 ]
  %913 = phi i32 [ %.pre1278, %.preheader832.lr.ph ], [ %935, %._crit_edge933 ]
  %.0664936 = phi i32 [ 0, %.preheader832.lr.ph ], [ %942, %._crit_edge933 ]
  %.0665935 = phi ptr [ %2, %.preheader832.lr.ph ], [ %938, %._crit_edge933 ]
  %.0666934 = phi ptr [ %1, %.preheader832.lr.ph ], [ %941, %._crit_edge933 ]
  %914 = icmp sgt i32 %913, 0
  br i1 %914, label %.lr.ph932, label %._crit_edge933

.lr.ph932:                                        ; preds = %.preheader832, %.lr.ph932
  %indvars.iv1181 = phi i64 [ %indvars.iv.next1182, %.lr.ph932 ], [ 0, %.preheader832 ]
  %915 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %908, i64 noundef %indvars.iv1181) #7
  %916 = load i32, ptr %915, align 4, !tbaa !43
  %917 = sext i32 %916 to i64
  %918 = getelementptr inbounds i8, ptr %.0665935, i64 %917
  %919 = load i8, ptr %918, align 1, !tbaa !44
  %920 = sext i8 %919 to i16
  %921 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %909, i64 noundef %indvars.iv1181) #7
  %922 = load i32, ptr %921, align 4, !tbaa !43
  %923 = sext i32 %922 to i64
  %924 = getelementptr inbounds i16, ptr %.0666934, i64 %923
  store i16 %920, ptr %924, align 2, !tbaa !49
  %925 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %909, i64 noundef %indvars.iv1181) #7
  %926 = load i32, ptr %925, align 4, !tbaa !43
  %927 = sext i32 %926 to i64
  %928 = getelementptr inbounds i16, ptr %.0666934, i64 %927
  %929 = load i16, ptr %928, align 2, !tbaa !49
  %930 = shl i16 %929, 8
  store i16 %930, ptr %928, align 2, !tbaa !49
  %indvars.iv.next1182 = add nuw nsw i64 %indvars.iv1181, 1
  %931 = load i32, ptr %3, align 8, !tbaa !42
  %932 = sext i32 %931 to i64
  %933 = icmp slt i64 %indvars.iv.next1182, %932
  br i1 %933, label %.lr.ph932, label %._crit_edge933.loopexit, !llvm.loop !102

._crit_edge933.loopexit:                          ; preds = %.lr.ph932
  %.pre1279 = load i32, ptr %906, align 4, !tbaa !39
  br label %._crit_edge933

._crit_edge933:                                   ; preds = %._crit_edge933.loopexit, %.preheader832
  %934 = phi i32 [ %.pre1279, %._crit_edge933.loopexit ], [ %912, %.preheader832 ]
  %935 = phi i32 [ %931, %._crit_edge933.loopexit ], [ %913, %.preheader832 ]
  %936 = load i32, ptr %910, align 4, !tbaa !38
  %937 = sext i32 %936 to i64
  %938 = getelementptr inbounds i8, ptr %.0665935, i64 %937
  %939 = load i32, ptr %911, align 8, !tbaa !32
  %940 = sext i32 %939 to i64
  %941 = getelementptr inbounds i16, ptr %.0666934, i64 %940
  %942 = add nuw i32 %.0664936, 1
  %943 = icmp ult i32 %942, %934
  br i1 %943, label %.preheader832, label %.loopexit, !llvm.loop !103

.preheader835:                                    ; preds = %.preheader835.lr.ph, %._crit_edge927
  %944 = phi i32 [ %901, %.preheader835.lr.ph ], [ %959, %._crit_edge927 ]
  %945 = phi i32 [ %.pre1276, %.preheader835.lr.ph ], [ %960, %._crit_edge927 ]
  %.0662930 = phi i32 [ 0, %.preheader835.lr.ph ], [ %967, %._crit_edge927 ]
  %.0663929 = phi ptr [ %2, %.preheader835.lr.ph ], [ %963, %._crit_edge927 ]
  %.1667928 = phi ptr [ %1, %.preheader835.lr.ph ], [ %966, %._crit_edge927 ]
  %946 = icmp sgt i32 %945, 0
  br i1 %946, label %.lr.ph926, label %._crit_edge927

.lr.ph926:                                        ; preds = %.preheader835, %.lr.ph926
  %indvars.iv1178 = phi i64 [ %indvars.iv.next1179, %.lr.ph926 ], [ 0, %.preheader835 ]
  %947 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %902, i64 noundef %indvars.iv1178) #7
  %948 = load i32, ptr %947, align 4, !tbaa !43
  %949 = sext i32 %948 to i64
  %950 = getelementptr inbounds i16, ptr %.0663929, i64 %949
  %951 = load i16, ptr %950, align 2, !tbaa !49
  %952 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %903, i64 noundef %indvars.iv1178) #7
  %953 = load i32, ptr %952, align 4, !tbaa !43
  %954 = sext i32 %953 to i64
  %955 = getelementptr inbounds i16, ptr %.1667928, i64 %954
  store i16 %951, ptr %955, align 2, !tbaa !49
  %indvars.iv.next1179 = add nuw nsw i64 %indvars.iv1178, 1
  %956 = load i32, ptr %3, align 8, !tbaa !42
  %957 = sext i32 %956 to i64
  %958 = icmp slt i64 %indvars.iv.next1179, %957
  br i1 %958, label %.lr.ph926, label %._crit_edge927.loopexit, !llvm.loop !104

._crit_edge927.loopexit:                          ; preds = %.lr.ph926
  %.pre1277 = load i32, ptr %900, align 4, !tbaa !39
  br label %._crit_edge927

._crit_edge927:                                   ; preds = %._crit_edge927.loopexit, %.preheader835
  %959 = phi i32 [ %.pre1277, %._crit_edge927.loopexit ], [ %944, %.preheader835 ]
  %960 = phi i32 [ %956, %._crit_edge927.loopexit ], [ %945, %.preheader835 ]
  %961 = load i32, ptr %904, align 4, !tbaa !38
  %962 = sext i32 %961 to i64
  %963 = getelementptr inbounds i16, ptr %.0663929, i64 %962
  %964 = load i32, ptr %905, align 8, !tbaa !32
  %965 = sext i32 %964 to i64
  %966 = getelementptr inbounds i16, ptr %.1667928, i64 %965
  %967 = add nuw i32 %.0662930, 1
  %968 = icmp ult i32 %967, %959
  br i1 %968, label %.preheader835, label %.loopexit, !llvm.loop !105

.preheader838:                                    ; preds = %.preheader838.lr.ph, %._crit_edge921
  %969 = phi i32 [ %895, %.preheader838.lr.ph ], [ %986, %._crit_edge921 ]
  %970 = phi i32 [ %.pre1274, %.preheader838.lr.ph ], [ %987, %._crit_edge921 ]
  %.0660924 = phi i32 [ 0, %.preheader838.lr.ph ], [ %994, %._crit_edge921 ]
  %.0661923 = phi ptr [ %2, %.preheader838.lr.ph ], [ %990, %._crit_edge921 ]
  %.2668922 = phi ptr [ %1, %.preheader838.lr.ph ], [ %993, %._crit_edge921 ]
  %971 = icmp sgt i32 %970, 0
  br i1 %971, label %.lr.ph920, label %._crit_edge921

.lr.ph920:                                        ; preds = %.preheader838, %.lr.ph920
  %indvars.iv1175 = phi i64 [ %indvars.iv.next1176, %.lr.ph920 ], [ 0, %.preheader838 ]
  %972 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %896, i64 noundef %indvars.iv1175) #7
  %973 = load i32, ptr %972, align 4, !tbaa !43
  %974 = sext i32 %973 to i64
  %975 = getelementptr inbounds %class.S24, ptr %.0661923, i64 %974
  %976 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %975)
  %977 = lshr i32 %976, 8
  %978 = trunc i32 %977 to i16
  %979 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %897, i64 noundef %indvars.iv1175) #7
  %980 = load i32, ptr %979, align 4, !tbaa !43
  %981 = sext i32 %980 to i64
  %982 = getelementptr inbounds i16, ptr %.2668922, i64 %981
  store i16 %978, ptr %982, align 2, !tbaa !49
  %indvars.iv.next1176 = add nuw nsw i64 %indvars.iv1175, 1
  %983 = load i32, ptr %3, align 8, !tbaa !42
  %984 = sext i32 %983 to i64
  %985 = icmp slt i64 %indvars.iv.next1176, %984
  br i1 %985, label %.lr.ph920, label %._crit_edge921.loopexit, !llvm.loop !106

._crit_edge921.loopexit:                          ; preds = %.lr.ph920
  %.pre1275 = load i32, ptr %894, align 4, !tbaa !39
  br label %._crit_edge921

._crit_edge921:                                   ; preds = %._crit_edge921.loopexit, %.preheader838
  %986 = phi i32 [ %.pre1275, %._crit_edge921.loopexit ], [ %969, %.preheader838 ]
  %987 = phi i32 [ %983, %._crit_edge921.loopexit ], [ %970, %.preheader838 ]
  %988 = load i32, ptr %898, align 4, !tbaa !38
  %989 = sext i32 %988 to i64
  %990 = getelementptr inbounds %class.S24, ptr %.0661923, i64 %989
  %991 = load i32, ptr %899, align 8, !tbaa !32
  %992 = sext i32 %991 to i64
  %993 = getelementptr inbounds i16, ptr %.2668922, i64 %992
  %994 = add nuw i32 %.0660924, 1
  %995 = icmp ult i32 %994, %986
  br i1 %995, label %.preheader838, label %.loopexit, !llvm.loop !107

.preheader841:                                    ; preds = %.preheader841.lr.ph, %._crit_edge915
  %996 = phi i32 [ %889, %.preheader841.lr.ph ], [ %1013, %._crit_edge915 ]
  %997 = phi i32 [ %.pre1272, %.preheader841.lr.ph ], [ %1014, %._crit_edge915 ]
  %.0658918 = phi i32 [ 0, %.preheader841.lr.ph ], [ %1021, %._crit_edge915 ]
  %.0659917 = phi ptr [ %2, %.preheader841.lr.ph ], [ %1017, %._crit_edge915 ]
  %.3669916 = phi ptr [ %1, %.preheader841.lr.ph ], [ %1020, %._crit_edge915 ]
  %998 = icmp sgt i32 %997, 0
  br i1 %998, label %.lr.ph914, label %._crit_edge915

.lr.ph914:                                        ; preds = %.preheader841, %.lr.ph914
  %indvars.iv1172 = phi i64 [ %indvars.iv.next1173, %.lr.ph914 ], [ 0, %.preheader841 ]
  %999 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %890, i64 noundef %indvars.iv1172) #7
  %1000 = load i32, ptr %999, align 4, !tbaa !43
  %1001 = sext i32 %1000 to i64
  %1002 = getelementptr inbounds i32, ptr %.0659917, i64 %1001
  %1003 = load i32, ptr %1002, align 4, !tbaa !43
  %1004 = lshr i32 %1003, 16
  %1005 = trunc nuw i32 %1004 to i16
  %1006 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %891, i64 noundef %indvars.iv1172) #7
  %1007 = load i32, ptr %1006, align 4, !tbaa !43
  %1008 = sext i32 %1007 to i64
  %1009 = getelementptr inbounds i16, ptr %.3669916, i64 %1008
  store i16 %1005, ptr %1009, align 2, !tbaa !49
  %indvars.iv.next1173 = add nuw nsw i64 %indvars.iv1172, 1
  %1010 = load i32, ptr %3, align 8, !tbaa !42
  %1011 = sext i32 %1010 to i64
  %1012 = icmp slt i64 %indvars.iv.next1173, %1011
  br i1 %1012, label %.lr.ph914, label %._crit_edge915.loopexit, !llvm.loop !108

._crit_edge915.loopexit:                          ; preds = %.lr.ph914
  %.pre1273 = load i32, ptr %888, align 4, !tbaa !39
  br label %._crit_edge915

._crit_edge915:                                   ; preds = %._crit_edge915.loopexit, %.preheader841
  %1013 = phi i32 [ %.pre1273, %._crit_edge915.loopexit ], [ %996, %.preheader841 ]
  %1014 = phi i32 [ %1010, %._crit_edge915.loopexit ], [ %997, %.preheader841 ]
  %1015 = load i32, ptr %892, align 4, !tbaa !38
  %1016 = sext i32 %1015 to i64
  %1017 = getelementptr inbounds i32, ptr %.0659917, i64 %1016
  %1018 = load i32, ptr %893, align 8, !tbaa !32
  %1019 = sext i32 %1018 to i64
  %1020 = getelementptr inbounds i16, ptr %.3669916, i64 %1019
  %1021 = add nuw i32 %.0658918, 1
  %1022 = icmp ult i32 %1021, %1013
  br i1 %1022, label %.preheader841, label %.loopexit, !llvm.loop !109

.preheader844:                                    ; preds = %.preheader844.lr.ph, %._crit_edge909
  %1023 = phi i32 [ %883, %.preheader844.lr.ph ], [ %1043, %._crit_edge909 ]
  %1024 = phi i32 [ %.pre1270, %.preheader844.lr.ph ], [ %1044, %._crit_edge909 ]
  %.0656912 = phi i32 [ 0, %.preheader844.lr.ph ], [ %1051, %._crit_edge909 ]
  %.0657911 = phi ptr [ %2, %.preheader844.lr.ph ], [ %1047, %._crit_edge909 ]
  %.4670910 = phi ptr [ %1, %.preheader844.lr.ph ], [ %1050, %._crit_edge909 ]
  %1025 = icmp sgt i32 %1024, 0
  br i1 %1025, label %.lr.ph908, label %._crit_edge909

.lr.ph908:                                        ; preds = %.preheader844, %.lr.ph908
  %indvars.iv1169 = phi i64 [ %indvars.iv.next1170, %.lr.ph908 ], [ 0, %.preheader844 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %1026 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %884, i64 noundef %indvars.iv1169) #7
  %1027 = load i32, ptr %1026, align 4, !tbaa !43
  %1028 = sext i32 %1027 to i64
  %1029 = getelementptr inbounds float, ptr %.0657911, i64 %1028
  %1030 = load float, ptr %1029, align 4, !tbaa !57
  %1031 = fmul float %1030, 3.276800e+04
  %1032 = call noundef i64 @_ZSt7llroundf(float noundef %1031)
  store i64 %1032, ptr %18, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  store i64 32767, ptr %19, align 8, !tbaa !83
  %1033 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19)
  %1034 = load i64, ptr %1033, align 8, !tbaa !83
  %1035 = trunc i64 %1034 to i16
  %1036 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %885, i64 noundef %indvars.iv1169) #7
  %1037 = load i32, ptr %1036, align 4, !tbaa !43
  %1038 = sext i32 %1037 to i64
  %1039 = getelementptr inbounds i16, ptr %.4670910, i64 %1038
  store i16 %1035, ptr %1039, align 2, !tbaa !49
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  %indvars.iv.next1170 = add nuw nsw i64 %indvars.iv1169, 1
  %1040 = load i32, ptr %3, align 8, !tbaa !42
  %1041 = sext i32 %1040 to i64
  %1042 = icmp slt i64 %indvars.iv.next1170, %1041
  br i1 %1042, label %.lr.ph908, label %._crit_edge909.loopexit, !llvm.loop !110

._crit_edge909.loopexit:                          ; preds = %.lr.ph908
  %.pre1271 = load i32, ptr %882, align 4, !tbaa !39
  br label %._crit_edge909

._crit_edge909:                                   ; preds = %._crit_edge909.loopexit, %.preheader844
  %1043 = phi i32 [ %.pre1271, %._crit_edge909.loopexit ], [ %1023, %.preheader844 ]
  %1044 = phi i32 [ %1040, %._crit_edge909.loopexit ], [ %1024, %.preheader844 ]
  %1045 = load i32, ptr %886, align 4, !tbaa !38
  %1046 = sext i32 %1045 to i64
  %1047 = getelementptr inbounds float, ptr %.0657911, i64 %1046
  %1048 = load i32, ptr %887, align 8, !tbaa !32
  %1049 = sext i32 %1048 to i64
  %1050 = getelementptr inbounds i16, ptr %.4670910, i64 %1049
  %1051 = add nuw i32 %.0656912, 1
  %1052 = icmp ult i32 %1051, %1043
  br i1 %1052, label %.preheader844, label %.loopexit, !llvm.loop !111

.preheader847:                                    ; preds = %.preheader847.lr.ph, %._crit_edge903
  %1053 = phi i32 [ %877, %.preheader847.lr.ph ], [ %1073, %._crit_edge903 ]
  %1054 = phi i32 [ %.pre1268, %.preheader847.lr.ph ], [ %1074, %._crit_edge903 ]
  %.0654906 = phi i32 [ 0, %.preheader847.lr.ph ], [ %1081, %._crit_edge903 ]
  %.0655905 = phi ptr [ %2, %.preheader847.lr.ph ], [ %1077, %._crit_edge903 ]
  %.5671904 = phi ptr [ %1, %.preheader847.lr.ph ], [ %1080, %._crit_edge903 ]
  %1055 = icmp sgt i32 %1054, 0
  br i1 %1055, label %.lr.ph902, label %._crit_edge903

.lr.ph902:                                        ; preds = %.preheader847, %.lr.ph902
  %indvars.iv1166 = phi i64 [ %indvars.iv.next1167, %.lr.ph902 ], [ 0, %.preheader847 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #7
  %1056 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %878, i64 noundef %indvars.iv1166) #7
  %1057 = load i32, ptr %1056, align 4, !tbaa !43
  %1058 = sext i32 %1057 to i64
  %1059 = getelementptr inbounds double, ptr %.0655905, i64 %1058
  %1060 = load double, ptr %1059, align 8, !tbaa !45
  %1061 = fmul double %1060, 3.276800e+04
  %1062 = call i64 @llround(double noundef %1061) #7
  store i64 %1062, ptr %20, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  store i64 32767, ptr %21, align 8, !tbaa !83
  %1063 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21)
  %1064 = load i64, ptr %1063, align 8, !tbaa !83
  %1065 = trunc i64 %1064 to i16
  %1066 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %879, i64 noundef %indvars.iv1166) #7
  %1067 = load i32, ptr %1066, align 4, !tbaa !43
  %1068 = sext i32 %1067 to i64
  %1069 = getelementptr inbounds i16, ptr %.5671904, i64 %1068
  store i16 %1065, ptr %1069, align 2, !tbaa !49
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  %indvars.iv.next1167 = add nuw nsw i64 %indvars.iv1166, 1
  %1070 = load i32, ptr %3, align 8, !tbaa !42
  %1071 = sext i32 %1070 to i64
  %1072 = icmp slt i64 %indvars.iv.next1167, %1071
  br i1 %1072, label %.lr.ph902, label %._crit_edge903.loopexit, !llvm.loop !112

._crit_edge903.loopexit:                          ; preds = %.lr.ph902
  %.pre1269 = load i32, ptr %876, align 4, !tbaa !39
  br label %._crit_edge903

._crit_edge903:                                   ; preds = %._crit_edge903.loopexit, %.preheader847
  %1073 = phi i32 [ %.pre1269, %._crit_edge903.loopexit ], [ %1053, %.preheader847 ]
  %1074 = phi i32 [ %1070, %._crit_edge903.loopexit ], [ %1054, %.preheader847 ]
  %1075 = load i32, ptr %880, align 4, !tbaa !38
  %1076 = sext i32 %1075 to i64
  %1077 = getelementptr inbounds double, ptr %.0655905, i64 %1076
  %1078 = load i32, ptr %881, align 8, !tbaa !32
  %1079 = sext i32 %1078 to i64
  %1080 = getelementptr inbounds i16, ptr %.5671904, i64 %1079
  %1081 = add nuw i32 %.0654906, 1
  %1082 = icmp ult i32 %1081, %1073
  br i1 %1082, label %.preheader847, label %.loopexit, !llvm.loop !113

1083:                                             ; preds = %47
  %1084 = getelementptr inbounds i8, ptr %3, i64 16
  %1085 = load i64, ptr %1084, align 8, !tbaa !41
  %1086 = icmp eq i64 %1085, 1
  br i1 %1086, label %.preheader866, label %thread-pre-split

.preheader866:                                    ; preds = %1083
  %1087 = getelementptr inbounds i8, ptr %0, i64 548
  %1088 = load i32, ptr %1087, align 4, !tbaa !39
  %.not = icmp eq i32 %1088, 0
  br i1 %.not, label %.loopexit, label %.preheader865.lr.ph

.preheader865.lr.ph:                              ; preds = %.preheader866
  %1089 = getelementptr inbounds i8, ptr %3, i64 32
  %1090 = getelementptr inbounds i8, ptr %3, i64 56
  %1091 = getelementptr inbounds i8, ptr %3, i64 4
  %1092 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader865

.preheader865:                                    ; preds = %.preheader865.lr.ph, %._crit_edge
  %1093 = phi i32 [ %1088, %.preheader865.lr.ph ], [ %1108, %._crit_edge ]
  %1094 = phi i32 [ %.pre, %.preheader865.lr.ph ], [ %1109, %._crit_edge ]
  %.0651870 = phi i32 [ 0, %.preheader865.lr.ph ], [ %1116, %._crit_edge ]
  %.0652869 = phi ptr [ %2, %.preheader865.lr.ph ], [ %1112, %._crit_edge ]
  %.0653868 = phi ptr [ %1, %.preheader865.lr.ph ], [ %1115, %._crit_edge ]
  %1095 = icmp sgt i32 %1094, 0
  br i1 %1095, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader865, %.lr.ph
  %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %.preheader865 ]
  %1096 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1089, i64 noundef %indvars.iv) #7
  %1097 = load i32, ptr %1096, align 4, !tbaa !43
  %1098 = sext i32 %1097 to i64
  %1099 = getelementptr inbounds i8, ptr %.0652869, i64 %1098
  %1100 = load i8, ptr %1099, align 1, !tbaa !44
  %1101 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1090, i64 noundef %indvars.iv) #7
  %1102 = load i32, ptr %1101, align 4, !tbaa !43
  %1103 = sext i32 %1102 to i64
  %1104 = getelementptr inbounds i8, ptr %.0653868, i64 %1103
  store i8 %1100, ptr %1104, align 1, !tbaa !44
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %1105 = load i32, ptr %3, align 8, !tbaa !42
  %1106 = sext i32 %1105 to i64
  %1107 = icmp slt i64 %indvars.iv.next, %1106
  br i1 %1107, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !114

._crit_edge.loopexit:                             ; preds = %.lr.ph
  %.pre1256 = load i32, ptr %1087, align 4, !tbaa !39
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %.preheader865
  %1108 = phi i32 [ %.pre1256, %._crit_edge.loopexit ], [ %1093, %.preheader865 ]
  %1109 = phi i32 [ %1105, %._crit_edge.loopexit ], [ %1094, %.preheader865 ]
  %1110 = load i32, ptr %1091, align 4, !tbaa !38
  %1111 = sext i32 %1110 to i64
  %1112 = getelementptr inbounds i8, ptr %.0652869, i64 %1111
  %1113 = load i32, ptr %1092, align 8, !tbaa !32
  %1114 = sext i32 %1113 to i64
  %1115 = getelementptr inbounds i8, ptr %.0653868, i64 %1114
  %1116 = add nuw i32 %.0651870, 1
  %1117 = icmp ult i32 %1116, %1108
  br i1 %1117, label %.preheader865, label %thread-pre-split.loopexit, !llvm.loop !115

thread-pre-split.loopexit:                        ; preds = %._crit_edge
  %.pr.pre = load i64, ptr %1084, align 8, !tbaa !41
  br label %thread-pre-split

thread-pre-split:                                 ; preds = %thread-pre-split.loopexit, %1083
  %1118 = phi i64 [ %1085, %1083 ], [ %.pr.pre, %thread-pre-split.loopexit ]
  %.1 = phi ptr [ %1, %1083 ], [ %1115, %thread-pre-split.loopexit ]
  switch i64 %1118, label %.loopexit [
    i64 2, label %.preheader851
    i64 4, label %.preheader854
    i64 8, label %.preheader857
    i64 16, label %.preheader860
    i64 32, label %.preheader863
  ]

.preheader863:                                    ; preds = %thread-pre-split
  %1119 = getelementptr inbounds i8, ptr %0, i64 548
  %1120 = load i32, ptr %1119, align 4, !tbaa !39
  %.not1081 = icmp eq i32 %1120, 0
  br i1 %.not1081, label %.loopexit, label %.preheader862.lr.ph

.preheader862.lr.ph:                              ; preds = %.preheader863
  %1121 = getelementptr inbounds i8, ptr %3, i64 32
  %1122 = getelementptr inbounds i8, ptr %3, i64 56
  %1123 = getelementptr inbounds i8, ptr %3, i64 4
  %1124 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1258 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader862

.preheader860:                                    ; preds = %thread-pre-split
  %1125 = getelementptr inbounds i8, ptr %0, i64 548
  %1126 = load i32, ptr %1125, align 4, !tbaa !39
  %.not1082 = icmp eq i32 %1126, 0
  br i1 %.not1082, label %.loopexit, label %.preheader859.lr.ph

.preheader859.lr.ph:                              ; preds = %.preheader860
  %1127 = getelementptr inbounds i8, ptr %3, i64 32
  %1128 = getelementptr inbounds i8, ptr %3, i64 56
  %1129 = getelementptr inbounds i8, ptr %3, i64 4
  %1130 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1260 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader859

.preheader857:                                    ; preds = %thread-pre-split
  %1131 = getelementptr inbounds i8, ptr %0, i64 548
  %1132 = load i32, ptr %1131, align 4, !tbaa !39
  %.not1083 = icmp eq i32 %1132, 0
  br i1 %.not1083, label %.loopexit, label %.preheader856.lr.ph

.preheader856.lr.ph:                              ; preds = %.preheader857
  %1133 = getelementptr inbounds i8, ptr %3, i64 32
  %1134 = getelementptr inbounds i8, ptr %3, i64 56
  %1135 = getelementptr inbounds i8, ptr %3, i64 4
  %1136 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1262 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader856

.preheader854:                                    ; preds = %thread-pre-split
  %1137 = getelementptr inbounds i8, ptr %0, i64 548
  %1138 = load i32, ptr %1137, align 4, !tbaa !39
  %.not1084 = icmp eq i32 %1138, 0
  br i1 %.not1084, label %.loopexit, label %.preheader853.lr.ph

.preheader853.lr.ph:                              ; preds = %.preheader854
  %1139 = getelementptr inbounds i8, ptr %3, i64 32
  %1140 = getelementptr inbounds i8, ptr %3, i64 56
  %1141 = getelementptr inbounds i8, ptr %3, i64 4
  %1142 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1264 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader853

.preheader851:                                    ; preds = %thread-pre-split
  %1143 = getelementptr inbounds i8, ptr %0, i64 548
  %1144 = load i32, ptr %1143, align 4, !tbaa !39
  %.not1085 = icmp eq i32 %1144, 0
  br i1 %.not1085, label %.loopexit, label %.preheader850.lr.ph

.preheader850.lr.ph:                              ; preds = %.preheader851
  %1145 = getelementptr inbounds i8, ptr %3, i64 32
  %1146 = getelementptr inbounds i8, ptr %3, i64 56
  %1147 = getelementptr inbounds i8, ptr %3, i64 4
  %1148 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1266 = load i32, ptr %3, align 8, !tbaa !42
  br label %.preheader850

.preheader850:                                    ; preds = %.preheader850.lr.ph, %._crit_edge897
  %1149 = phi i32 [ %1144, %.preheader850.lr.ph ], [ %1166, %._crit_edge897 ]
  %1150 = phi i32 [ %.pre1266, %.preheader850.lr.ph ], [ %1167, %._crit_edge897 ]
  %.0649900 = phi i32 [ 0, %.preheader850.lr.ph ], [ %1174, %._crit_edge897 ]
  %.0650899 = phi ptr [ %2, %.preheader850.lr.ph ], [ %1170, %._crit_edge897 ]
  %.2898 = phi ptr [ %.1, %.preheader850.lr.ph ], [ %1173, %._crit_edge897 ]
  %1151 = icmp sgt i32 %1150, 0
  br i1 %1151, label %.lr.ph896, label %._crit_edge897

.lr.ph896:                                        ; preds = %.preheader850, %.lr.ph896
  %indvars.iv1163 = phi i64 [ %indvars.iv.next1164, %.lr.ph896 ], [ 0, %.preheader850 ]
  %1152 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1145, i64 noundef %indvars.iv1163) #7
  %1153 = load i32, ptr %1152, align 4, !tbaa !43
  %1154 = sext i32 %1153 to i64
  %1155 = getelementptr inbounds i16, ptr %.0650899, i64 %1154
  %1156 = load i16, ptr %1155, align 2, !tbaa !49
  %1157 = lshr i16 %1156, 8
  %1158 = trunc nuw i16 %1157 to i8
  %1159 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1146, i64 noundef %indvars.iv1163) #7
  %1160 = load i32, ptr %1159, align 4, !tbaa !43
  %1161 = sext i32 %1160 to i64
  %1162 = getelementptr inbounds i8, ptr %.2898, i64 %1161
  store i8 %1158, ptr %1162, align 1, !tbaa !44
  %indvars.iv.next1164 = add nuw nsw i64 %indvars.iv1163, 1
  %1163 = load i32, ptr %3, align 8, !tbaa !42
  %1164 = sext i32 %1163 to i64
  %1165 = icmp slt i64 %indvars.iv.next1164, %1164
  br i1 %1165, label %.lr.ph896, label %._crit_edge897.loopexit, !llvm.loop !116

._crit_edge897.loopexit:                          ; preds = %.lr.ph896
  %.pre1267 = load i32, ptr %1143, align 4, !tbaa !39
  br label %._crit_edge897

._crit_edge897:                                   ; preds = %._crit_edge897.loopexit, %.preheader850
  %1166 = phi i32 [ %.pre1267, %._crit_edge897.loopexit ], [ %1149, %.preheader850 ]
  %1167 = phi i32 [ %1163, %._crit_edge897.loopexit ], [ %1150, %.preheader850 ]
  %1168 = load i32, ptr %1147, align 4, !tbaa !38
  %1169 = sext i32 %1168 to i64
  %1170 = getelementptr inbounds i16, ptr %.0650899, i64 %1169
  %1171 = load i32, ptr %1148, align 8, !tbaa !32
  %1172 = sext i32 %1171 to i64
  %1173 = getelementptr inbounds i8, ptr %.2898, i64 %1172
  %1174 = add nuw i32 %.0649900, 1
  %1175 = icmp ult i32 %1174, %1166
  br i1 %1175, label %.preheader850, label %.loopexit, !llvm.loop !117

.preheader853:                                    ; preds = %.preheader853.lr.ph, %._crit_edge891
  %1176 = phi i32 [ %1138, %.preheader853.lr.ph ], [ %1193, %._crit_edge891 ]
  %1177 = phi i32 [ %.pre1264, %.preheader853.lr.ph ], [ %1194, %._crit_edge891 ]
  %.0647894 = phi i32 [ 0, %.preheader853.lr.ph ], [ %1201, %._crit_edge891 ]
  %.0648893 = phi ptr [ %2, %.preheader853.lr.ph ], [ %1197, %._crit_edge891 ]
  %.3892 = phi ptr [ %.1, %.preheader853.lr.ph ], [ %1200, %._crit_edge891 ]
  %1178 = icmp sgt i32 %1177, 0
  br i1 %1178, label %.lr.ph890, label %._crit_edge891

.lr.ph890:                                        ; preds = %.preheader853, %.lr.ph890
  %indvars.iv1160 = phi i64 [ %indvars.iv.next1161, %.lr.ph890 ], [ 0, %.preheader853 ]
  %1179 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1139, i64 noundef %indvars.iv1160) #7
  %1180 = load i32, ptr %1179, align 4, !tbaa !43
  %1181 = sext i32 %1180 to i64
  %1182 = getelementptr inbounds %class.S24, ptr %.0648893, i64 %1181
  %1183 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %1182)
  %1184 = lshr i32 %1183, 16
  %1185 = trunc i32 %1184 to i8
  %1186 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1140, i64 noundef %indvars.iv1160) #7
  %1187 = load i32, ptr %1186, align 4, !tbaa !43
  %1188 = sext i32 %1187 to i64
  %1189 = getelementptr inbounds i8, ptr %.3892, i64 %1188
  store i8 %1185, ptr %1189, align 1, !tbaa !44
  %indvars.iv.next1161 = add nuw nsw i64 %indvars.iv1160, 1
  %1190 = load i32, ptr %3, align 8, !tbaa !42
  %1191 = sext i32 %1190 to i64
  %1192 = icmp slt i64 %indvars.iv.next1161, %1191
  br i1 %1192, label %.lr.ph890, label %._crit_edge891.loopexit, !llvm.loop !118

._crit_edge891.loopexit:                          ; preds = %.lr.ph890
  %.pre1265 = load i32, ptr %1137, align 4, !tbaa !39
  br label %._crit_edge891

._crit_edge891:                                   ; preds = %._crit_edge891.loopexit, %.preheader853
  %1193 = phi i32 [ %.pre1265, %._crit_edge891.loopexit ], [ %1176, %.preheader853 ]
  %1194 = phi i32 [ %1190, %._crit_edge891.loopexit ], [ %1177, %.preheader853 ]
  %1195 = load i32, ptr %1141, align 4, !tbaa !38
  %1196 = sext i32 %1195 to i64
  %1197 = getelementptr inbounds %class.S24, ptr %.0648893, i64 %1196
  %1198 = load i32, ptr %1142, align 8, !tbaa !32
  %1199 = sext i32 %1198 to i64
  %1200 = getelementptr inbounds i8, ptr %.3892, i64 %1199
  %1201 = add nuw i32 %.0647894, 1
  %1202 = icmp ult i32 %1201, %1193
  br i1 %1202, label %.preheader853, label %.loopexit, !llvm.loop !119

.preheader856:                                    ; preds = %.preheader856.lr.ph, %._crit_edge885
  %1203 = phi i32 [ %1132, %.preheader856.lr.ph ], [ %1220, %._crit_edge885 ]
  %1204 = phi i32 [ %.pre1262, %.preheader856.lr.ph ], [ %1221, %._crit_edge885 ]
  %.0645888 = phi i32 [ 0, %.preheader856.lr.ph ], [ %1228, %._crit_edge885 ]
  %.0646887 = phi ptr [ %2, %.preheader856.lr.ph ], [ %1224, %._crit_edge885 ]
  %.4886 = phi ptr [ %.1, %.preheader856.lr.ph ], [ %1227, %._crit_edge885 ]
  %1205 = icmp sgt i32 %1204, 0
  br i1 %1205, label %.lr.ph884, label %._crit_edge885

.lr.ph884:                                        ; preds = %.preheader856, %.lr.ph884
  %indvars.iv1157 = phi i64 [ %indvars.iv.next1158, %.lr.ph884 ], [ 0, %.preheader856 ]
  %1206 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1133, i64 noundef %indvars.iv1157) #7
  %1207 = load i32, ptr %1206, align 4, !tbaa !43
  %1208 = sext i32 %1207 to i64
  %1209 = getelementptr inbounds i32, ptr %.0646887, i64 %1208
  %1210 = load i32, ptr %1209, align 4, !tbaa !43
  %1211 = lshr i32 %1210, 24
  %1212 = trunc nuw i32 %1211 to i8
  %1213 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1134, i64 noundef %indvars.iv1157) #7
  %1214 = load i32, ptr %1213, align 4, !tbaa !43
  %1215 = sext i32 %1214 to i64
  %1216 = getelementptr inbounds i8, ptr %.4886, i64 %1215
  store i8 %1212, ptr %1216, align 1, !tbaa !44
  %indvars.iv.next1158 = add nuw nsw i64 %indvars.iv1157, 1
  %1217 = load i32, ptr %3, align 8, !tbaa !42
  %1218 = sext i32 %1217 to i64
  %1219 = icmp slt i64 %indvars.iv.next1158, %1218
  br i1 %1219, label %.lr.ph884, label %._crit_edge885.loopexit, !llvm.loop !120

._crit_edge885.loopexit:                          ; preds = %.lr.ph884
  %.pre1263 = load i32, ptr %1131, align 4, !tbaa !39
  br label %._crit_edge885

._crit_edge885:                                   ; preds = %._crit_edge885.loopexit, %.preheader856
  %1220 = phi i32 [ %.pre1263, %._crit_edge885.loopexit ], [ %1203, %.preheader856 ]
  %1221 = phi i32 [ %1217, %._crit_edge885.loopexit ], [ %1204, %.preheader856 ]
  %1222 = load i32, ptr %1135, align 4, !tbaa !38
  %1223 = sext i32 %1222 to i64
  %1224 = getelementptr inbounds i32, ptr %.0646887, i64 %1223
  %1225 = load i32, ptr %1136, align 8, !tbaa !32
  %1226 = sext i32 %1225 to i64
  %1227 = getelementptr inbounds i8, ptr %.4886, i64 %1226
  %1228 = add nuw i32 %.0645888, 1
  %1229 = icmp ult i32 %1228, %1220
  br i1 %1229, label %.preheader856, label %.loopexit, !llvm.loop !121

.preheader859:                                    ; preds = %.preheader859.lr.ph, %._crit_edge879
  %1230 = phi i32 [ %1126, %.preheader859.lr.ph ], [ %1250, %._crit_edge879 ]
  %1231 = phi i32 [ %.pre1260, %.preheader859.lr.ph ], [ %1251, %._crit_edge879 ]
  %.0643882 = phi i32 [ 0, %.preheader859.lr.ph ], [ %1258, %._crit_edge879 ]
  %.0644881 = phi ptr [ %2, %.preheader859.lr.ph ], [ %1254, %._crit_edge879 ]
  %.5880 = phi ptr [ %.1, %.preheader859.lr.ph ], [ %1257, %._crit_edge879 ]
  %1232 = icmp sgt i32 %1231, 0
  br i1 %1232, label %.lr.ph878, label %._crit_edge879

.lr.ph878:                                        ; preds = %.preheader859, %.lr.ph878
  %indvars.iv1154 = phi i64 [ %indvars.iv.next1155, %.lr.ph878 ], [ 0, %.preheader859 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #7
  %1233 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1127, i64 noundef %indvars.iv1154) #7
  %1234 = load i32, ptr %1233, align 4, !tbaa !43
  %1235 = sext i32 %1234 to i64
  %1236 = getelementptr inbounds float, ptr %.0644881, i64 %1235
  %1237 = load float, ptr %1236, align 4, !tbaa !57
  %1238 = fmul float %1237, 1.280000e+02
  %1239 = call noundef i64 @_ZSt7llroundf(float noundef %1238)
  store i64 %1239, ptr %22, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #7
  store i64 127, ptr %23, align 8, !tbaa !83
  %1240 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23)
  %1241 = load i64, ptr %1240, align 8, !tbaa !83
  %1242 = trunc i64 %1241 to i8
  %1243 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1128, i64 noundef %indvars.iv1154) #7
  %1244 = load i32, ptr %1243, align 4, !tbaa !43
  %1245 = sext i32 %1244 to i64
  %1246 = getelementptr inbounds i8, ptr %.5880, i64 %1245
  store i8 %1242, ptr %1246, align 1, !tbaa !44
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  %indvars.iv.next1155 = add nuw nsw i64 %indvars.iv1154, 1
  %1247 = load i32, ptr %3, align 8, !tbaa !42
  %1248 = sext i32 %1247 to i64
  %1249 = icmp slt i64 %indvars.iv.next1155, %1248
  br i1 %1249, label %.lr.ph878, label %._crit_edge879.loopexit, !llvm.loop !122

._crit_edge879.loopexit:                          ; preds = %.lr.ph878
  %.pre1261 = load i32, ptr %1125, align 4, !tbaa !39
  br label %._crit_edge879

._crit_edge879:                                   ; preds = %._crit_edge879.loopexit, %.preheader859
  %1250 = phi i32 [ %.pre1261, %._crit_edge879.loopexit ], [ %1230, %.preheader859 ]
  %1251 = phi i32 [ %1247, %._crit_edge879.loopexit ], [ %1231, %.preheader859 ]
  %1252 = load i32, ptr %1129, align 4, !tbaa !38
  %1253 = sext i32 %1252 to i64
  %1254 = getelementptr inbounds float, ptr %.0644881, i64 %1253
  %1255 = load i32, ptr %1130, align 8, !tbaa !32
  %1256 = sext i32 %1255 to i64
  %1257 = getelementptr inbounds i8, ptr %.5880, i64 %1256
  %1258 = add nuw i32 %.0643882, 1
  %1259 = icmp ult i32 %1258, %1250
  br i1 %1259, label %.preheader859, label %.loopexit, !llvm.loop !123

.preheader862:                                    ; preds = %.preheader862.lr.ph, %._crit_edge873
  %1260 = phi i32 [ %1120, %.preheader862.lr.ph ], [ %1280, %._crit_edge873 ]
  %1261 = phi i32 [ %.pre1258, %.preheader862.lr.ph ], [ %1281, %._crit_edge873 ]
  %.0876 = phi i32 [ 0, %.preheader862.lr.ph ], [ %1288, %._crit_edge873 ]
  %.0642875 = phi ptr [ %2, %.preheader862.lr.ph ], [ %1284, %._crit_edge873 ]
  %.6874 = phi ptr [ %.1, %.preheader862.lr.ph ], [ %1287, %._crit_edge873 ]
  %1262 = icmp sgt i32 %1261, 0
  br i1 %1262, label %.lr.ph872, label %._crit_edge873

.lr.ph872:                                        ; preds = %.preheader862, %.lr.ph872
  %indvars.iv1151 = phi i64 [ %indvars.iv.next1152, %.lr.ph872 ], [ 0, %.preheader862 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %1263 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1121, i64 noundef %indvars.iv1151) #7
  %1264 = load i32, ptr %1263, align 4, !tbaa !43
  %1265 = sext i32 %1264 to i64
  %1266 = getelementptr inbounds double, ptr %.0642875, i64 %1265
  %1267 = load double, ptr %1266, align 8, !tbaa !45
  %1268 = fmul double %1267, 1.280000e+02
  %1269 = call i64 @llround(double noundef %1268) #7
  store i64 %1269, ptr %24, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  store i64 127, ptr %25, align 8, !tbaa !83
  %1270 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25)
  %1271 = load i64, ptr %1270, align 8, !tbaa !83
  %1272 = trunc i64 %1271 to i8
  %1273 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1122, i64 noundef %indvars.iv1151) #7
  %1274 = load i32, ptr %1273, align 4, !tbaa !43
  %1275 = sext i32 %1274 to i64
  %1276 = getelementptr inbounds i8, ptr %.6874, i64 %1275
  store i8 %1272, ptr %1276, align 1, !tbaa !44
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  %indvars.iv.next1152 = add nuw nsw i64 %indvars.iv1151, 1
  %1277 = load i32, ptr %3, align 8, !tbaa !42
  %1278 = sext i32 %1277 to i64
  %1279 = icmp slt i64 %indvars.iv.next1152, %1278
  br i1 %1279, label %.lr.ph872, label %._crit_edge873.loopexit, !llvm.loop !124

._crit_edge873.loopexit:                          ; preds = %.lr.ph872
  %.pre1259 = load i32, ptr %1119, align 4, !tbaa !39
  br label %._crit_edge873

._crit_edge873:                                   ; preds = %._crit_edge873.loopexit, %.preheader862
  %1280 = phi i32 [ %.pre1259, %._crit_edge873.loopexit ], [ %1260, %.preheader862 ]
  %1281 = phi i32 [ %1277, %._crit_edge873.loopexit ], [ %1261, %.preheader862 ]
  %1282 = load i32, ptr %1123, align 4, !tbaa !38
  %1283 = sext i32 %1282 to i64
  %1284 = getelementptr inbounds double, ptr %.0642875, i64 %1283
  %1285 = load i32, ptr %1124, align 8, !tbaa !32
  %1286 = sext i32 %1285 to i64
  %1287 = getelementptr inbounds i8, ptr %.6874, i64 %1286
  %1288 = add nuw i32 %.0876, 1
  %1289 = icmp ult i32 %1288, %1280
  br i1 %1289, label %.preheader862, label %.loopexit, !llvm.loop !125

.loopexit:                                        ; preds = %._crit_edge873, %._crit_edge879, %._crit_edge885, %._crit_edge891, %._crit_edge897, %._crit_edge903, %._crit_edge909, %._crit_edge915, %._crit_edge921, %._crit_edge927, %._crit_edge933, %._crit_edge939, %._crit_edge945, %._crit_edge951, %._crit_edge957, %._crit_edge963, %._crit_edge969, %._crit_edge975, %._crit_edge981, %._crit_edge987, %._crit_edge993, %._crit_edge999, %._crit_edge1005, %._crit_edge1011, %._crit_edge1017, %._crit_edge1023, %._crit_edge1029, %._crit_edge1035, %._crit_edge1041, %._crit_edge1047, %._crit_edge1053, %._crit_edge1059, %._crit_edge1065, %._crit_edge1071, %._crit_edge1077, %.preheader866, %.preheader863, %.preheader860, %.preheader857, %.preheader854, %.preheader851, %.preheader848, %.preheader845, %.preheader842, %.preheader839, %.preheader836, %.preheader833, %.preheader830, %.preheader827, %.preheader824, %.preheader821, %.preheader818, %.preheader815, %.preheader812, %.preheader809, %.preheader806, %.preheader803, %.preheader800, %.preheader797, %.preheader794, %.preheader791, %.preheader788, %.preheader785, %.preheader782, %.preheader779, %.preheader776, %.preheader773, %.preheader770, %.preheader767, %.preheader764, %.preheader762, %thread-pre-split, %47, %873, %665, %446, %248, %50
  ret void
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIxERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZSt7llroundf(float noundef) local_unnamed_addr #3

; Function Attrs: nounwind
declare i64 @llround(double noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3 align 2

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint 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 #5 = { nounwind "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 #6 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { 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, !11, i64 528}
!6 = !{!"_ZTS5RtApi", !7, i64 8, !16, i64 384, !19, i64 416, !21, i64 448, !22, i64 456, !26, i64 480, !27, i64 488}
!7 = !{!"_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE", !8, i64 0, !9, i64 8}
!8 = !{!"_ZTSSo"}
!9 = !{!"_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE", !10, i64 0, !15, i64 64, !16, i64 72}
!10 = !{!"_ZTSSt15basic_streambufIcSt11char_traitsIcEE", !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !11, i64 48, !14, i64 56}
!11 = !{!"any pointer", !12, i64 0}
!12 = !{!"omnipotent char", !13, i64 0}
!13 = !{!"Simple C++ TBAA"}
!14 = !{!"_ZTSSt6locale", !11, i64 0}
!15 = !{!"_ZTSSt13_Ios_Openmode", !12, i64 0}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !18, i64 8, !12, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !11, i64 0}
!18 = !{!"long", !12, i64 0}
!19 = !{!"_ZTSSt8functionIFv16RtAudioErrorTypeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !20, i64 0, !11, i64 24}
!20 = !{!"_ZTSSt14_Function_base", !12, i64 0, !11, i64 16}
!21 = !{!"bool", !12, i64 0}
!22 = !{!"_ZTSSt6vectorIN7RtAudio10DeviceInfoESaIS1_EE", !23, i64 0}
!23 = !{!"_ZTSSt12_Vector_baseIN7RtAudio10DeviceInfoESaIS1_EE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIN7RtAudio10DeviceInfoESaIS1_EE12_Vector_implE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIN7RtAudio10DeviceInfoESaIS1_EE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!26 = !{!"int", !12, i64 0}
!27 = !{!"_ZTSN5RtApi11RtApiStreamE", !12, i64 0, !11, i64 8, !28, i64 16, !29, i64 20, !12, i64 24, !11, i64 40, !12, i64 48, !21, i64 50, !12, i64 51, !12, i64 53, !26, i64 56, !26, i64 60, !26, i64 64, !12, i64 68, !12, i64 76, !12, i64 84, !12, i64 96, !18, i64 112, !12, i64 120, !12, i64 136, !30, i64 176, !12, i64 232, !31, i64 392}
!28 = !{!"_ZTSN5RtApi10StreamModeE", !12, i64 0}
!29 = !{!"_ZTSN5RtApi11StreamStateE", !12, i64 0}
!30 = !{!"_ZTS12CallbackInfo", !11, i64 0, !18, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !21, i64 40, !21, i64 41, !26, i64 44, !21, i64 48}
!31 = !{!"double", !12, i64 0}
!32 = !{!33, !26, i64 8}
!33 = !{!"_ZTSN5RtApi11ConvertInfoE", !26, i64 0, !26, i64 4, !26, i64 8, !18, i64 16, !18, i64 24, !34, i64 32, !34, i64 56}
!34 = !{!"_ZTSSt6vectorIiSaIiEE", !35, i64 0}
!35 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !37, i64 0}
!37 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!38 = !{!33, !26, i64 4}
!39 = !{!6, !26, i64 548}
!40 = !{!33, !18, i64 24}
!41 = !{!33, !18, i64 16}
!42 = !{!33, !26, i64 0}
!43 = !{!26, !26, i64 0}
!44 = !{!12, !12, i64 0}
!45 = !{!31, !31, i64 0}
!46 = distinct !{!46, !47}
!47 = !{!"llvm.loop.mustprogress"}
!48 = distinct !{!48, !47}
!49 = !{!50, !50, i64 0}
!50 = !{!"short", !12, i64 0}
!51 = distinct !{!51, !47}
!52 = distinct !{!52, !47}
!53 = distinct !{!53, !47}
!54 = distinct !{!54, !47}
!55 = distinct !{!55, !47}
!56 = distinct !{!56, !47}
!57 = !{!58, !58, i64 0}
!58 = !{!"float", !12, i64 0}
!59 = distinct !{!59, !47}
!60 = distinct !{!60, !47}
!61 = distinct !{!61, !47}
!62 = distinct !{!62, !47}
!63 = distinct !{!63, !47}
!64 = distinct !{!64, !47}
!65 = distinct !{!65, !47}
!66 = distinct !{!66, !47}
!67 = distinct !{!67, !47}
!68 = distinct !{!68, !47}
!69 = distinct !{!69, !47}
!70 = distinct !{!70, !47}
!71 = distinct !{!71, !47}
!72 = distinct !{!72, !47}
!73 = distinct !{!73, !47}
!74 = distinct !{!74, !47}
!75 = distinct !{!75, !47}
!76 = distinct !{!76, !47}
!77 = distinct !{!77, !47}
!78 = distinct !{!78, !47}
!79 = distinct !{!79, !47}
!80 = distinct !{!80, !47}
!81 = distinct !{!81, !47}
!82 = distinct !{!82, !47}
!83 = !{!84, !84, i64 0}
!84 = !{!"long long", !12, i64 0}
!85 = distinct !{!85, !47}
!86 = distinct !{!86, !47}
!87 = distinct !{!87, !47}
!88 = distinct !{!88, !47}
!89 = distinct !{!89, !47}
!90 = distinct !{!90, !47}
!91 = distinct !{!91, !47}
!92 = distinct !{!92, !47}
!93 = !{i64 0, i64 3, !44}
!94 = distinct !{!94, !47}
!95 = distinct !{!95, !47}
!96 = distinct !{!96, !47}
!97 = distinct !{!97, !47}
!98 = distinct !{!98, !47}
!99 = distinct !{!99, !47}
!100 = distinct !{!100, !47}
!101 = distinct !{!101, !47}
!102 = distinct !{!102, !47}
!103 = distinct !{!103, !47}
!104 = distinct !{!104, !47}
!105 = distinct !{!105, !47}
!106 = distinct !{!106, !47}
!107 = distinct !{!107, !47}
!108 = distinct !{!108, !47}
!109 = distinct !{!109, !47}
!110 = distinct !{!110, !47}
!111 = distinct !{!111, !47}
!112 = distinct !{!112, !47}
!113 = distinct !{!113, !47}
!114 = distinct !{!114, !47}
!115 = distinct !{!115, !47}
!116 = distinct !{!116, !47}
!117 = distinct !{!117, !47}
!118 = distinct !{!118, !47}
!119 = distinct !{!119, !47}
!120 = distinct !{!120, !47}
!121 = distinct !{!121, !47}
!122 = distinct !{!122, !47}
!123 = distinct !{!123, !47}
!124 = distinct !{!124, !47}
!125 = distinct !{!125, !47}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass