; LLVM IR from erwincoumans/tiny-differentiable-simulator :: third_party/tiny_audio/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", i8, [7 x i8], %"struct.RtApi::RtApiStream", i8, [7 x i8] }>
%"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] }
%"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], i32, %struct.CallbackInfo, [2 x %"struct.RtApi::ConvertInfo"], double }
%struct.CallbackInfo = type { ptr, i32, ptr, ptr, ptr, ptr, i8, i8, i32 }
%"struct.RtApi::ConvertInfo" = type { i32, i32, i32, i64, i64, %"class.std::vector.3", %"class.std::vector.3" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = 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(793), i64 noundef) #1 align 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) #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN5RtApi13convertBufferEPcS0_RNS_11ConvertInfoE(ptr noundef nonnull align 8 dereferenceable(793) %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 double, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca ptr, align 8
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca ptr, align 8
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca float, align 4
  %25 = alloca ptr, align 8
  %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 i32, align 4
  %38 = alloca ptr, align 8
  %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 ptr, align 8
  %48 = alloca i32, align 4
  %49 = alloca ptr, align 8
  %50 = alloca i32, align 4
  %51 = alloca ptr, align 8
  %52 = alloca ptr, align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca ptr, align 8
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca ptr, align 8
  %59 = alloca i32, align 4
  %60 = alloca ptr, align 8
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca ptr, align 8
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca ptr, align 8
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca ptr, align 8
  %70 = alloca ptr, align 8
  %71 = alloca i32, align 4
  %72 = alloca ptr, align 8
  %73 = alloca i32, align 4
  %74 = alloca ptr, align 8
  %75 = alloca i32, align 4
  %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 ptr, align 8
  %84 = alloca i32, align 4
  %85 = alloca ptr, align 8
  %86 = alloca i32, align 4
  %87 = alloca ptr, align 8
  %88 = alloca i32, align 4
  %89 = alloca ptr, align 8
  %90 = alloca i32, align 4
  %91 = alloca ptr, align 8
  %92 = alloca i32, align 4
  %93 = alloca ptr, align 8
  %94 = alloca i32, align 4
  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
  %95 = load ptr, ptr %5, align 8
  %96 = load ptr, ptr %6, align 8, !tbaa !5
  %97 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %98 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %97, i32 0, i32 5
  %99 = load ptr, ptr %98, align 8, !tbaa !9
  %100 = icmp eq ptr %96, %99
  br i1 %100, label %101, label %131

101:                                              ; preds = %4
  %102 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %103 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %102, i32 0, i32 2
  %104 = load i32, ptr %103, align 8, !tbaa !27
  %105 = icmp eq i32 %104, 2
  br i1 %105, label %106, label %131

106:                                              ; preds = %101
  %107 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %108 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %107, i32 0, i32 14
  %109 = getelementptr inbounds [2 x i32], ptr %108, i64 0, i64 0
  %110 = load i32, ptr %109, align 4, !tbaa !28
  %111 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %112 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %111, i32 0, i32 14
  %113 = getelementptr inbounds [2 x i32], ptr %112, i64 0, i64 1
  %114 = load i32, ptr %113, align 4, !tbaa !28
  %115 = icmp ult i32 %110, %114
  br i1 %115, label %116, label %131

116:                                              ; preds = %106
  %117 = load ptr, ptr %6, align 8, !tbaa !5
  %118 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %119 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %118, i32 0, i32 11
  %120 = load i32, ptr %119, align 4, !tbaa !29
  %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 !30
  %124 = mul i32 %120, %123
  %125 = load ptr, ptr %8, align 8, !tbaa !5
  %126 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %125, i32 0, i32 4
  %127 = load i64, ptr %126, align 8, !tbaa !36
  %128 = call noundef i32 @_ZN5RtApi11formatBytesEm(ptr noundef nonnull align 8 dereferenceable(793) %95, i64 noundef %127)
  %129 = mul i32 %124, %128
  %130 = zext i32 %129 to i64
  call void @llvm.memset.p0.i64(ptr align 1 %117, i8 0, i64 %130, i1 false)
  br label %131

131:                                              ; preds = %116, %106, %101, %4
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  %132 = load ptr, ptr %8, align 8, !tbaa !5
  %133 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %132, i32 0, i32 4
  %134 = load i64, ptr %133, align 8, !tbaa !36
  %135 = icmp eq i64 %134, 32
  br i1 %135, label %136, label %606

136:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #6
  %137 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %137, ptr %11, align 8, !tbaa !5
  %138 = load ptr, ptr %8, align 8, !tbaa !5
  %139 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %138, i32 0, i32 3
  %140 = load i64, ptr %139, align 8, !tbaa !37
  %141 = icmp eq i64 %140, 1
  br i1 %141, label %142, label %222

142:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #6
  %143 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %143, ptr %12, align 8, !tbaa !5
  store double 0x3F80101010101010, ptr %10, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  store i32 0, ptr %13, align 4, !tbaa !28
  br label %144

144:                                              ; preds = %218, %142
  %145 = load i32, ptr %13, align 4, !tbaa !28
  %146 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %147 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %146, i32 0, i32 11
  %148 = load i32, ptr %147, align 4, !tbaa !29
  %149 = icmp ult i32 %145, %148
  br i1 %149, label %151, label %150

150:                                              ; preds = %144
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  br label %221

151:                                              ; preds = %144
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %152

152:                                              ; preds = %202, %151
  %153 = load i32, ptr %9, align 4, !tbaa !28
  %154 = load ptr, ptr %8, align 8, !tbaa !5
  %155 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %154, i32 0, i32 0
  %156 = load i32, ptr %155, align 8, !tbaa !39
  %157 = icmp slt i32 %153, %156
  br i1 %157, label %158, label %205

158:                                              ; preds = %152
  %159 = load ptr, ptr %12, align 8, !tbaa !5
  %160 = load ptr, ptr %8, align 8, !tbaa !5
  %161 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %160, i32 0, i32 5
  %162 = load i32, ptr %9, align 4, !tbaa !28
  %163 = sext i32 %162 to i64
  %164 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %161, i64 noundef %163) #6
  %165 = load i32, ptr %164, align 4, !tbaa !28
  %166 = sext i32 %165 to i64
  %167 = getelementptr inbounds i8, ptr %159, i64 %166
  %168 = load i8, ptr %167, align 1, !tbaa !40
  %169 = sitofp i8 %168 to double
  %170 = load ptr, ptr %11, align 8, !tbaa !5
  %171 = load ptr, ptr %8, align 8, !tbaa !5
  %172 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %171, i32 0, i32 6
  %173 = load i32, ptr %9, align 4, !tbaa !28
  %174 = sext i32 %173 to i64
  %175 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %172, i64 noundef %174) #6
  %176 = load i32, ptr %175, align 4, !tbaa !28
  %177 = sext i32 %176 to i64
  %178 = getelementptr inbounds double, ptr %170, i64 %177
  store double %169, ptr %178, align 8, !tbaa !38
  %179 = load ptr, ptr %11, align 8, !tbaa !5
  %180 = load ptr, ptr %8, align 8, !tbaa !5
  %181 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %180, i32 0, i32 6
  %182 = load i32, ptr %9, align 4, !tbaa !28
  %183 = sext i32 %182 to i64
  %184 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %181, i64 noundef %183) #6
  %185 = load i32, ptr %184, align 4, !tbaa !28
  %186 = sext i32 %185 to i64
  %187 = getelementptr inbounds double, ptr %179, i64 %186
  %188 = load double, ptr %187, align 8, !tbaa !38
  %189 = fadd double %188, 5.000000e-01
  store double %189, ptr %187, align 8, !tbaa !38
  %190 = load double, ptr %10, align 8, !tbaa !38
  %191 = load ptr, ptr %11, align 8, !tbaa !5
  %192 = load ptr, ptr %8, align 8, !tbaa !5
  %193 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %192, i32 0, i32 6
  %194 = load i32, ptr %9, align 4, !tbaa !28
  %195 = sext i32 %194 to i64
  %196 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %193, i64 noundef %195) #6
  %197 = load i32, ptr %196, align 4, !tbaa !28
  %198 = sext i32 %197 to i64
  %199 = getelementptr inbounds double, ptr %191, i64 %198
  %200 = load double, ptr %199, align 8, !tbaa !38
  %201 = fmul double %200, %190
  store double %201, ptr %199, align 8, !tbaa !38
  br label %202

202:                                              ; preds = %158
  %203 = load i32, ptr %9, align 4, !tbaa !28
  %204 = add nsw i32 %203, 1
  store i32 %204, ptr %9, align 4, !tbaa !28
  br label %152, !llvm.loop !41

205:                                              ; preds = %152
  %206 = load ptr, ptr %8, align 8, !tbaa !5
  %207 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %206, i32 0, i32 1
  %208 = load i32, ptr %207, align 4, !tbaa !43
  %209 = load ptr, ptr %12, align 8, !tbaa !5
  %210 = sext i32 %208 to i64
  %211 = getelementptr inbounds i8, ptr %209, i64 %210
  store ptr %211, ptr %12, align 8, !tbaa !5
  %212 = load ptr, ptr %8, align 8, !tbaa !5
  %213 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %212, i32 0, i32 2
  %214 = load i32, ptr %213, align 8, !tbaa !30
  %215 = load ptr, ptr %11, align 8, !tbaa !5
  %216 = sext i32 %214 to i64
  %217 = getelementptr inbounds double, ptr %215, i64 %216
  store ptr %217, ptr %11, align 8, !tbaa !5
  br label %218

218:                                              ; preds = %205
  %219 = load i32, ptr %13, align 4, !tbaa !28
  %220 = add i32 %219, 1
  store i32 %220, ptr %13, align 4, !tbaa !28
  br label %144, !llvm.loop !44

221:                                              ; preds = %150
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #6
  br label %605

222:                                              ; preds = %136
  %223 = load ptr, ptr %8, align 8, !tbaa !5
  %224 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %223, i32 0, i32 3
  %225 = load i64, ptr %224, align 8, !tbaa !37
  %226 = icmp eq i64 %225, 2
  br i1 %226, label %227, label %307

227:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #6
  %228 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %228, ptr %14, align 8, !tbaa !5
  store double 0x3F00001000100010, ptr %10, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !28
  br label %229

229:                                              ; preds = %303, %227
  %230 = load i32, ptr %15, align 4, !tbaa !28
  %231 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %232 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %231, i32 0, i32 11
  %233 = load i32, ptr %232, align 4, !tbaa !29
  %234 = icmp ult i32 %230, %233
  br i1 %234, label %236, label %235

235:                                              ; preds = %229
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %306

236:                                              ; preds = %229
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %237

237:                                              ; preds = %287, %236
  %238 = load i32, ptr %9, align 4, !tbaa !28
  %239 = load ptr, ptr %8, align 8, !tbaa !5
  %240 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %239, i32 0, i32 0
  %241 = load i32, ptr %240, align 8, !tbaa !39
  %242 = icmp slt i32 %238, %241
  br i1 %242, label %243, label %290

243:                                              ; preds = %237
  %244 = load ptr, ptr %14, align 8, !tbaa !5
  %245 = load ptr, ptr %8, align 8, !tbaa !5
  %246 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %245, i32 0, i32 5
  %247 = load i32, ptr %9, align 4, !tbaa !28
  %248 = sext i32 %247 to i64
  %249 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %246, i64 noundef %248) #6
  %250 = load i32, ptr %249, align 4, !tbaa !28
  %251 = sext i32 %250 to i64
  %252 = getelementptr inbounds i16, ptr %244, i64 %251
  %253 = load i16, ptr %252, align 2, !tbaa !45
  %254 = sitofp i16 %253 to double
  %255 = load ptr, ptr %11, align 8, !tbaa !5
  %256 = load ptr, ptr %8, align 8, !tbaa !5
  %257 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %256, i32 0, i32 6
  %258 = load i32, ptr %9, align 4, !tbaa !28
  %259 = sext i32 %258 to i64
  %260 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %257, i64 noundef %259) #6
  %261 = load i32, ptr %260, align 4, !tbaa !28
  %262 = sext i32 %261 to i64
  %263 = getelementptr inbounds double, ptr %255, i64 %262
  store double %254, ptr %263, align 8, !tbaa !38
  %264 = load ptr, ptr %11, align 8, !tbaa !5
  %265 = load ptr, ptr %8, align 8, !tbaa !5
  %266 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %265, i32 0, i32 6
  %267 = load i32, ptr %9, align 4, !tbaa !28
  %268 = sext i32 %267 to i64
  %269 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %266, i64 noundef %268) #6
  %270 = load i32, ptr %269, align 4, !tbaa !28
  %271 = sext i32 %270 to i64
  %272 = getelementptr inbounds double, ptr %264, i64 %271
  %273 = load double, ptr %272, align 8, !tbaa !38
  %274 = fadd double %273, 5.000000e-01
  store double %274, ptr %272, align 8, !tbaa !38
  %275 = load double, ptr %10, align 8, !tbaa !38
  %276 = load ptr, ptr %11, align 8, !tbaa !5
  %277 = load ptr, ptr %8, align 8, !tbaa !5
  %278 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %277, i32 0, i32 6
  %279 = load i32, ptr %9, align 4, !tbaa !28
  %280 = sext i32 %279 to i64
  %281 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %278, i64 noundef %280) #6
  %282 = load i32, ptr %281, align 4, !tbaa !28
  %283 = sext i32 %282 to i64
  %284 = getelementptr inbounds double, ptr %276, i64 %283
  %285 = load double, ptr %284, align 8, !tbaa !38
  %286 = fmul double %285, %275
  store double %286, ptr %284, align 8, !tbaa !38
  br label %287

287:                                              ; preds = %243
  %288 = load i32, ptr %9, align 4, !tbaa !28
  %289 = add nsw i32 %288, 1
  store i32 %289, ptr %9, align 4, !tbaa !28
  br label %237, !llvm.loop !47

290:                                              ; preds = %237
  %291 = load ptr, ptr %8, align 8, !tbaa !5
  %292 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %291, i32 0, i32 1
  %293 = load i32, ptr %292, align 4, !tbaa !43
  %294 = load ptr, ptr %14, align 8, !tbaa !5
  %295 = sext i32 %293 to i64
  %296 = getelementptr inbounds i16, ptr %294, i64 %295
  store ptr %296, ptr %14, align 8, !tbaa !5
  %297 = load ptr, ptr %8, align 8, !tbaa !5
  %298 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %297, i32 0, i32 2
  %299 = load i32, ptr %298, align 8, !tbaa !30
  %300 = load ptr, ptr %11, align 8, !tbaa !5
  %301 = sext i32 %299 to i64
  %302 = getelementptr inbounds double, ptr %300, i64 %301
  store ptr %302, ptr %11, align 8, !tbaa !5
  br label %303

303:                                              ; preds = %290
  %304 = load i32, ptr %15, align 4, !tbaa !28
  %305 = add i32 %304, 1
  store i32 %305, ptr %15, align 4, !tbaa !28
  br label %229, !llvm.loop !48

306:                                              ; preds = %235
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  br label %604

307:                                              ; preds = %222
  %308 = load ptr, ptr %8, align 8, !tbaa !5
  %309 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %308, i32 0, i32 3
  %310 = load i64, ptr %309, align 8, !tbaa !37
  %311 = icmp eq i64 %310, 4
  br i1 %311, label %312, label %392

312:                                              ; preds = %307
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #6
  %313 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %313, ptr %16, align 8, !tbaa !5
  store double 0x3E80000010000010, ptr %10, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  store i32 0, ptr %17, align 4, !tbaa !28
  br label %314

314:                                              ; preds = %388, %312
  %315 = load i32, ptr %17, align 4, !tbaa !28
  %316 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %317 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %316, i32 0, i32 11
  %318 = load i32, ptr %317, align 4, !tbaa !29
  %319 = icmp ult i32 %315, %318
  br i1 %319, label %321, label %320

320:                                              ; preds = %314
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  br label %391

321:                                              ; preds = %314
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %322

322:                                              ; preds = %372, %321
  %323 = load i32, ptr %9, align 4, !tbaa !28
  %324 = load ptr, ptr %8, align 8, !tbaa !5
  %325 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %324, i32 0, i32 0
  %326 = load i32, ptr %325, align 8, !tbaa !39
  %327 = icmp slt i32 %323, %326
  br i1 %327, label %328, label %375

328:                                              ; preds = %322
  %329 = load ptr, ptr %16, align 8, !tbaa !5
  %330 = load ptr, ptr %8, align 8, !tbaa !5
  %331 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %330, i32 0, i32 5
  %332 = load i32, ptr %9, align 4, !tbaa !28
  %333 = sext i32 %332 to i64
  %334 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %333) #6
  %335 = load i32, ptr %334, align 4, !tbaa !28
  %336 = sext i32 %335 to i64
  %337 = getelementptr inbounds %class.S24, ptr %329, i64 %336
  %338 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %337)
  %339 = sitofp i32 %338 to double
  %340 = load ptr, ptr %11, align 8, !tbaa !5
  %341 = load ptr, ptr %8, align 8, !tbaa !5
  %342 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %341, i32 0, i32 6
  %343 = load i32, ptr %9, align 4, !tbaa !28
  %344 = sext i32 %343 to i64
  %345 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %342, i64 noundef %344) #6
  %346 = load i32, ptr %345, align 4, !tbaa !28
  %347 = sext i32 %346 to i64
  %348 = getelementptr inbounds double, ptr %340, i64 %347
  store double %339, ptr %348, align 8, !tbaa !38
  %349 = load ptr, ptr %11, align 8, !tbaa !5
  %350 = load ptr, ptr %8, align 8, !tbaa !5
  %351 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %350, i32 0, i32 6
  %352 = load i32, ptr %9, align 4, !tbaa !28
  %353 = sext i32 %352 to i64
  %354 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %351, i64 noundef %353) #6
  %355 = load i32, ptr %354, align 4, !tbaa !28
  %356 = sext i32 %355 to i64
  %357 = getelementptr inbounds double, ptr %349, i64 %356
  %358 = load double, ptr %357, align 8, !tbaa !38
  %359 = fadd double %358, 5.000000e-01
  store double %359, ptr %357, align 8, !tbaa !38
  %360 = load double, ptr %10, align 8, !tbaa !38
  %361 = load ptr, ptr %11, align 8, !tbaa !5
  %362 = load ptr, ptr %8, align 8, !tbaa !5
  %363 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %362, i32 0, i32 6
  %364 = load i32, ptr %9, align 4, !tbaa !28
  %365 = sext i32 %364 to i64
  %366 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %363, i64 noundef %365) #6
  %367 = load i32, ptr %366, align 4, !tbaa !28
  %368 = sext i32 %367 to i64
  %369 = getelementptr inbounds double, ptr %361, i64 %368
  %370 = load double, ptr %369, align 8, !tbaa !38
  %371 = fmul double %370, %360
  store double %371, ptr %369, align 8, !tbaa !38
  br label %372

372:                                              ; preds = %328
  %373 = load i32, ptr %9, align 4, !tbaa !28
  %374 = add nsw i32 %373, 1
  store i32 %374, ptr %9, align 4, !tbaa !28
  br label %322, !llvm.loop !49

375:                                              ; preds = %322
  %376 = load ptr, ptr %8, align 8, !tbaa !5
  %377 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %376, i32 0, i32 1
  %378 = load i32, ptr %377, align 4, !tbaa !43
  %379 = load ptr, ptr %16, align 8, !tbaa !5
  %380 = sext i32 %378 to i64
  %381 = getelementptr inbounds %class.S24, ptr %379, i64 %380
  store ptr %381, ptr %16, align 8, !tbaa !5
  %382 = load ptr, ptr %8, align 8, !tbaa !5
  %383 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %382, i32 0, i32 2
  %384 = load i32, ptr %383, align 8, !tbaa !30
  %385 = load ptr, ptr %11, align 8, !tbaa !5
  %386 = sext i32 %384 to i64
  %387 = getelementptr inbounds double, ptr %385, i64 %386
  store ptr %387, ptr %11, align 8, !tbaa !5
  br label %388

388:                                              ; preds = %375
  %389 = load i32, ptr %17, align 4, !tbaa !28
  %390 = add i32 %389, 1
  store i32 %390, ptr %17, align 4, !tbaa !28
  br label %314, !llvm.loop !50

391:                                              ; preds = %320
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  br label %603

392:                                              ; preds = %307
  %393 = load ptr, ptr %8, align 8, !tbaa !5
  %394 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %393, i32 0, i32 3
  %395 = load i64, ptr %394, align 8, !tbaa !37
  %396 = icmp eq i64 %395, 8
  br i1 %396, label %397, label %477

397:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #6
  %398 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %398, ptr %18, align 8, !tbaa !5
  store double 0x3E00000000100000, ptr %10, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 0, ptr %19, align 4, !tbaa !28
  br label %399

399:                                              ; preds = %473, %397
  %400 = load i32, ptr %19, align 4, !tbaa !28
  %401 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %402 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %401, i32 0, i32 11
  %403 = load i32, ptr %402, align 4, !tbaa !29
  %404 = icmp ult i32 %400, %403
  br i1 %404, label %406, label %405

405:                                              ; preds = %399
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  br label %476

406:                                              ; preds = %399
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %407

407:                                              ; preds = %457, %406
  %408 = load i32, ptr %9, align 4, !tbaa !28
  %409 = load ptr, ptr %8, align 8, !tbaa !5
  %410 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %409, i32 0, i32 0
  %411 = load i32, ptr %410, align 8, !tbaa !39
  %412 = icmp slt i32 %408, %411
  br i1 %412, label %413, label %460

413:                                              ; preds = %407
  %414 = load ptr, ptr %18, align 8, !tbaa !5
  %415 = load ptr, ptr %8, align 8, !tbaa !5
  %416 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %415, i32 0, i32 5
  %417 = load i32, ptr %9, align 4, !tbaa !28
  %418 = sext i32 %417 to i64
  %419 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %416, i64 noundef %418) #6
  %420 = load i32, ptr %419, align 4, !tbaa !28
  %421 = sext i32 %420 to i64
  %422 = getelementptr inbounds i32, ptr %414, i64 %421
  %423 = load i32, ptr %422, align 4, !tbaa !28
  %424 = sitofp i32 %423 to double
  %425 = load ptr, ptr %11, align 8, !tbaa !5
  %426 = load ptr, ptr %8, align 8, !tbaa !5
  %427 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %426, i32 0, i32 6
  %428 = load i32, ptr %9, align 4, !tbaa !28
  %429 = sext i32 %428 to i64
  %430 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %427, i64 noundef %429) #6
  %431 = load i32, ptr %430, align 4, !tbaa !28
  %432 = sext i32 %431 to i64
  %433 = getelementptr inbounds double, ptr %425, i64 %432
  store double %424, ptr %433, align 8, !tbaa !38
  %434 = load ptr, ptr %11, 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 !28
  %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) #6
  %440 = load i32, ptr %439, align 4, !tbaa !28
  %441 = sext i32 %440 to i64
  %442 = getelementptr inbounds double, ptr %434, i64 %441
  %443 = load double, ptr %442, align 8, !tbaa !38
  %444 = fadd double %443, 5.000000e-01
  store double %444, ptr %442, align 8, !tbaa !38
  %445 = load double, ptr %10, align 8, !tbaa !38
  %446 = load ptr, ptr %11, align 8, !tbaa !5
  %447 = load ptr, ptr %8, align 8, !tbaa !5
  %448 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %447, i32 0, i32 6
  %449 = load i32, ptr %9, align 4, !tbaa !28
  %450 = sext i32 %449 to i64
  %451 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %448, i64 noundef %450) #6
  %452 = load i32, ptr %451, align 4, !tbaa !28
  %453 = sext i32 %452 to i64
  %454 = getelementptr inbounds double, ptr %446, i64 %453
  %455 = load double, ptr %454, align 8, !tbaa !38
  %456 = fmul double %455, %445
  store double %456, ptr %454, align 8, !tbaa !38
  br label %457

457:                                              ; preds = %413
  %458 = load i32, ptr %9, align 4, !tbaa !28
  %459 = add nsw i32 %458, 1
  store i32 %459, ptr %9, align 4, !tbaa !28
  br label %407, !llvm.loop !51

460:                                              ; preds = %407
  %461 = load ptr, ptr %8, align 8, !tbaa !5
  %462 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %461, i32 0, i32 1
  %463 = load i32, ptr %462, align 4, !tbaa !43
  %464 = load ptr, ptr %18, align 8, !tbaa !5
  %465 = sext i32 %463 to i64
  %466 = getelementptr inbounds i32, ptr %464, i64 %465
  store ptr %466, ptr %18, align 8, !tbaa !5
  %467 = load ptr, ptr %8, align 8, !tbaa !5
  %468 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %467, i32 0, i32 2
  %469 = load i32, ptr %468, align 8, !tbaa !30
  %470 = load ptr, ptr %11, align 8, !tbaa !5
  %471 = sext i32 %469 to i64
  %472 = getelementptr inbounds double, ptr %470, i64 %471
  store ptr %472, ptr %11, align 8, !tbaa !5
  br label %473

473:                                              ; preds = %460
  %474 = load i32, ptr %19, align 4, !tbaa !28
  %475 = add i32 %474, 1
  store i32 %475, ptr %19, align 4, !tbaa !28
  br label %399, !llvm.loop !52

476:                                              ; preds = %405
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  br label %602

477:                                              ; preds = %392
  %478 = load ptr, ptr %8, align 8, !tbaa !5
  %479 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %478, i32 0, i32 3
  %480 = load i64, ptr %479, align 8, !tbaa !37
  %481 = icmp eq i64 %480, 16
  br i1 %481, label %482, label %539

482:                                              ; preds = %477
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  %483 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %483, ptr %20, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  store i32 0, ptr %21, align 4, !tbaa !28
  br label %484

484:                                              ; preds = %535, %482
  %485 = load i32, ptr %21, align 4, !tbaa !28
  %486 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %487 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %486, i32 0, i32 11
  %488 = load i32, ptr %487, align 4, !tbaa !29
  %489 = icmp ult i32 %485, %488
  br i1 %489, label %491, label %490

490:                                              ; preds = %484
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  br label %538

491:                                              ; preds = %484
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %492

492:                                              ; preds = %519, %491
  %493 = load i32, ptr %9, align 4, !tbaa !28
  %494 = load ptr, ptr %8, align 8, !tbaa !5
  %495 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %494, i32 0, i32 0
  %496 = load i32, ptr %495, align 8, !tbaa !39
  %497 = icmp slt i32 %493, %496
  br i1 %497, label %498, label %522

498:                                              ; preds = %492
  %499 = load ptr, ptr %20, align 8, !tbaa !5
  %500 = load ptr, ptr %8, align 8, !tbaa !5
  %501 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %500, i32 0, i32 5
  %502 = load i32, ptr %9, align 4, !tbaa !28
  %503 = sext i32 %502 to i64
  %504 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %501, i64 noundef %503) #6
  %505 = load i32, ptr %504, align 4, !tbaa !28
  %506 = sext i32 %505 to i64
  %507 = getelementptr inbounds float, ptr %499, i64 %506
  %508 = load float, ptr %507, align 4, !tbaa !53
  %509 = fpext float %508 to double
  %510 = load ptr, ptr %11, align 8, !tbaa !5
  %511 = load ptr, ptr %8, align 8, !tbaa !5
  %512 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %511, i32 0, i32 6
  %513 = load i32, ptr %9, align 4, !tbaa !28
  %514 = sext i32 %513 to i64
  %515 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %512, i64 noundef %514) #6
  %516 = load i32, ptr %515, align 4, !tbaa !28
  %517 = sext i32 %516 to i64
  %518 = getelementptr inbounds double, ptr %510, i64 %517
  store double %509, ptr %518, align 8, !tbaa !38
  br label %519

519:                                              ; preds = %498
  %520 = load i32, ptr %9, align 4, !tbaa !28
  %521 = add nsw i32 %520, 1
  store i32 %521, ptr %9, align 4, !tbaa !28
  br label %492, !llvm.loop !55

522:                                              ; preds = %492
  %523 = load ptr, ptr %8, align 8, !tbaa !5
  %524 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %523, i32 0, i32 1
  %525 = load i32, ptr %524, align 4, !tbaa !43
  %526 = load ptr, ptr %20, align 8, !tbaa !5
  %527 = sext i32 %525 to i64
  %528 = getelementptr inbounds float, ptr %526, i64 %527
  store ptr %528, ptr %20, align 8, !tbaa !5
  %529 = load ptr, ptr %8, align 8, !tbaa !5
  %530 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %529, i32 0, i32 2
  %531 = load i32, ptr %530, align 8, !tbaa !30
  %532 = load ptr, ptr %11, align 8, !tbaa !5
  %533 = sext i32 %531 to i64
  %534 = getelementptr inbounds double, ptr %532, i64 %533
  store ptr %534, ptr %11, align 8, !tbaa !5
  br label %535

535:                                              ; preds = %522
  %536 = load i32, ptr %21, align 4, !tbaa !28
  %537 = add i32 %536, 1
  store i32 %537, ptr %21, align 4, !tbaa !28
  br label %484, !llvm.loop !56

538:                                              ; preds = %490
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  br label %601

539:                                              ; preds = %477
  %540 = load ptr, ptr %8, align 8, !tbaa !5
  %541 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %540, i32 0, i32 3
  %542 = load i64, ptr %541, align 8, !tbaa !37
  %543 = icmp eq i64 %542, 32
  br i1 %543, label %544, label %600

544:                                              ; preds = %539
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #6
  %545 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %545, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  store i32 0, ptr %23, align 4, !tbaa !28
  br label %546

546:                                              ; preds = %596, %544
  %547 = load i32, ptr %23, align 4, !tbaa !28
  %548 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %549 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %548, i32 0, i32 11
  %550 = load i32, ptr %549, align 4, !tbaa !29
  %551 = icmp ult i32 %547, %550
  br i1 %551, label %553, label %552

552:                                              ; preds = %546
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  br label %599

553:                                              ; preds = %546
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %554

554:                                              ; preds = %580, %553
  %555 = load i32, ptr %9, align 4, !tbaa !28
  %556 = load ptr, ptr %8, align 8, !tbaa !5
  %557 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %556, i32 0, i32 0
  %558 = load i32, ptr %557, align 8, !tbaa !39
  %559 = icmp slt i32 %555, %558
  br i1 %559, label %560, label %583

560:                                              ; preds = %554
  %561 = load ptr, ptr %22, align 8, !tbaa !5
  %562 = load ptr, ptr %8, align 8, !tbaa !5
  %563 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %562, i32 0, i32 5
  %564 = load i32, ptr %9, align 4, !tbaa !28
  %565 = sext i32 %564 to i64
  %566 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %563, i64 noundef %565) #6
  %567 = load i32, ptr %566, align 4, !tbaa !28
  %568 = sext i32 %567 to i64
  %569 = getelementptr inbounds double, ptr %561, i64 %568
  %570 = load double, ptr %569, align 8, !tbaa !38
  %571 = load ptr, ptr %11, align 8, !tbaa !5
  %572 = load ptr, ptr %8, align 8, !tbaa !5
  %573 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %572, i32 0, i32 6
  %574 = load i32, ptr %9, align 4, !tbaa !28
  %575 = sext i32 %574 to i64
  %576 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %573, i64 noundef %575) #6
  %577 = load i32, ptr %576, align 4, !tbaa !28
  %578 = sext i32 %577 to i64
  %579 = getelementptr inbounds double, ptr %571, i64 %578
  store double %570, ptr %579, align 8, !tbaa !38
  br label %580

580:                                              ; preds = %560
  %581 = load i32, ptr %9, align 4, !tbaa !28
  %582 = add nsw i32 %581, 1
  store i32 %582, ptr %9, align 4, !tbaa !28
  br label %554, !llvm.loop !57

583:                                              ; preds = %554
  %584 = load ptr, ptr %8, align 8, !tbaa !5
  %585 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %584, i32 0, i32 1
  %586 = load i32, ptr %585, align 4, !tbaa !43
  %587 = load ptr, ptr %22, align 8, !tbaa !5
  %588 = sext i32 %586 to i64
  %589 = getelementptr inbounds double, ptr %587, i64 %588
  store ptr %589, ptr %22, align 8, !tbaa !5
  %590 = load ptr, ptr %8, align 8, !tbaa !5
  %591 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %590, i32 0, i32 2
  %592 = load i32, ptr %591, align 8, !tbaa !30
  %593 = load ptr, ptr %11, align 8, !tbaa !5
  %594 = sext i32 %592 to i64
  %595 = getelementptr inbounds double, ptr %593, i64 %594
  store ptr %595, ptr %11, align 8, !tbaa !5
  br label %596

596:                                              ; preds = %583
  %597 = load i32, ptr %23, align 4, !tbaa !28
  %598 = add i32 %597, 1
  store i32 %598, ptr %23, align 4, !tbaa !28
  br label %546, !llvm.loop !58

599:                                              ; preds = %552
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  br label %600

600:                                              ; preds = %599, %539
  br label %601

601:                                              ; preds = %600, %538
  br label %602

602:                                              ; preds = %601, %476
  br label %603

603:                                              ; preds = %602, %391
  br label %604

604:                                              ; preds = %603, %306
  br label %605

605:                                              ; preds = %604, %221
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #6
  br label %2697

606:                                              ; preds = %131
  %607 = load ptr, ptr %8, align 8, !tbaa !5
  %608 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %607, i32 0, i32 4
  %609 = load i64, ptr %608, align 8, !tbaa !36
  %610 = icmp eq i64 %609, 16
  br i1 %610, label %611, label %1089

611:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  %612 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %612, ptr %25, align 8, !tbaa !5
  %613 = load ptr, ptr %8, align 8, !tbaa !5
  %614 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %613, i32 0, i32 3
  %615 = load i64, ptr %614, align 8, !tbaa !37
  %616 = icmp eq i64 %615, 1
  br i1 %616, label %617, label %699

617:                                              ; preds = %611
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  %618 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %618, ptr %26, align 8, !tbaa !5
  store float 0x3F80101020000000, ptr %24, align 4, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  store i32 0, ptr %27, align 4, !tbaa !28
  br label %619

619:                                              ; preds = %695, %617
  %620 = load i32, ptr %27, align 4, !tbaa !28
  %621 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %622 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %621, i32 0, i32 11
  %623 = load i32, ptr %622, align 4, !tbaa !29
  %624 = icmp ult i32 %620, %623
  br i1 %624, label %626, label %625

625:                                              ; preds = %619
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  br label %698

626:                                              ; preds = %619
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %627

627:                                              ; preds = %679, %626
  %628 = load i32, ptr %9, align 4, !tbaa !28
  %629 = load ptr, ptr %8, align 8, !tbaa !5
  %630 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %629, i32 0, i32 0
  %631 = load i32, ptr %630, align 8, !tbaa !39
  %632 = icmp slt i32 %628, %631
  br i1 %632, label %633, label %682

633:                                              ; preds = %627
  %634 = load ptr, ptr %26, align 8, !tbaa !5
  %635 = load ptr, ptr %8, align 8, !tbaa !5
  %636 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %635, i32 0, i32 5
  %637 = load i32, ptr %9, align 4, !tbaa !28
  %638 = sext i32 %637 to i64
  %639 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %636, i64 noundef %638) #6
  %640 = load i32, ptr %639, align 4, !tbaa !28
  %641 = sext i32 %640 to i64
  %642 = getelementptr inbounds i8, ptr %634, i64 %641
  %643 = load i8, ptr %642, align 1, !tbaa !40
  %644 = sitofp i8 %643 to float
  %645 = load ptr, ptr %25, align 8, !tbaa !5
  %646 = load ptr, ptr %8, align 8, !tbaa !5
  %647 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %646, i32 0, i32 6
  %648 = load i32, ptr %9, align 4, !tbaa !28
  %649 = sext i32 %648 to i64
  %650 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %647, i64 noundef %649) #6
  %651 = load i32, ptr %650, align 4, !tbaa !28
  %652 = sext i32 %651 to i64
  %653 = getelementptr inbounds float, ptr %645, i64 %652
  store float %644, ptr %653, align 4, !tbaa !53
  %654 = load ptr, ptr %25, align 8, !tbaa !5
  %655 = load ptr, ptr %8, align 8, !tbaa !5
  %656 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %655, i32 0, i32 6
  %657 = load i32, ptr %9, align 4, !tbaa !28
  %658 = sext i32 %657 to i64
  %659 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %656, i64 noundef %658) #6
  %660 = load i32, ptr %659, align 4, !tbaa !28
  %661 = sext i32 %660 to i64
  %662 = getelementptr inbounds float, ptr %654, i64 %661
  %663 = load float, ptr %662, align 4, !tbaa !53
  %664 = fpext float %663 to double
  %665 = fadd double %664, 5.000000e-01
  %666 = fptrunc double %665 to float
  store float %666, ptr %662, align 4, !tbaa !53
  %667 = load float, ptr %24, align 4, !tbaa !53
  %668 = load ptr, ptr %25, align 8, !tbaa !5
  %669 = load ptr, ptr %8, align 8, !tbaa !5
  %670 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %669, i32 0, i32 6
  %671 = load i32, ptr %9, align 4, !tbaa !28
  %672 = sext i32 %671 to i64
  %673 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %670, i64 noundef %672) #6
  %674 = load i32, ptr %673, align 4, !tbaa !28
  %675 = sext i32 %674 to i64
  %676 = getelementptr inbounds float, ptr %668, i64 %675
  %677 = load float, ptr %676, align 4, !tbaa !53
  %678 = fmul float %677, %667
  store float %678, ptr %676, align 4, !tbaa !53
  br label %679

679:                                              ; preds = %633
  %680 = load i32, ptr %9, align 4, !tbaa !28
  %681 = add nsw i32 %680, 1
  store i32 %681, ptr %9, align 4, !tbaa !28
  br label %627, !llvm.loop !59

682:                                              ; preds = %627
  %683 = load ptr, ptr %8, align 8, !tbaa !5
  %684 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %683, i32 0, i32 1
  %685 = load i32, ptr %684, align 4, !tbaa !43
  %686 = load ptr, ptr %26, align 8, !tbaa !5
  %687 = sext i32 %685 to i64
  %688 = getelementptr inbounds i8, ptr %686, i64 %687
  store ptr %688, ptr %26, align 8, !tbaa !5
  %689 = load ptr, ptr %8, align 8, !tbaa !5
  %690 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %689, i32 0, i32 2
  %691 = load i32, ptr %690, align 8, !tbaa !30
  %692 = load ptr, ptr %25, align 8, !tbaa !5
  %693 = sext i32 %691 to i64
  %694 = getelementptr inbounds float, ptr %692, i64 %693
  store ptr %694, ptr %25, align 8, !tbaa !5
  br label %695

695:                                              ; preds = %682
  %696 = load i32, ptr %27, align 4, !tbaa !28
  %697 = add i32 %696, 1
  store i32 %697, ptr %27, align 4, !tbaa !28
  br label %619, !llvm.loop !60

698:                                              ; preds = %625
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  br label %1088

699:                                              ; preds = %611
  %700 = load ptr, ptr %8, align 8, !tbaa !5
  %701 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %700, i32 0, i32 3
  %702 = load i64, ptr %701, align 8, !tbaa !37
  %703 = icmp eq i64 %702, 2
  br i1 %703, label %704, label %786

704:                                              ; preds = %699
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #6
  %705 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %705, ptr %28, align 8, !tbaa !5
  store float 0x3F00001000000000, ptr %24, align 4, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  store i32 0, ptr %29, align 4, !tbaa !28
  br label %706

706:                                              ; preds = %782, %704
  %707 = load i32, ptr %29, align 4, !tbaa !28
  %708 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %709 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %708, i32 0, i32 11
  %710 = load i32, ptr %709, align 4, !tbaa !29
  %711 = icmp ult i32 %707, %710
  br i1 %711, label %713, label %712

712:                                              ; preds = %706
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  br label %785

713:                                              ; preds = %706
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %714

714:                                              ; preds = %766, %713
  %715 = load i32, ptr %9, align 4, !tbaa !28
  %716 = load ptr, ptr %8, align 8, !tbaa !5
  %717 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %716, i32 0, i32 0
  %718 = load i32, ptr %717, align 8, !tbaa !39
  %719 = icmp slt i32 %715, %718
  br i1 %719, label %720, label %769

720:                                              ; preds = %714
  %721 = load ptr, ptr %28, align 8, !tbaa !5
  %722 = load ptr, ptr %8, align 8, !tbaa !5
  %723 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %722, i32 0, i32 5
  %724 = load i32, ptr %9, align 4, !tbaa !28
  %725 = sext i32 %724 to i64
  %726 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %723, i64 noundef %725) #6
  %727 = load i32, ptr %726, align 4, !tbaa !28
  %728 = sext i32 %727 to i64
  %729 = getelementptr inbounds i16, ptr %721, i64 %728
  %730 = load i16, ptr %729, align 2, !tbaa !45
  %731 = sitofp i16 %730 to float
  %732 = load ptr, ptr %25, align 8, !tbaa !5
  %733 = load ptr, ptr %8, align 8, !tbaa !5
  %734 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %733, i32 0, i32 6
  %735 = load i32, ptr %9, align 4, !tbaa !28
  %736 = sext i32 %735 to i64
  %737 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %734, i64 noundef %736) #6
  %738 = load i32, ptr %737, align 4, !tbaa !28
  %739 = sext i32 %738 to i64
  %740 = getelementptr inbounds float, ptr %732, i64 %739
  store float %731, ptr %740, align 4, !tbaa !53
  %741 = load ptr, ptr %25, align 8, !tbaa !5
  %742 = load ptr, ptr %8, align 8, !tbaa !5
  %743 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %742, i32 0, i32 6
  %744 = load i32, ptr %9, align 4, !tbaa !28
  %745 = sext i32 %744 to i64
  %746 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %743, i64 noundef %745) #6
  %747 = load i32, ptr %746, align 4, !tbaa !28
  %748 = sext i32 %747 to i64
  %749 = getelementptr inbounds float, ptr %741, i64 %748
  %750 = load float, ptr %749, align 4, !tbaa !53
  %751 = fpext float %750 to double
  %752 = fadd double %751, 5.000000e-01
  %753 = fptrunc double %752 to float
  store float %753, ptr %749, align 4, !tbaa !53
  %754 = load float, ptr %24, align 4, !tbaa !53
  %755 = load ptr, ptr %25, align 8, !tbaa !5
  %756 = load ptr, ptr %8, align 8, !tbaa !5
  %757 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %756, i32 0, i32 6
  %758 = load i32, ptr %9, align 4, !tbaa !28
  %759 = sext i32 %758 to i64
  %760 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %757, i64 noundef %759) #6
  %761 = load i32, ptr %760, align 4, !tbaa !28
  %762 = sext i32 %761 to i64
  %763 = getelementptr inbounds float, ptr %755, i64 %762
  %764 = load float, ptr %763, align 4, !tbaa !53
  %765 = fmul float %764, %754
  store float %765, ptr %763, align 4, !tbaa !53
  br label %766

766:                                              ; preds = %720
  %767 = load i32, ptr %9, align 4, !tbaa !28
  %768 = add nsw i32 %767, 1
  store i32 %768, ptr %9, align 4, !tbaa !28
  br label %714, !llvm.loop !61

769:                                              ; preds = %714
  %770 = load ptr, ptr %8, align 8, !tbaa !5
  %771 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %770, i32 0, i32 1
  %772 = load i32, ptr %771, align 4, !tbaa !43
  %773 = load ptr, ptr %28, align 8, !tbaa !5
  %774 = sext i32 %772 to i64
  %775 = getelementptr inbounds i16, ptr %773, i64 %774
  store ptr %775, ptr %28, align 8, !tbaa !5
  %776 = load ptr, ptr %8, align 8, !tbaa !5
  %777 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %776, i32 0, i32 2
  %778 = load i32, ptr %777, align 8, !tbaa !30
  %779 = load ptr, ptr %25, align 8, !tbaa !5
  %780 = sext i32 %778 to i64
  %781 = getelementptr inbounds float, ptr %779, i64 %780
  store ptr %781, ptr %25, align 8, !tbaa !5
  br label %782

782:                                              ; preds = %769
  %783 = load i32, ptr %29, align 4, !tbaa !28
  %784 = add i32 %783, 1
  store i32 %784, ptr %29, align 4, !tbaa !28
  br label %706, !llvm.loop !62

785:                                              ; preds = %712
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  br label %1087

786:                                              ; preds = %699
  %787 = load ptr, ptr %8, align 8, !tbaa !5
  %788 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %787, i32 0, i32 3
  %789 = load i64, ptr %788, align 8, !tbaa !37
  %790 = icmp eq i64 %789, 4
  br i1 %790, label %791, label %873

791:                                              ; preds = %786
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  %792 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %792, ptr %30, align 8, !tbaa !5
  store float 0x3E80000020000000, ptr %24, align 4, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  store i32 0, ptr %31, align 4, !tbaa !28
  br label %793

793:                                              ; preds = %869, %791
  %794 = load i32, ptr %31, align 4, !tbaa !28
  %795 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %796 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %795, i32 0, i32 11
  %797 = load i32, ptr %796, align 4, !tbaa !29
  %798 = icmp ult i32 %794, %797
  br i1 %798, label %800, label %799

799:                                              ; preds = %793
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  br label %872

800:                                              ; preds = %793
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %801

801:                                              ; preds = %853, %800
  %802 = load i32, ptr %9, align 4, !tbaa !28
  %803 = load ptr, ptr %8, align 8, !tbaa !5
  %804 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %803, i32 0, i32 0
  %805 = load i32, ptr %804, align 8, !tbaa !39
  %806 = icmp slt i32 %802, %805
  br i1 %806, label %807, label %856

807:                                              ; preds = %801
  %808 = load ptr, ptr %30, align 8, !tbaa !5
  %809 = load ptr, ptr %8, align 8, !tbaa !5
  %810 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %809, i32 0, i32 5
  %811 = load i32, ptr %9, align 4, !tbaa !28
  %812 = sext i32 %811 to i64
  %813 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %810, i64 noundef %812) #6
  %814 = load i32, ptr %813, align 4, !tbaa !28
  %815 = sext i32 %814 to i64
  %816 = getelementptr inbounds %class.S24, ptr %808, i64 %815
  %817 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %816)
  %818 = sitofp i32 %817 to float
  %819 = load ptr, ptr %25, align 8, !tbaa !5
  %820 = load ptr, ptr %8, align 8, !tbaa !5
  %821 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %820, i32 0, i32 6
  %822 = load i32, ptr %9, align 4, !tbaa !28
  %823 = sext i32 %822 to i64
  %824 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %821, i64 noundef %823) #6
  %825 = load i32, ptr %824, align 4, !tbaa !28
  %826 = sext i32 %825 to i64
  %827 = getelementptr inbounds float, ptr %819, i64 %826
  store float %818, ptr %827, align 4, !tbaa !53
  %828 = load ptr, ptr %25, align 8, !tbaa !5
  %829 = load ptr, ptr %8, align 8, !tbaa !5
  %830 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %829, i32 0, i32 6
  %831 = load i32, ptr %9, align 4, !tbaa !28
  %832 = sext i32 %831 to i64
  %833 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %830, i64 noundef %832) #6
  %834 = load i32, ptr %833, align 4, !tbaa !28
  %835 = sext i32 %834 to i64
  %836 = getelementptr inbounds float, ptr %828, i64 %835
  %837 = load float, ptr %836, align 4, !tbaa !53
  %838 = fpext float %837 to double
  %839 = fadd double %838, 5.000000e-01
  %840 = fptrunc double %839 to float
  store float %840, ptr %836, align 4, !tbaa !53
  %841 = load float, ptr %24, align 4, !tbaa !53
  %842 = load ptr, ptr %25, align 8, !tbaa !5
  %843 = load ptr, ptr %8, align 8, !tbaa !5
  %844 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %843, i32 0, i32 6
  %845 = load i32, ptr %9, align 4, !tbaa !28
  %846 = sext i32 %845 to i64
  %847 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %844, i64 noundef %846) #6
  %848 = load i32, ptr %847, align 4, !tbaa !28
  %849 = sext i32 %848 to i64
  %850 = getelementptr inbounds float, ptr %842, i64 %849
  %851 = load float, ptr %850, align 4, !tbaa !53
  %852 = fmul float %851, %841
  store float %852, ptr %850, align 4, !tbaa !53
  br label %853

853:                                              ; preds = %807
  %854 = load i32, ptr %9, align 4, !tbaa !28
  %855 = add nsw i32 %854, 1
  store i32 %855, ptr %9, align 4, !tbaa !28
  br label %801, !llvm.loop !63

856:                                              ; preds = %801
  %857 = load ptr, ptr %8, align 8, !tbaa !5
  %858 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %857, i32 0, i32 1
  %859 = load i32, ptr %858, align 4, !tbaa !43
  %860 = load ptr, ptr %30, align 8, !tbaa !5
  %861 = sext i32 %859 to i64
  %862 = getelementptr inbounds %class.S24, ptr %860, i64 %861
  store ptr %862, ptr %30, align 8, !tbaa !5
  %863 = load ptr, ptr %8, align 8, !tbaa !5
  %864 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %863, i32 0, i32 2
  %865 = load i32, ptr %864, align 8, !tbaa !30
  %866 = load ptr, ptr %25, align 8, !tbaa !5
  %867 = sext i32 %865 to i64
  %868 = getelementptr inbounds float, ptr %866, i64 %867
  store ptr %868, ptr %25, align 8, !tbaa !5
  br label %869

869:                                              ; preds = %856
  %870 = load i32, ptr %31, align 4, !tbaa !28
  %871 = add i32 %870, 1
  store i32 %871, ptr %31, align 4, !tbaa !28
  br label %793, !llvm.loop !64

872:                                              ; preds = %799
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  br label %1086

873:                                              ; preds = %786
  %874 = load ptr, ptr %8, align 8, !tbaa !5
  %875 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %874, i32 0, i32 3
  %876 = load i64, ptr %875, align 8, !tbaa !37
  %877 = icmp eq i64 %876, 8
  br i1 %877, label %878, label %960

878:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #6
  %879 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %879, ptr %32, align 8, !tbaa !5
  store float 0x3E00000000000000, ptr %24, align 4, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #6
  store i32 0, ptr %33, align 4, !tbaa !28
  br label %880

880:                                              ; preds = %956, %878
  %881 = load i32, ptr %33, align 4, !tbaa !28
  %882 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %883 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %882, i32 0, i32 11
  %884 = load i32, ptr %883, align 4, !tbaa !29
  %885 = icmp ult i32 %881, %884
  br i1 %885, label %887, label %886

886:                                              ; preds = %880
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  br label %959

887:                                              ; preds = %880
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %888

888:                                              ; preds = %940, %887
  %889 = load i32, ptr %9, align 4, !tbaa !28
  %890 = load ptr, ptr %8, align 8, !tbaa !5
  %891 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %890, i32 0, i32 0
  %892 = load i32, ptr %891, align 8, !tbaa !39
  %893 = icmp slt i32 %889, %892
  br i1 %893, label %894, label %943

894:                                              ; preds = %888
  %895 = load ptr, ptr %32, align 8, !tbaa !5
  %896 = load ptr, ptr %8, align 8, !tbaa !5
  %897 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %896, i32 0, i32 5
  %898 = load i32, ptr %9, align 4, !tbaa !28
  %899 = sext i32 %898 to i64
  %900 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %897, i64 noundef %899) #6
  %901 = load i32, ptr %900, align 4, !tbaa !28
  %902 = sext i32 %901 to i64
  %903 = getelementptr inbounds i32, ptr %895, i64 %902
  %904 = load i32, ptr %903, align 4, !tbaa !28
  %905 = sitofp i32 %904 to float
  %906 = load ptr, ptr %25, align 8, !tbaa !5
  %907 = load ptr, ptr %8, align 8, !tbaa !5
  %908 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %907, i32 0, i32 6
  %909 = load i32, ptr %9, align 4, !tbaa !28
  %910 = sext i32 %909 to i64
  %911 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %908, i64 noundef %910) #6
  %912 = load i32, ptr %911, align 4, !tbaa !28
  %913 = sext i32 %912 to i64
  %914 = getelementptr inbounds float, ptr %906, i64 %913
  store float %905, ptr %914, align 4, !tbaa !53
  %915 = load ptr, ptr %25, align 8, !tbaa !5
  %916 = load ptr, ptr %8, align 8, !tbaa !5
  %917 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %916, i32 0, i32 6
  %918 = load i32, ptr %9, align 4, !tbaa !28
  %919 = sext i32 %918 to i64
  %920 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %917, i64 noundef %919) #6
  %921 = load i32, ptr %920, align 4, !tbaa !28
  %922 = sext i32 %921 to i64
  %923 = getelementptr inbounds float, ptr %915, i64 %922
  %924 = load float, ptr %923, align 4, !tbaa !53
  %925 = fpext float %924 to double
  %926 = fadd double %925, 5.000000e-01
  %927 = fptrunc double %926 to float
  store float %927, ptr %923, align 4, !tbaa !53
  %928 = load float, ptr %24, align 4, !tbaa !53
  %929 = load ptr, ptr %25, align 8, !tbaa !5
  %930 = load ptr, ptr %8, align 8, !tbaa !5
  %931 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %930, i32 0, i32 6
  %932 = load i32, ptr %9, align 4, !tbaa !28
  %933 = sext i32 %932 to i64
  %934 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %931, i64 noundef %933) #6
  %935 = load i32, ptr %934, align 4, !tbaa !28
  %936 = sext i32 %935 to i64
  %937 = getelementptr inbounds float, ptr %929, i64 %936
  %938 = load float, ptr %937, align 4, !tbaa !53
  %939 = fmul float %938, %928
  store float %939, ptr %937, align 4, !tbaa !53
  br label %940

940:                                              ; preds = %894
  %941 = load i32, ptr %9, align 4, !tbaa !28
  %942 = add nsw i32 %941, 1
  store i32 %942, ptr %9, align 4, !tbaa !28
  br label %888, !llvm.loop !65

943:                                              ; preds = %888
  %944 = load ptr, ptr %8, align 8, !tbaa !5
  %945 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %944, i32 0, i32 1
  %946 = load i32, ptr %945, align 4, !tbaa !43
  %947 = load ptr, ptr %32, align 8, !tbaa !5
  %948 = sext i32 %946 to i64
  %949 = getelementptr inbounds i32, ptr %947, i64 %948
  store ptr %949, ptr %32, align 8, !tbaa !5
  %950 = load ptr, ptr %8, align 8, !tbaa !5
  %951 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %950, i32 0, i32 2
  %952 = load i32, ptr %951, align 8, !tbaa !30
  %953 = load ptr, ptr %25, align 8, !tbaa !5
  %954 = sext i32 %952 to i64
  %955 = getelementptr inbounds float, ptr %953, i64 %954
  store ptr %955, ptr %25, align 8, !tbaa !5
  br label %956

956:                                              ; preds = %943
  %957 = load i32, ptr %33, align 4, !tbaa !28
  %958 = add i32 %957, 1
  store i32 %958, ptr %33, align 4, !tbaa !28
  br label %880, !llvm.loop !66

959:                                              ; preds = %886
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  br label %1085

960:                                              ; preds = %873
  %961 = load ptr, ptr %8, align 8, !tbaa !5
  %962 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %961, i32 0, i32 3
  %963 = load i64, ptr %962, align 8, !tbaa !37
  %964 = icmp eq i64 %963, 16
  br i1 %964, label %965, label %1021

965:                                              ; preds = %960
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #6
  %966 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %966, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #6
  store i32 0, ptr %35, align 4, !tbaa !28
  br label %967

967:                                              ; preds = %1017, %965
  %968 = load i32, ptr %35, align 4, !tbaa !28
  %969 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %970 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %969, i32 0, i32 11
  %971 = load i32, ptr %970, align 4, !tbaa !29
  %972 = icmp ult i32 %968, %971
  br i1 %972, label %974, label %973

973:                                              ; preds = %967
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  br label %1020

974:                                              ; preds = %967
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %975

975:                                              ; preds = %1001, %974
  %976 = load i32, ptr %9, align 4, !tbaa !28
  %977 = load ptr, ptr %8, align 8, !tbaa !5
  %978 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %977, i32 0, i32 0
  %979 = load i32, ptr %978, align 8, !tbaa !39
  %980 = icmp slt i32 %976, %979
  br i1 %980, label %981, label %1004

981:                                              ; preds = %975
  %982 = load ptr, ptr %34, align 8, !tbaa !5
  %983 = load ptr, ptr %8, align 8, !tbaa !5
  %984 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %983, i32 0, i32 5
  %985 = load i32, ptr %9, align 4, !tbaa !28
  %986 = sext i32 %985 to i64
  %987 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %984, i64 noundef %986) #6
  %988 = load i32, ptr %987, align 4, !tbaa !28
  %989 = sext i32 %988 to i64
  %990 = getelementptr inbounds float, ptr %982, i64 %989
  %991 = load float, ptr %990, align 4, !tbaa !53
  %992 = load ptr, ptr %25, align 8, !tbaa !5
  %993 = load ptr, ptr %8, align 8, !tbaa !5
  %994 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %993, i32 0, i32 6
  %995 = load i32, ptr %9, align 4, !tbaa !28
  %996 = sext i32 %995 to i64
  %997 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %994, i64 noundef %996) #6
  %998 = load i32, ptr %997, align 4, !tbaa !28
  %999 = sext i32 %998 to i64
  %1000 = getelementptr inbounds float, ptr %992, i64 %999
  store float %991, ptr %1000, align 4, !tbaa !53
  br label %1001

1001:                                             ; preds = %981
  %1002 = load i32, ptr %9, align 4, !tbaa !28
  %1003 = add nsw i32 %1002, 1
  store i32 %1003, ptr %9, align 4, !tbaa !28
  br label %975, !llvm.loop !67

1004:                                             ; preds = %975
  %1005 = load ptr, ptr %8, align 8, !tbaa !5
  %1006 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1005, i32 0, i32 1
  %1007 = load i32, ptr %1006, align 4, !tbaa !43
  %1008 = load ptr, ptr %34, align 8, !tbaa !5
  %1009 = sext i32 %1007 to i64
  %1010 = getelementptr inbounds float, ptr %1008, i64 %1009
  store ptr %1010, ptr %34, align 8, !tbaa !5
  %1011 = load ptr, ptr %8, align 8, !tbaa !5
  %1012 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1011, i32 0, i32 2
  %1013 = load i32, ptr %1012, align 8, !tbaa !30
  %1014 = load ptr, ptr %25, align 8, !tbaa !5
  %1015 = sext i32 %1013 to i64
  %1016 = getelementptr inbounds float, ptr %1014, i64 %1015
  store ptr %1016, ptr %25, align 8, !tbaa !5
  br label %1017

1017:                                             ; preds = %1004
  %1018 = load i32, ptr %35, align 4, !tbaa !28
  %1019 = add i32 %1018, 1
  store i32 %1019, ptr %35, align 4, !tbaa !28
  br label %967, !llvm.loop !68

1020:                                             ; preds = %973
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  br label %1084

1021:                                             ; preds = %960
  %1022 = load ptr, ptr %8, align 8, !tbaa !5
  %1023 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1022, i32 0, i32 3
  %1024 = load i64, ptr %1023, align 8, !tbaa !37
  %1025 = icmp eq i64 %1024, 32
  br i1 %1025, label %1026, label %1083

1026:                                             ; preds = %1021
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #6
  %1027 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1027, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #6
  store i32 0, ptr %37, align 4, !tbaa !28
  br label %1028

1028:                                             ; preds = %1079, %1026
  %1029 = load i32, ptr %37, align 4, !tbaa !28
  %1030 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1031 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1030, i32 0, i32 11
  %1032 = load i32, ptr %1031, align 4, !tbaa !29
  %1033 = icmp ult i32 %1029, %1032
  br i1 %1033, label %1035, label %1034

1034:                                             ; preds = %1028
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  br label %1082

1035:                                             ; preds = %1028
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1036

1036:                                             ; preds = %1063, %1035
  %1037 = load i32, ptr %9, align 4, !tbaa !28
  %1038 = load ptr, ptr %8, align 8, !tbaa !5
  %1039 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1038, i32 0, i32 0
  %1040 = load i32, ptr %1039, align 8, !tbaa !39
  %1041 = icmp slt i32 %1037, %1040
  br i1 %1041, label %1042, label %1066

1042:                                             ; preds = %1036
  %1043 = load ptr, ptr %36, align 8, !tbaa !5
  %1044 = load ptr, ptr %8, align 8, !tbaa !5
  %1045 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1044, i32 0, i32 5
  %1046 = load i32, ptr %9, align 4, !tbaa !28
  %1047 = sext i32 %1046 to i64
  %1048 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1045, i64 noundef %1047) #6
  %1049 = load i32, ptr %1048, align 4, !tbaa !28
  %1050 = sext i32 %1049 to i64
  %1051 = getelementptr inbounds double, ptr %1043, i64 %1050
  %1052 = load double, ptr %1051, align 8, !tbaa !38
  %1053 = fptrunc double %1052 to float
  %1054 = load ptr, ptr %25, align 8, !tbaa !5
  %1055 = load ptr, ptr %8, align 8, !tbaa !5
  %1056 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1055, i32 0, i32 6
  %1057 = load i32, ptr %9, align 4, !tbaa !28
  %1058 = sext i32 %1057 to i64
  %1059 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1056, i64 noundef %1058) #6
  %1060 = load i32, ptr %1059, align 4, !tbaa !28
  %1061 = sext i32 %1060 to i64
  %1062 = getelementptr inbounds float, ptr %1054, i64 %1061
  store float %1053, ptr %1062, align 4, !tbaa !53
  br label %1063

1063:                                             ; preds = %1042
  %1064 = load i32, ptr %9, align 4, !tbaa !28
  %1065 = add nsw i32 %1064, 1
  store i32 %1065, ptr %9, align 4, !tbaa !28
  br label %1036, !llvm.loop !69

1066:                                             ; preds = %1036
  %1067 = load ptr, ptr %8, align 8, !tbaa !5
  %1068 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1067, i32 0, i32 1
  %1069 = load i32, ptr %1068, align 4, !tbaa !43
  %1070 = load ptr, ptr %36, align 8, !tbaa !5
  %1071 = sext i32 %1069 to i64
  %1072 = getelementptr inbounds double, ptr %1070, i64 %1071
  store ptr %1072, ptr %36, align 8, !tbaa !5
  %1073 = load ptr, ptr %8, align 8, !tbaa !5
  %1074 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1073, i32 0, i32 2
  %1075 = load i32, ptr %1074, align 8, !tbaa !30
  %1076 = load ptr, ptr %25, align 8, !tbaa !5
  %1077 = sext i32 %1075 to i64
  %1078 = getelementptr inbounds float, ptr %1076, i64 %1077
  store ptr %1078, ptr %25, align 8, !tbaa !5
  br label %1079

1079:                                             ; preds = %1066
  %1080 = load i32, ptr %37, align 4, !tbaa !28
  %1081 = add i32 %1080, 1
  store i32 %1081, ptr %37, align 4, !tbaa !28
  br label %1028, !llvm.loop !70

1082:                                             ; preds = %1034
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  br label %1083

1083:                                             ; preds = %1082, %1021
  br label %1084

1084:                                             ; preds = %1083, %1020
  br label %1085

1085:                                             ; preds = %1084, %959
  br label %1086

1086:                                             ; preds = %1085, %872
  br label %1087

1087:                                             ; preds = %1086, %785
  br label %1088

1088:                                             ; preds = %1087, %698
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  br label %2696

1089:                                             ; preds = %606
  %1090 = load ptr, ptr %8, align 8, !tbaa !5
  %1091 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1090, i32 0, i32 4
  %1092 = load i64, ptr %1091, align 8, !tbaa !36
  %1093 = icmp eq i64 %1092, 8
  br i1 %1093, label %1094, label %1507

1094:                                             ; preds = %1089
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #6
  %1095 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %1095, ptr %38, align 8, !tbaa !5
  %1096 = load ptr, ptr %8, align 8, !tbaa !5
  %1097 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1096, i32 0, i32 3
  %1098 = load i64, ptr %1097, align 8, !tbaa !37
  %1099 = icmp eq i64 %1098, 1
  br i1 %1099, label %1100, label %1168

1100:                                             ; preds = %1094
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #6
  %1101 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1101, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  store i32 0, ptr %40, align 4, !tbaa !28
  br label %1102

1102:                                             ; preds = %1164, %1100
  %1103 = load i32, ptr %40, align 4, !tbaa !28
  %1104 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1105 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1104, i32 0, i32 11
  %1106 = load i32, ptr %1105, align 4, !tbaa !29
  %1107 = icmp ult i32 %1103, %1106
  br i1 %1107, label %1109, label %1108

1108:                                             ; preds = %1102
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  br label %1167

1109:                                             ; preds = %1102
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1110

1110:                                             ; preds = %1148, %1109
  %1111 = load i32, ptr %9, align 4, !tbaa !28
  %1112 = load ptr, ptr %8, align 8, !tbaa !5
  %1113 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1112, i32 0, i32 0
  %1114 = load i32, ptr %1113, align 8, !tbaa !39
  %1115 = icmp slt i32 %1111, %1114
  br i1 %1115, label %1116, label %1151

1116:                                             ; preds = %1110
  %1117 = load ptr, ptr %39, align 8, !tbaa !5
  %1118 = load ptr, ptr %8, align 8, !tbaa !5
  %1119 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1118, i32 0, i32 5
  %1120 = load i32, ptr %9, align 4, !tbaa !28
  %1121 = sext i32 %1120 to i64
  %1122 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1119, i64 noundef %1121) #6
  %1123 = load i32, ptr %1122, align 4, !tbaa !28
  %1124 = sext i32 %1123 to i64
  %1125 = getelementptr inbounds i8, ptr %1117, i64 %1124
  %1126 = load i8, ptr %1125, align 1, !tbaa !40
  %1127 = sext i8 %1126 to i32
  %1128 = load ptr, ptr %38, align 8, !tbaa !5
  %1129 = load ptr, ptr %8, align 8, !tbaa !5
  %1130 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1129, i32 0, i32 6
  %1131 = load i32, ptr %9, align 4, !tbaa !28
  %1132 = sext i32 %1131 to i64
  %1133 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1130, i64 noundef %1132) #6
  %1134 = load i32, ptr %1133, align 4, !tbaa !28
  %1135 = sext i32 %1134 to i64
  %1136 = getelementptr inbounds i32, ptr %1128, i64 %1135
  store i32 %1127, ptr %1136, align 4, !tbaa !28
  %1137 = load ptr, ptr %38, align 8, !tbaa !5
  %1138 = load ptr, ptr %8, align 8, !tbaa !5
  %1139 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1138, i32 0, i32 6
  %1140 = load i32, ptr %9, align 4, !tbaa !28
  %1141 = sext i32 %1140 to i64
  %1142 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1139, i64 noundef %1141) #6
  %1143 = load i32, ptr %1142, align 4, !tbaa !28
  %1144 = sext i32 %1143 to i64
  %1145 = getelementptr inbounds i32, ptr %1137, i64 %1144
  %1146 = load i32, ptr %1145, align 4, !tbaa !28
  %1147 = shl i32 %1146, 24
  store i32 %1147, ptr %1145, align 4, !tbaa !28
  br label %1148

1148:                                             ; preds = %1116
  %1149 = load i32, ptr %9, align 4, !tbaa !28
  %1150 = add nsw i32 %1149, 1
  store i32 %1150, ptr %9, align 4, !tbaa !28
  br label %1110, !llvm.loop !71

1151:                                             ; preds = %1110
  %1152 = load ptr, ptr %8, align 8, !tbaa !5
  %1153 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1152, i32 0, i32 1
  %1154 = load i32, ptr %1153, align 4, !tbaa !43
  %1155 = load ptr, ptr %39, align 8, !tbaa !5
  %1156 = sext i32 %1154 to i64
  %1157 = getelementptr inbounds i8, ptr %1155, i64 %1156
  store ptr %1157, ptr %39, align 8, !tbaa !5
  %1158 = load ptr, ptr %8, align 8, !tbaa !5
  %1159 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1158, i32 0, i32 2
  %1160 = load i32, ptr %1159, align 8, !tbaa !30
  %1161 = load ptr, ptr %38, align 8, !tbaa !5
  %1162 = sext i32 %1160 to i64
  %1163 = getelementptr inbounds i32, ptr %1161, i64 %1162
  store ptr %1163, ptr %38, align 8, !tbaa !5
  br label %1164

1164:                                             ; preds = %1151
  %1165 = load i32, ptr %40, align 4, !tbaa !28
  %1166 = add i32 %1165, 1
  store i32 %1166, ptr %40, align 4, !tbaa !28
  br label %1102, !llvm.loop !72

1167:                                             ; preds = %1108
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  br label %1506

1168:                                             ; preds = %1094
  %1169 = load ptr, ptr %8, align 8, !tbaa !5
  %1170 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1169, i32 0, i32 3
  %1171 = load i64, ptr %1170, align 8, !tbaa !37
  %1172 = icmp eq i64 %1171, 2
  br i1 %1172, label %1173, label %1241

1173:                                             ; preds = %1168
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #6
  %1174 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1174, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  store i32 0, ptr %42, align 4, !tbaa !28
  br label %1175

1175:                                             ; preds = %1237, %1173
  %1176 = load i32, ptr %42, align 4, !tbaa !28
  %1177 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1178 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1177, i32 0, i32 11
  %1179 = load i32, ptr %1178, align 4, !tbaa !29
  %1180 = icmp ult i32 %1176, %1179
  br i1 %1180, label %1182, label %1181

1181:                                             ; preds = %1175
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  br label %1240

1182:                                             ; preds = %1175
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1183

1183:                                             ; preds = %1221, %1182
  %1184 = load i32, ptr %9, align 4, !tbaa !28
  %1185 = load ptr, ptr %8, align 8, !tbaa !5
  %1186 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1185, i32 0, i32 0
  %1187 = load i32, ptr %1186, align 8, !tbaa !39
  %1188 = icmp slt i32 %1184, %1187
  br i1 %1188, label %1189, label %1224

1189:                                             ; preds = %1183
  %1190 = load ptr, ptr %41, align 8, !tbaa !5
  %1191 = load ptr, ptr %8, align 8, !tbaa !5
  %1192 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1191, i32 0, i32 5
  %1193 = load i32, ptr %9, align 4, !tbaa !28
  %1194 = sext i32 %1193 to i64
  %1195 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1192, i64 noundef %1194) #6
  %1196 = load i32, ptr %1195, align 4, !tbaa !28
  %1197 = sext i32 %1196 to i64
  %1198 = getelementptr inbounds i16, ptr %1190, i64 %1197
  %1199 = load i16, ptr %1198, align 2, !tbaa !45
  %1200 = sext i16 %1199 to i32
  %1201 = load ptr, ptr %38, align 8, !tbaa !5
  %1202 = load ptr, ptr %8, align 8, !tbaa !5
  %1203 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1202, i32 0, i32 6
  %1204 = load i32, ptr %9, align 4, !tbaa !28
  %1205 = sext i32 %1204 to i64
  %1206 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1203, i64 noundef %1205) #6
  %1207 = load i32, ptr %1206, align 4, !tbaa !28
  %1208 = sext i32 %1207 to i64
  %1209 = getelementptr inbounds i32, ptr %1201, i64 %1208
  store i32 %1200, ptr %1209, align 4, !tbaa !28
  %1210 = load ptr, ptr %38, align 8, !tbaa !5
  %1211 = load ptr, ptr %8, align 8, !tbaa !5
  %1212 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1211, i32 0, i32 6
  %1213 = load i32, ptr %9, align 4, !tbaa !28
  %1214 = sext i32 %1213 to i64
  %1215 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1212, i64 noundef %1214) #6
  %1216 = load i32, ptr %1215, align 4, !tbaa !28
  %1217 = sext i32 %1216 to i64
  %1218 = getelementptr inbounds i32, ptr %1210, i64 %1217
  %1219 = load i32, ptr %1218, align 4, !tbaa !28
  %1220 = shl i32 %1219, 16
  store i32 %1220, ptr %1218, align 4, !tbaa !28
  br label %1221

1221:                                             ; preds = %1189
  %1222 = load i32, ptr %9, align 4, !tbaa !28
  %1223 = add nsw i32 %1222, 1
  store i32 %1223, ptr %9, align 4, !tbaa !28
  br label %1183, !llvm.loop !73

1224:                                             ; preds = %1183
  %1225 = load ptr, ptr %8, align 8, !tbaa !5
  %1226 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1225, i32 0, i32 1
  %1227 = load i32, ptr %1226, align 4, !tbaa !43
  %1228 = load ptr, ptr %41, align 8, !tbaa !5
  %1229 = sext i32 %1227 to i64
  %1230 = getelementptr inbounds i16, ptr %1228, i64 %1229
  store ptr %1230, ptr %41, align 8, !tbaa !5
  %1231 = load ptr, ptr %8, align 8, !tbaa !5
  %1232 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1231, i32 0, i32 2
  %1233 = load i32, ptr %1232, align 8, !tbaa !30
  %1234 = load ptr, ptr %38, align 8, !tbaa !5
  %1235 = sext i32 %1233 to i64
  %1236 = getelementptr inbounds i32, ptr %1234, i64 %1235
  store ptr %1236, ptr %38, align 8, !tbaa !5
  br label %1237

1237:                                             ; preds = %1224
  %1238 = load i32, ptr %42, align 4, !tbaa !28
  %1239 = add i32 %1238, 1
  store i32 %1239, ptr %42, align 4, !tbaa !28
  br label %1175, !llvm.loop !74

1240:                                             ; preds = %1181
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  br label %1505

1241:                                             ; preds = %1168
  %1242 = load ptr, ptr %8, align 8, !tbaa !5
  %1243 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1242, i32 0, i32 3
  %1244 = load i64, ptr %1243, align 8, !tbaa !37
  %1245 = icmp eq i64 %1244, 4
  br i1 %1245, label %1246, label %1313

1246:                                             ; preds = %1241
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #6
  %1247 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1247, ptr %43, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #6
  store i32 0, ptr %44, align 4, !tbaa !28
  br label %1248

1248:                                             ; preds = %1309, %1246
  %1249 = load i32, ptr %44, align 4, !tbaa !28
  %1250 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1251 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1250, i32 0, i32 11
  %1252 = load i32, ptr %1251, align 4, !tbaa !29
  %1253 = icmp ult i32 %1249, %1252
  br i1 %1253, label %1255, label %1254

1254:                                             ; preds = %1248
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #6
  br label %1312

1255:                                             ; preds = %1248
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1256

1256:                                             ; preds = %1293, %1255
  %1257 = load i32, ptr %9, align 4, !tbaa !28
  %1258 = load ptr, ptr %8, align 8, !tbaa !5
  %1259 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1258, i32 0, i32 0
  %1260 = load i32, ptr %1259, align 8, !tbaa !39
  %1261 = icmp slt i32 %1257, %1260
  br i1 %1261, label %1262, label %1296

1262:                                             ; preds = %1256
  %1263 = load ptr, ptr %43, align 8, !tbaa !5
  %1264 = load ptr, ptr %8, align 8, !tbaa !5
  %1265 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1264, i32 0, i32 5
  %1266 = load i32, ptr %9, align 4, !tbaa !28
  %1267 = sext i32 %1266 to i64
  %1268 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1265, i64 noundef %1267) #6
  %1269 = load i32, ptr %1268, align 4, !tbaa !28
  %1270 = sext i32 %1269 to i64
  %1271 = getelementptr inbounds %class.S24, ptr %1263, i64 %1270
  %1272 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %1271)
  %1273 = load ptr, ptr %38, align 8, !tbaa !5
  %1274 = load ptr, ptr %8, align 8, !tbaa !5
  %1275 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1274, i32 0, i32 6
  %1276 = load i32, ptr %9, align 4, !tbaa !28
  %1277 = sext i32 %1276 to i64
  %1278 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1275, i64 noundef %1277) #6
  %1279 = load i32, ptr %1278, align 4, !tbaa !28
  %1280 = sext i32 %1279 to i64
  %1281 = getelementptr inbounds i32, ptr %1273, i64 %1280
  store i32 %1272, ptr %1281, align 4, !tbaa !28
  %1282 = load ptr, ptr %38, align 8, !tbaa !5
  %1283 = load ptr, ptr %8, align 8, !tbaa !5
  %1284 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1283, i32 0, i32 6
  %1285 = load i32, ptr %9, align 4, !tbaa !28
  %1286 = sext i32 %1285 to i64
  %1287 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1284, i64 noundef %1286) #6
  %1288 = load i32, ptr %1287, align 4, !tbaa !28
  %1289 = sext i32 %1288 to i64
  %1290 = getelementptr inbounds i32, ptr %1282, i64 %1289
  %1291 = load i32, ptr %1290, align 4, !tbaa !28
  %1292 = shl i32 %1291, 8
  store i32 %1292, ptr %1290, align 4, !tbaa !28
  br label %1293

1293:                                             ; preds = %1262
  %1294 = load i32, ptr %9, align 4, !tbaa !28
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr %9, align 4, !tbaa !28
  br label %1256, !llvm.loop !75

1296:                                             ; preds = %1256
  %1297 = load ptr, ptr %8, align 8, !tbaa !5
  %1298 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1297, i32 0, i32 1
  %1299 = load i32, ptr %1298, align 4, !tbaa !43
  %1300 = load ptr, ptr %43, align 8, !tbaa !5
  %1301 = sext i32 %1299 to i64
  %1302 = getelementptr inbounds %class.S24, ptr %1300, i64 %1301
  store ptr %1302, ptr %43, align 8, !tbaa !5
  %1303 = load ptr, ptr %8, align 8, !tbaa !5
  %1304 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1303, i32 0, i32 2
  %1305 = load i32, ptr %1304, align 8, !tbaa !30
  %1306 = load ptr, ptr %38, align 8, !tbaa !5
  %1307 = sext i32 %1305 to i64
  %1308 = getelementptr inbounds i32, ptr %1306, i64 %1307
  store ptr %1308, ptr %38, align 8, !tbaa !5
  br label %1309

1309:                                             ; preds = %1296
  %1310 = load i32, ptr %44, align 4, !tbaa !28
  %1311 = add i32 %1310, 1
  store i32 %1311, ptr %44, align 4, !tbaa !28
  br label %1248, !llvm.loop !76

1312:                                             ; preds = %1254
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  br label %1504

1313:                                             ; preds = %1241
  %1314 = load ptr, ptr %8, align 8, !tbaa !5
  %1315 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1314, i32 0, i32 3
  %1316 = load i64, ptr %1315, align 8, !tbaa !37
  %1317 = icmp eq i64 %1316, 8
  br i1 %1317, label %1318, label %1374

1318:                                             ; preds = %1313
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  %1319 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1319, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #6
  store i32 0, ptr %46, align 4, !tbaa !28
  br label %1320

1320:                                             ; preds = %1370, %1318
  %1321 = load i32, ptr %46, align 4, !tbaa !28
  %1322 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1323 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1322, i32 0, i32 11
  %1324 = load i32, ptr %1323, align 4, !tbaa !29
  %1325 = icmp ult i32 %1321, %1324
  br i1 %1325, label %1327, label %1326

1326:                                             ; preds = %1320
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  br label %1373

1327:                                             ; preds = %1320
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1328

1328:                                             ; preds = %1354, %1327
  %1329 = load i32, ptr %9, align 4, !tbaa !28
  %1330 = load ptr, ptr %8, align 8, !tbaa !5
  %1331 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1330, i32 0, i32 0
  %1332 = load i32, ptr %1331, align 8, !tbaa !39
  %1333 = icmp slt i32 %1329, %1332
  br i1 %1333, label %1334, label %1357

1334:                                             ; preds = %1328
  %1335 = load ptr, ptr %45, align 8, !tbaa !5
  %1336 = load ptr, ptr %8, align 8, !tbaa !5
  %1337 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1336, i32 0, i32 5
  %1338 = load i32, ptr %9, align 4, !tbaa !28
  %1339 = sext i32 %1338 to i64
  %1340 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1337, i64 noundef %1339) #6
  %1341 = load i32, ptr %1340, align 4, !tbaa !28
  %1342 = sext i32 %1341 to i64
  %1343 = getelementptr inbounds i32, ptr %1335, i64 %1342
  %1344 = load i32, ptr %1343, align 4, !tbaa !28
  %1345 = load ptr, ptr %38, align 8, !tbaa !5
  %1346 = load ptr, ptr %8, align 8, !tbaa !5
  %1347 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1346, i32 0, i32 6
  %1348 = load i32, ptr %9, align 4, !tbaa !28
  %1349 = sext i32 %1348 to i64
  %1350 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1347, i64 noundef %1349) #6
  %1351 = load i32, ptr %1350, align 4, !tbaa !28
  %1352 = sext i32 %1351 to i64
  %1353 = getelementptr inbounds i32, ptr %1345, i64 %1352
  store i32 %1344, ptr %1353, align 4, !tbaa !28
  br label %1354

1354:                                             ; preds = %1334
  %1355 = load i32, ptr %9, align 4, !tbaa !28
  %1356 = add nsw i32 %1355, 1
  store i32 %1356, ptr %9, align 4, !tbaa !28
  br label %1328, !llvm.loop !77

1357:                                             ; preds = %1328
  %1358 = load ptr, ptr %8, align 8, !tbaa !5
  %1359 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1358, i32 0, i32 1
  %1360 = load i32, ptr %1359, align 4, !tbaa !43
  %1361 = load ptr, ptr %45, align 8, !tbaa !5
  %1362 = sext i32 %1360 to i64
  %1363 = getelementptr inbounds i32, ptr %1361, i64 %1362
  store ptr %1363, ptr %45, align 8, !tbaa !5
  %1364 = load ptr, ptr %8, align 8, !tbaa !5
  %1365 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1364, i32 0, i32 2
  %1366 = load i32, ptr %1365, align 8, !tbaa !30
  %1367 = load ptr, ptr %38, align 8, !tbaa !5
  %1368 = sext i32 %1366 to i64
  %1369 = getelementptr inbounds i32, ptr %1367, i64 %1368
  store ptr %1369, ptr %38, align 8, !tbaa !5
  br label %1370

1370:                                             ; preds = %1357
  %1371 = load i32, ptr %46, align 4, !tbaa !28
  %1372 = add i32 %1371, 1
  store i32 %1372, ptr %46, align 4, !tbaa !28
  br label %1320, !llvm.loop !78

1373:                                             ; preds = %1326
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  br label %1503

1374:                                             ; preds = %1313
  %1375 = load ptr, ptr %8, align 8, !tbaa !5
  %1376 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1375, i32 0, i32 3
  %1377 = load i64, ptr %1376, align 8, !tbaa !37
  %1378 = icmp eq i64 %1377, 16
  br i1 %1378, label %1379, label %1438

1379:                                             ; preds = %1374
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #6
  %1380 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1380, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #6
  store i32 0, ptr %48, align 4, !tbaa !28
  br label %1381

1381:                                             ; preds = %1434, %1379
  %1382 = load i32, ptr %48, align 4, !tbaa !28
  %1383 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1384 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1383, i32 0, i32 11
  %1385 = load i32, ptr %1384, align 4, !tbaa !29
  %1386 = icmp ult i32 %1382, %1385
  br i1 %1386, label %1388, label %1387

1387:                                             ; preds = %1381
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #6
  br label %1437

1388:                                             ; preds = %1381
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1389

1389:                                             ; preds = %1418, %1388
  %1390 = load i32, ptr %9, align 4, !tbaa !28
  %1391 = load ptr, ptr %8, align 8, !tbaa !5
  %1392 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1391, i32 0, i32 0
  %1393 = load i32, ptr %1392, align 8, !tbaa !39
  %1394 = icmp slt i32 %1390, %1393
  br i1 %1394, label %1395, label %1421

1395:                                             ; preds = %1389
  %1396 = load ptr, ptr %47, align 8, !tbaa !5
  %1397 = load ptr, ptr %8, align 8, !tbaa !5
  %1398 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1397, i32 0, i32 5
  %1399 = load i32, ptr %9, align 4, !tbaa !28
  %1400 = sext i32 %1399 to i64
  %1401 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1398, i64 noundef %1400) #6
  %1402 = load i32, ptr %1401, align 4, !tbaa !28
  %1403 = sext i32 %1402 to i64
  %1404 = getelementptr inbounds float, ptr %1396, i64 %1403
  %1405 = load float, ptr %1404, align 4, !tbaa !53
  %1406 = fpext float %1405 to double
  %1407 = call double @llvm.fmuladd.f64(double %1406, double 0x41DFFFFFFFE00000, double -5.000000e-01)
  %1408 = fptosi double %1407 to i32
  %1409 = load ptr, ptr %38, align 8, !tbaa !5
  %1410 = load ptr, ptr %8, align 8, !tbaa !5
  %1411 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1410, i32 0, i32 6
  %1412 = load i32, ptr %9, align 4, !tbaa !28
  %1413 = sext i32 %1412 to i64
  %1414 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1411, i64 noundef %1413) #6
  %1415 = load i32, ptr %1414, align 4, !tbaa !28
  %1416 = sext i32 %1415 to i64
  %1417 = getelementptr inbounds i32, ptr %1409, i64 %1416
  store i32 %1408, ptr %1417, align 4, !tbaa !28
  br label %1418

1418:                                             ; preds = %1395
  %1419 = load i32, ptr %9, align 4, !tbaa !28
  %1420 = add nsw i32 %1419, 1
  store i32 %1420, ptr %9, align 4, !tbaa !28
  br label %1389, !llvm.loop !79

1421:                                             ; preds = %1389
  %1422 = load ptr, ptr %8, align 8, !tbaa !5
  %1423 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1422, i32 0, i32 1
  %1424 = load i32, ptr %1423, align 4, !tbaa !43
  %1425 = load ptr, ptr %47, align 8, !tbaa !5
  %1426 = sext i32 %1424 to i64
  %1427 = getelementptr inbounds float, ptr %1425, i64 %1426
  store ptr %1427, ptr %47, align 8, !tbaa !5
  %1428 = load ptr, ptr %8, align 8, !tbaa !5
  %1429 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1428, i32 0, i32 2
  %1430 = load i32, ptr %1429, align 8, !tbaa !30
  %1431 = load ptr, ptr %38, align 8, !tbaa !5
  %1432 = sext i32 %1430 to i64
  %1433 = getelementptr inbounds i32, ptr %1431, i64 %1432
  store ptr %1433, ptr %38, align 8, !tbaa !5
  br label %1434

1434:                                             ; preds = %1421
  %1435 = load i32, ptr %48, align 4, !tbaa !28
  %1436 = add i32 %1435, 1
  store i32 %1436, ptr %48, align 4, !tbaa !28
  br label %1381, !llvm.loop !80

1437:                                             ; preds = %1387
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  br label %1502

1438:                                             ; preds = %1374
  %1439 = load ptr, ptr %8, align 8, !tbaa !5
  %1440 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1439, i32 0, i32 3
  %1441 = load i64, ptr %1440, align 8, !tbaa !37
  %1442 = icmp eq i64 %1441, 32
  br i1 %1442, label %1443, label %1501

1443:                                             ; preds = %1438
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #6
  %1444 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1444, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #6
  store i32 0, ptr %50, align 4, !tbaa !28
  br label %1445

1445:                                             ; preds = %1497, %1443
  %1446 = load i32, ptr %50, align 4, !tbaa !28
  %1447 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1448 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1447, i32 0, i32 11
  %1449 = load i32, ptr %1448, align 4, !tbaa !29
  %1450 = icmp ult i32 %1446, %1449
  br i1 %1450, label %1452, label %1451

1451:                                             ; preds = %1445
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #6
  br label %1500

1452:                                             ; preds = %1445
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1453

1453:                                             ; preds = %1481, %1452
  %1454 = load i32, ptr %9, align 4, !tbaa !28
  %1455 = load ptr, ptr %8, align 8, !tbaa !5
  %1456 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1455, i32 0, i32 0
  %1457 = load i32, ptr %1456, align 8, !tbaa !39
  %1458 = icmp slt i32 %1454, %1457
  br i1 %1458, label %1459, label %1484

1459:                                             ; preds = %1453
  %1460 = load ptr, ptr %49, align 8, !tbaa !5
  %1461 = load ptr, ptr %8, align 8, !tbaa !5
  %1462 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1461, i32 0, i32 5
  %1463 = load i32, ptr %9, align 4, !tbaa !28
  %1464 = sext i32 %1463 to i64
  %1465 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1462, i64 noundef %1464) #6
  %1466 = load i32, ptr %1465, align 4, !tbaa !28
  %1467 = sext i32 %1466 to i64
  %1468 = getelementptr inbounds double, ptr %1460, i64 %1467
  %1469 = load double, ptr %1468, align 8, !tbaa !38
  %1470 = call double @llvm.fmuladd.f64(double %1469, double 0x41DFFFFFFFE00000, double -5.000000e-01)
  %1471 = fptosi double %1470 to i32
  %1472 = load ptr, ptr %38, align 8, !tbaa !5
  %1473 = load ptr, ptr %8, align 8, !tbaa !5
  %1474 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1473, i32 0, i32 6
  %1475 = load i32, ptr %9, align 4, !tbaa !28
  %1476 = sext i32 %1475 to i64
  %1477 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1474, i64 noundef %1476) #6
  %1478 = load i32, ptr %1477, align 4, !tbaa !28
  %1479 = sext i32 %1478 to i64
  %1480 = getelementptr inbounds i32, ptr %1472, i64 %1479
  store i32 %1471, ptr %1480, align 4, !tbaa !28
  br label %1481

1481:                                             ; preds = %1459
  %1482 = load i32, ptr %9, align 4, !tbaa !28
  %1483 = add nsw i32 %1482, 1
  store i32 %1483, ptr %9, align 4, !tbaa !28
  br label %1453, !llvm.loop !81

1484:                                             ; preds = %1453
  %1485 = load ptr, ptr %8, align 8, !tbaa !5
  %1486 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1485, i32 0, i32 1
  %1487 = load i32, ptr %1486, align 4, !tbaa !43
  %1488 = load ptr, ptr %49, align 8, !tbaa !5
  %1489 = sext i32 %1487 to i64
  %1490 = getelementptr inbounds double, ptr %1488, i64 %1489
  store ptr %1490, ptr %49, align 8, !tbaa !5
  %1491 = load ptr, ptr %8, align 8, !tbaa !5
  %1492 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1491, i32 0, i32 2
  %1493 = load i32, ptr %1492, align 8, !tbaa !30
  %1494 = load ptr, ptr %38, align 8, !tbaa !5
  %1495 = sext i32 %1493 to i64
  %1496 = getelementptr inbounds i32, ptr %1494, i64 %1495
  store ptr %1496, ptr %38, align 8, !tbaa !5
  br label %1497

1497:                                             ; preds = %1484
  %1498 = load i32, ptr %50, align 4, !tbaa !28
  %1499 = add i32 %1498, 1
  store i32 %1499, ptr %50, align 4, !tbaa !28
  br label %1445, !llvm.loop !82

1500:                                             ; preds = %1451
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  br label %1501

1501:                                             ; preds = %1500, %1438
  br label %1502

1502:                                             ; preds = %1501, %1437
  br label %1503

1503:                                             ; preds = %1502, %1373
  br label %1504

1504:                                             ; preds = %1503, %1312
  br label %1505

1505:                                             ; preds = %1504, %1240
  br label %1506

1506:                                             ; preds = %1505, %1167
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #6
  br label %2695

1507:                                             ; preds = %1089
  %1508 = load ptr, ptr %8, align 8, !tbaa !5
  %1509 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1508, i32 0, i32 4
  %1510 = load i64, ptr %1509, align 8, !tbaa !36
  %1511 = icmp eq i64 %1510, 4
  br i1 %1511, label %1512, label %1899

1512:                                             ; preds = %1507
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #6
  %1513 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %1513, ptr %51, align 8, !tbaa !5
  %1514 = load ptr, ptr %8, align 8, !tbaa !5
  %1515 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1514, i32 0, i32 3
  %1516 = load i64, ptr %1515, align 8, !tbaa !37
  %1517 = icmp eq i64 %1516, 1
  br i1 %1517, label %1518, label %1577

1518:                                             ; preds = %1512
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #6
  %1519 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1519, ptr %52, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #6
  store i32 0, ptr %53, align 4, !tbaa !28
  br label %1520

1520:                                             ; preds = %1573, %1518
  %1521 = load i32, ptr %53, align 4, !tbaa !28
  %1522 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1523 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1522, i32 0, i32 11
  %1524 = load i32, ptr %1523, align 4, !tbaa !29
  %1525 = icmp ult i32 %1521, %1524
  br i1 %1525, label %1527, label %1526

1526:                                             ; preds = %1520
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  br label %1576

1527:                                             ; preds = %1520
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1528

1528:                                             ; preds = %1557, %1527
  %1529 = load i32, ptr %9, align 4, !tbaa !28
  %1530 = load ptr, ptr %8, align 8, !tbaa !5
  %1531 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1530, i32 0, i32 0
  %1532 = load i32, ptr %1531, align 8, !tbaa !39
  %1533 = icmp slt i32 %1529, %1532
  br i1 %1533, label %1534, label %1560

1534:                                             ; preds = %1528
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #6
  %1535 = load ptr, ptr %52, align 8, !tbaa !5
  %1536 = load ptr, ptr %8, align 8, !tbaa !5
  %1537 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1536, i32 0, i32 5
  %1538 = load i32, ptr %9, align 4, !tbaa !28
  %1539 = sext i32 %1538 to i64
  %1540 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1537, i64 noundef %1539) #6
  %1541 = load i32, ptr %1540, align 4, !tbaa !28
  %1542 = sext i32 %1541 to i64
  %1543 = getelementptr inbounds i8, ptr %1535, i64 %1542
  %1544 = load i8, ptr %1543, align 1, !tbaa !40
  %1545 = sext i8 %1544 to i32
  %1546 = shl i32 %1545, 16
  store i32 %1546, ptr %54, align 4, !tbaa !28
  %1547 = load ptr, ptr %51, align 8, !tbaa !5
  %1548 = load ptr, ptr %8, align 8, !tbaa !5
  %1549 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1548, i32 0, i32 6
  %1550 = load i32, ptr %9, align 4, !tbaa !28
  %1551 = sext i32 %1550 to i64
  %1552 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1549, i64 noundef %1551) #6
  %1553 = load i32, ptr %1552, align 4, !tbaa !28
  %1554 = sext i32 %1553 to i64
  %1555 = getelementptr inbounds %class.S24, ptr %1547, i64 %1554
  %1556 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1555, ptr noundef nonnull align 4 dereferenceable(4) %54)
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #6
  br label %1557

1557:                                             ; preds = %1534
  %1558 = load i32, ptr %9, align 4, !tbaa !28
  %1559 = add nsw i32 %1558, 1
  store i32 %1559, ptr %9, align 4, !tbaa !28
  br label %1528, !llvm.loop !83

1560:                                             ; preds = %1528
  %1561 = load ptr, ptr %8, align 8, !tbaa !5
  %1562 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1561, i32 0, i32 1
  %1563 = load i32, ptr %1562, align 4, !tbaa !43
  %1564 = load ptr, ptr %52, align 8, !tbaa !5
  %1565 = sext i32 %1563 to i64
  %1566 = getelementptr inbounds i8, ptr %1564, i64 %1565
  store ptr %1566, ptr %52, align 8, !tbaa !5
  %1567 = load ptr, ptr %8, align 8, !tbaa !5
  %1568 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1567, i32 0, i32 2
  %1569 = load i32, ptr %1568, align 8, !tbaa !30
  %1570 = load ptr, ptr %51, align 8, !tbaa !5
  %1571 = sext i32 %1569 to i64
  %1572 = getelementptr inbounds %class.S24, ptr %1570, i64 %1571
  store ptr %1572, ptr %51, align 8, !tbaa !5
  br label %1573

1573:                                             ; preds = %1560
  %1574 = load i32, ptr %53, align 4, !tbaa !28
  %1575 = add i32 %1574, 1
  store i32 %1575, ptr %53, align 4, !tbaa !28
  br label %1520, !llvm.loop !84

1576:                                             ; preds = %1526
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  br label %1898

1577:                                             ; preds = %1512
  %1578 = load ptr, ptr %8, align 8, !tbaa !5
  %1579 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1578, i32 0, i32 3
  %1580 = load i64, ptr %1579, align 8, !tbaa !37
  %1581 = icmp eq i64 %1580, 2
  br i1 %1581, label %1582, label %1641

1582:                                             ; preds = %1577
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #6
  %1583 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1583, ptr %55, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #6
  store i32 0, ptr %56, align 4, !tbaa !28
  br label %1584

1584:                                             ; preds = %1637, %1582
  %1585 = load i32, ptr %56, align 4, !tbaa !28
  %1586 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1587 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1586, i32 0, i32 11
  %1588 = load i32, ptr %1587, align 4, !tbaa !29
  %1589 = icmp ult i32 %1585, %1588
  br i1 %1589, label %1591, label %1590

1590:                                             ; preds = %1584
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  br label %1640

1591:                                             ; preds = %1584
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1592

1592:                                             ; preds = %1621, %1591
  %1593 = load i32, ptr %9, align 4, !tbaa !28
  %1594 = load ptr, ptr %8, align 8, !tbaa !5
  %1595 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1594, i32 0, i32 0
  %1596 = load i32, ptr %1595, align 8, !tbaa !39
  %1597 = icmp slt i32 %1593, %1596
  br i1 %1597, label %1598, label %1624

1598:                                             ; preds = %1592
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #6
  %1599 = load ptr, ptr %55, align 8, !tbaa !5
  %1600 = load ptr, ptr %8, align 8, !tbaa !5
  %1601 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1600, i32 0, i32 5
  %1602 = load i32, ptr %9, align 4, !tbaa !28
  %1603 = sext i32 %1602 to i64
  %1604 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1601, i64 noundef %1603) #6
  %1605 = load i32, ptr %1604, align 4, !tbaa !28
  %1606 = sext i32 %1605 to i64
  %1607 = getelementptr inbounds i16, ptr %1599, i64 %1606
  %1608 = load i16, ptr %1607, align 2, !tbaa !45
  %1609 = sext i16 %1608 to i32
  %1610 = shl i32 %1609, 8
  store i32 %1610, ptr %57, align 4, !tbaa !28
  %1611 = load ptr, ptr %51, align 8, !tbaa !5
  %1612 = load ptr, ptr %8, align 8, !tbaa !5
  %1613 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1612, i32 0, i32 6
  %1614 = load i32, ptr %9, align 4, !tbaa !28
  %1615 = sext i32 %1614 to i64
  %1616 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1613, i64 noundef %1615) #6
  %1617 = load i32, ptr %1616, align 4, !tbaa !28
  %1618 = sext i32 %1617 to i64
  %1619 = getelementptr inbounds %class.S24, ptr %1611, i64 %1618
  %1620 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1619, ptr noundef nonnull align 4 dereferenceable(4) %57)
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  br label %1621

1621:                                             ; preds = %1598
  %1622 = load i32, ptr %9, align 4, !tbaa !28
  %1623 = add nsw i32 %1622, 1
  store i32 %1623, ptr %9, align 4, !tbaa !28
  br label %1592, !llvm.loop !85

1624:                                             ; preds = %1592
  %1625 = load ptr, ptr %8, align 8, !tbaa !5
  %1626 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1625, i32 0, i32 1
  %1627 = load i32, ptr %1626, align 4, !tbaa !43
  %1628 = load ptr, ptr %55, align 8, !tbaa !5
  %1629 = sext i32 %1627 to i64
  %1630 = getelementptr inbounds i16, ptr %1628, i64 %1629
  store ptr %1630, ptr %55, align 8, !tbaa !5
  %1631 = load ptr, ptr %8, align 8, !tbaa !5
  %1632 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1631, i32 0, i32 2
  %1633 = load i32, ptr %1632, align 8, !tbaa !30
  %1634 = load ptr, ptr %51, align 8, !tbaa !5
  %1635 = sext i32 %1633 to i64
  %1636 = getelementptr inbounds %class.S24, ptr %1634, i64 %1635
  store ptr %1636, ptr %51, align 8, !tbaa !5
  br label %1637

1637:                                             ; preds = %1624
  %1638 = load i32, ptr %56, align 4, !tbaa !28
  %1639 = add i32 %1638, 1
  store i32 %1639, ptr %56, align 4, !tbaa !28
  br label %1584, !llvm.loop !86

1640:                                             ; preds = %1590
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #6
  br label %1897

1641:                                             ; preds = %1577
  %1642 = load ptr, ptr %8, align 8, !tbaa !5
  %1643 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1642, i32 0, i32 3
  %1644 = load i64, ptr %1643, align 8, !tbaa !37
  %1645 = icmp eq i64 %1644, 4
  br i1 %1645, label %1646, label %1701

1646:                                             ; preds = %1641
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #6
  %1647 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1647, ptr %58, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  store i32 0, ptr %59, align 4, !tbaa !28
  br label %1648

1648:                                             ; preds = %1697, %1646
  %1649 = load i32, ptr %59, align 4, !tbaa !28
  %1650 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1651 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1650, i32 0, i32 11
  %1652 = load i32, ptr %1651, align 4, !tbaa !29
  %1653 = icmp ult i32 %1649, %1652
  br i1 %1653, label %1655, label %1654

1654:                                             ; preds = %1648
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  br label %1700

1655:                                             ; preds = %1648
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1656

1656:                                             ; preds = %1681, %1655
  %1657 = load i32, ptr %9, align 4, !tbaa !28
  %1658 = load ptr, ptr %8, align 8, !tbaa !5
  %1659 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1658, i32 0, i32 0
  %1660 = load i32, ptr %1659, align 8, !tbaa !39
  %1661 = icmp slt i32 %1657, %1660
  br i1 %1661, label %1662, label %1684

1662:                                             ; preds = %1656
  %1663 = load ptr, ptr %58, align 8, !tbaa !5
  %1664 = load ptr, ptr %8, align 8, !tbaa !5
  %1665 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1664, i32 0, i32 5
  %1666 = load i32, ptr %9, align 4, !tbaa !28
  %1667 = sext i32 %1666 to i64
  %1668 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1665, i64 noundef %1667) #6
  %1669 = load i32, ptr %1668, align 4, !tbaa !28
  %1670 = sext i32 %1669 to i64
  %1671 = getelementptr inbounds %class.S24, ptr %1663, i64 %1670
  %1672 = load ptr, ptr %51, align 8, !tbaa !5
  %1673 = load ptr, ptr %8, align 8, !tbaa !5
  %1674 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1673, i32 0, i32 6
  %1675 = load i32, ptr %9, align 4, !tbaa !28
  %1676 = sext i32 %1675 to i64
  %1677 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1674, i64 noundef %1676) #6
  %1678 = load i32, ptr %1677, align 4, !tbaa !28
  %1679 = sext i32 %1678 to i64
  %1680 = getelementptr inbounds %class.S24, ptr %1672, i64 %1679
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1680, ptr align 1 %1671, i64 3, i1 false), !tbaa.struct !87
  br label %1681

1681:                                             ; preds = %1662
  %1682 = load i32, ptr %9, align 4, !tbaa !28
  %1683 = add nsw i32 %1682, 1
  store i32 %1683, ptr %9, align 4, !tbaa !28
  br label %1656, !llvm.loop !88

1684:                                             ; preds = %1656
  %1685 = load ptr, ptr %8, align 8, !tbaa !5
  %1686 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1685, i32 0, i32 1
  %1687 = load i32, ptr %1686, align 4, !tbaa !43
  %1688 = load ptr, ptr %58, align 8, !tbaa !5
  %1689 = sext i32 %1687 to i64
  %1690 = getelementptr inbounds %class.S24, ptr %1688, i64 %1689
  store ptr %1690, ptr %58, align 8, !tbaa !5
  %1691 = load ptr, ptr %8, align 8, !tbaa !5
  %1692 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1691, i32 0, i32 2
  %1693 = load i32, ptr %1692, align 8, !tbaa !30
  %1694 = load ptr, ptr %51, align 8, !tbaa !5
  %1695 = sext i32 %1693 to i64
  %1696 = getelementptr inbounds %class.S24, ptr %1694, i64 %1695
  store ptr %1696, ptr %51, align 8, !tbaa !5
  br label %1697

1697:                                             ; preds = %1684
  %1698 = load i32, ptr %59, align 4, !tbaa !28
  %1699 = add i32 %1698, 1
  store i32 %1699, ptr %59, align 4, !tbaa !28
  br label %1648, !llvm.loop !89

1700:                                             ; preds = %1654
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #6
  br label %1896

1701:                                             ; preds = %1641
  %1702 = load ptr, ptr %8, align 8, !tbaa !5
  %1703 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1702, i32 0, i32 3
  %1704 = load i64, ptr %1703, align 8, !tbaa !37
  %1705 = icmp eq i64 %1704, 8
  br i1 %1705, label %1706, label %1764

1706:                                             ; preds = %1701
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #6
  %1707 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1707, ptr %60, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #6
  store i32 0, ptr %61, align 4, !tbaa !28
  br label %1708

1708:                                             ; preds = %1760, %1706
  %1709 = load i32, ptr %61, align 4, !tbaa !28
  %1710 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1711 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1710, i32 0, i32 11
  %1712 = load i32, ptr %1711, align 4, !tbaa !29
  %1713 = icmp ult i32 %1709, %1712
  br i1 %1713, label %1715, label %1714

1714:                                             ; preds = %1708
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #6
  br label %1763

1715:                                             ; preds = %1708
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1716

1716:                                             ; preds = %1744, %1715
  %1717 = load i32, ptr %9, align 4, !tbaa !28
  %1718 = load ptr, ptr %8, align 8, !tbaa !5
  %1719 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1718, i32 0, i32 0
  %1720 = load i32, ptr %1719, align 8, !tbaa !39
  %1721 = icmp slt i32 %1717, %1720
  br i1 %1721, label %1722, label %1747

1722:                                             ; preds = %1716
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #6
  %1723 = load ptr, ptr %60, align 8, !tbaa !5
  %1724 = load ptr, ptr %8, align 8, !tbaa !5
  %1725 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1724, i32 0, i32 5
  %1726 = load i32, ptr %9, align 4, !tbaa !28
  %1727 = sext i32 %1726 to i64
  %1728 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1725, i64 noundef %1727) #6
  %1729 = load i32, ptr %1728, align 4, !tbaa !28
  %1730 = sext i32 %1729 to i64
  %1731 = getelementptr inbounds i32, ptr %1723, i64 %1730
  %1732 = load i32, ptr %1731, align 4, !tbaa !28
  %1733 = ashr i32 %1732, 8
  store i32 %1733, ptr %62, align 4, !tbaa !28
  %1734 = load ptr, ptr %51, align 8, !tbaa !5
  %1735 = load ptr, ptr %8, align 8, !tbaa !5
  %1736 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1735, i32 0, i32 6
  %1737 = load i32, ptr %9, align 4, !tbaa !28
  %1738 = sext i32 %1737 to i64
  %1739 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1736, i64 noundef %1738) #6
  %1740 = load i32, ptr %1739, align 4, !tbaa !28
  %1741 = sext i32 %1740 to i64
  %1742 = getelementptr inbounds %class.S24, ptr %1734, i64 %1741
  %1743 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1742, ptr noundef nonnull align 4 dereferenceable(4) %62)
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #6
  br label %1744

1744:                                             ; preds = %1722
  %1745 = load i32, ptr %9, align 4, !tbaa !28
  %1746 = add nsw i32 %1745, 1
  store i32 %1746, ptr %9, align 4, !tbaa !28
  br label %1716, !llvm.loop !90

1747:                                             ; preds = %1716
  %1748 = load ptr, ptr %8, align 8, !tbaa !5
  %1749 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1748, i32 0, i32 1
  %1750 = load i32, ptr %1749, align 4, !tbaa !43
  %1751 = load ptr, ptr %60, align 8, !tbaa !5
  %1752 = sext i32 %1750 to i64
  %1753 = getelementptr inbounds i32, ptr %1751, i64 %1752
  store ptr %1753, ptr %60, align 8, !tbaa !5
  %1754 = load ptr, ptr %8, align 8, !tbaa !5
  %1755 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1754, i32 0, i32 2
  %1756 = load i32, ptr %1755, align 8, !tbaa !30
  %1757 = load ptr, ptr %51, align 8, !tbaa !5
  %1758 = sext i32 %1756 to i64
  %1759 = getelementptr inbounds %class.S24, ptr %1757, i64 %1758
  store ptr %1759, ptr %51, align 8, !tbaa !5
  br label %1760

1760:                                             ; preds = %1747
  %1761 = load i32, ptr %61, align 4, !tbaa !28
  %1762 = add i32 %1761, 1
  store i32 %1762, ptr %61, align 4, !tbaa !28
  br label %1708, !llvm.loop !91

1763:                                             ; preds = %1714
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #6
  br label %1895

1764:                                             ; preds = %1701
  %1765 = load ptr, ptr %8, align 8, !tbaa !5
  %1766 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1765, i32 0, i32 3
  %1767 = load i64, ptr %1766, align 8, !tbaa !37
  %1768 = icmp eq i64 %1767, 16
  br i1 %1768, label %1769, label %1829

1769:                                             ; preds = %1764
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #6
  %1770 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1770, ptr %63, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #6
  store i32 0, ptr %64, align 4, !tbaa !28
  br label %1771

1771:                                             ; preds = %1825, %1769
  %1772 = load i32, ptr %64, align 4, !tbaa !28
  %1773 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1774 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1773, i32 0, i32 11
  %1775 = load i32, ptr %1774, align 4, !tbaa !29
  %1776 = icmp ult i32 %1772, %1775
  br i1 %1776, label %1778, label %1777

1777:                                             ; preds = %1771
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #6
  br label %1828

1778:                                             ; preds = %1771
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1779

1779:                                             ; preds = %1809, %1778
  %1780 = load i32, ptr %9, align 4, !tbaa !28
  %1781 = load ptr, ptr %8, align 8, !tbaa !5
  %1782 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1781, i32 0, i32 0
  %1783 = load i32, ptr %1782, align 8, !tbaa !39
  %1784 = icmp slt i32 %1780, %1783
  br i1 %1784, label %1785, label %1812

1785:                                             ; preds = %1779
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #6
  %1786 = load ptr, ptr %63, align 8, !tbaa !5
  %1787 = load ptr, ptr %8, align 8, !tbaa !5
  %1788 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1787, i32 0, i32 5
  %1789 = load i32, ptr %9, align 4, !tbaa !28
  %1790 = sext i32 %1789 to i64
  %1791 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1788, i64 noundef %1790) #6
  %1792 = load i32, ptr %1791, align 4, !tbaa !28
  %1793 = sext i32 %1792 to i64
  %1794 = getelementptr inbounds float, ptr %1786, i64 %1793
  %1795 = load float, ptr %1794, align 4, !tbaa !53
  %1796 = fpext float %1795 to double
  %1797 = call double @llvm.fmuladd.f64(double %1796, double 0x415FFFFFE0000000, double -5.000000e-01)
  %1798 = fptosi double %1797 to i32
  store i32 %1798, ptr %65, align 4, !tbaa !28
  %1799 = load ptr, ptr %51, align 8, !tbaa !5
  %1800 = load ptr, ptr %8, align 8, !tbaa !5
  %1801 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1800, i32 0, i32 6
  %1802 = load i32, ptr %9, align 4, !tbaa !28
  %1803 = sext i32 %1802 to i64
  %1804 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1801, i64 noundef %1803) #6
  %1805 = load i32, ptr %1804, align 4, !tbaa !28
  %1806 = sext i32 %1805 to i64
  %1807 = getelementptr inbounds %class.S24, ptr %1799, i64 %1806
  %1808 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1807, ptr noundef nonnull align 4 dereferenceable(4) %65)
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #6
  br label %1809

1809:                                             ; preds = %1785
  %1810 = load i32, ptr %9, align 4, !tbaa !28
  %1811 = add nsw i32 %1810, 1
  store i32 %1811, ptr %9, align 4, !tbaa !28
  br label %1779, !llvm.loop !92

1812:                                             ; preds = %1779
  %1813 = load ptr, ptr %8, align 8, !tbaa !5
  %1814 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1813, i32 0, i32 1
  %1815 = load i32, ptr %1814, align 4, !tbaa !43
  %1816 = load ptr, ptr %63, align 8, !tbaa !5
  %1817 = sext i32 %1815 to i64
  %1818 = getelementptr inbounds float, ptr %1816, i64 %1817
  store ptr %1818, ptr %63, align 8, !tbaa !5
  %1819 = load ptr, ptr %8, align 8, !tbaa !5
  %1820 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1819, i32 0, i32 2
  %1821 = load i32, ptr %1820, align 8, !tbaa !30
  %1822 = load ptr, ptr %51, align 8, !tbaa !5
  %1823 = sext i32 %1821 to i64
  %1824 = getelementptr inbounds %class.S24, ptr %1822, i64 %1823
  store ptr %1824, ptr %51, align 8, !tbaa !5
  br label %1825

1825:                                             ; preds = %1812
  %1826 = load i32, ptr %64, align 4, !tbaa !28
  %1827 = add i32 %1826, 1
  store i32 %1827, ptr %64, align 4, !tbaa !28
  br label %1771, !llvm.loop !93

1828:                                             ; preds = %1777
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #6
  br label %1894

1829:                                             ; preds = %1764
  %1830 = load ptr, ptr %8, align 8, !tbaa !5
  %1831 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1830, i32 0, i32 3
  %1832 = load i64, ptr %1831, align 8, !tbaa !37
  %1833 = icmp eq i64 %1832, 32
  br i1 %1833, label %1834, label %1893

1834:                                             ; preds = %1829
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #6
  %1835 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1835, ptr %66, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #6
  store i32 0, ptr %67, align 4, !tbaa !28
  br label %1836

1836:                                             ; preds = %1889, %1834
  %1837 = load i32, ptr %67, align 4, !tbaa !28
  %1838 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1839 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1838, i32 0, i32 11
  %1840 = load i32, ptr %1839, align 4, !tbaa !29
  %1841 = icmp ult i32 %1837, %1840
  br i1 %1841, label %1843, label %1842

1842:                                             ; preds = %1836
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  br label %1892

1843:                                             ; preds = %1836
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1844

1844:                                             ; preds = %1873, %1843
  %1845 = load i32, ptr %9, align 4, !tbaa !28
  %1846 = load ptr, ptr %8, align 8, !tbaa !5
  %1847 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1846, i32 0, i32 0
  %1848 = load i32, ptr %1847, align 8, !tbaa !39
  %1849 = icmp slt i32 %1845, %1848
  br i1 %1849, label %1850, label %1876

1850:                                             ; preds = %1844
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #6
  %1851 = load ptr, ptr %66, align 8, !tbaa !5
  %1852 = load ptr, ptr %8, align 8, !tbaa !5
  %1853 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1852, i32 0, i32 5
  %1854 = load i32, ptr %9, align 4, !tbaa !28
  %1855 = sext i32 %1854 to i64
  %1856 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1853, i64 noundef %1855) #6
  %1857 = load i32, ptr %1856, align 4, !tbaa !28
  %1858 = sext i32 %1857 to i64
  %1859 = getelementptr inbounds double, ptr %1851, i64 %1858
  %1860 = load double, ptr %1859, align 8, !tbaa !38
  %1861 = call double @llvm.fmuladd.f64(double %1860, double 0x415FFFFFE0000000, double -5.000000e-01)
  %1862 = fptosi double %1861 to i32
  store i32 %1862, ptr %68, align 4, !tbaa !28
  %1863 = load ptr, ptr %51, align 8, !tbaa !5
  %1864 = load ptr, ptr %8, align 8, !tbaa !5
  %1865 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1864, i32 0, i32 6
  %1866 = load i32, ptr %9, align 4, !tbaa !28
  %1867 = sext i32 %1866 to i64
  %1868 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1865, i64 noundef %1867) #6
  %1869 = load i32, ptr %1868, align 4, !tbaa !28
  %1870 = sext i32 %1869 to i64
  %1871 = getelementptr inbounds %class.S24, ptr %1863, i64 %1870
  %1872 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %1871, ptr noundef nonnull align 4 dereferenceable(4) %68)
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #6
  br label %1873

1873:                                             ; preds = %1850
  %1874 = load i32, ptr %9, align 4, !tbaa !28
  %1875 = add nsw i32 %1874, 1
  store i32 %1875, ptr %9, align 4, !tbaa !28
  br label %1844, !llvm.loop !94

1876:                                             ; preds = %1844
  %1877 = load ptr, ptr %8, align 8, !tbaa !5
  %1878 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1877, i32 0, i32 1
  %1879 = load i32, ptr %1878, align 4, !tbaa !43
  %1880 = load ptr, ptr %66, align 8, !tbaa !5
  %1881 = sext i32 %1879 to i64
  %1882 = getelementptr inbounds double, ptr %1880, i64 %1881
  store ptr %1882, ptr %66, align 8, !tbaa !5
  %1883 = load ptr, ptr %8, align 8, !tbaa !5
  %1884 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1883, i32 0, i32 2
  %1885 = load i32, ptr %1884, align 8, !tbaa !30
  %1886 = load ptr, ptr %51, align 8, !tbaa !5
  %1887 = sext i32 %1885 to i64
  %1888 = getelementptr inbounds %class.S24, ptr %1886, i64 %1887
  store ptr %1888, ptr %51, align 8, !tbaa !5
  br label %1889

1889:                                             ; preds = %1876
  %1890 = load i32, ptr %67, align 4, !tbaa !28
  %1891 = add i32 %1890, 1
  store i32 %1891, ptr %67, align 4, !tbaa !28
  br label %1836, !llvm.loop !95

1892:                                             ; preds = %1842
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  br label %1893

1893:                                             ; preds = %1892, %1829
  br label %1894

1894:                                             ; preds = %1893, %1828
  br label %1895

1895:                                             ; preds = %1894, %1763
  br label %1896

1896:                                             ; preds = %1895, %1700
  br label %1897

1897:                                             ; preds = %1896, %1640
  br label %1898

1898:                                             ; preds = %1897, %1576
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  br label %2694

1899:                                             ; preds = %1507
  %1900 = load ptr, ptr %8, align 8, !tbaa !5
  %1901 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1900, i32 0, i32 4
  %1902 = load i64, ptr %1901, align 8, !tbaa !36
  %1903 = icmp eq i64 %1902, 2
  br i1 %1903, label %1904, label %2301

1904:                                             ; preds = %1899
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #6
  %1905 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %1905, ptr %69, align 8, !tbaa !5
  %1906 = load ptr, ptr %8, align 8, !tbaa !5
  %1907 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1906, i32 0, i32 3
  %1908 = load i64, ptr %1907, align 8, !tbaa !37
  %1909 = icmp eq i64 %1908, 1
  br i1 %1909, label %1910, label %1980

1910:                                             ; preds = %1904
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #6
  %1911 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1911, ptr %70, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #6
  store i32 0, ptr %71, align 4, !tbaa !28
  br label %1912

1912:                                             ; preds = %1976, %1910
  %1913 = load i32, ptr %71, align 4, !tbaa !28
  %1914 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1915 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1914, i32 0, i32 11
  %1916 = load i32, ptr %1915, align 4, !tbaa !29
  %1917 = icmp ult i32 %1913, %1916
  br i1 %1917, label %1919, label %1918

1918:                                             ; preds = %1912
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #6
  br label %1979

1919:                                             ; preds = %1912
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1920

1920:                                             ; preds = %1960, %1919
  %1921 = load i32, ptr %9, align 4, !tbaa !28
  %1922 = load ptr, ptr %8, align 8, !tbaa !5
  %1923 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1922, i32 0, i32 0
  %1924 = load i32, ptr %1923, align 8, !tbaa !39
  %1925 = icmp slt i32 %1921, %1924
  br i1 %1925, label %1926, label %1963

1926:                                             ; preds = %1920
  %1927 = load ptr, ptr %70, align 8, !tbaa !5
  %1928 = load ptr, ptr %8, align 8, !tbaa !5
  %1929 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1928, i32 0, i32 5
  %1930 = load i32, ptr %9, align 4, !tbaa !28
  %1931 = sext i32 %1930 to i64
  %1932 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1929, i64 noundef %1931) #6
  %1933 = load i32, ptr %1932, align 4, !tbaa !28
  %1934 = sext i32 %1933 to i64
  %1935 = getelementptr inbounds i8, ptr %1927, i64 %1934
  %1936 = load i8, ptr %1935, align 1, !tbaa !40
  %1937 = sext i8 %1936 to i16
  %1938 = load ptr, ptr %69, align 8, !tbaa !5
  %1939 = load ptr, ptr %8, align 8, !tbaa !5
  %1940 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1939, i32 0, i32 6
  %1941 = load i32, ptr %9, align 4, !tbaa !28
  %1942 = sext i32 %1941 to i64
  %1943 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1940, i64 noundef %1942) #6
  %1944 = load i32, ptr %1943, align 4, !tbaa !28
  %1945 = sext i32 %1944 to i64
  %1946 = getelementptr inbounds i16, ptr %1938, i64 %1945
  store i16 %1937, ptr %1946, align 2, !tbaa !45
  %1947 = load ptr, ptr %69, align 8, !tbaa !5
  %1948 = load ptr, ptr %8, align 8, !tbaa !5
  %1949 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1948, i32 0, i32 6
  %1950 = load i32, ptr %9, align 4, !tbaa !28
  %1951 = sext i32 %1950 to i64
  %1952 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1949, i64 noundef %1951) #6
  %1953 = load i32, ptr %1952, align 4, !tbaa !28
  %1954 = sext i32 %1953 to i64
  %1955 = getelementptr inbounds i16, ptr %1947, i64 %1954
  %1956 = load i16, ptr %1955, align 2, !tbaa !45
  %1957 = sext i16 %1956 to i32
  %1958 = shl i32 %1957, 8
  %1959 = trunc i32 %1958 to i16
  store i16 %1959, ptr %1955, align 2, !tbaa !45
  br label %1960

1960:                                             ; preds = %1926
  %1961 = load i32, ptr %9, align 4, !tbaa !28
  %1962 = add nsw i32 %1961, 1
  store i32 %1962, ptr %9, align 4, !tbaa !28
  br label %1920, !llvm.loop !96

1963:                                             ; preds = %1920
  %1964 = load ptr, ptr %8, align 8, !tbaa !5
  %1965 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1964, i32 0, i32 1
  %1966 = load i32, ptr %1965, align 4, !tbaa !43
  %1967 = load ptr, ptr %70, align 8, !tbaa !5
  %1968 = sext i32 %1966 to i64
  %1969 = getelementptr inbounds i8, ptr %1967, i64 %1968
  store ptr %1969, ptr %70, align 8, !tbaa !5
  %1970 = load ptr, ptr %8, align 8, !tbaa !5
  %1971 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1970, i32 0, i32 2
  %1972 = load i32, ptr %1971, align 8, !tbaa !30
  %1973 = load ptr, ptr %69, align 8, !tbaa !5
  %1974 = sext i32 %1972 to i64
  %1975 = getelementptr inbounds i16, ptr %1973, i64 %1974
  store ptr %1975, ptr %69, align 8, !tbaa !5
  br label %1976

1976:                                             ; preds = %1963
  %1977 = load i32, ptr %71, align 4, !tbaa !28
  %1978 = add i32 %1977, 1
  store i32 %1978, ptr %71, align 4, !tbaa !28
  br label %1912, !llvm.loop !97

1979:                                             ; preds = %1918
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  br label %2300

1980:                                             ; preds = %1904
  %1981 = load ptr, ptr %8, align 8, !tbaa !5
  %1982 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1981, i32 0, i32 3
  %1983 = load i64, ptr %1982, align 8, !tbaa !37
  %1984 = icmp eq i64 %1983, 2
  br i1 %1984, label %1985, label %2041

1985:                                             ; preds = %1980
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #6
  %1986 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %1986, ptr %72, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #6
  store i32 0, ptr %73, align 4, !tbaa !28
  br label %1987

1987:                                             ; preds = %2037, %1985
  %1988 = load i32, ptr %73, align 4, !tbaa !28
  %1989 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %1990 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %1989, i32 0, i32 11
  %1991 = load i32, ptr %1990, align 4, !tbaa !29
  %1992 = icmp ult i32 %1988, %1991
  br i1 %1992, label %1994, label %1993

1993:                                             ; preds = %1987
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #6
  br label %2040

1994:                                             ; preds = %1987
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %1995

1995:                                             ; preds = %2021, %1994
  %1996 = load i32, ptr %9, align 4, !tbaa !28
  %1997 = load ptr, ptr %8, align 8, !tbaa !5
  %1998 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %1997, i32 0, i32 0
  %1999 = load i32, ptr %1998, align 8, !tbaa !39
  %2000 = icmp slt i32 %1996, %1999
  br i1 %2000, label %2001, label %2024

2001:                                             ; preds = %1995
  %2002 = load ptr, ptr %72, align 8, !tbaa !5
  %2003 = load ptr, ptr %8, align 8, !tbaa !5
  %2004 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2003, i32 0, i32 5
  %2005 = load i32, ptr %9, align 4, !tbaa !28
  %2006 = sext i32 %2005 to i64
  %2007 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2004, i64 noundef %2006) #6
  %2008 = load i32, ptr %2007, align 4, !tbaa !28
  %2009 = sext i32 %2008 to i64
  %2010 = getelementptr inbounds i16, ptr %2002, i64 %2009
  %2011 = load i16, ptr %2010, align 2, !tbaa !45
  %2012 = load ptr, ptr %69, align 8, !tbaa !5
  %2013 = load ptr, ptr %8, align 8, !tbaa !5
  %2014 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2013, i32 0, i32 6
  %2015 = load i32, ptr %9, align 4, !tbaa !28
  %2016 = sext i32 %2015 to i64
  %2017 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2014, i64 noundef %2016) #6
  %2018 = load i32, ptr %2017, align 4, !tbaa !28
  %2019 = sext i32 %2018 to i64
  %2020 = getelementptr inbounds i16, ptr %2012, i64 %2019
  store i16 %2011, ptr %2020, align 2, !tbaa !45
  br label %2021

2021:                                             ; preds = %2001
  %2022 = load i32, ptr %9, align 4, !tbaa !28
  %2023 = add nsw i32 %2022, 1
  store i32 %2023, ptr %9, align 4, !tbaa !28
  br label %1995, !llvm.loop !98

2024:                                             ; preds = %1995
  %2025 = load ptr, ptr %8, align 8, !tbaa !5
  %2026 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2025, i32 0, i32 1
  %2027 = load i32, ptr %2026, align 4, !tbaa !43
  %2028 = load ptr, ptr %72, align 8, !tbaa !5
  %2029 = sext i32 %2027 to i64
  %2030 = getelementptr inbounds i16, ptr %2028, i64 %2029
  store ptr %2030, ptr %72, align 8, !tbaa !5
  %2031 = load ptr, ptr %8, align 8, !tbaa !5
  %2032 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2031, i32 0, i32 2
  %2033 = load i32, ptr %2032, align 8, !tbaa !30
  %2034 = load ptr, ptr %69, align 8, !tbaa !5
  %2035 = sext i32 %2033 to i64
  %2036 = getelementptr inbounds i16, ptr %2034, i64 %2035
  store ptr %2036, ptr %69, align 8, !tbaa !5
  br label %2037

2037:                                             ; preds = %2024
  %2038 = load i32, ptr %73, align 4, !tbaa !28
  %2039 = add i32 %2038, 1
  store i32 %2039, ptr %73, align 4, !tbaa !28
  br label %1987, !llvm.loop !99

2040:                                             ; preds = %1993
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #6
  br label %2299

2041:                                             ; preds = %1980
  %2042 = load ptr, ptr %8, align 8, !tbaa !5
  %2043 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2042, i32 0, i32 3
  %2044 = load i64, ptr %2043, align 8, !tbaa !37
  %2045 = icmp eq i64 %2044, 4
  br i1 %2045, label %2046, label %2104

2046:                                             ; preds = %2041
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #6
  %2047 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2047, ptr %74, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #6
  store i32 0, ptr %75, align 4, !tbaa !28
  br label %2048

2048:                                             ; preds = %2100, %2046
  %2049 = load i32, ptr %75, align 4, !tbaa !28
  %2050 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2051 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2050, i32 0, i32 11
  %2052 = load i32, ptr %2051, align 4, !tbaa !29
  %2053 = icmp ult i32 %2049, %2052
  br i1 %2053, label %2055, label %2054

2054:                                             ; preds = %2048
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %2103

2055:                                             ; preds = %2048
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2056

2056:                                             ; preds = %2084, %2055
  %2057 = load i32, ptr %9, align 4, !tbaa !28
  %2058 = load ptr, ptr %8, align 8, !tbaa !5
  %2059 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2058, i32 0, i32 0
  %2060 = load i32, ptr %2059, align 8, !tbaa !39
  %2061 = icmp slt i32 %2057, %2060
  br i1 %2061, label %2062, label %2087

2062:                                             ; preds = %2056
  %2063 = load ptr, ptr %74, align 8, !tbaa !5
  %2064 = load ptr, ptr %8, align 8, !tbaa !5
  %2065 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2064, i32 0, i32 5
  %2066 = load i32, ptr %9, align 4, !tbaa !28
  %2067 = sext i32 %2066 to i64
  %2068 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2065, i64 noundef %2067) #6
  %2069 = load i32, ptr %2068, align 4, !tbaa !28
  %2070 = sext i32 %2069 to i64
  %2071 = getelementptr inbounds %class.S24, ptr %2063, i64 %2070
  %2072 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %2071)
  %2073 = ashr i32 %2072, 8
  %2074 = trunc i32 %2073 to i16
  %2075 = load ptr, ptr %69, align 8, !tbaa !5
  %2076 = load ptr, ptr %8, align 8, !tbaa !5
  %2077 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2076, i32 0, i32 6
  %2078 = load i32, ptr %9, align 4, !tbaa !28
  %2079 = sext i32 %2078 to i64
  %2080 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2077, i64 noundef %2079) #6
  %2081 = load i32, ptr %2080, align 4, !tbaa !28
  %2082 = sext i32 %2081 to i64
  %2083 = getelementptr inbounds i16, ptr %2075, i64 %2082
  store i16 %2074, ptr %2083, align 2, !tbaa !45
  br label %2084

2084:                                             ; preds = %2062
  %2085 = load i32, ptr %9, align 4, !tbaa !28
  %2086 = add nsw i32 %2085, 1
  store i32 %2086, ptr %9, align 4, !tbaa !28
  br label %2056, !llvm.loop !100

2087:                                             ; preds = %2056
  %2088 = load ptr, ptr %8, align 8, !tbaa !5
  %2089 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2088, i32 0, i32 1
  %2090 = load i32, ptr %2089, align 4, !tbaa !43
  %2091 = load ptr, ptr %74, align 8, !tbaa !5
  %2092 = sext i32 %2090 to i64
  %2093 = getelementptr inbounds %class.S24, ptr %2091, i64 %2092
  store ptr %2093, ptr %74, align 8, !tbaa !5
  %2094 = load ptr, ptr %8, align 8, !tbaa !5
  %2095 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2094, i32 0, i32 2
  %2096 = load i32, ptr %2095, align 8, !tbaa !30
  %2097 = load ptr, ptr %69, align 8, !tbaa !5
  %2098 = sext i32 %2096 to i64
  %2099 = getelementptr inbounds i16, ptr %2097, i64 %2098
  store ptr %2099, ptr %69, align 8, !tbaa !5
  br label %2100

2100:                                             ; preds = %2087
  %2101 = load i32, ptr %75, align 4, !tbaa !28
  %2102 = add i32 %2101, 1
  store i32 %2102, ptr %75, align 4, !tbaa !28
  br label %2048, !llvm.loop !101

2103:                                             ; preds = %2054
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #6
  br label %2298

2104:                                             ; preds = %2041
  %2105 = load ptr, ptr %8, align 8, !tbaa !5
  %2106 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2105, i32 0, i32 3
  %2107 = load i64, ptr %2106, align 8, !tbaa !37
  %2108 = icmp eq i64 %2107, 8
  br i1 %2108, label %2109, label %2168

2109:                                             ; preds = %2104
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #6
  %2110 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2110, ptr %76, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #6
  store i32 0, ptr %77, align 4, !tbaa !28
  br label %2111

2111:                                             ; preds = %2164, %2109
  %2112 = load i32, ptr %77, align 4, !tbaa !28
  %2113 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2114 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2113, i32 0, i32 11
  %2115 = load i32, ptr %2114, align 4, !tbaa !29
  %2116 = icmp ult i32 %2112, %2115
  br i1 %2116, label %2118, label %2117

2117:                                             ; preds = %2111
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #6
  br label %2167

2118:                                             ; preds = %2111
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2119

2119:                                             ; preds = %2148, %2118
  %2120 = load i32, ptr %9, align 4, !tbaa !28
  %2121 = load ptr, ptr %8, align 8, !tbaa !5
  %2122 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2121, i32 0, i32 0
  %2123 = load i32, ptr %2122, align 8, !tbaa !39
  %2124 = icmp slt i32 %2120, %2123
  br i1 %2124, label %2125, label %2151

2125:                                             ; preds = %2119
  %2126 = load ptr, ptr %76, align 8, !tbaa !5
  %2127 = load ptr, ptr %8, align 8, !tbaa !5
  %2128 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2127, i32 0, i32 5
  %2129 = load i32, ptr %9, align 4, !tbaa !28
  %2130 = sext i32 %2129 to i64
  %2131 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2128, i64 noundef %2130) #6
  %2132 = load i32, ptr %2131, align 4, !tbaa !28
  %2133 = sext i32 %2132 to i64
  %2134 = getelementptr inbounds i32, ptr %2126, i64 %2133
  %2135 = load i32, ptr %2134, align 4, !tbaa !28
  %2136 = ashr i32 %2135, 16
  %2137 = and i32 %2136, 65535
  %2138 = trunc i32 %2137 to i16
  %2139 = load ptr, ptr %69, align 8, !tbaa !5
  %2140 = load ptr, ptr %8, align 8, !tbaa !5
  %2141 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2140, i32 0, i32 6
  %2142 = load i32, ptr %9, align 4, !tbaa !28
  %2143 = sext i32 %2142 to i64
  %2144 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2141, i64 noundef %2143) #6
  %2145 = load i32, ptr %2144, align 4, !tbaa !28
  %2146 = sext i32 %2145 to i64
  %2147 = getelementptr inbounds i16, ptr %2139, i64 %2146
  store i16 %2138, ptr %2147, align 2, !tbaa !45
  br label %2148

2148:                                             ; preds = %2125
  %2149 = load i32, ptr %9, align 4, !tbaa !28
  %2150 = add nsw i32 %2149, 1
  store i32 %2150, ptr %9, align 4, !tbaa !28
  br label %2119, !llvm.loop !102

2151:                                             ; preds = %2119
  %2152 = load ptr, ptr %8, align 8, !tbaa !5
  %2153 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2152, i32 0, i32 1
  %2154 = load i32, ptr %2153, align 4, !tbaa !43
  %2155 = load ptr, ptr %76, align 8, !tbaa !5
  %2156 = sext i32 %2154 to i64
  %2157 = getelementptr inbounds i32, ptr %2155, i64 %2156
  store ptr %2157, ptr %76, align 8, !tbaa !5
  %2158 = load ptr, ptr %8, align 8, !tbaa !5
  %2159 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2158, i32 0, i32 2
  %2160 = load i32, ptr %2159, align 8, !tbaa !30
  %2161 = load ptr, ptr %69, align 8, !tbaa !5
  %2162 = sext i32 %2160 to i64
  %2163 = getelementptr inbounds i16, ptr %2161, i64 %2162
  store ptr %2163, ptr %69, align 8, !tbaa !5
  br label %2164

2164:                                             ; preds = %2151
  %2165 = load i32, ptr %77, align 4, !tbaa !28
  %2166 = add i32 %2165, 1
  store i32 %2166, ptr %77, align 4, !tbaa !28
  br label %2111, !llvm.loop !103

2167:                                             ; preds = %2117
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #6
  br label %2297

2168:                                             ; preds = %2104
  %2169 = load ptr, ptr %8, align 8, !tbaa !5
  %2170 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2169, i32 0, i32 3
  %2171 = load i64, ptr %2170, align 8, !tbaa !37
  %2172 = icmp eq i64 %2171, 16
  br i1 %2172, label %2173, label %2232

2173:                                             ; preds = %2168
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #6
  %2174 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2174, ptr %78, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #6
  store i32 0, ptr %79, align 4, !tbaa !28
  br label %2175

2175:                                             ; preds = %2228, %2173
  %2176 = load i32, ptr %79, align 4, !tbaa !28
  %2177 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2178 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2177, i32 0, i32 11
  %2179 = load i32, ptr %2178, align 4, !tbaa !29
  %2180 = icmp ult i32 %2176, %2179
  br i1 %2180, label %2182, label %2181

2181:                                             ; preds = %2175
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  br label %2231

2182:                                             ; preds = %2175
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2183

2183:                                             ; preds = %2212, %2182
  %2184 = load i32, ptr %9, align 4, !tbaa !28
  %2185 = load ptr, ptr %8, align 8, !tbaa !5
  %2186 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2185, i32 0, i32 0
  %2187 = load i32, ptr %2186, align 8, !tbaa !39
  %2188 = icmp slt i32 %2184, %2187
  br i1 %2188, label %2189, label %2215

2189:                                             ; preds = %2183
  %2190 = load ptr, ptr %78, align 8, !tbaa !5
  %2191 = load ptr, ptr %8, align 8, !tbaa !5
  %2192 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2191, i32 0, i32 5
  %2193 = load i32, ptr %9, align 4, !tbaa !28
  %2194 = sext i32 %2193 to i64
  %2195 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2192, i64 noundef %2194) #6
  %2196 = load i32, ptr %2195, align 4, !tbaa !28
  %2197 = sext i32 %2196 to i64
  %2198 = getelementptr inbounds float, ptr %2190, i64 %2197
  %2199 = load float, ptr %2198, align 4, !tbaa !53
  %2200 = fpext float %2199 to double
  %2201 = call double @llvm.fmuladd.f64(double %2200, double 3.276750e+04, double -5.000000e-01)
  %2202 = fptosi double %2201 to i16
  %2203 = load ptr, ptr %69, align 8, !tbaa !5
  %2204 = load ptr, ptr %8, align 8, !tbaa !5
  %2205 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2204, i32 0, i32 6
  %2206 = load i32, ptr %9, align 4, !tbaa !28
  %2207 = sext i32 %2206 to i64
  %2208 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2205, i64 noundef %2207) #6
  %2209 = load i32, ptr %2208, align 4, !tbaa !28
  %2210 = sext i32 %2209 to i64
  %2211 = getelementptr inbounds i16, ptr %2203, i64 %2210
  store i16 %2202, ptr %2211, align 2, !tbaa !45
  br label %2212

2212:                                             ; preds = %2189
  %2213 = load i32, ptr %9, align 4, !tbaa !28
  %2214 = add nsw i32 %2213, 1
  store i32 %2214, ptr %9, align 4, !tbaa !28
  br label %2183, !llvm.loop !104

2215:                                             ; preds = %2183
  %2216 = load ptr, ptr %8, align 8, !tbaa !5
  %2217 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2216, i32 0, i32 1
  %2218 = load i32, ptr %2217, align 4, !tbaa !43
  %2219 = load ptr, ptr %78, align 8, !tbaa !5
  %2220 = sext i32 %2218 to i64
  %2221 = getelementptr inbounds float, ptr %2219, i64 %2220
  store ptr %2221, ptr %78, align 8, !tbaa !5
  %2222 = load ptr, ptr %8, align 8, !tbaa !5
  %2223 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2222, i32 0, i32 2
  %2224 = load i32, ptr %2223, align 8, !tbaa !30
  %2225 = load ptr, ptr %69, align 8, !tbaa !5
  %2226 = sext i32 %2224 to i64
  %2227 = getelementptr inbounds i16, ptr %2225, i64 %2226
  store ptr %2227, ptr %69, align 8, !tbaa !5
  br label %2228

2228:                                             ; preds = %2215
  %2229 = load i32, ptr %79, align 4, !tbaa !28
  %2230 = add i32 %2229, 1
  store i32 %2230, ptr %79, align 4, !tbaa !28
  br label %2175, !llvm.loop !105

2231:                                             ; preds = %2181
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #6
  br label %2296

2232:                                             ; preds = %2168
  %2233 = load ptr, ptr %8, align 8, !tbaa !5
  %2234 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2233, i32 0, i32 3
  %2235 = load i64, ptr %2234, align 8, !tbaa !37
  %2236 = icmp eq i64 %2235, 32
  br i1 %2236, label %2237, label %2295

2237:                                             ; preds = %2232
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #6
  %2238 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2238, ptr %80, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #6
  store i32 0, ptr %81, align 4, !tbaa !28
  br label %2239

2239:                                             ; preds = %2291, %2237
  %2240 = load i32, ptr %81, align 4, !tbaa !28
  %2241 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2242 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2241, i32 0, i32 11
  %2243 = load i32, ptr %2242, align 4, !tbaa !29
  %2244 = icmp ult i32 %2240, %2243
  br i1 %2244, label %2246, label %2245

2245:                                             ; preds = %2239
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #6
  br label %2294

2246:                                             ; preds = %2239
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2247

2247:                                             ; preds = %2275, %2246
  %2248 = load i32, ptr %9, align 4, !tbaa !28
  %2249 = load ptr, ptr %8, align 8, !tbaa !5
  %2250 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2249, i32 0, i32 0
  %2251 = load i32, ptr %2250, align 8, !tbaa !39
  %2252 = icmp slt i32 %2248, %2251
  br i1 %2252, label %2253, label %2278

2253:                                             ; preds = %2247
  %2254 = load ptr, ptr %80, align 8, !tbaa !5
  %2255 = load ptr, ptr %8, align 8, !tbaa !5
  %2256 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2255, i32 0, i32 5
  %2257 = load i32, ptr %9, align 4, !tbaa !28
  %2258 = sext i32 %2257 to i64
  %2259 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2256, i64 noundef %2258) #6
  %2260 = load i32, ptr %2259, align 4, !tbaa !28
  %2261 = sext i32 %2260 to i64
  %2262 = getelementptr inbounds double, ptr %2254, i64 %2261
  %2263 = load double, ptr %2262, align 8, !tbaa !38
  %2264 = call double @llvm.fmuladd.f64(double %2263, double 3.276750e+04, double -5.000000e-01)
  %2265 = fptosi double %2264 to i16
  %2266 = load ptr, ptr %69, align 8, !tbaa !5
  %2267 = load ptr, ptr %8, align 8, !tbaa !5
  %2268 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2267, i32 0, i32 6
  %2269 = load i32, ptr %9, align 4, !tbaa !28
  %2270 = sext i32 %2269 to i64
  %2271 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2268, i64 noundef %2270) #6
  %2272 = load i32, ptr %2271, align 4, !tbaa !28
  %2273 = sext i32 %2272 to i64
  %2274 = getelementptr inbounds i16, ptr %2266, i64 %2273
  store i16 %2265, ptr %2274, align 2, !tbaa !45
  br label %2275

2275:                                             ; preds = %2253
  %2276 = load i32, ptr %9, align 4, !tbaa !28
  %2277 = add nsw i32 %2276, 1
  store i32 %2277, ptr %9, align 4, !tbaa !28
  br label %2247, !llvm.loop !106

2278:                                             ; preds = %2247
  %2279 = load ptr, ptr %8, align 8, !tbaa !5
  %2280 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2279, i32 0, i32 1
  %2281 = load i32, ptr %2280, align 4, !tbaa !43
  %2282 = load ptr, ptr %80, align 8, !tbaa !5
  %2283 = sext i32 %2281 to i64
  %2284 = getelementptr inbounds double, ptr %2282, i64 %2283
  store ptr %2284, ptr %80, align 8, !tbaa !5
  %2285 = load ptr, ptr %8, align 8, !tbaa !5
  %2286 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2285, i32 0, i32 2
  %2287 = load i32, ptr %2286, align 8, !tbaa !30
  %2288 = load ptr, ptr %69, align 8, !tbaa !5
  %2289 = sext i32 %2287 to i64
  %2290 = getelementptr inbounds i16, ptr %2288, i64 %2289
  store ptr %2290, ptr %69, align 8, !tbaa !5
  br label %2291

2291:                                             ; preds = %2278
  %2292 = load i32, ptr %81, align 4, !tbaa !28
  %2293 = add i32 %2292, 1
  store i32 %2293, ptr %81, align 4, !tbaa !28
  br label %2239, !llvm.loop !107

2294:                                             ; preds = %2245
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #6
  br label %2295

2295:                                             ; preds = %2294, %2232
  br label %2296

2296:                                             ; preds = %2295, %2231
  br label %2297

2297:                                             ; preds = %2296, %2167
  br label %2298

2298:                                             ; preds = %2297, %2103
  br label %2299

2299:                                             ; preds = %2298, %2040
  br label %2300

2300:                                             ; preds = %2299, %1979
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #6
  br label %2693

2301:                                             ; preds = %1899
  %2302 = load ptr, ptr %8, align 8, !tbaa !5
  %2303 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2302, i32 0, i32 4
  %2304 = load i64, ptr %2303, align 8, !tbaa !36
  %2305 = icmp eq i64 %2304, 1
  br i1 %2305, label %2306, label %2692

2306:                                             ; preds = %2301
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #6
  %2307 = load ptr, ptr %6, align 8, !tbaa !5
  store ptr %2307, ptr %82, align 8, !tbaa !5
  %2308 = load ptr, ptr %8, align 8, !tbaa !5
  %2309 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2308, i32 0, i32 3
  %2310 = load i64, ptr %2309, align 8, !tbaa !37
  %2311 = icmp eq i64 %2310, 1
  br i1 %2311, label %2312, label %2368

2312:                                             ; preds = %2306
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #6
  %2313 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2313, ptr %83, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #6
  store i32 0, ptr %84, align 4, !tbaa !28
  br label %2314

2314:                                             ; preds = %2364, %2312
  %2315 = load i32, ptr %84, align 4, !tbaa !28
  %2316 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2317 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2316, i32 0, i32 11
  %2318 = load i32, ptr %2317, align 4, !tbaa !29
  %2319 = icmp ult i32 %2315, %2318
  br i1 %2319, label %2321, label %2320

2320:                                             ; preds = %2314
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #6
  br label %2367

2321:                                             ; preds = %2314
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2322

2322:                                             ; preds = %2348, %2321
  %2323 = load i32, ptr %9, align 4, !tbaa !28
  %2324 = load ptr, ptr %8, align 8, !tbaa !5
  %2325 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2324, i32 0, i32 0
  %2326 = load i32, ptr %2325, align 8, !tbaa !39
  %2327 = icmp slt i32 %2323, %2326
  br i1 %2327, label %2328, label %2351

2328:                                             ; preds = %2322
  %2329 = load ptr, ptr %83, align 8, !tbaa !5
  %2330 = load ptr, ptr %8, align 8, !tbaa !5
  %2331 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2330, i32 0, i32 5
  %2332 = load i32, ptr %9, align 4, !tbaa !28
  %2333 = sext i32 %2332 to i64
  %2334 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2331, i64 noundef %2333) #6
  %2335 = load i32, ptr %2334, align 4, !tbaa !28
  %2336 = sext i32 %2335 to i64
  %2337 = getelementptr inbounds i8, ptr %2329, i64 %2336
  %2338 = load i8, ptr %2337, align 1, !tbaa !40
  %2339 = load ptr, ptr %82, align 8, !tbaa !5
  %2340 = load ptr, ptr %8, align 8, !tbaa !5
  %2341 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2340, i32 0, i32 6
  %2342 = load i32, ptr %9, align 4, !tbaa !28
  %2343 = sext i32 %2342 to i64
  %2344 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2341, i64 noundef %2343) #6
  %2345 = load i32, ptr %2344, align 4, !tbaa !28
  %2346 = sext i32 %2345 to i64
  %2347 = getelementptr inbounds i8, ptr %2339, i64 %2346
  store i8 %2338, ptr %2347, align 1, !tbaa !40
  br label %2348

2348:                                             ; preds = %2328
  %2349 = load i32, ptr %9, align 4, !tbaa !28
  %2350 = add nsw i32 %2349, 1
  store i32 %2350, ptr %9, align 4, !tbaa !28
  br label %2322, !llvm.loop !108

2351:                                             ; preds = %2322
  %2352 = load ptr, ptr %8, align 8, !tbaa !5
  %2353 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2352, i32 0, i32 1
  %2354 = load i32, ptr %2353, align 4, !tbaa !43
  %2355 = load ptr, ptr %83, align 8, !tbaa !5
  %2356 = sext i32 %2354 to i64
  %2357 = getelementptr inbounds i8, ptr %2355, i64 %2356
  store ptr %2357, ptr %83, align 8, !tbaa !5
  %2358 = load ptr, ptr %8, align 8, !tbaa !5
  %2359 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2358, i32 0, i32 2
  %2360 = load i32, ptr %2359, align 8, !tbaa !30
  %2361 = load ptr, ptr %82, align 8, !tbaa !5
  %2362 = sext i32 %2360 to i64
  %2363 = getelementptr inbounds i8, ptr %2361, i64 %2362
  store ptr %2363, ptr %82, align 8, !tbaa !5
  br label %2364

2364:                                             ; preds = %2351
  %2365 = load i32, ptr %84, align 4, !tbaa !28
  %2366 = add i32 %2365, 1
  store i32 %2366, ptr %84, align 4, !tbaa !28
  br label %2314, !llvm.loop !109

2367:                                             ; preds = %2320
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #6
  br label %2368

2368:                                             ; preds = %2367, %2306
  %2369 = load ptr, ptr %8, align 8, !tbaa !5
  %2370 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2369, i32 0, i32 3
  %2371 = load i64, ptr %2370, align 8, !tbaa !37
  %2372 = icmp eq i64 %2371, 2
  br i1 %2372, label %2373, label %2433

2373:                                             ; preds = %2368
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #6
  %2374 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2374, ptr %85, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #6
  store i32 0, ptr %86, align 4, !tbaa !28
  br label %2375

2375:                                             ; preds = %2429, %2373
  %2376 = load i32, ptr %86, align 4, !tbaa !28
  %2377 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2378 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2377, i32 0, i32 11
  %2379 = load i32, ptr %2378, align 4, !tbaa !29
  %2380 = icmp ult i32 %2376, %2379
  br i1 %2380, label %2382, label %2381

2381:                                             ; preds = %2375
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #6
  br label %2432

2382:                                             ; preds = %2375
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2383

2383:                                             ; preds = %2413, %2382
  %2384 = load i32, ptr %9, align 4, !tbaa !28
  %2385 = load ptr, ptr %8, align 8, !tbaa !5
  %2386 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2385, i32 0, i32 0
  %2387 = load i32, ptr %2386, align 8, !tbaa !39
  %2388 = icmp slt i32 %2384, %2387
  br i1 %2388, label %2389, label %2416

2389:                                             ; preds = %2383
  %2390 = load ptr, ptr %85, align 8, !tbaa !5
  %2391 = load ptr, ptr %8, align 8, !tbaa !5
  %2392 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2391, i32 0, i32 5
  %2393 = load i32, ptr %9, align 4, !tbaa !28
  %2394 = sext i32 %2393 to i64
  %2395 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2392, i64 noundef %2394) #6
  %2396 = load i32, ptr %2395, align 4, !tbaa !28
  %2397 = sext i32 %2396 to i64
  %2398 = getelementptr inbounds i16, ptr %2390, i64 %2397
  %2399 = load i16, ptr %2398, align 2, !tbaa !45
  %2400 = sext i16 %2399 to i32
  %2401 = ashr i32 %2400, 8
  %2402 = and i32 %2401, 255
  %2403 = trunc i32 %2402 to i8
  %2404 = load ptr, ptr %82, align 8, !tbaa !5
  %2405 = load ptr, ptr %8, align 8, !tbaa !5
  %2406 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2405, i32 0, i32 6
  %2407 = load i32, ptr %9, align 4, !tbaa !28
  %2408 = sext i32 %2407 to i64
  %2409 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2406, i64 noundef %2408) #6
  %2410 = load i32, ptr %2409, align 4, !tbaa !28
  %2411 = sext i32 %2410 to i64
  %2412 = getelementptr inbounds i8, ptr %2404, i64 %2411
  store i8 %2403, ptr %2412, align 1, !tbaa !40
  br label %2413

2413:                                             ; preds = %2389
  %2414 = load i32, ptr %9, align 4, !tbaa !28
  %2415 = add nsw i32 %2414, 1
  store i32 %2415, ptr %9, align 4, !tbaa !28
  br label %2383, !llvm.loop !110

2416:                                             ; preds = %2383
  %2417 = load ptr, ptr %8, align 8, !tbaa !5
  %2418 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2417, i32 0, i32 1
  %2419 = load i32, ptr %2418, align 4, !tbaa !43
  %2420 = load ptr, ptr %85, align 8, !tbaa !5
  %2421 = sext i32 %2419 to i64
  %2422 = getelementptr inbounds i16, ptr %2420, i64 %2421
  store ptr %2422, ptr %85, align 8, !tbaa !5
  %2423 = load ptr, ptr %8, align 8, !tbaa !5
  %2424 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2423, i32 0, i32 2
  %2425 = load i32, ptr %2424, align 8, !tbaa !30
  %2426 = load ptr, ptr %82, align 8, !tbaa !5
  %2427 = sext i32 %2425 to i64
  %2428 = getelementptr inbounds i8, ptr %2426, i64 %2427
  store ptr %2428, ptr %82, align 8, !tbaa !5
  br label %2429

2429:                                             ; preds = %2416
  %2430 = load i32, ptr %86, align 4, !tbaa !28
  %2431 = add i32 %2430, 1
  store i32 %2431, ptr %86, align 4, !tbaa !28
  br label %2375, !llvm.loop !111

2432:                                             ; preds = %2381
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #6
  br label %2691

2433:                                             ; preds = %2368
  %2434 = load ptr, ptr %8, align 8, !tbaa !5
  %2435 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2434, i32 0, i32 3
  %2436 = load i64, ptr %2435, align 8, !tbaa !37
  %2437 = icmp eq i64 %2436, 4
  br i1 %2437, label %2438, label %2496

2438:                                             ; preds = %2433
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #6
  %2439 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2439, ptr %87, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #6
  store i32 0, ptr %88, align 4, !tbaa !28
  br label %2440

2440:                                             ; preds = %2492, %2438
  %2441 = load i32, ptr %88, align 4, !tbaa !28
  %2442 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2443 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2442, i32 0, i32 11
  %2444 = load i32, ptr %2443, align 4, !tbaa !29
  %2445 = icmp ult i32 %2441, %2444
  br i1 %2445, label %2447, label %2446

2446:                                             ; preds = %2440
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #6
  br label %2495

2447:                                             ; preds = %2440
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2448

2448:                                             ; preds = %2476, %2447
  %2449 = load i32, ptr %9, align 4, !tbaa !28
  %2450 = load ptr, ptr %8, align 8, !tbaa !5
  %2451 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2450, i32 0, i32 0
  %2452 = load i32, ptr %2451, align 8, !tbaa !39
  %2453 = icmp slt i32 %2449, %2452
  br i1 %2453, label %2454, label %2479

2454:                                             ; preds = %2448
  %2455 = load ptr, ptr %87, align 8, !tbaa !5
  %2456 = load ptr, ptr %8, align 8, !tbaa !5
  %2457 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2456, i32 0, i32 5
  %2458 = load i32, ptr %9, align 4, !tbaa !28
  %2459 = sext i32 %2458 to i64
  %2460 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2457, i64 noundef %2459) #6
  %2461 = load i32, ptr %2460, align 4, !tbaa !28
  %2462 = sext i32 %2461 to i64
  %2463 = getelementptr inbounds %class.S24, ptr %2455, i64 %2462
  %2464 = call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %2463)
  %2465 = ashr i32 %2464, 16
  %2466 = trunc i32 %2465 to i8
  %2467 = load ptr, ptr %82, align 8, !tbaa !5
  %2468 = load ptr, ptr %8, align 8, !tbaa !5
  %2469 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2468, i32 0, i32 6
  %2470 = load i32, ptr %9, align 4, !tbaa !28
  %2471 = sext i32 %2470 to i64
  %2472 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2469, i64 noundef %2471) #6
  %2473 = load i32, ptr %2472, align 4, !tbaa !28
  %2474 = sext i32 %2473 to i64
  %2475 = getelementptr inbounds i8, ptr %2467, i64 %2474
  store i8 %2466, ptr %2475, align 1, !tbaa !40
  br label %2476

2476:                                             ; preds = %2454
  %2477 = load i32, ptr %9, align 4, !tbaa !28
  %2478 = add nsw i32 %2477, 1
  store i32 %2478, ptr %9, align 4, !tbaa !28
  br label %2448, !llvm.loop !112

2479:                                             ; preds = %2448
  %2480 = load ptr, ptr %8, align 8, !tbaa !5
  %2481 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2480, i32 0, i32 1
  %2482 = load i32, ptr %2481, align 4, !tbaa !43
  %2483 = load ptr, ptr %87, align 8, !tbaa !5
  %2484 = sext i32 %2482 to i64
  %2485 = getelementptr inbounds %class.S24, ptr %2483, i64 %2484
  store ptr %2485, ptr %87, align 8, !tbaa !5
  %2486 = load ptr, ptr %8, align 8, !tbaa !5
  %2487 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2486, i32 0, i32 2
  %2488 = load i32, ptr %2487, align 8, !tbaa !30
  %2489 = load ptr, ptr %82, align 8, !tbaa !5
  %2490 = sext i32 %2488 to i64
  %2491 = getelementptr inbounds i8, ptr %2489, i64 %2490
  store ptr %2491, ptr %82, align 8, !tbaa !5
  br label %2492

2492:                                             ; preds = %2479
  %2493 = load i32, ptr %88, align 4, !tbaa !28
  %2494 = add i32 %2493, 1
  store i32 %2494, ptr %88, align 4, !tbaa !28
  br label %2440, !llvm.loop !113

2495:                                             ; preds = %2446
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #6
  br label %2690

2496:                                             ; preds = %2433
  %2497 = load ptr, ptr %8, align 8, !tbaa !5
  %2498 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2497, i32 0, i32 3
  %2499 = load i64, ptr %2498, align 8, !tbaa !37
  %2500 = icmp eq i64 %2499, 8
  br i1 %2500, label %2501, label %2560

2501:                                             ; preds = %2496
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #6
  %2502 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2502, ptr %89, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #6
  store i32 0, ptr %90, align 4, !tbaa !28
  br label %2503

2503:                                             ; preds = %2556, %2501
  %2504 = load i32, ptr %90, align 4, !tbaa !28
  %2505 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2506 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2505, i32 0, i32 11
  %2507 = load i32, ptr %2506, align 4, !tbaa !29
  %2508 = icmp ult i32 %2504, %2507
  br i1 %2508, label %2510, label %2509

2509:                                             ; preds = %2503
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #6
  br label %2559

2510:                                             ; preds = %2503
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2511

2511:                                             ; preds = %2540, %2510
  %2512 = load i32, ptr %9, align 4, !tbaa !28
  %2513 = load ptr, ptr %8, align 8, !tbaa !5
  %2514 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2513, i32 0, i32 0
  %2515 = load i32, ptr %2514, align 8, !tbaa !39
  %2516 = icmp slt i32 %2512, %2515
  br i1 %2516, label %2517, label %2543

2517:                                             ; preds = %2511
  %2518 = load ptr, ptr %89, align 8, !tbaa !5
  %2519 = load ptr, ptr %8, align 8, !tbaa !5
  %2520 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2519, i32 0, i32 5
  %2521 = load i32, ptr %9, align 4, !tbaa !28
  %2522 = sext i32 %2521 to i64
  %2523 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2520, i64 noundef %2522) #6
  %2524 = load i32, ptr %2523, align 4, !tbaa !28
  %2525 = sext i32 %2524 to i64
  %2526 = getelementptr inbounds i32, ptr %2518, i64 %2525
  %2527 = load i32, ptr %2526, align 4, !tbaa !28
  %2528 = ashr i32 %2527, 24
  %2529 = and i32 %2528, 255
  %2530 = trunc i32 %2529 to i8
  %2531 = load ptr, ptr %82, align 8, !tbaa !5
  %2532 = load ptr, ptr %8, align 8, !tbaa !5
  %2533 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2532, i32 0, i32 6
  %2534 = load i32, ptr %9, align 4, !tbaa !28
  %2535 = sext i32 %2534 to i64
  %2536 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2533, i64 noundef %2535) #6
  %2537 = load i32, ptr %2536, align 4, !tbaa !28
  %2538 = sext i32 %2537 to i64
  %2539 = getelementptr inbounds i8, ptr %2531, i64 %2538
  store i8 %2530, ptr %2539, align 1, !tbaa !40
  br label %2540

2540:                                             ; preds = %2517
  %2541 = load i32, ptr %9, align 4, !tbaa !28
  %2542 = add nsw i32 %2541, 1
  store i32 %2542, ptr %9, align 4, !tbaa !28
  br label %2511, !llvm.loop !114

2543:                                             ; preds = %2511
  %2544 = load ptr, ptr %8, align 8, !tbaa !5
  %2545 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2544, i32 0, i32 1
  %2546 = load i32, ptr %2545, align 4, !tbaa !43
  %2547 = load ptr, ptr %89, align 8, !tbaa !5
  %2548 = sext i32 %2546 to i64
  %2549 = getelementptr inbounds i32, ptr %2547, i64 %2548
  store ptr %2549, ptr %89, align 8, !tbaa !5
  %2550 = load ptr, ptr %8, align 8, !tbaa !5
  %2551 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2550, i32 0, i32 2
  %2552 = load i32, ptr %2551, align 8, !tbaa !30
  %2553 = load ptr, ptr %82, align 8, !tbaa !5
  %2554 = sext i32 %2552 to i64
  %2555 = getelementptr inbounds i8, ptr %2553, i64 %2554
  store ptr %2555, ptr %82, align 8, !tbaa !5
  br label %2556

2556:                                             ; preds = %2543
  %2557 = load i32, ptr %90, align 4, !tbaa !28
  %2558 = add i32 %2557, 1
  store i32 %2558, ptr %90, align 4, !tbaa !28
  br label %2503, !llvm.loop !115

2559:                                             ; preds = %2509
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #6
  br label %2689

2560:                                             ; preds = %2496
  %2561 = load ptr, ptr %8, align 8, !tbaa !5
  %2562 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2561, i32 0, i32 3
  %2563 = load i64, ptr %2562, align 8, !tbaa !37
  %2564 = icmp eq i64 %2563, 16
  br i1 %2564, label %2565, label %2624

2565:                                             ; preds = %2560
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #6
  %2566 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2566, ptr %91, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #6
  store i32 0, ptr %92, align 4, !tbaa !28
  br label %2567

2567:                                             ; preds = %2620, %2565
  %2568 = load i32, ptr %92, align 4, !tbaa !28
  %2569 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2570 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2569, i32 0, i32 11
  %2571 = load i32, ptr %2570, align 4, !tbaa !29
  %2572 = icmp ult i32 %2568, %2571
  br i1 %2572, label %2574, label %2573

2573:                                             ; preds = %2567
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #6
  br label %2623

2574:                                             ; preds = %2567
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2575

2575:                                             ; preds = %2604, %2574
  %2576 = load i32, ptr %9, align 4, !tbaa !28
  %2577 = load ptr, ptr %8, align 8, !tbaa !5
  %2578 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2577, i32 0, i32 0
  %2579 = load i32, ptr %2578, align 8, !tbaa !39
  %2580 = icmp slt i32 %2576, %2579
  br i1 %2580, label %2581, label %2607

2581:                                             ; preds = %2575
  %2582 = load ptr, ptr %91, align 8, !tbaa !5
  %2583 = load ptr, ptr %8, align 8, !tbaa !5
  %2584 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2583, i32 0, i32 5
  %2585 = load i32, ptr %9, align 4, !tbaa !28
  %2586 = sext i32 %2585 to i64
  %2587 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2584, i64 noundef %2586) #6
  %2588 = load i32, ptr %2587, align 4, !tbaa !28
  %2589 = sext i32 %2588 to i64
  %2590 = getelementptr inbounds float, ptr %2582, i64 %2589
  %2591 = load float, ptr %2590, align 4, !tbaa !53
  %2592 = fpext float %2591 to double
  %2593 = call double @llvm.fmuladd.f64(double %2592, double 1.275000e+02, double -5.000000e-01)
  %2594 = fptosi double %2593 to i8
  %2595 = load ptr, ptr %82, align 8, !tbaa !5
  %2596 = load ptr, ptr %8, align 8, !tbaa !5
  %2597 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2596, i32 0, i32 6
  %2598 = load i32, ptr %9, align 4, !tbaa !28
  %2599 = sext i32 %2598 to i64
  %2600 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2597, i64 noundef %2599) #6
  %2601 = load i32, ptr %2600, align 4, !tbaa !28
  %2602 = sext i32 %2601 to i64
  %2603 = getelementptr inbounds i8, ptr %2595, i64 %2602
  store i8 %2594, ptr %2603, align 1, !tbaa !40
  br label %2604

2604:                                             ; preds = %2581
  %2605 = load i32, ptr %9, align 4, !tbaa !28
  %2606 = add nsw i32 %2605, 1
  store i32 %2606, ptr %9, align 4, !tbaa !28
  br label %2575, !llvm.loop !116

2607:                                             ; preds = %2575
  %2608 = load ptr, ptr %8, align 8, !tbaa !5
  %2609 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2608, i32 0, i32 1
  %2610 = load i32, ptr %2609, align 4, !tbaa !43
  %2611 = load ptr, ptr %91, align 8, !tbaa !5
  %2612 = sext i32 %2610 to i64
  %2613 = getelementptr inbounds float, ptr %2611, i64 %2612
  store ptr %2613, ptr %91, align 8, !tbaa !5
  %2614 = load ptr, ptr %8, align 8, !tbaa !5
  %2615 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2614, i32 0, i32 2
  %2616 = load i32, ptr %2615, align 8, !tbaa !30
  %2617 = load ptr, ptr %82, align 8, !tbaa !5
  %2618 = sext i32 %2616 to i64
  %2619 = getelementptr inbounds i8, ptr %2617, i64 %2618
  store ptr %2619, ptr %82, align 8, !tbaa !5
  br label %2620

2620:                                             ; preds = %2607
  %2621 = load i32, ptr %92, align 4, !tbaa !28
  %2622 = add i32 %2621, 1
  store i32 %2622, ptr %92, align 4, !tbaa !28
  br label %2567, !llvm.loop !117

2623:                                             ; preds = %2573
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #6
  br label %2688

2624:                                             ; preds = %2560
  %2625 = load ptr, ptr %8, align 8, !tbaa !5
  %2626 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2625, i32 0, i32 3
  %2627 = load i64, ptr %2626, align 8, !tbaa !37
  %2628 = icmp eq i64 %2627, 32
  br i1 %2628, label %2629, label %2687

2629:                                             ; preds = %2624
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #6
  %2630 = load ptr, ptr %7, align 8, !tbaa !5
  store ptr %2630, ptr %93, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #6
  store i32 0, ptr %94, align 4, !tbaa !28
  br label %2631

2631:                                             ; preds = %2683, %2629
  %2632 = load i32, ptr %94, align 4, !tbaa !28
  %2633 = getelementptr inbounds %class.RtApi, ptr %95, i32 0, i32 5
  %2634 = getelementptr inbounds %"struct.RtApi::RtApiStream", ptr %2633, i32 0, i32 11
  %2635 = load i32, ptr %2634, align 4, !tbaa !29
  %2636 = icmp ult i32 %2632, %2635
  br i1 %2636, label %2638, label %2637

2637:                                             ; preds = %2631
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #6
  br label %2686

2638:                                             ; preds = %2631
  store i32 0, ptr %9, align 4, !tbaa !28
  br label %2639

2639:                                             ; preds = %2667, %2638
  %2640 = load i32, ptr %9, align 4, !tbaa !28
  %2641 = load ptr, ptr %8, align 8, !tbaa !5
  %2642 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2641, i32 0, i32 0
  %2643 = load i32, ptr %2642, align 8, !tbaa !39
  %2644 = icmp slt i32 %2640, %2643
  br i1 %2644, label %2645, label %2670

2645:                                             ; preds = %2639
  %2646 = load ptr, ptr %93, align 8, !tbaa !5
  %2647 = load ptr, ptr %8, align 8, !tbaa !5
  %2648 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2647, i32 0, i32 5
  %2649 = load i32, ptr %9, align 4, !tbaa !28
  %2650 = sext i32 %2649 to i64
  %2651 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2648, i64 noundef %2650) #6
  %2652 = load i32, ptr %2651, align 4, !tbaa !28
  %2653 = sext i32 %2652 to i64
  %2654 = getelementptr inbounds double, ptr %2646, i64 %2653
  %2655 = load double, ptr %2654, align 8, !tbaa !38
  %2656 = call double @llvm.fmuladd.f64(double %2655, double 1.275000e+02, double -5.000000e-01)
  %2657 = fptosi double %2656 to i8
  %2658 = load ptr, ptr %82, align 8, !tbaa !5
  %2659 = load ptr, ptr %8, align 8, !tbaa !5
  %2660 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2659, i32 0, i32 6
  %2661 = load i32, ptr %9, align 4, !tbaa !28
  %2662 = sext i32 %2661 to i64
  %2663 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2660, i64 noundef %2662) #6
  %2664 = load i32, ptr %2663, align 4, !tbaa !28
  %2665 = sext i32 %2664 to i64
  %2666 = getelementptr inbounds i8, ptr %2658, i64 %2665
  store i8 %2657, ptr %2666, align 1, !tbaa !40
  br label %2667

2667:                                             ; preds = %2645
  %2668 = load i32, ptr %9, align 4, !tbaa !28
  %2669 = add nsw i32 %2668, 1
  store i32 %2669, ptr %9, align 4, !tbaa !28
  br label %2639, !llvm.loop !118

2670:                                             ; preds = %2639
  %2671 = load ptr, ptr %8, align 8, !tbaa !5
  %2672 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2671, i32 0, i32 1
  %2673 = load i32, ptr %2672, align 4, !tbaa !43
  %2674 = load ptr, ptr %93, align 8, !tbaa !5
  %2675 = sext i32 %2673 to i64
  %2676 = getelementptr inbounds double, ptr %2674, i64 %2675
  store ptr %2676, ptr %93, align 8, !tbaa !5
  %2677 = load ptr, ptr %8, align 8, !tbaa !5
  %2678 = getelementptr inbounds %"struct.RtApi::ConvertInfo", ptr %2677, i32 0, i32 2
  %2679 = load i32, ptr %2678, align 8, !tbaa !30
  %2680 = load ptr, ptr %82, align 8, !tbaa !5
  %2681 = sext i32 %2679 to i64
  %2682 = getelementptr inbounds i8, ptr %2680, i64 %2681
  store ptr %2682, ptr %82, align 8, !tbaa !5
  br label %2683

2683:                                             ; preds = %2670
  %2684 = load i32, ptr %94, align 4, !tbaa !28
  %2685 = add i32 %2684, 1
  store i32 %2685, ptr %94, align 4, !tbaa !28
  br label %2631, !llvm.loop !119

2686:                                             ; preds = %2637
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #6
  br label %2687

2687:                                             ; preds = %2686, %2624
  br label %2688

2688:                                             ; preds = %2687, %2623
  br label %2689

2689:                                             ; preds = %2688, %2559
  br label %2690

2690:                                             ; preds = %2689, %2495
  br label %2691

2691:                                             ; preds = %2690, %2432
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #6
  br label %2692

2692:                                             ; preds = %2691, %2301
  br label %2693

2693:                                             ; preds = %2692, %2300
  br label %2694

2694:                                             ; preds = %2693, %1898
  br label %2695

2695:                                             ; preds = %2694, %1506
  br label %2696

2696:                                             ; preds = %2695, %1088
  br label %2697

2697:                                             ; preds = %2696, %605
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  ret void
}

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #4

; 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)) #2 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) #5

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 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { 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 464}
!10 = !{!"_ZTS5RtApi", !11, i64 8, !17, i64 384, !20, i64 416, !21, i64 424, !20, i64 792}
!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 = !{!"bool", !7, i64 0}
!21 = !{!"_ZTSN5RtApi11RtApiStreamE", !7, i64 0, !6, i64 8, !22, i64 16, !23, i64 20, !7, i64 24, !6, i64 40, !7, i64 48, !20, i64 50, !7, i64 51, !7, i64 53, !24, i64 56, !24, i64 60, !24, i64 64, !7, i64 68, !7, i64 76, !7, i64 84, !7, i64 96, !19, i64 112, !7, i64 120, !24, i64 136, !25, i64 144, !7, i64 200, !26, i64 360}
!22 = !{!"_ZTSN5RtApi10StreamModeE", !7, i64 0}
!23 = !{!"_ZTSN5RtApi11StreamStateE", !7, i64 0}
!24 = !{!"int", !7, i64 0}
!25 = !{!"_ZTS12CallbackInfo", !6, i64 0, !24, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !20, i64 48, !20, i64 49, !24, i64 52}
!26 = !{!"double", !7, i64 0}
!27 = !{!10, !22, i64 440}
!28 = !{!24, !24, i64 0}
!29 = !{!10, !24, i64 484}
!30 = !{!31, !24, i64 8}
!31 = !{!"_ZTSN5RtApi11ConvertInfoE", !24, i64 0, !24, i64 4, !24, i64 8, !19, i64 16, !19, i64 24, !32, i64 32, !32, i64 56}
!32 = !{!"_ZTSSt6vectorIiSaIiEE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!36 = !{!31, !19, i64 24}
!37 = !{!31, !19, i64 16}
!38 = !{!26, !26, i64 0}
!39 = !{!31, !24, i64 0}
!40 = !{!7, !7, i64 0}
!41 = distinct !{!41, !42}
!42 = !{!"llvm.loop.mustprogress"}
!43 = !{!31, !24, i64 4}
!44 = distinct !{!44, !42}
!45 = !{!46, !46, i64 0}
!46 = !{!"short", !7, i64 0}
!47 = distinct !{!47, !42}
!48 = distinct !{!48, !42}
!49 = distinct !{!49, !42}
!50 = distinct !{!50, !42}
!51 = distinct !{!51, !42}
!52 = distinct !{!52, !42}
!53 = !{!54, !54, i64 0}
!54 = !{!"float", !7, i64 0}
!55 = distinct !{!55, !42}
!56 = distinct !{!56, !42}
!57 = distinct !{!57, !42}
!58 = distinct !{!58, !42}
!59 = distinct !{!59, !42}
!60 = distinct !{!60, !42}
!61 = distinct !{!61, !42}
!62 = distinct !{!62, !42}
!63 = distinct !{!63, !42}
!64 = distinct !{!64, !42}
!65 = distinct !{!65, !42}
!66 = distinct !{!66, !42}
!67 = distinct !{!67, !42}
!68 = distinct !{!68, !42}
!69 = distinct !{!69, !42}
!70 = distinct !{!70, !42}
!71 = distinct !{!71, !42}
!72 = distinct !{!72, !42}
!73 = distinct !{!73, !42}
!74 = distinct !{!74, !42}
!75 = distinct !{!75, !42}
!76 = distinct !{!76, !42}
!77 = distinct !{!77, !42}
!78 = distinct !{!78, !42}
!79 = distinct !{!79, !42}
!80 = distinct !{!80, !42}
!81 = distinct !{!81, !42}
!82 = distinct !{!82, !42}
!83 = distinct !{!83, !42}
!84 = distinct !{!84, !42}
!85 = distinct !{!85, !42}
!86 = distinct !{!86, !42}
!87 = !{i64 0, i64 3, !40}
!88 = distinct !{!88, !42}
!89 = distinct !{!89, !42}
!90 = distinct !{!90, !42}
!91 = distinct !{!91, !42}
!92 = distinct !{!92, !42}
!93 = distinct !{!93, !42}
!94 = distinct !{!94, !42}
!95 = distinct !{!95, !42}
!96 = distinct !{!96, !42}
!97 = distinct !{!97, !42}
!98 = distinct !{!98, !42}
!99 = distinct !{!99, !42}
!100 = distinct !{!100, !42}
!101 = distinct !{!101, !42}
!102 = distinct !{!102, !42}
!103 = distinct !{!103, !42}
!104 = distinct !{!104, !42}
!105 = distinct !{!105, !42}
!106 = distinct !{!106, !42}
!107 = distinct !{!107, !42}
!108 = distinct !{!108, !42}
!109 = distinct !{!109, !42}
!110 = distinct !{!110, !42}
!111 = distinct !{!111, !42}
!112 = distinct !{!112, !42}
!113 = distinct !{!113, !42}
!114 = distinct !{!114, !42}
!115 = distinct !{!115, !42}
!116 = distinct !{!116, !42}
!117 = distinct !{!117, !42}
!118 = distinct !{!118, !42}
!119 = distinct !{!119, !42}


; 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(793), i64 noundef) local_unnamed_addr #1 align 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 #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN5RtApi13convertBufferEPcS0_RNS_11ConvertInfoE(ptr noundef nonnull align 8 dereferenceable(793) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(80) %3) local_unnamed_addr #1 align 2 {
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = getelementptr inbounds i8, ptr %0, i64 464
  %11 = load ptr, ptr %10, align 8, !tbaa !5
  %12 = icmp eq ptr %11, %1
  %13 = getelementptr inbounds i8, ptr %0, i64 440
  %14 = load i32, ptr %13, align 8
  %15 = icmp eq i32 %14, 2
  %or.cond = select i1 %12, i1 %15, i1 false
  br i1 %or.cond, label %16, label %33

16:                                               ; preds = %4
  %17 = getelementptr inbounds i8, ptr %0, i64 500
  %18 = load i32, ptr %17, align 4, !tbaa !26
  %19 = getelementptr inbounds i8, ptr %0, i64 504
  %20 = load i32, ptr %19, align 8, !tbaa !26
  %21 = icmp ult i32 %18, %20
  br i1 %21, label %22, label %33

22:                                               ; preds = %16
  %23 = getelementptr inbounds i8, ptr %0, i64 484
  %24 = load i32, ptr %23, align 4, !tbaa !27
  %25 = getelementptr inbounds i8, ptr %3, i64 8
  %26 = load i32, ptr %25, align 8, !tbaa !28
  %27 = mul i32 %26, %24
  %28 = getelementptr inbounds i8, ptr %3, i64 24
  %29 = load i64, ptr %28, align 8, !tbaa !34
  %30 = tail call noundef i32 @_ZN5RtApi11formatBytesEm(ptr noundef nonnull align 8 dereferenceable(793) %0, i64 noundef %29)
  %31 = mul i32 %27, %30
  %32 = zext i32 %31 to i64
  tail call void @llvm.memset.p0.i64(ptr align 1 %1, i8 0, i64 %32, i1 false)
  br label %33

33:                                               ; preds = %22, %16, %4
  %34 = getelementptr inbounds i8, ptr %3, i64 24
  %35 = load i64, ptr %34, align 8, !tbaa !34
  switch i64 %35, label %.loopexit [
    i64 32, label %36
    i64 16, label %278
    i64 8, label %520
    i64 4, label %734
    i64 2, label %937
    i64 1, label %1142
  ]

36:                                               ; preds = %33
  %37 = getelementptr inbounds i8, ptr %3, i64 16
  %38 = load i64, ptr %37, align 8, !tbaa !35
  switch i64 %38, label %.loopexit [
    i64 1, label %.preheader815
    i64 2, label %.preheader817
    i64 4, label %.preheader820
    i64 8, label %.preheader823
    i64 16, label %.preheader826
    i64 32, label %.preheader829
  ]

.preheader829:                                    ; preds = %36
  %39 = getelementptr inbounds i8, ptr %0, i64 484
  %40 = load i32, ptr %39, align 4, !tbaa !27
  %.not1163 = icmp eq i32 %40, 0
  br i1 %.not1163, label %.loopexit, label %.preheader828.lr.ph

.preheader828.lr.ph:                              ; preds = %.preheader829
  %41 = getelementptr inbounds i8, ptr %3, i64 32
  %42 = getelementptr inbounds i8, ptr %3, i64 56
  %43 = getelementptr inbounds i8, ptr %3, i64 4
  %44 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1369 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader828

.preheader826:                                    ; preds = %36
  %45 = getelementptr inbounds i8, ptr %0, i64 484
  %46 = load i32, ptr %45, align 4, !tbaa !27
  %.not1164 = icmp eq i32 %46, 0
  br i1 %.not1164, label %.loopexit, label %.preheader825.lr.ph

.preheader825.lr.ph:                              ; preds = %.preheader826
  %47 = getelementptr inbounds i8, ptr %3, i64 32
  %48 = getelementptr inbounds i8, ptr %3, i64 56
  %49 = getelementptr inbounds i8, ptr %3, i64 4
  %50 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1371 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader825

.preheader823:                                    ; preds = %36
  %51 = getelementptr inbounds i8, ptr %0, i64 484
  %52 = load i32, ptr %51, align 4, !tbaa !27
  %.not1165 = icmp eq i32 %52, 0
  br i1 %.not1165, label %.loopexit, label %.preheader822.lr.ph

.preheader822.lr.ph:                              ; preds = %.preheader823
  %53 = getelementptr inbounds i8, ptr %3, i64 32
  %54 = getelementptr inbounds i8, ptr %3, i64 56
  %55 = getelementptr inbounds i8, ptr %3, i64 4
  %56 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1373 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader822

.preheader820:                                    ; preds = %36
  %57 = getelementptr inbounds i8, ptr %0, i64 484
  %58 = load i32, ptr %57, align 4, !tbaa !27
  %.not1166 = icmp eq i32 %58, 0
  br i1 %.not1166, label %.loopexit, label %.preheader819.lr.ph

.preheader819.lr.ph:                              ; preds = %.preheader820
  %59 = getelementptr inbounds i8, ptr %3, i64 32
  %60 = getelementptr inbounds i8, ptr %3, i64 56
  %61 = getelementptr inbounds i8, ptr %3, i64 4
  %62 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1375 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader819

.preheader817:                                    ; preds = %36
  %63 = getelementptr inbounds i8, ptr %0, i64 484
  %64 = load i32, ptr %63, align 4, !tbaa !27
  %.not1167 = icmp eq i32 %64, 0
  br i1 %.not1167, label %.loopexit, label %.preheader816.lr.ph

.preheader816.lr.ph:                              ; preds = %.preheader817
  %65 = getelementptr inbounds i8, ptr %3, i64 32
  %66 = getelementptr inbounds i8, ptr %3, i64 56
  %67 = getelementptr inbounds i8, ptr %3, i64 4
  %68 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1377 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader816

.preheader815:                                    ; preds = %36
  %69 = getelementptr inbounds i8, ptr %0, i64 484
  %70 = load i32, ptr %69, align 4, !tbaa !27
  %.not1168 = icmp eq i32 %70, 0
  br i1 %.not1168, label %.loopexit, label %.preheader.lr.ph

.preheader.lr.ph:                                 ; preds = %.preheader815
  %71 = getelementptr inbounds i8, ptr %3, i64 32
  %72 = getelementptr inbounds i8, ptr %3, i64 56
  %73 = getelementptr inbounds i8, ptr %3, i64 4
  %74 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1379 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader

.preheader:                                       ; preds = %.preheader.lr.ph, %._crit_edge1130
  %75 = phi i32 [ %70, %.preheader.lr.ph ], [ %103, %._crit_edge1130 ]
  %76 = phi i32 [ %.pre1379, %.preheader.lr.ph ], [ %104, %._crit_edge1130 ]
  %.07901133 = phi i32 [ 0, %.preheader.lr.ph ], [ %111, %._crit_edge1130 ]
  %.07911132 = phi ptr [ %2, %.preheader.lr.ph ], [ %107, %._crit_edge1130 ]
  %.07921131 = phi ptr [ %1, %.preheader.lr.ph ], [ %110, %._crit_edge1130 ]
  %77 = icmp sgt i32 %76, 0
  br i1 %77, label %.lr.ph1129, label %._crit_edge1130

.lr.ph1129:                                       ; preds = %.preheader, %.lr.ph1129
  %indvars.iv1306 = phi i64 [ %indvars.iv.next1307, %.lr.ph1129 ], [ 0, %.preheader ]
  %78 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %indvars.iv1306) #6
  %79 = load i32, ptr %78, align 4, !tbaa !26
  %80 = sext i32 %79 to i64
  %81 = getelementptr inbounds i8, ptr %.07911132, i64 %80
  %82 = load i8, ptr %81, align 1, !tbaa !37
  %83 = sitofp i8 %82 to double
  %84 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %indvars.iv1306) #6
  %85 = load i32, ptr %84, align 4, !tbaa !26
  %86 = sext i32 %85 to i64
  %87 = getelementptr inbounds double, ptr %.07921131, i64 %86
  store double %83, ptr %87, align 8, !tbaa !38
  %88 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %indvars.iv1306) #6
  %89 = load i32, ptr %88, align 4, !tbaa !26
  %90 = sext i32 %89 to i64
  %91 = getelementptr inbounds double, ptr %.07921131, i64 %90
  %92 = load double, ptr %91, align 8, !tbaa !38
  %93 = fadd double %92, 5.000000e-01
  store double %93, ptr %91, align 8, !tbaa !38
  %94 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %indvars.iv1306) #6
  %95 = load i32, ptr %94, align 4, !tbaa !26
  %96 = sext i32 %95 to i64
  %97 = getelementptr inbounds double, ptr %.07921131, i64 %96
  %98 = load double, ptr %97, align 8, !tbaa !38
  %99 = fmul double %98, 0x3F80101010101010
  store double %99, ptr %97, align 8, !tbaa !38
  %indvars.iv.next1307 = add nuw nsw i64 %indvars.iv1306, 1
  %100 = load i32, ptr %3, align 8, !tbaa !36
  %101 = sext i32 %100 to i64
  %102 = icmp slt i64 %indvars.iv.next1307, %101
  br i1 %102, label %.lr.ph1129, label %._crit_edge1130.loopexit, !llvm.loop !39

._crit_edge1130.loopexit:                         ; preds = %.lr.ph1129
  %.pre1380 = load i32, ptr %69, align 4, !tbaa !27
  br label %._crit_edge1130

._crit_edge1130:                                  ; preds = %._crit_edge1130.loopexit, %.preheader
  %103 = phi i32 [ %.pre1380, %._crit_edge1130.loopexit ], [ %75, %.preheader ]
  %104 = phi i32 [ %100, %._crit_edge1130.loopexit ], [ %76, %.preheader ]
  %105 = load i32, ptr %73, align 4, !tbaa !41
  %106 = sext i32 %105 to i64
  %107 = getelementptr inbounds i8, ptr %.07911132, i64 %106
  %108 = load i32, ptr %74, align 8, !tbaa !28
  %109 = sext i32 %108 to i64
  %110 = getelementptr inbounds double, ptr %.07921131, i64 %109
  %111 = add nuw i32 %.07901133, 1
  %112 = icmp ult i32 %111, %103
  br i1 %112, label %.preheader, label %.loopexit, !llvm.loop !42

.preheader816:                                    ; preds = %.preheader816.lr.ph, %._crit_edge1124
  %113 = phi i32 [ %64, %.preheader816.lr.ph ], [ %141, %._crit_edge1124 ]
  %114 = phi i32 [ %.pre1377, %.preheader816.lr.ph ], [ %142, %._crit_edge1124 ]
  %.07881127 = phi i32 [ 0, %.preheader816.lr.ph ], [ %149, %._crit_edge1124 ]
  %.07891126 = phi ptr [ %2, %.preheader816.lr.ph ], [ %145, %._crit_edge1124 ]
  %.17931125 = phi ptr [ %1, %.preheader816.lr.ph ], [ %148, %._crit_edge1124 ]
  %115 = icmp sgt i32 %114, 0
  br i1 %115, label %.lr.ph1123, label %._crit_edge1124

.lr.ph1123:                                       ; preds = %.preheader816, %.lr.ph1123
  %indvars.iv1303 = phi i64 [ %indvars.iv.next1304, %.lr.ph1123 ], [ 0, %.preheader816 ]
  %116 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %indvars.iv1303) #6
  %117 = load i32, ptr %116, align 4, !tbaa !26
  %118 = sext i32 %117 to i64
  %119 = getelementptr inbounds i16, ptr %.07891126, i64 %118
  %120 = load i16, ptr %119, align 2, !tbaa !43
  %121 = sitofp i16 %120 to double
  %122 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %indvars.iv1303) #6
  %123 = load i32, ptr %122, align 4, !tbaa !26
  %124 = sext i32 %123 to i64
  %125 = getelementptr inbounds double, ptr %.17931125, i64 %124
  store double %121, ptr %125, align 8, !tbaa !38
  %126 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %indvars.iv1303) #6
  %127 = load i32, ptr %126, align 4, !tbaa !26
  %128 = sext i32 %127 to i64
  %129 = getelementptr inbounds double, ptr %.17931125, i64 %128
  %130 = load double, ptr %129, align 8, !tbaa !38
  %131 = fadd double %130, 5.000000e-01
  store double %131, ptr %129, align 8, !tbaa !38
  %132 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %indvars.iv1303) #6
  %133 = load i32, ptr %132, align 4, !tbaa !26
  %134 = sext i32 %133 to i64
  %135 = getelementptr inbounds double, ptr %.17931125, i64 %134
  %136 = load double, ptr %135, align 8, !tbaa !38
  %137 = fmul double %136, 0x3F00001000100010
  store double %137, ptr %135, align 8, !tbaa !38
  %indvars.iv.next1304 = add nuw nsw i64 %indvars.iv1303, 1
  %138 = load i32, ptr %3, align 8, !tbaa !36
  %139 = sext i32 %138 to i64
  %140 = icmp slt i64 %indvars.iv.next1304, %139
  br i1 %140, label %.lr.ph1123, label %._crit_edge1124.loopexit, !llvm.loop !45

._crit_edge1124.loopexit:                         ; preds = %.lr.ph1123
  %.pre1378 = load i32, ptr %63, align 4, !tbaa !27
  br label %._crit_edge1124

._crit_edge1124:                                  ; preds = %._crit_edge1124.loopexit, %.preheader816
  %141 = phi i32 [ %.pre1378, %._crit_edge1124.loopexit ], [ %113, %.preheader816 ]
  %142 = phi i32 [ %138, %._crit_edge1124.loopexit ], [ %114, %.preheader816 ]
  %143 = load i32, ptr %67, align 4, !tbaa !41
  %144 = sext i32 %143 to i64
  %145 = getelementptr inbounds i16, ptr %.07891126, i64 %144
  %146 = load i32, ptr %68, align 8, !tbaa !28
  %147 = sext i32 %146 to i64
  %148 = getelementptr inbounds double, ptr %.17931125, i64 %147
  %149 = add nuw i32 %.07881127, 1
  %150 = icmp ult i32 %149, %141
  br i1 %150, label %.preheader816, label %.loopexit, !llvm.loop !46

.preheader819:                                    ; preds = %.preheader819.lr.ph, %._crit_edge1118
  %151 = phi i32 [ %58, %.preheader819.lr.ph ], [ %179, %._crit_edge1118 ]
  %152 = phi i32 [ %.pre1375, %.preheader819.lr.ph ], [ %180, %._crit_edge1118 ]
  %.07861121 = phi i32 [ 0, %.preheader819.lr.ph ], [ %187, %._crit_edge1118 ]
  %.07871120 = phi ptr [ %2, %.preheader819.lr.ph ], [ %183, %._crit_edge1118 ]
  %.27941119 = phi ptr [ %1, %.preheader819.lr.ph ], [ %186, %._crit_edge1118 ]
  %153 = icmp sgt i32 %152, 0
  br i1 %153, label %.lr.ph1117, label %._crit_edge1118

.lr.ph1117:                                       ; preds = %.preheader819, %.lr.ph1117
  %indvars.iv1300 = phi i64 [ %indvars.iv.next1301, %.lr.ph1117 ], [ 0, %.preheader819 ]
  %154 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %indvars.iv1300) #6
  %155 = load i32, ptr %154, align 4, !tbaa !26
  %156 = sext i32 %155 to i64
  %157 = getelementptr inbounds %class.S24, ptr %.07871120, i64 %156
  %158 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %157)
  %159 = sitofp i32 %158 to double
  %160 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %60, i64 noundef %indvars.iv1300) #6
  %161 = load i32, ptr %160, align 4, !tbaa !26
  %162 = sext i32 %161 to i64
  %163 = getelementptr inbounds double, ptr %.27941119, i64 %162
  store double %159, ptr %163, align 8, !tbaa !38
  %164 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %60, i64 noundef %indvars.iv1300) #6
  %165 = load i32, ptr %164, align 4, !tbaa !26
  %166 = sext i32 %165 to i64
  %167 = getelementptr inbounds double, ptr %.27941119, i64 %166
  %168 = load double, ptr %167, align 8, !tbaa !38
  %169 = fadd double %168, 5.000000e-01
  store double %169, ptr %167, align 8, !tbaa !38
  %170 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %60, i64 noundef %indvars.iv1300) #6
  %171 = load i32, ptr %170, align 4, !tbaa !26
  %172 = sext i32 %171 to i64
  %173 = getelementptr inbounds double, ptr %.27941119, i64 %172
  %174 = load double, ptr %173, align 8, !tbaa !38
  %175 = fmul double %174, 0x3E80000010000010
  store double %175, ptr %173, align 8, !tbaa !38
  %indvars.iv.next1301 = add nuw nsw i64 %indvars.iv1300, 1
  %176 = load i32, ptr %3, align 8, !tbaa !36
  %177 = sext i32 %176 to i64
  %178 = icmp slt i64 %indvars.iv.next1301, %177
  br i1 %178, label %.lr.ph1117, label %._crit_edge1118.loopexit, !llvm.loop !47

._crit_edge1118.loopexit:                         ; preds = %.lr.ph1117
  %.pre1376 = load i32, ptr %57, align 4, !tbaa !27
  br label %._crit_edge1118

._crit_edge1118:                                  ; preds = %._crit_edge1118.loopexit, %.preheader819
  %179 = phi i32 [ %.pre1376, %._crit_edge1118.loopexit ], [ %151, %.preheader819 ]
  %180 = phi i32 [ %176, %._crit_edge1118.loopexit ], [ %152, %.preheader819 ]
  %181 = load i32, ptr %61, align 4, !tbaa !41
  %182 = sext i32 %181 to i64
  %183 = getelementptr inbounds %class.S24, ptr %.07871120, i64 %182
  %184 = load i32, ptr %62, align 8, !tbaa !28
  %185 = sext i32 %184 to i64
  %186 = getelementptr inbounds double, ptr %.27941119, i64 %185
  %187 = add nuw i32 %.07861121, 1
  %188 = icmp ult i32 %187, %179
  br i1 %188, label %.preheader819, label %.loopexit, !llvm.loop !48

.preheader822:                                    ; preds = %.preheader822.lr.ph, %._crit_edge1112
  %189 = phi i32 [ %52, %.preheader822.lr.ph ], [ %217, %._crit_edge1112 ]
  %190 = phi i32 [ %.pre1373, %.preheader822.lr.ph ], [ %218, %._crit_edge1112 ]
  %.07841115 = phi i32 [ 0, %.preheader822.lr.ph ], [ %225, %._crit_edge1112 ]
  %.07851114 = phi ptr [ %2, %.preheader822.lr.ph ], [ %221, %._crit_edge1112 ]
  %.37951113 = phi ptr [ %1, %.preheader822.lr.ph ], [ %224, %._crit_edge1112 ]
  %191 = icmp sgt i32 %190, 0
  br i1 %191, label %.lr.ph1111, label %._crit_edge1112

.lr.ph1111:                                       ; preds = %.preheader822, %.lr.ph1111
  %indvars.iv1297 = phi i64 [ %indvars.iv.next1298, %.lr.ph1111 ], [ 0, %.preheader822 ]
  %192 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %indvars.iv1297) #6
  %193 = load i32, ptr %192, align 4, !tbaa !26
  %194 = sext i32 %193 to i64
  %195 = getelementptr inbounds i32, ptr %.07851114, i64 %194
  %196 = load i32, ptr %195, align 4, !tbaa !26
  %197 = sitofp i32 %196 to double
  %198 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %indvars.iv1297) #6
  %199 = load i32, ptr %198, align 4, !tbaa !26
  %200 = sext i32 %199 to i64
  %201 = getelementptr inbounds double, ptr %.37951113, i64 %200
  store double %197, ptr %201, align 8, !tbaa !38
  %202 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %indvars.iv1297) #6
  %203 = load i32, ptr %202, align 4, !tbaa !26
  %204 = sext i32 %203 to i64
  %205 = getelementptr inbounds double, ptr %.37951113, i64 %204
  %206 = load double, ptr %205, align 8, !tbaa !38
  %207 = fadd double %206, 5.000000e-01
  store double %207, ptr %205, align 8, !tbaa !38
  %208 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %indvars.iv1297) #6
  %209 = load i32, ptr %208, align 4, !tbaa !26
  %210 = sext i32 %209 to i64
  %211 = getelementptr inbounds double, ptr %.37951113, i64 %210
  %212 = load double, ptr %211, align 8, !tbaa !38
  %213 = fmul double %212, 0x3E00000000100000
  store double %213, ptr %211, align 8, !tbaa !38
  %indvars.iv.next1298 = add nuw nsw i64 %indvars.iv1297, 1
  %214 = load i32, ptr %3, align 8, !tbaa !36
  %215 = sext i32 %214 to i64
  %216 = icmp slt i64 %indvars.iv.next1298, %215
  br i1 %216, label %.lr.ph1111, label %._crit_edge1112.loopexit, !llvm.loop !49

._crit_edge1112.loopexit:                         ; preds = %.lr.ph1111
  %.pre1374 = load i32, ptr %51, align 4, !tbaa !27
  br label %._crit_edge1112

._crit_edge1112:                                  ; preds = %._crit_edge1112.loopexit, %.preheader822
  %217 = phi i32 [ %.pre1374, %._crit_edge1112.loopexit ], [ %189, %.preheader822 ]
  %218 = phi i32 [ %214, %._crit_edge1112.loopexit ], [ %190, %.preheader822 ]
  %219 = load i32, ptr %55, align 4, !tbaa !41
  %220 = sext i32 %219 to i64
  %221 = getelementptr inbounds i32, ptr %.07851114, i64 %220
  %222 = load i32, ptr %56, align 8, !tbaa !28
  %223 = sext i32 %222 to i64
  %224 = getelementptr inbounds double, ptr %.37951113, i64 %223
  %225 = add nuw i32 %.07841115, 1
  %226 = icmp ult i32 %225, %217
  br i1 %226, label %.preheader822, label %.loopexit, !llvm.loop !50

.preheader825:                                    ; preds = %.preheader825.lr.ph, %._crit_edge1106
  %227 = phi i32 [ %46, %.preheader825.lr.ph ], [ %243, %._crit_edge1106 ]
  %228 = phi i32 [ %.pre1371, %.preheader825.lr.ph ], [ %244, %._crit_edge1106 ]
  %.07821109 = phi i32 [ 0, %.preheader825.lr.ph ], [ %251, %._crit_edge1106 ]
  %.07831108 = phi ptr [ %2, %.preheader825.lr.ph ], [ %247, %._crit_edge1106 ]
  %.47961107 = phi ptr [ %1, %.preheader825.lr.ph ], [ %250, %._crit_edge1106 ]
  %229 = icmp sgt i32 %228, 0
  br i1 %229, label %.lr.ph1105, label %._crit_edge1106

.lr.ph1105:                                       ; preds = %.preheader825, %.lr.ph1105
  %indvars.iv1294 = phi i64 [ %indvars.iv.next1295, %.lr.ph1105 ], [ 0, %.preheader825 ]
  %230 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %indvars.iv1294) #6
  %231 = load i32, ptr %230, align 4, !tbaa !26
  %232 = sext i32 %231 to i64
  %233 = getelementptr inbounds float, ptr %.07831108, i64 %232
  %234 = load float, ptr %233, align 4, !tbaa !51
  %235 = fpext float %234 to double
  %236 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef %indvars.iv1294) #6
  %237 = load i32, ptr %236, align 4, !tbaa !26
  %238 = sext i32 %237 to i64
  %239 = getelementptr inbounds double, ptr %.47961107, i64 %238
  store double %235, ptr %239, align 8, !tbaa !38
  %indvars.iv.next1295 = add nuw nsw i64 %indvars.iv1294, 1
  %240 = load i32, ptr %3, align 8, !tbaa !36
  %241 = sext i32 %240 to i64
  %242 = icmp slt i64 %indvars.iv.next1295, %241
  br i1 %242, label %.lr.ph1105, label %._crit_edge1106.loopexit, !llvm.loop !53

._crit_edge1106.loopexit:                         ; preds = %.lr.ph1105
  %.pre1372 = load i32, ptr %45, align 4, !tbaa !27
  br label %._crit_edge1106

._crit_edge1106:                                  ; preds = %._crit_edge1106.loopexit, %.preheader825
  %243 = phi i32 [ %.pre1372, %._crit_edge1106.loopexit ], [ %227, %.preheader825 ]
  %244 = phi i32 [ %240, %._crit_edge1106.loopexit ], [ %228, %.preheader825 ]
  %245 = load i32, ptr %49, align 4, !tbaa !41
  %246 = sext i32 %245 to i64
  %247 = getelementptr inbounds float, ptr %.07831108, i64 %246
  %248 = load i32, ptr %50, align 8, !tbaa !28
  %249 = sext i32 %248 to i64
  %250 = getelementptr inbounds double, ptr %.47961107, i64 %249
  %251 = add nuw i32 %.07821109, 1
  %252 = icmp ult i32 %251, %243
  br i1 %252, label %.preheader825, label %.loopexit, !llvm.loop !54

.preheader828:                                    ; preds = %.preheader828.lr.ph, %._crit_edge1100
  %253 = phi i32 [ %40, %.preheader828.lr.ph ], [ %268, %._crit_edge1100 ]
  %254 = phi i32 [ %.pre1369, %.preheader828.lr.ph ], [ %269, %._crit_edge1100 ]
  %.07801103 = phi i32 [ 0, %.preheader828.lr.ph ], [ %276, %._crit_edge1100 ]
  %.07811102 = phi ptr [ %2, %.preheader828.lr.ph ], [ %272, %._crit_edge1100 ]
  %.57971101 = phi ptr [ %1, %.preheader828.lr.ph ], [ %275, %._crit_edge1100 ]
  %255 = icmp sgt i32 %254, 0
  br i1 %255, label %.lr.ph1099, label %._crit_edge1100

.lr.ph1099:                                       ; preds = %.preheader828, %.lr.ph1099
  %indvars.iv1291 = phi i64 [ %indvars.iv.next1292, %.lr.ph1099 ], [ 0, %.preheader828 ]
  %256 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %41, i64 noundef %indvars.iv1291) #6
  %257 = load i32, ptr %256, align 4, !tbaa !26
  %258 = sext i32 %257 to i64
  %259 = getelementptr inbounds double, ptr %.07811102, i64 %258
  %260 = load double, ptr %259, align 8, !tbaa !38
  %261 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %indvars.iv1291) #6
  %262 = load i32, ptr %261, align 4, !tbaa !26
  %263 = sext i32 %262 to i64
  %264 = getelementptr inbounds double, ptr %.57971101, i64 %263
  store double %260, ptr %264, align 8, !tbaa !38
  %indvars.iv.next1292 = add nuw nsw i64 %indvars.iv1291, 1
  %265 = load i32, ptr %3, align 8, !tbaa !36
  %266 = sext i32 %265 to i64
  %267 = icmp slt i64 %indvars.iv.next1292, %266
  br i1 %267, label %.lr.ph1099, label %._crit_edge1100.loopexit, !llvm.loop !55

._crit_edge1100.loopexit:                         ; preds = %.lr.ph1099
  %.pre1370 = load i32, ptr %39, align 4, !tbaa !27
  br label %._crit_edge1100

._crit_edge1100:                                  ; preds = %._crit_edge1100.loopexit, %.preheader828
  %268 = phi i32 [ %.pre1370, %._crit_edge1100.loopexit ], [ %253, %.preheader828 ]
  %269 = phi i32 [ %265, %._crit_edge1100.loopexit ], [ %254, %.preheader828 ]
  %270 = load i32, ptr %43, align 4, !tbaa !41
  %271 = sext i32 %270 to i64
  %272 = getelementptr inbounds double, ptr %.07811102, i64 %271
  %273 = load i32, ptr %44, align 8, !tbaa !28
  %274 = sext i32 %273 to i64
  %275 = getelementptr inbounds double, ptr %.57971101, i64 %274
  %276 = add nuw i32 %.07801103, 1
  %277 = icmp ult i32 %276, %268
  br i1 %277, label %.preheader828, label %.loopexit, !llvm.loop !56

278:                                              ; preds = %33
  %279 = getelementptr inbounds i8, ptr %3, i64 16
  %280 = load i64, ptr %279, align 8, !tbaa !35
  switch i64 %280, label %.loopexit [
    i64 1, label %.preheader832
    i64 2, label %.preheader835
    i64 4, label %.preheader838
    i64 8, label %.preheader841
    i64 16, label %.preheader844
    i64 32, label %.preheader847
  ]

.preheader847:                                    ; preds = %278
  %281 = getelementptr inbounds i8, ptr %0, i64 484
  %282 = load i32, ptr %281, align 4, !tbaa !27
  %.not1157 = icmp eq i32 %282, 0
  br i1 %.not1157, label %.loopexit, label %.preheader846.lr.ph

.preheader846.lr.ph:                              ; preds = %.preheader847
  %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
  %.pre1357 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader846

.preheader844:                                    ; preds = %278
  %287 = getelementptr inbounds i8, ptr %0, i64 484
  %288 = load i32, ptr %287, align 4, !tbaa !27
  %.not1158 = icmp eq i32 %288, 0
  br i1 %.not1158, label %.loopexit, label %.preheader843.lr.ph

.preheader843.lr.ph:                              ; preds = %.preheader844
  %289 = getelementptr inbounds i8, ptr %3, i64 32
  %290 = getelementptr inbounds i8, ptr %3, i64 56
  %291 = getelementptr inbounds i8, ptr %3, i64 4
  %292 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1359 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader843

.preheader841:                                    ; preds = %278
  %293 = getelementptr inbounds i8, ptr %0, i64 484
  %294 = load i32, ptr %293, align 4, !tbaa !27
  %.not1159 = icmp eq i32 %294, 0
  br i1 %.not1159, label %.loopexit, label %.preheader840.lr.ph

.preheader840.lr.ph:                              ; preds = %.preheader841
  %295 = getelementptr inbounds i8, ptr %3, i64 32
  %296 = getelementptr inbounds i8, ptr %3, i64 56
  %297 = getelementptr inbounds i8, ptr %3, i64 4
  %298 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1361 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader840

.preheader838:                                    ; preds = %278
  %299 = getelementptr inbounds i8, ptr %0, i64 484
  %300 = load i32, ptr %299, align 4, !tbaa !27
  %.not1160 = icmp eq i32 %300, 0
  br i1 %.not1160, label %.loopexit, label %.preheader837.lr.ph

.preheader837.lr.ph:                              ; preds = %.preheader838
  %301 = getelementptr inbounds i8, ptr %3, i64 32
  %302 = getelementptr inbounds i8, ptr %3, i64 56
  %303 = getelementptr inbounds i8, ptr %3, i64 4
  %304 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1363 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader837

.preheader835:                                    ; preds = %278
  %305 = getelementptr inbounds i8, ptr %0, i64 484
  %306 = load i32, ptr %305, align 4, !tbaa !27
  %.not1161 = icmp eq i32 %306, 0
  br i1 %.not1161, label %.loopexit, label %.preheader834.lr.ph

.preheader834.lr.ph:                              ; preds = %.preheader835
  %307 = getelementptr inbounds i8, ptr %3, i64 32
  %308 = getelementptr inbounds i8, ptr %3, i64 56
  %309 = getelementptr inbounds i8, ptr %3, i64 4
  %310 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1365 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader834

.preheader832:                                    ; preds = %278
  %311 = getelementptr inbounds i8, ptr %0, i64 484
  %312 = load i32, ptr %311, align 4, !tbaa !27
  %.not1162 = icmp eq i32 %312, 0
  br i1 %.not1162, label %.loopexit, label %.preheader831.lr.ph

.preheader831.lr.ph:                              ; preds = %.preheader832
  %313 = getelementptr inbounds i8, ptr %3, i64 32
  %314 = getelementptr inbounds i8, ptr %3, i64 56
  %315 = getelementptr inbounds i8, ptr %3, i64 4
  %316 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1367 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader831

.preheader831:                                    ; preds = %.preheader831.lr.ph, %._crit_edge1094
  %317 = phi i32 [ %312, %.preheader831.lr.ph ], [ %345, %._crit_edge1094 ]
  %318 = phi i32 [ %.pre1367, %.preheader831.lr.ph ], [ %346, %._crit_edge1094 ]
  %.07721097 = phi i32 [ 0, %.preheader831.lr.ph ], [ %353, %._crit_edge1094 ]
  %.07731096 = phi ptr [ %2, %.preheader831.lr.ph ], [ %349, %._crit_edge1094 ]
  %.07741095 = phi ptr [ %1, %.preheader831.lr.ph ], [ %352, %._crit_edge1094 ]
  %319 = icmp sgt i32 %318, 0
  br i1 %319, label %.lr.ph1093, label %._crit_edge1094

.lr.ph1093:                                       ; preds = %.preheader831, %.lr.ph1093
  %indvars.iv1288 = phi i64 [ %indvars.iv.next1289, %.lr.ph1093 ], [ 0, %.preheader831 ]
  %320 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %313, i64 noundef %indvars.iv1288) #6
  %321 = load i32, ptr %320, align 4, !tbaa !26
  %322 = sext i32 %321 to i64
  %323 = getelementptr inbounds i8, ptr %.07731096, i64 %322
  %324 = load i8, ptr %323, align 1, !tbaa !37
  %325 = sitofp i8 %324 to float
  %326 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %314, i64 noundef %indvars.iv1288) #6
  %327 = load i32, ptr %326, align 4, !tbaa !26
  %328 = sext i32 %327 to i64
  %329 = getelementptr inbounds float, ptr %.07741095, i64 %328
  store float %325, ptr %329, align 4, !tbaa !51
  %330 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %314, i64 noundef %indvars.iv1288) #6
  %331 = load i32, ptr %330, align 4, !tbaa !26
  %332 = sext i32 %331 to i64
  %333 = getelementptr inbounds float, ptr %.07741095, i64 %332
  %334 = load float, ptr %333, align 4, !tbaa !51
  %335 = fadd float %334, 5.000000e-01
  store float %335, ptr %333, align 4, !tbaa !51
  %336 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %314, i64 noundef %indvars.iv1288) #6
  %337 = load i32, ptr %336, align 4, !tbaa !26
  %338 = sext i32 %337 to i64
  %339 = getelementptr inbounds float, ptr %.07741095, i64 %338
  %340 = load float, ptr %339, align 4, !tbaa !51
  %341 = fmul float %340, 0x3F80101020000000
  store float %341, ptr %339, align 4, !tbaa !51
  %indvars.iv.next1289 = add nuw nsw i64 %indvars.iv1288, 1
  %342 = load i32, ptr %3, align 8, !tbaa !36
  %343 = sext i32 %342 to i64
  %344 = icmp slt i64 %indvars.iv.next1289, %343
  br i1 %344, label %.lr.ph1093, label %._crit_edge1094.loopexit, !llvm.loop !57

._crit_edge1094.loopexit:                         ; preds = %.lr.ph1093
  %.pre1368 = load i32, ptr %311, align 4, !tbaa !27
  br label %._crit_edge1094

._crit_edge1094:                                  ; preds = %._crit_edge1094.loopexit, %.preheader831
  %345 = phi i32 [ %.pre1368, %._crit_edge1094.loopexit ], [ %317, %.preheader831 ]
  %346 = phi i32 [ %342, %._crit_edge1094.loopexit ], [ %318, %.preheader831 ]
  %347 = load i32, ptr %315, align 4, !tbaa !41
  %348 = sext i32 %347 to i64
  %349 = getelementptr inbounds i8, ptr %.07731096, i64 %348
  %350 = load i32, ptr %316, align 8, !tbaa !28
  %351 = sext i32 %350 to i64
  %352 = getelementptr inbounds float, ptr %.07741095, i64 %351
  %353 = add nuw i32 %.07721097, 1
  %354 = icmp ult i32 %353, %345
  br i1 %354, label %.preheader831, label %.loopexit, !llvm.loop !58

.preheader834:                                    ; preds = %.preheader834.lr.ph, %._crit_edge1088
  %355 = phi i32 [ %306, %.preheader834.lr.ph ], [ %383, %._crit_edge1088 ]
  %356 = phi i32 [ %.pre1365, %.preheader834.lr.ph ], [ %384, %._crit_edge1088 ]
  %.07701091 = phi i32 [ 0, %.preheader834.lr.ph ], [ %391, %._crit_edge1088 ]
  %.07711090 = phi ptr [ %2, %.preheader834.lr.ph ], [ %387, %._crit_edge1088 ]
  %.17751089 = phi ptr [ %1, %.preheader834.lr.ph ], [ %390, %._crit_edge1088 ]
  %357 = icmp sgt i32 %356, 0
  br i1 %357, label %.lr.ph1087, label %._crit_edge1088

.lr.ph1087:                                       ; preds = %.preheader834, %.lr.ph1087
  %indvars.iv1285 = phi i64 [ %indvars.iv.next1286, %.lr.ph1087 ], [ 0, %.preheader834 ]
  %358 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %307, i64 noundef %indvars.iv1285) #6
  %359 = load i32, ptr %358, align 4, !tbaa !26
  %360 = sext i32 %359 to i64
  %361 = getelementptr inbounds i16, ptr %.07711090, i64 %360
  %362 = load i16, ptr %361, align 2, !tbaa !43
  %363 = sitofp i16 %362 to float
  %364 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %308, i64 noundef %indvars.iv1285) #6
  %365 = load i32, ptr %364, align 4, !tbaa !26
  %366 = sext i32 %365 to i64
  %367 = getelementptr inbounds float, ptr %.17751089, i64 %366
  store float %363, ptr %367, align 4, !tbaa !51
  %368 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %308, i64 noundef %indvars.iv1285) #6
  %369 = load i32, ptr %368, align 4, !tbaa !26
  %370 = sext i32 %369 to i64
  %371 = getelementptr inbounds float, ptr %.17751089, i64 %370
  %372 = load float, ptr %371, align 4, !tbaa !51
  %373 = fadd float %372, 5.000000e-01
  store float %373, ptr %371, align 4, !tbaa !51
  %374 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %308, i64 noundef %indvars.iv1285) #6
  %375 = load i32, ptr %374, align 4, !tbaa !26
  %376 = sext i32 %375 to i64
  %377 = getelementptr inbounds float, ptr %.17751089, i64 %376
  %378 = load float, ptr %377, align 4, !tbaa !51
  %379 = fmul float %378, 0x3F00001000000000
  store float %379, ptr %377, align 4, !tbaa !51
  %indvars.iv.next1286 = add nuw nsw i64 %indvars.iv1285, 1
  %380 = load i32, ptr %3, align 8, !tbaa !36
  %381 = sext i32 %380 to i64
  %382 = icmp slt i64 %indvars.iv.next1286, %381
  br i1 %382, label %.lr.ph1087, label %._crit_edge1088.loopexit, !llvm.loop !59

._crit_edge1088.loopexit:                         ; preds = %.lr.ph1087
  %.pre1366 = load i32, ptr %305, align 4, !tbaa !27
  br label %._crit_edge1088

._crit_edge1088:                                  ; preds = %._crit_edge1088.loopexit, %.preheader834
  %383 = phi i32 [ %.pre1366, %._crit_edge1088.loopexit ], [ %355, %.preheader834 ]
  %384 = phi i32 [ %380, %._crit_edge1088.loopexit ], [ %356, %.preheader834 ]
  %385 = load i32, ptr %309, align 4, !tbaa !41
  %386 = sext i32 %385 to i64
  %387 = getelementptr inbounds i16, ptr %.07711090, i64 %386
  %388 = load i32, ptr %310, align 8, !tbaa !28
  %389 = sext i32 %388 to i64
  %390 = getelementptr inbounds float, ptr %.17751089, i64 %389
  %391 = add nuw i32 %.07701091, 1
  %392 = icmp ult i32 %391, %383
  br i1 %392, label %.preheader834, label %.loopexit, !llvm.loop !60

.preheader837:                                    ; preds = %.preheader837.lr.ph, %._crit_edge1082
  %393 = phi i32 [ %300, %.preheader837.lr.ph ], [ %421, %._crit_edge1082 ]
  %394 = phi i32 [ %.pre1363, %.preheader837.lr.ph ], [ %422, %._crit_edge1082 ]
  %.07681085 = phi i32 [ 0, %.preheader837.lr.ph ], [ %429, %._crit_edge1082 ]
  %.07691084 = phi ptr [ %2, %.preheader837.lr.ph ], [ %425, %._crit_edge1082 ]
  %.27761083 = phi ptr [ %1, %.preheader837.lr.ph ], [ %428, %._crit_edge1082 ]
  %395 = icmp sgt i32 %394, 0
  br i1 %395, label %.lr.ph1081, label %._crit_edge1082

.lr.ph1081:                                       ; preds = %.preheader837, %.lr.ph1081
  %indvars.iv1282 = phi i64 [ %indvars.iv.next1283, %.lr.ph1081 ], [ 0, %.preheader837 ]
  %396 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %301, i64 noundef %indvars.iv1282) #6
  %397 = load i32, ptr %396, align 4, !tbaa !26
  %398 = sext i32 %397 to i64
  %399 = getelementptr inbounds %class.S24, ptr %.07691084, i64 %398
  %400 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %399)
  %401 = sitofp i32 %400 to float
  %402 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef %indvars.iv1282) #6
  %403 = load i32, ptr %402, align 4, !tbaa !26
  %404 = sext i32 %403 to i64
  %405 = getelementptr inbounds float, ptr %.27761083, i64 %404
  store float %401, ptr %405, align 4, !tbaa !51
  %406 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef %indvars.iv1282) #6
  %407 = load i32, ptr %406, align 4, !tbaa !26
  %408 = sext i32 %407 to i64
  %409 = getelementptr inbounds float, ptr %.27761083, i64 %408
  %410 = load float, ptr %409, align 4, !tbaa !51
  %411 = fadd float %410, 5.000000e-01
  store float %411, ptr %409, align 4, !tbaa !51
  %412 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef %indvars.iv1282) #6
  %413 = load i32, ptr %412, align 4, !tbaa !26
  %414 = sext i32 %413 to i64
  %415 = getelementptr inbounds float, ptr %.27761083, i64 %414
  %416 = load float, ptr %415, align 4, !tbaa !51
  %417 = fmul float %416, 0x3E80000020000000
  store float %417, ptr %415, align 4, !tbaa !51
  %indvars.iv.next1283 = add nuw nsw i64 %indvars.iv1282, 1
  %418 = load i32, ptr %3, align 8, !tbaa !36
  %419 = sext i32 %418 to i64
  %420 = icmp slt i64 %indvars.iv.next1283, %419
  br i1 %420, label %.lr.ph1081, label %._crit_edge1082.loopexit, !llvm.loop !61

._crit_edge1082.loopexit:                         ; preds = %.lr.ph1081
  %.pre1364 = load i32, ptr %299, align 4, !tbaa !27
  br label %._crit_edge1082

._crit_edge1082:                                  ; preds = %._crit_edge1082.loopexit, %.preheader837
  %421 = phi i32 [ %.pre1364, %._crit_edge1082.loopexit ], [ %393, %.preheader837 ]
  %422 = phi i32 [ %418, %._crit_edge1082.loopexit ], [ %394, %.preheader837 ]
  %423 = load i32, ptr %303, align 4, !tbaa !41
  %424 = sext i32 %423 to i64
  %425 = getelementptr inbounds %class.S24, ptr %.07691084, i64 %424
  %426 = load i32, ptr %304, align 8, !tbaa !28
  %427 = sext i32 %426 to i64
  %428 = getelementptr inbounds float, ptr %.27761083, i64 %427
  %429 = add nuw i32 %.07681085, 1
  %430 = icmp ult i32 %429, %421
  br i1 %430, label %.preheader837, label %.loopexit, !llvm.loop !62

.preheader840:                                    ; preds = %.preheader840.lr.ph, %._crit_edge1076
  %431 = phi i32 [ %294, %.preheader840.lr.ph ], [ %459, %._crit_edge1076 ]
  %432 = phi i32 [ %.pre1361, %.preheader840.lr.ph ], [ %460, %._crit_edge1076 ]
  %.07661079 = phi i32 [ 0, %.preheader840.lr.ph ], [ %467, %._crit_edge1076 ]
  %.07671078 = phi ptr [ %2, %.preheader840.lr.ph ], [ %463, %._crit_edge1076 ]
  %.37771077 = phi ptr [ %1, %.preheader840.lr.ph ], [ %466, %._crit_edge1076 ]
  %433 = icmp sgt i32 %432, 0
  br i1 %433, label %.lr.ph1075, label %._crit_edge1076

.lr.ph1075:                                       ; preds = %.preheader840, %.lr.ph1075
  %indvars.iv1279 = phi i64 [ %indvars.iv.next1280, %.lr.ph1075 ], [ 0, %.preheader840 ]
  %434 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %295, i64 noundef %indvars.iv1279) #6
  %435 = load i32, ptr %434, align 4, !tbaa !26
  %436 = sext i32 %435 to i64
  %437 = getelementptr inbounds i32, ptr %.07671078, i64 %436
  %438 = load i32, ptr %437, align 4, !tbaa !26
  %439 = sitofp i32 %438 to float
  %440 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %296, i64 noundef %indvars.iv1279) #6
  %441 = load i32, ptr %440, align 4, !tbaa !26
  %442 = sext i32 %441 to i64
  %443 = getelementptr inbounds float, ptr %.37771077, i64 %442
  store float %439, ptr %443, align 4, !tbaa !51
  %444 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %296, i64 noundef %indvars.iv1279) #6
  %445 = load i32, ptr %444, align 4, !tbaa !26
  %446 = sext i32 %445 to i64
  %447 = getelementptr inbounds float, ptr %.37771077, i64 %446
  %448 = load float, ptr %447, align 4, !tbaa !51
  %449 = fadd float %448, 5.000000e-01
  store float %449, ptr %447, align 4, !tbaa !51
  %450 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %296, i64 noundef %indvars.iv1279) #6
  %451 = load i32, ptr %450, align 4, !tbaa !26
  %452 = sext i32 %451 to i64
  %453 = getelementptr inbounds float, ptr %.37771077, i64 %452
  %454 = load float, ptr %453, align 4, !tbaa !51
  %455 = fmul float %454, 0x3E00000000000000
  store float %455, ptr %453, align 4, !tbaa !51
  %indvars.iv.next1280 = add nuw nsw i64 %indvars.iv1279, 1
  %456 = load i32, ptr %3, align 8, !tbaa !36
  %457 = sext i32 %456 to i64
  %458 = icmp slt i64 %indvars.iv.next1280, %457
  br i1 %458, label %.lr.ph1075, label %._crit_edge1076.loopexit, !llvm.loop !63

._crit_edge1076.loopexit:                         ; preds = %.lr.ph1075
  %.pre1362 = load i32, ptr %293, align 4, !tbaa !27
  br label %._crit_edge1076

._crit_edge1076:                                  ; preds = %._crit_edge1076.loopexit, %.preheader840
  %459 = phi i32 [ %.pre1362, %._crit_edge1076.loopexit ], [ %431, %.preheader840 ]
  %460 = phi i32 [ %456, %._crit_edge1076.loopexit ], [ %432, %.preheader840 ]
  %461 = load i32, ptr %297, align 4, !tbaa !41
  %462 = sext i32 %461 to i64
  %463 = getelementptr inbounds i32, ptr %.07671078, i64 %462
  %464 = load i32, ptr %298, align 8, !tbaa !28
  %465 = sext i32 %464 to i64
  %466 = getelementptr inbounds float, ptr %.37771077, i64 %465
  %467 = add nuw i32 %.07661079, 1
  %468 = icmp ult i32 %467, %459
  br i1 %468, label %.preheader840, label %.loopexit, !llvm.loop !64

.preheader843:                                    ; preds = %.preheader843.lr.ph, %._crit_edge1070
  %469 = phi i32 [ %288, %.preheader843.lr.ph ], [ %484, %._crit_edge1070 ]
  %470 = phi i32 [ %.pre1359, %.preheader843.lr.ph ], [ %485, %._crit_edge1070 ]
  %.07641073 = phi i32 [ 0, %.preheader843.lr.ph ], [ %492, %._crit_edge1070 ]
  %.07651072 = phi ptr [ %2, %.preheader843.lr.ph ], [ %488, %._crit_edge1070 ]
  %.47781071 = phi ptr [ %1, %.preheader843.lr.ph ], [ %491, %._crit_edge1070 ]
  %471 = icmp sgt i32 %470, 0
  br i1 %471, label %.lr.ph1069, label %._crit_edge1070

.lr.ph1069:                                       ; preds = %.preheader843, %.lr.ph1069
  %indvars.iv1276 = phi i64 [ %indvars.iv.next1277, %.lr.ph1069 ], [ 0, %.preheader843 ]
  %472 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %289, i64 noundef %indvars.iv1276) #6
  %473 = load i32, ptr %472, align 4, !tbaa !26
  %474 = sext i32 %473 to i64
  %475 = getelementptr inbounds float, ptr %.07651072, i64 %474
  %476 = load float, ptr %475, align 4, !tbaa !51
  %477 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %290, i64 noundef %indvars.iv1276) #6
  %478 = load i32, ptr %477, align 4, !tbaa !26
  %479 = sext i32 %478 to i64
  %480 = getelementptr inbounds float, ptr %.47781071, i64 %479
  store float %476, ptr %480, align 4, !tbaa !51
  %indvars.iv.next1277 = add nuw nsw i64 %indvars.iv1276, 1
  %481 = load i32, ptr %3, align 8, !tbaa !36
  %482 = sext i32 %481 to i64
  %483 = icmp slt i64 %indvars.iv.next1277, %482
  br i1 %483, label %.lr.ph1069, label %._crit_edge1070.loopexit, !llvm.loop !65

._crit_edge1070.loopexit:                         ; preds = %.lr.ph1069
  %.pre1360 = load i32, ptr %287, align 4, !tbaa !27
  br label %._crit_edge1070

._crit_edge1070:                                  ; preds = %._crit_edge1070.loopexit, %.preheader843
  %484 = phi i32 [ %.pre1360, %._crit_edge1070.loopexit ], [ %469, %.preheader843 ]
  %485 = phi i32 [ %481, %._crit_edge1070.loopexit ], [ %470, %.preheader843 ]
  %486 = load i32, ptr %291, align 4, !tbaa !41
  %487 = sext i32 %486 to i64
  %488 = getelementptr inbounds float, ptr %.07651072, i64 %487
  %489 = load i32, ptr %292, align 8, !tbaa !28
  %490 = sext i32 %489 to i64
  %491 = getelementptr inbounds float, ptr %.47781071, i64 %490
  %492 = add nuw i32 %.07641073, 1
  %493 = icmp ult i32 %492, %484
  br i1 %493, label %.preheader843, label %.loopexit, !llvm.loop !66

.preheader846:                                    ; preds = %.preheader846.lr.ph, %._crit_edge1064
  %494 = phi i32 [ %282, %.preheader846.lr.ph ], [ %510, %._crit_edge1064 ]
  %495 = phi i32 [ %.pre1357, %.preheader846.lr.ph ], [ %511, %._crit_edge1064 ]
  %.07621067 = phi i32 [ 0, %.preheader846.lr.ph ], [ %518, %._crit_edge1064 ]
  %.07631066 = phi ptr [ %2, %.preheader846.lr.ph ], [ %514, %._crit_edge1064 ]
  %.57791065 = phi ptr [ %1, %.preheader846.lr.ph ], [ %517, %._crit_edge1064 ]
  %496 = icmp sgt i32 %495, 0
  br i1 %496, label %.lr.ph1063, label %._crit_edge1064

.lr.ph1063:                                       ; preds = %.preheader846, %.lr.ph1063
  %indvars.iv1273 = phi i64 [ %indvars.iv.next1274, %.lr.ph1063 ], [ 0, %.preheader846 ]
  %497 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %283, i64 noundef %indvars.iv1273) #6
  %498 = load i32, ptr %497, align 4, !tbaa !26
  %499 = sext i32 %498 to i64
  %500 = getelementptr inbounds double, ptr %.07631066, i64 %499
  %501 = load double, ptr %500, align 8, !tbaa !38
  %502 = fptrunc double %501 to float
  %503 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %284, i64 noundef %indvars.iv1273) #6
  %504 = load i32, ptr %503, align 4, !tbaa !26
  %505 = sext i32 %504 to i64
  %506 = getelementptr inbounds float, ptr %.57791065, i64 %505
  store float %502, ptr %506, align 4, !tbaa !51
  %indvars.iv.next1274 = add nuw nsw i64 %indvars.iv1273, 1
  %507 = load i32, ptr %3, align 8, !tbaa !36
  %508 = sext i32 %507 to i64
  %509 = icmp slt i64 %indvars.iv.next1274, %508
  br i1 %509, label %.lr.ph1063, label %._crit_edge1064.loopexit, !llvm.loop !67

._crit_edge1064.loopexit:                         ; preds = %.lr.ph1063
  %.pre1358 = load i32, ptr %281, align 4, !tbaa !27
  br label %._crit_edge1064

._crit_edge1064:                                  ; preds = %._crit_edge1064.loopexit, %.preheader846
  %510 = phi i32 [ %.pre1358, %._crit_edge1064.loopexit ], [ %494, %.preheader846 ]
  %511 = phi i32 [ %507, %._crit_edge1064.loopexit ], [ %495, %.preheader846 ]
  %512 = load i32, ptr %285, align 4, !tbaa !41
  %513 = sext i32 %512 to i64
  %514 = getelementptr inbounds double, ptr %.07631066, i64 %513
  %515 = load i32, ptr %286, align 8, !tbaa !28
  %516 = sext i32 %515 to i64
  %517 = getelementptr inbounds float, ptr %.57791065, i64 %516
  %518 = add nuw i32 %.07621067, 1
  %519 = icmp ult i32 %518, %510
  br i1 %519, label %.preheader846, label %.loopexit, !llvm.loop !68

520:                                              ; preds = %33
  %521 = getelementptr inbounds i8, ptr %3, i64 16
  %522 = load i64, ptr %521, align 8, !tbaa !35
  switch i64 %522, label %.loopexit [
    i64 1, label %.preheader850
    i64 2, label %.preheader853
    i64 4, label %.preheader856
    i64 8, label %.preheader859
    i64 16, label %.preheader862
    i64 32, label %.preheader865
  ]

.preheader865:                                    ; preds = %520
  %523 = getelementptr inbounds i8, ptr %0, i64 484
  %524 = load i32, ptr %523, align 4, !tbaa !27
  %.not1151 = icmp eq i32 %524, 0
  br i1 %.not1151, label %.loopexit, label %.preheader864.lr.ph

.preheader864.lr.ph:                              ; preds = %.preheader865
  %525 = getelementptr inbounds i8, ptr %3, i64 32
  %526 = getelementptr inbounds i8, ptr %3, i64 56
  %527 = getelementptr inbounds i8, ptr %3, i64 4
  %528 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1345 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader864

.preheader862:                                    ; preds = %520
  %529 = getelementptr inbounds i8, ptr %0, i64 484
  %530 = load i32, ptr %529, align 4, !tbaa !27
  %.not1152 = icmp eq i32 %530, 0
  br i1 %.not1152, label %.loopexit, label %.preheader861.lr.ph

.preheader861.lr.ph:                              ; preds = %.preheader862
  %531 = getelementptr inbounds i8, ptr %3, i64 32
  %532 = getelementptr inbounds i8, ptr %3, i64 56
  %533 = getelementptr inbounds i8, ptr %3, i64 4
  %534 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1347 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader861

.preheader859:                                    ; preds = %520
  %535 = getelementptr inbounds i8, ptr %0, i64 484
  %536 = load i32, ptr %535, align 4, !tbaa !27
  %.not1153 = icmp eq i32 %536, 0
  br i1 %.not1153, label %.loopexit, label %.preheader858.lr.ph

.preheader858.lr.ph:                              ; preds = %.preheader859
  %537 = getelementptr inbounds i8, ptr %3, i64 32
  %538 = getelementptr inbounds i8, ptr %3, i64 56
  %539 = getelementptr inbounds i8, ptr %3, i64 4
  %540 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1349 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader858

.preheader856:                                    ; preds = %520
  %541 = getelementptr inbounds i8, ptr %0, i64 484
  %542 = load i32, ptr %541, align 4, !tbaa !27
  %.not1154 = icmp eq i32 %542, 0
  br i1 %.not1154, label %.loopexit, label %.preheader855.lr.ph

.preheader855.lr.ph:                              ; preds = %.preheader856
  %543 = getelementptr inbounds i8, ptr %3, i64 32
  %544 = getelementptr inbounds i8, ptr %3, i64 56
  %545 = getelementptr inbounds i8, ptr %3, i64 4
  %546 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1351 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader855

.preheader853:                                    ; preds = %520
  %547 = getelementptr inbounds i8, ptr %0, i64 484
  %548 = load i32, ptr %547, align 4, !tbaa !27
  %.not1155 = icmp eq i32 %548, 0
  br i1 %.not1155, label %.loopexit, label %.preheader852.lr.ph

.preheader852.lr.ph:                              ; preds = %.preheader853
  %549 = getelementptr inbounds i8, ptr %3, i64 32
  %550 = getelementptr inbounds i8, ptr %3, i64 56
  %551 = getelementptr inbounds i8, ptr %3, i64 4
  %552 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1353 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader852

.preheader850:                                    ; preds = %520
  %553 = getelementptr inbounds i8, ptr %0, i64 484
  %554 = load i32, ptr %553, align 4, !tbaa !27
  %.not1156 = icmp eq i32 %554, 0
  br i1 %.not1156, label %.loopexit, label %.preheader849.lr.ph

.preheader849.lr.ph:                              ; preds = %.preheader850
  %555 = getelementptr inbounds i8, ptr %3, i64 32
  %556 = getelementptr inbounds i8, ptr %3, i64 56
  %557 = getelementptr inbounds i8, ptr %3, i64 4
  %558 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1355 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader849

.preheader849:                                    ; preds = %.preheader849.lr.ph, %._crit_edge1058
  %559 = phi i32 [ %554, %.preheader849.lr.ph ], [ %581, %._crit_edge1058 ]
  %560 = phi i32 [ %.pre1355, %.preheader849.lr.ph ], [ %582, %._crit_edge1058 ]
  %.07541061 = phi i32 [ 0, %.preheader849.lr.ph ], [ %589, %._crit_edge1058 ]
  %.07551060 = phi ptr [ %2, %.preheader849.lr.ph ], [ %585, %._crit_edge1058 ]
  %.07561059 = phi ptr [ %1, %.preheader849.lr.ph ], [ %588, %._crit_edge1058 ]
  %561 = icmp sgt i32 %560, 0
  br i1 %561, label %.lr.ph1057, label %._crit_edge1058

.lr.ph1057:                                       ; preds = %.preheader849, %.lr.ph1057
  %indvars.iv1270 = phi i64 [ %indvars.iv.next1271, %.lr.ph1057 ], [ 0, %.preheader849 ]
  %562 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %555, i64 noundef %indvars.iv1270) #6
  %563 = load i32, ptr %562, align 4, !tbaa !26
  %564 = sext i32 %563 to i64
  %565 = getelementptr inbounds i8, ptr %.07551060, i64 %564
  %566 = load i8, ptr %565, align 1, !tbaa !37
  %567 = sext i8 %566 to i32
  %568 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %556, i64 noundef %indvars.iv1270) #6
  %569 = load i32, ptr %568, align 4, !tbaa !26
  %570 = sext i32 %569 to i64
  %571 = getelementptr inbounds i32, ptr %.07561059, i64 %570
  store i32 %567, ptr %571, align 4, !tbaa !26
  %572 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %556, i64 noundef %indvars.iv1270) #6
  %573 = load i32, ptr %572, align 4, !tbaa !26
  %574 = sext i32 %573 to i64
  %575 = getelementptr inbounds i32, ptr %.07561059, i64 %574
  %576 = load i32, ptr %575, align 4, !tbaa !26
  %577 = shl i32 %576, 24
  store i32 %577, ptr %575, align 4, !tbaa !26
  %indvars.iv.next1271 = add nuw nsw i64 %indvars.iv1270, 1
  %578 = load i32, ptr %3, align 8, !tbaa !36
  %579 = sext i32 %578 to i64
  %580 = icmp slt i64 %indvars.iv.next1271, %579
  br i1 %580, label %.lr.ph1057, label %._crit_edge1058.loopexit, !llvm.loop !69

._crit_edge1058.loopexit:                         ; preds = %.lr.ph1057
  %.pre1356 = load i32, ptr %553, align 4, !tbaa !27
  br label %._crit_edge1058

._crit_edge1058:                                  ; preds = %._crit_edge1058.loopexit, %.preheader849
  %581 = phi i32 [ %.pre1356, %._crit_edge1058.loopexit ], [ %559, %.preheader849 ]
  %582 = phi i32 [ %578, %._crit_edge1058.loopexit ], [ %560, %.preheader849 ]
  %583 = load i32, ptr %557, align 4, !tbaa !41
  %584 = sext i32 %583 to i64
  %585 = getelementptr inbounds i8, ptr %.07551060, i64 %584
  %586 = load i32, ptr %558, align 8, !tbaa !28
  %587 = sext i32 %586 to i64
  %588 = getelementptr inbounds i32, ptr %.07561059, i64 %587
  %589 = add nuw i32 %.07541061, 1
  %590 = icmp ult i32 %589, %581
  br i1 %590, label %.preheader849, label %.loopexit, !llvm.loop !70

.preheader852:                                    ; preds = %.preheader852.lr.ph, %._crit_edge1052
  %591 = phi i32 [ %548, %.preheader852.lr.ph ], [ %613, %._crit_edge1052 ]
  %592 = phi i32 [ %.pre1353, %.preheader852.lr.ph ], [ %614, %._crit_edge1052 ]
  %.07521055 = phi i32 [ 0, %.preheader852.lr.ph ], [ %621, %._crit_edge1052 ]
  %.07531054 = phi ptr [ %2, %.preheader852.lr.ph ], [ %617, %._crit_edge1052 ]
  %.17571053 = phi ptr [ %1, %.preheader852.lr.ph ], [ %620, %._crit_edge1052 ]
  %593 = icmp sgt i32 %592, 0
  br i1 %593, label %.lr.ph1051, label %._crit_edge1052

.lr.ph1051:                                       ; preds = %.preheader852, %.lr.ph1051
  %indvars.iv1267 = phi i64 [ %indvars.iv.next1268, %.lr.ph1051 ], [ 0, %.preheader852 ]
  %594 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %549, i64 noundef %indvars.iv1267) #6
  %595 = load i32, ptr %594, align 4, !tbaa !26
  %596 = sext i32 %595 to i64
  %597 = getelementptr inbounds i16, ptr %.07531054, i64 %596
  %598 = load i16, ptr %597, align 2, !tbaa !43
  %599 = sext i16 %598 to i32
  %600 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %550, i64 noundef %indvars.iv1267) #6
  %601 = load i32, ptr %600, align 4, !tbaa !26
  %602 = sext i32 %601 to i64
  %603 = getelementptr inbounds i32, ptr %.17571053, i64 %602
  store i32 %599, ptr %603, align 4, !tbaa !26
  %604 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %550, i64 noundef %indvars.iv1267) #6
  %605 = load i32, ptr %604, align 4, !tbaa !26
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds i32, ptr %.17571053, i64 %606
  %608 = load i32, ptr %607, align 4, !tbaa !26
  %609 = shl i32 %608, 16
  store i32 %609, ptr %607, align 4, !tbaa !26
  %indvars.iv.next1268 = add nuw nsw i64 %indvars.iv1267, 1
  %610 = load i32, ptr %3, align 8, !tbaa !36
  %611 = sext i32 %610 to i64
  %612 = icmp slt i64 %indvars.iv.next1268, %611
  br i1 %612, label %.lr.ph1051, label %._crit_edge1052.loopexit, !llvm.loop !71

._crit_edge1052.loopexit:                         ; preds = %.lr.ph1051
  %.pre1354 = load i32, ptr %547, align 4, !tbaa !27
  br label %._crit_edge1052

._crit_edge1052:                                  ; preds = %._crit_edge1052.loopexit, %.preheader852
  %613 = phi i32 [ %.pre1354, %._crit_edge1052.loopexit ], [ %591, %.preheader852 ]
  %614 = phi i32 [ %610, %._crit_edge1052.loopexit ], [ %592, %.preheader852 ]
  %615 = load i32, ptr %551, align 4, !tbaa !41
  %616 = sext i32 %615 to i64
  %617 = getelementptr inbounds i16, ptr %.07531054, i64 %616
  %618 = load i32, ptr %552, align 8, !tbaa !28
  %619 = sext i32 %618 to i64
  %620 = getelementptr inbounds i32, ptr %.17571053, i64 %619
  %621 = add nuw i32 %.07521055, 1
  %622 = icmp ult i32 %621, %613
  br i1 %622, label %.preheader852, label %.loopexit, !llvm.loop !72

.preheader855:                                    ; preds = %.preheader855.lr.ph, %._crit_edge1046
  %623 = phi i32 [ %542, %.preheader855.lr.ph ], [ %644, %._crit_edge1046 ]
  %624 = phi i32 [ %.pre1351, %.preheader855.lr.ph ], [ %645, %._crit_edge1046 ]
  %.07501049 = phi i32 [ 0, %.preheader855.lr.ph ], [ %652, %._crit_edge1046 ]
  %.07511048 = phi ptr [ %2, %.preheader855.lr.ph ], [ %648, %._crit_edge1046 ]
  %.27581047 = phi ptr [ %1, %.preheader855.lr.ph ], [ %651, %._crit_edge1046 ]
  %625 = icmp sgt i32 %624, 0
  br i1 %625, label %.lr.ph1045, label %._crit_edge1046

.lr.ph1045:                                       ; preds = %.preheader855, %.lr.ph1045
  %indvars.iv1264 = phi i64 [ %indvars.iv.next1265, %.lr.ph1045 ], [ 0, %.preheader855 ]
  %626 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %543, i64 noundef %indvars.iv1264) #6
  %627 = load i32, ptr %626, align 4, !tbaa !26
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds %class.S24, ptr %.07511048, i64 %628
  %630 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %629)
  %631 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %544, i64 noundef %indvars.iv1264) #6
  %632 = load i32, ptr %631, align 4, !tbaa !26
  %633 = sext i32 %632 to i64
  %634 = getelementptr inbounds i32, ptr %.27581047, i64 %633
  store i32 %630, ptr %634, align 4, !tbaa !26
  %635 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %544, i64 noundef %indvars.iv1264) #6
  %636 = load i32, ptr %635, align 4, !tbaa !26
  %637 = sext i32 %636 to i64
  %638 = getelementptr inbounds i32, ptr %.27581047, i64 %637
  %639 = load i32, ptr %638, align 4, !tbaa !26
  %640 = shl i32 %639, 8
  store i32 %640, ptr %638, align 4, !tbaa !26
  %indvars.iv.next1265 = add nuw nsw i64 %indvars.iv1264, 1
  %641 = load i32, ptr %3, align 8, !tbaa !36
  %642 = sext i32 %641 to i64
  %643 = icmp slt i64 %indvars.iv.next1265, %642
  br i1 %643, label %.lr.ph1045, label %._crit_edge1046.loopexit, !llvm.loop !73

._crit_edge1046.loopexit:                         ; preds = %.lr.ph1045
  %.pre1352 = load i32, ptr %541, align 4, !tbaa !27
  br label %._crit_edge1046

._crit_edge1046:                                  ; preds = %._crit_edge1046.loopexit, %.preheader855
  %644 = phi i32 [ %.pre1352, %._crit_edge1046.loopexit ], [ %623, %.preheader855 ]
  %645 = phi i32 [ %641, %._crit_edge1046.loopexit ], [ %624, %.preheader855 ]
  %646 = load i32, ptr %545, align 4, !tbaa !41
  %647 = sext i32 %646 to i64
  %648 = getelementptr inbounds %class.S24, ptr %.07511048, i64 %647
  %649 = load i32, ptr %546, align 8, !tbaa !28
  %650 = sext i32 %649 to i64
  %651 = getelementptr inbounds i32, ptr %.27581047, i64 %650
  %652 = add nuw i32 %.07501049, 1
  %653 = icmp ult i32 %652, %644
  br i1 %653, label %.preheader855, label %.loopexit, !llvm.loop !74

.preheader858:                                    ; preds = %.preheader858.lr.ph, %._crit_edge1040
  %654 = phi i32 [ %536, %.preheader858.lr.ph ], [ %669, %._crit_edge1040 ]
  %655 = phi i32 [ %.pre1349, %.preheader858.lr.ph ], [ %670, %._crit_edge1040 ]
  %.07481043 = phi i32 [ 0, %.preheader858.lr.ph ], [ %677, %._crit_edge1040 ]
  %.07491042 = phi ptr [ %2, %.preheader858.lr.ph ], [ %673, %._crit_edge1040 ]
  %.37591041 = phi ptr [ %1, %.preheader858.lr.ph ], [ %676, %._crit_edge1040 ]
  %656 = icmp sgt i32 %655, 0
  br i1 %656, label %.lr.ph1039, label %._crit_edge1040

.lr.ph1039:                                       ; preds = %.preheader858, %.lr.ph1039
  %indvars.iv1261 = phi i64 [ %indvars.iv.next1262, %.lr.ph1039 ], [ 0, %.preheader858 ]
  %657 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %537, i64 noundef %indvars.iv1261) #6
  %658 = load i32, ptr %657, align 4, !tbaa !26
  %659 = sext i32 %658 to i64
  %660 = getelementptr inbounds i32, ptr %.07491042, i64 %659
  %661 = load i32, ptr %660, align 4, !tbaa !26
  %662 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %538, i64 noundef %indvars.iv1261) #6
  %663 = load i32, ptr %662, align 4, !tbaa !26
  %664 = sext i32 %663 to i64
  %665 = getelementptr inbounds i32, ptr %.37591041, i64 %664
  store i32 %661, ptr %665, align 4, !tbaa !26
  %indvars.iv.next1262 = add nuw nsw i64 %indvars.iv1261, 1
  %666 = load i32, ptr %3, align 8, !tbaa !36
  %667 = sext i32 %666 to i64
  %668 = icmp slt i64 %indvars.iv.next1262, %667
  br i1 %668, label %.lr.ph1039, label %._crit_edge1040.loopexit, !llvm.loop !75

._crit_edge1040.loopexit:                         ; preds = %.lr.ph1039
  %.pre1350 = load i32, ptr %535, align 4, !tbaa !27
  br label %._crit_edge1040

._crit_edge1040:                                  ; preds = %._crit_edge1040.loopexit, %.preheader858
  %669 = phi i32 [ %.pre1350, %._crit_edge1040.loopexit ], [ %654, %.preheader858 ]
  %670 = phi i32 [ %666, %._crit_edge1040.loopexit ], [ %655, %.preheader858 ]
  %671 = load i32, ptr %539, align 4, !tbaa !41
  %672 = sext i32 %671 to i64
  %673 = getelementptr inbounds i32, ptr %.07491042, i64 %672
  %674 = load i32, ptr %540, align 8, !tbaa !28
  %675 = sext i32 %674 to i64
  %676 = getelementptr inbounds i32, ptr %.37591041, i64 %675
  %677 = add nuw i32 %.07481043, 1
  %678 = icmp ult i32 %677, %669
  br i1 %678, label %.preheader858, label %.loopexit, !llvm.loop !76

.preheader861:                                    ; preds = %.preheader861.lr.ph, %._crit_edge1034
  %679 = phi i32 [ %530, %.preheader861.lr.ph ], [ %697, %._crit_edge1034 ]
  %680 = phi i32 [ %.pre1347, %.preheader861.lr.ph ], [ %698, %._crit_edge1034 ]
  %.07461037 = phi i32 [ 0, %.preheader861.lr.ph ], [ %705, %._crit_edge1034 ]
  %.07471036 = phi ptr [ %2, %.preheader861.lr.ph ], [ %701, %._crit_edge1034 ]
  %.47601035 = phi ptr [ %1, %.preheader861.lr.ph ], [ %704, %._crit_edge1034 ]
  %681 = icmp sgt i32 %680, 0
  br i1 %681, label %.lr.ph1033, label %._crit_edge1034

.lr.ph1033:                                       ; preds = %.preheader861, %.lr.ph1033
  %indvars.iv1258 = phi i64 [ %indvars.iv.next1259, %.lr.ph1033 ], [ 0, %.preheader861 ]
  %682 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %531, i64 noundef %indvars.iv1258) #6
  %683 = load i32, ptr %682, align 4, !tbaa !26
  %684 = sext i32 %683 to i64
  %685 = getelementptr inbounds float, ptr %.07471036, i64 %684
  %686 = load float, ptr %685, align 4, !tbaa !51
  %687 = fpext float %686 to double
  %688 = tail call double @llvm.fmuladd.f64(double %687, double 0x41DFFFFFFFE00000, double -5.000000e-01)
  %689 = fptosi double %688 to i32
  %690 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %532, i64 noundef %indvars.iv1258) #6
  %691 = load i32, ptr %690, align 4, !tbaa !26
  %692 = sext i32 %691 to i64
  %693 = getelementptr inbounds i32, ptr %.47601035, i64 %692
  store i32 %689, ptr %693, align 4, !tbaa !26
  %indvars.iv.next1259 = add nuw nsw i64 %indvars.iv1258, 1
  %694 = load i32, ptr %3, align 8, !tbaa !36
  %695 = sext i32 %694 to i64
  %696 = icmp slt i64 %indvars.iv.next1259, %695
  br i1 %696, label %.lr.ph1033, label %._crit_edge1034.loopexit, !llvm.loop !77

._crit_edge1034.loopexit:                         ; preds = %.lr.ph1033
  %.pre1348 = load i32, ptr %529, align 4, !tbaa !27
  br label %._crit_edge1034

._crit_edge1034:                                  ; preds = %._crit_edge1034.loopexit, %.preheader861
  %697 = phi i32 [ %.pre1348, %._crit_edge1034.loopexit ], [ %679, %.preheader861 ]
  %698 = phi i32 [ %694, %._crit_edge1034.loopexit ], [ %680, %.preheader861 ]
  %699 = load i32, ptr %533, align 4, !tbaa !41
  %700 = sext i32 %699 to i64
  %701 = getelementptr inbounds float, ptr %.07471036, i64 %700
  %702 = load i32, ptr %534, align 8, !tbaa !28
  %703 = sext i32 %702 to i64
  %704 = getelementptr inbounds i32, ptr %.47601035, i64 %703
  %705 = add nuw i32 %.07461037, 1
  %706 = icmp ult i32 %705, %697
  br i1 %706, label %.preheader861, label %.loopexit, !llvm.loop !78

.preheader864:                                    ; preds = %.preheader864.lr.ph, %._crit_edge1028
  %707 = phi i32 [ %524, %.preheader864.lr.ph ], [ %724, %._crit_edge1028 ]
  %708 = phi i32 [ %.pre1345, %.preheader864.lr.ph ], [ %725, %._crit_edge1028 ]
  %.07441031 = phi i32 [ 0, %.preheader864.lr.ph ], [ %732, %._crit_edge1028 ]
  %.07451030 = phi ptr [ %2, %.preheader864.lr.ph ], [ %728, %._crit_edge1028 ]
  %.57611029 = phi ptr [ %1, %.preheader864.lr.ph ], [ %731, %._crit_edge1028 ]
  %709 = icmp sgt i32 %708, 0
  br i1 %709, label %.lr.ph1027, label %._crit_edge1028

.lr.ph1027:                                       ; preds = %.preheader864, %.lr.ph1027
  %indvars.iv1255 = phi i64 [ %indvars.iv.next1256, %.lr.ph1027 ], [ 0, %.preheader864 ]
  %710 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %525, i64 noundef %indvars.iv1255) #6
  %711 = load i32, ptr %710, align 4, !tbaa !26
  %712 = sext i32 %711 to i64
  %713 = getelementptr inbounds double, ptr %.07451030, i64 %712
  %714 = load double, ptr %713, align 8, !tbaa !38
  %715 = tail call double @llvm.fmuladd.f64(double %714, double 0x41DFFFFFFFE00000, double -5.000000e-01)
  %716 = fptosi double %715 to i32
  %717 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %526, i64 noundef %indvars.iv1255) #6
  %718 = load i32, ptr %717, align 4, !tbaa !26
  %719 = sext i32 %718 to i64
  %720 = getelementptr inbounds i32, ptr %.57611029, i64 %719
  store i32 %716, ptr %720, align 4, !tbaa !26
  %indvars.iv.next1256 = add nuw nsw i64 %indvars.iv1255, 1
  %721 = load i32, ptr %3, align 8, !tbaa !36
  %722 = sext i32 %721 to i64
  %723 = icmp slt i64 %indvars.iv.next1256, %722
  br i1 %723, label %.lr.ph1027, label %._crit_edge1028.loopexit, !llvm.loop !79

._crit_edge1028.loopexit:                         ; preds = %.lr.ph1027
  %.pre1346 = load i32, ptr %523, align 4, !tbaa !27
  br label %._crit_edge1028

._crit_edge1028:                                  ; preds = %._crit_edge1028.loopexit, %.preheader864
  %724 = phi i32 [ %.pre1346, %._crit_edge1028.loopexit ], [ %707, %.preheader864 ]
  %725 = phi i32 [ %721, %._crit_edge1028.loopexit ], [ %708, %.preheader864 ]
  %726 = load i32, ptr %527, align 4, !tbaa !41
  %727 = sext i32 %726 to i64
  %728 = getelementptr inbounds double, ptr %.07451030, i64 %727
  %729 = load i32, ptr %528, align 8, !tbaa !28
  %730 = sext i32 %729 to i64
  %731 = getelementptr inbounds i32, ptr %.57611029, i64 %730
  %732 = add nuw i32 %.07441031, 1
  %733 = icmp ult i32 %732, %724
  br i1 %733, label %.preheader864, label %.loopexit, !llvm.loop !80

734:                                              ; preds = %33
  %735 = getelementptr inbounds i8, ptr %3, i64 16
  %736 = load i64, ptr %735, align 8, !tbaa !35
  switch i64 %736, label %.loopexit [
    i64 1, label %.preheader868
    i64 2, label %.preheader871
    i64 4, label %.preheader874
    i64 8, label %.preheader877
    i64 16, label %.preheader880
    i64 32, label %.preheader883
  ]

.preheader883:                                    ; preds = %734
  %737 = getelementptr inbounds i8, ptr %0, i64 484
  %738 = load i32, ptr %737, align 4, !tbaa !27
  %.not1145 = icmp eq i32 %738, 0
  br i1 %.not1145, label %.loopexit, label %.preheader882.lr.ph

.preheader882.lr.ph:                              ; preds = %.preheader883
  %739 = getelementptr inbounds i8, ptr %3, i64 32
  %740 = getelementptr inbounds i8, ptr %3, i64 56
  %741 = getelementptr inbounds i8, ptr %3, i64 4
  %742 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1333 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader882

.preheader880:                                    ; preds = %734
  %743 = getelementptr inbounds i8, ptr %0, i64 484
  %744 = load i32, ptr %743, align 4, !tbaa !27
  %.not1146 = icmp eq i32 %744, 0
  br i1 %.not1146, label %.loopexit, label %.preheader879.lr.ph

.preheader879.lr.ph:                              ; preds = %.preheader880
  %745 = getelementptr inbounds i8, ptr %3, i64 32
  %746 = getelementptr inbounds i8, ptr %3, i64 56
  %747 = getelementptr inbounds i8, ptr %3, i64 4
  %748 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1335 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader879

.preheader877:                                    ; preds = %734
  %749 = getelementptr inbounds i8, ptr %0, i64 484
  %750 = load i32, ptr %749, align 4, !tbaa !27
  %.not1147 = icmp eq i32 %750, 0
  br i1 %.not1147, label %.loopexit, label %.preheader876.lr.ph

.preheader876.lr.ph:                              ; preds = %.preheader877
  %751 = getelementptr inbounds i8, ptr %3, i64 32
  %752 = getelementptr inbounds i8, ptr %3, i64 56
  %753 = getelementptr inbounds i8, ptr %3, i64 4
  %754 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1337 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader876

.preheader874:                                    ; preds = %734
  %755 = getelementptr inbounds i8, ptr %0, i64 484
  %756 = load i32, ptr %755, align 4, !tbaa !27
  %.not1148 = icmp eq i32 %756, 0
  br i1 %.not1148, label %.loopexit, label %.preheader873.lr.ph

.preheader873.lr.ph:                              ; preds = %.preheader874
  %757 = getelementptr inbounds i8, ptr %3, i64 32
  %758 = getelementptr inbounds i8, ptr %3, i64 56
  %759 = getelementptr inbounds i8, ptr %3, i64 4
  %760 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1339 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader873

.preheader871:                                    ; preds = %734
  %761 = getelementptr inbounds i8, ptr %0, i64 484
  %762 = load i32, ptr %761, align 4, !tbaa !27
  %.not1149 = icmp eq i32 %762, 0
  br i1 %.not1149, label %.loopexit, label %.preheader870.lr.ph

.preheader870.lr.ph:                              ; preds = %.preheader871
  %763 = getelementptr inbounds i8, ptr %3, i64 32
  %764 = getelementptr inbounds i8, ptr %3, i64 56
  %765 = getelementptr inbounds i8, ptr %3, i64 4
  %766 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1341 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader870

.preheader868:                                    ; preds = %734
  %767 = getelementptr inbounds i8, ptr %0, i64 484
  %768 = load i32, ptr %767, align 4, !tbaa !27
  %.not1150 = icmp eq i32 %768, 0
  br i1 %.not1150, label %.loopexit, label %.preheader867.lr.ph

.preheader867.lr.ph:                              ; preds = %.preheader868
  %769 = getelementptr inbounds i8, ptr %3, i64 32
  %770 = getelementptr inbounds i8, ptr %3, i64 56
  %771 = getelementptr inbounds i8, ptr %3, i64 4
  %772 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1343 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader867

.preheader867:                                    ; preds = %.preheader867.lr.ph, %._crit_edge1022
  %773 = phi i32 [ %768, %.preheader867.lr.ph ], [ %791, %._crit_edge1022 ]
  %774 = phi i32 [ %.pre1343, %.preheader867.lr.ph ], [ %792, %._crit_edge1022 ]
  %.07361025 = phi i32 [ 0, %.preheader867.lr.ph ], [ %799, %._crit_edge1022 ]
  %.07371024 = phi ptr [ %2, %.preheader867.lr.ph ], [ %795, %._crit_edge1022 ]
  %.07381023 = phi ptr [ %1, %.preheader867.lr.ph ], [ %798, %._crit_edge1022 ]
  %775 = icmp sgt i32 %774, 0
  br i1 %775, label %.lr.ph1021, label %._crit_edge1022

.lr.ph1021:                                       ; preds = %.preheader867, %.lr.ph1021
  %indvars.iv1252 = phi i64 [ %indvars.iv.next1253, %.lr.ph1021 ], [ 0, %.preheader867 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #6
  %776 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %769, i64 noundef %indvars.iv1252) #6
  %777 = load i32, ptr %776, align 4, !tbaa !26
  %778 = sext i32 %777 to i64
  %779 = getelementptr inbounds i8, ptr %.07371024, i64 %778
  %780 = load i8, ptr %779, align 1, !tbaa !37
  %781 = sext i8 %780 to i32
  %782 = shl nsw i32 %781, 16
  store i32 %782, ptr %5, align 4, !tbaa !26
  %783 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %770, i64 noundef %indvars.iv1252) #6
  %784 = load i32, ptr %783, align 4, !tbaa !26
  %785 = sext i32 %784 to i64
  %786 = getelementptr inbounds %class.S24, ptr %.07381023, i64 %785
  %787 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %786, ptr noundef nonnull align 4 dereferenceable(4) %5)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #6
  %indvars.iv.next1253 = add nuw nsw i64 %indvars.iv1252, 1
  %788 = load i32, ptr %3, align 8, !tbaa !36
  %789 = sext i32 %788 to i64
  %790 = icmp slt i64 %indvars.iv.next1253, %789
  br i1 %790, label %.lr.ph1021, label %._crit_edge1022.loopexit, !llvm.loop !81

._crit_edge1022.loopexit:                         ; preds = %.lr.ph1021
  %.pre1344 = load i32, ptr %767, align 4, !tbaa !27
  br label %._crit_edge1022

._crit_edge1022:                                  ; preds = %._crit_edge1022.loopexit, %.preheader867
  %791 = phi i32 [ %.pre1344, %._crit_edge1022.loopexit ], [ %773, %.preheader867 ]
  %792 = phi i32 [ %788, %._crit_edge1022.loopexit ], [ %774, %.preheader867 ]
  %793 = load i32, ptr %771, align 4, !tbaa !41
  %794 = sext i32 %793 to i64
  %795 = getelementptr inbounds i8, ptr %.07371024, i64 %794
  %796 = load i32, ptr %772, align 8, !tbaa !28
  %797 = sext i32 %796 to i64
  %798 = getelementptr inbounds %class.S24, ptr %.07381023, i64 %797
  %799 = add nuw i32 %.07361025, 1
  %800 = icmp ult i32 %799, %791
  br i1 %800, label %.preheader867, label %.loopexit, !llvm.loop !82

.preheader870:                                    ; preds = %.preheader870.lr.ph, %._crit_edge1016
  %801 = phi i32 [ %762, %.preheader870.lr.ph ], [ %819, %._crit_edge1016 ]
  %802 = phi i32 [ %.pre1341, %.preheader870.lr.ph ], [ %820, %._crit_edge1016 ]
  %.07341019 = phi i32 [ 0, %.preheader870.lr.ph ], [ %827, %._crit_edge1016 ]
  %.07351018 = phi ptr [ %2, %.preheader870.lr.ph ], [ %823, %._crit_edge1016 ]
  %.17391017 = phi ptr [ %1, %.preheader870.lr.ph ], [ %826, %._crit_edge1016 ]
  %803 = icmp sgt i32 %802, 0
  br i1 %803, label %.lr.ph1015, label %._crit_edge1016

.lr.ph1015:                                       ; preds = %.preheader870, %.lr.ph1015
  %indvars.iv1249 = phi i64 [ %indvars.iv.next1250, %.lr.ph1015 ], [ 0, %.preheader870 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #6
  %804 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %763, i64 noundef %indvars.iv1249) #6
  %805 = load i32, ptr %804, align 4, !tbaa !26
  %806 = sext i32 %805 to i64
  %807 = getelementptr inbounds i16, ptr %.07351018, i64 %806
  %808 = load i16, ptr %807, align 2, !tbaa !43
  %809 = sext i16 %808 to i32
  %810 = shl nsw i32 %809, 8
  store i32 %810, ptr %6, align 4, !tbaa !26
  %811 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %764, i64 noundef %indvars.iv1249) #6
  %812 = load i32, ptr %811, align 4, !tbaa !26
  %813 = sext i32 %812 to i64
  %814 = getelementptr inbounds %class.S24, ptr %.17391017, i64 %813
  %815 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %814, ptr noundef nonnull align 4 dereferenceable(4) %6)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #6
  %indvars.iv.next1250 = add nuw nsw i64 %indvars.iv1249, 1
  %816 = load i32, ptr %3, align 8, !tbaa !36
  %817 = sext i32 %816 to i64
  %818 = icmp slt i64 %indvars.iv.next1250, %817
  br i1 %818, label %.lr.ph1015, label %._crit_edge1016.loopexit, !llvm.loop !83

._crit_edge1016.loopexit:                         ; preds = %.lr.ph1015
  %.pre1342 = load i32, ptr %761, align 4, !tbaa !27
  br label %._crit_edge1016

._crit_edge1016:                                  ; preds = %._crit_edge1016.loopexit, %.preheader870
  %819 = phi i32 [ %.pre1342, %._crit_edge1016.loopexit ], [ %801, %.preheader870 ]
  %820 = phi i32 [ %816, %._crit_edge1016.loopexit ], [ %802, %.preheader870 ]
  %821 = load i32, ptr %765, align 4, !tbaa !41
  %822 = sext i32 %821 to i64
  %823 = getelementptr inbounds i16, ptr %.07351018, i64 %822
  %824 = load i32, ptr %766, align 8, !tbaa !28
  %825 = sext i32 %824 to i64
  %826 = getelementptr inbounds %class.S24, ptr %.17391017, i64 %825
  %827 = add nuw i32 %.07341019, 1
  %828 = icmp ult i32 %827, %819
  br i1 %828, label %.preheader870, label %.loopexit, !llvm.loop !84

.preheader873:                                    ; preds = %.preheader873.lr.ph, %._crit_edge1010
  %829 = phi i32 [ %756, %.preheader873.lr.ph ], [ %843, %._crit_edge1010 ]
  %830 = phi i32 [ %.pre1339, %.preheader873.lr.ph ], [ %844, %._crit_edge1010 ]
  %.07321013 = phi i32 [ 0, %.preheader873.lr.ph ], [ %851, %._crit_edge1010 ]
  %.07331012 = phi ptr [ %2, %.preheader873.lr.ph ], [ %847, %._crit_edge1010 ]
  %.27401011 = phi ptr [ %1, %.preheader873.lr.ph ], [ %850, %._crit_edge1010 ]
  %831 = icmp sgt i32 %830, 0
  br i1 %831, label %.lr.ph1009, label %._crit_edge1010

.lr.ph1009:                                       ; preds = %.preheader873, %.lr.ph1009
  %indvars.iv1246 = phi i64 [ %indvars.iv.next1247, %.lr.ph1009 ], [ 0, %.preheader873 ]
  %832 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %757, i64 noundef %indvars.iv1246) #6
  %833 = load i32, ptr %832, align 4, !tbaa !26
  %834 = sext i32 %833 to i64
  %835 = getelementptr inbounds %class.S24, ptr %.07331012, i64 %834
  %836 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %758, i64 noundef %indvars.iv1246) #6
  %837 = load i32, ptr %836, align 4, !tbaa !26
  %838 = sext i32 %837 to i64
  %839 = getelementptr inbounds %class.S24, ptr %.27401011, i64 %838
  tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %839, ptr noundef nonnull align 1 dereferenceable(3) %835, i64 3, i1 false), !tbaa.struct !85
  %indvars.iv.next1247 = add nuw nsw i64 %indvars.iv1246, 1
  %840 = load i32, ptr %3, align 8, !tbaa !36
  %841 = sext i32 %840 to i64
  %842 = icmp slt i64 %indvars.iv.next1247, %841
  br i1 %842, label %.lr.ph1009, label %._crit_edge1010.loopexit, !llvm.loop !86

._crit_edge1010.loopexit:                         ; preds = %.lr.ph1009
  %.pre1340 = load i32, ptr %755, align 4, !tbaa !27
  br label %._crit_edge1010

._crit_edge1010:                                  ; preds = %._crit_edge1010.loopexit, %.preheader873
  %843 = phi i32 [ %.pre1340, %._crit_edge1010.loopexit ], [ %829, %.preheader873 ]
  %844 = phi i32 [ %840, %._crit_edge1010.loopexit ], [ %830, %.preheader873 ]
  %845 = load i32, ptr %759, align 4, !tbaa !41
  %846 = sext i32 %845 to i64
  %847 = getelementptr inbounds %class.S24, ptr %.07331012, i64 %846
  %848 = load i32, ptr %760, align 8, !tbaa !28
  %849 = sext i32 %848 to i64
  %850 = getelementptr inbounds %class.S24, ptr %.27401011, i64 %849
  %851 = add nuw i32 %.07321013, 1
  %852 = icmp ult i32 %851, %843
  br i1 %852, label %.preheader873, label %.loopexit, !llvm.loop !87

.preheader876:                                    ; preds = %.preheader876.lr.ph, %._crit_edge1004
  %853 = phi i32 [ %750, %.preheader876.lr.ph ], [ %870, %._crit_edge1004 ]
  %854 = phi i32 [ %.pre1337, %.preheader876.lr.ph ], [ %871, %._crit_edge1004 ]
  %.07301007 = phi i32 [ 0, %.preheader876.lr.ph ], [ %878, %._crit_edge1004 ]
  %.07311006 = phi ptr [ %2, %.preheader876.lr.ph ], [ %874, %._crit_edge1004 ]
  %.37411005 = phi ptr [ %1, %.preheader876.lr.ph ], [ %877, %._crit_edge1004 ]
  %855 = icmp sgt i32 %854, 0
  br i1 %855, label %.lr.ph1003, label %._crit_edge1004

.lr.ph1003:                                       ; preds = %.preheader876, %.lr.ph1003
  %indvars.iv1243 = phi i64 [ %indvars.iv.next1244, %.lr.ph1003 ], [ 0, %.preheader876 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #6
  %856 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %751, i64 noundef %indvars.iv1243) #6
  %857 = load i32, ptr %856, align 4, !tbaa !26
  %858 = sext i32 %857 to i64
  %859 = getelementptr inbounds i32, ptr %.07311006, i64 %858
  %860 = load i32, ptr %859, align 4, !tbaa !26
  %861 = ashr i32 %860, 8
  store i32 %861, ptr %7, align 4, !tbaa !26
  %862 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %752, i64 noundef %indvars.iv1243) #6
  %863 = load i32, ptr %862, align 4, !tbaa !26
  %864 = sext i32 %863 to i64
  %865 = getelementptr inbounds %class.S24, ptr %.37411005, i64 %864
  %866 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %865, ptr noundef nonnull align 4 dereferenceable(4) %7)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #6
  %indvars.iv.next1244 = add nuw nsw i64 %indvars.iv1243, 1
  %867 = load i32, ptr %3, align 8, !tbaa !36
  %868 = sext i32 %867 to i64
  %869 = icmp slt i64 %indvars.iv.next1244, %868
  br i1 %869, label %.lr.ph1003, label %._crit_edge1004.loopexit, !llvm.loop !88

._crit_edge1004.loopexit:                         ; preds = %.lr.ph1003
  %.pre1338 = load i32, ptr %749, align 4, !tbaa !27
  br label %._crit_edge1004

._crit_edge1004:                                  ; preds = %._crit_edge1004.loopexit, %.preheader876
  %870 = phi i32 [ %.pre1338, %._crit_edge1004.loopexit ], [ %853, %.preheader876 ]
  %871 = phi i32 [ %867, %._crit_edge1004.loopexit ], [ %854, %.preheader876 ]
  %872 = load i32, ptr %753, align 4, !tbaa !41
  %873 = sext i32 %872 to i64
  %874 = getelementptr inbounds i32, ptr %.07311006, i64 %873
  %875 = load i32, ptr %754, align 8, !tbaa !28
  %876 = sext i32 %875 to i64
  %877 = getelementptr inbounds %class.S24, ptr %.37411005, i64 %876
  %878 = add nuw i32 %.07301007, 1
  %879 = icmp ult i32 %878, %870
  br i1 %879, label %.preheader876, label %.loopexit, !llvm.loop !89

.preheader879:                                    ; preds = %.preheader879.lr.ph, %._crit_edge998
  %880 = phi i32 [ %744, %.preheader879.lr.ph ], [ %899, %._crit_edge998 ]
  %881 = phi i32 [ %.pre1335, %.preheader879.lr.ph ], [ %900, %._crit_edge998 ]
  %.07281001 = phi i32 [ 0, %.preheader879.lr.ph ], [ %907, %._crit_edge998 ]
  %.07291000 = phi ptr [ %2, %.preheader879.lr.ph ], [ %903, %._crit_edge998 ]
  %.4742999 = phi ptr [ %1, %.preheader879.lr.ph ], [ %906, %._crit_edge998 ]
  %882 = icmp sgt i32 %881, 0
  br i1 %882, label %.lr.ph997, label %._crit_edge998

.lr.ph997:                                        ; preds = %.preheader879, %.lr.ph997
  %indvars.iv1240 = phi i64 [ %indvars.iv.next1241, %.lr.ph997 ], [ 0, %.preheader879 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #6
  %883 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %745, i64 noundef %indvars.iv1240) #6
  %884 = load i32, ptr %883, align 4, !tbaa !26
  %885 = sext i32 %884 to i64
  %886 = getelementptr inbounds float, ptr %.07291000, i64 %885
  %887 = load float, ptr %886, align 4, !tbaa !51
  %888 = fpext float %887 to double
  %889 = call double @llvm.fmuladd.f64(double %888, double 0x415FFFFFE0000000, double -5.000000e-01)
  %890 = fptosi double %889 to i32
  store i32 %890, ptr %8, align 4, !tbaa !26
  %891 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %746, i64 noundef %indvars.iv1240) #6
  %892 = load i32, ptr %891, align 4, !tbaa !26
  %893 = sext i32 %892 to i64
  %894 = getelementptr inbounds %class.S24, ptr %.4742999, i64 %893
  %895 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %894, ptr noundef nonnull align 4 dereferenceable(4) %8)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #6
  %indvars.iv.next1241 = add nuw nsw i64 %indvars.iv1240, 1
  %896 = load i32, ptr %3, align 8, !tbaa !36
  %897 = sext i32 %896 to i64
  %898 = icmp slt i64 %indvars.iv.next1241, %897
  br i1 %898, label %.lr.ph997, label %._crit_edge998.loopexit, !llvm.loop !90

._crit_edge998.loopexit:                          ; preds = %.lr.ph997
  %.pre1336 = load i32, ptr %743, align 4, !tbaa !27
  br label %._crit_edge998

._crit_edge998:                                   ; preds = %._crit_edge998.loopexit, %.preheader879
  %899 = phi i32 [ %.pre1336, %._crit_edge998.loopexit ], [ %880, %.preheader879 ]
  %900 = phi i32 [ %896, %._crit_edge998.loopexit ], [ %881, %.preheader879 ]
  %901 = load i32, ptr %747, align 4, !tbaa !41
  %902 = sext i32 %901 to i64
  %903 = getelementptr inbounds float, ptr %.07291000, i64 %902
  %904 = load i32, ptr %748, align 8, !tbaa !28
  %905 = sext i32 %904 to i64
  %906 = getelementptr inbounds %class.S24, ptr %.4742999, i64 %905
  %907 = add nuw i32 %.07281001, 1
  %908 = icmp ult i32 %907, %899
  br i1 %908, label %.preheader879, label %.loopexit, !llvm.loop !91

.preheader882:                                    ; preds = %.preheader882.lr.ph, %._crit_edge992
  %909 = phi i32 [ %738, %.preheader882.lr.ph ], [ %927, %._crit_edge992 ]
  %910 = phi i32 [ %.pre1333, %.preheader882.lr.ph ], [ %928, %._crit_edge992 ]
  %.0726995 = phi i32 [ 0, %.preheader882.lr.ph ], [ %935, %._crit_edge992 ]
  %.0727994 = phi ptr [ %2, %.preheader882.lr.ph ], [ %931, %._crit_edge992 ]
  %.5743993 = phi ptr [ %1, %.preheader882.lr.ph ], [ %934, %._crit_edge992 ]
  %911 = icmp sgt i32 %910, 0
  br i1 %911, label %.lr.ph991, label %._crit_edge992

.lr.ph991:                                        ; preds = %.preheader882, %.lr.ph991
  %indvars.iv1237 = phi i64 [ %indvars.iv.next1238, %.lr.ph991 ], [ 0, %.preheader882 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #6
  %912 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %739, i64 noundef %indvars.iv1237) #6
  %913 = load i32, ptr %912, align 4, !tbaa !26
  %914 = sext i32 %913 to i64
  %915 = getelementptr inbounds double, ptr %.0727994, i64 %914
  %916 = load double, ptr %915, align 8, !tbaa !38
  %917 = call double @llvm.fmuladd.f64(double %916, double 0x415FFFFFE0000000, double -5.000000e-01)
  %918 = fptosi double %917 to i32
  store i32 %918, ptr %9, align 4, !tbaa !26
  %919 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %740, i64 noundef %indvars.iv1237) #6
  %920 = load i32, ptr %919, align 4, !tbaa !26
  %921 = sext i32 %920 to i64
  %922 = getelementptr inbounds %class.S24, ptr %.5743993, i64 %921
  %923 = call noundef nonnull align 1 dereferenceable(3) ptr @_ZN3S24aSERKi(ptr noundef nonnull align 1 dereferenceable(3) %922, ptr noundef nonnull align 4 dereferenceable(4) %9)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  %indvars.iv.next1238 = add nuw nsw i64 %indvars.iv1237, 1
  %924 = load i32, ptr %3, align 8, !tbaa !36
  %925 = sext i32 %924 to i64
  %926 = icmp slt i64 %indvars.iv.next1238, %925
  br i1 %926, label %.lr.ph991, label %._crit_edge992.loopexit, !llvm.loop !92

._crit_edge992.loopexit:                          ; preds = %.lr.ph991
  %.pre1334 = load i32, ptr %737, align 4, !tbaa !27
  br label %._crit_edge992

._crit_edge992:                                   ; preds = %._crit_edge992.loopexit, %.preheader882
  %927 = phi i32 [ %.pre1334, %._crit_edge992.loopexit ], [ %909, %.preheader882 ]
  %928 = phi i32 [ %924, %._crit_edge992.loopexit ], [ %910, %.preheader882 ]
  %929 = load i32, ptr %741, align 4, !tbaa !41
  %930 = sext i32 %929 to i64
  %931 = getelementptr inbounds double, ptr %.0727994, i64 %930
  %932 = load i32, ptr %742, align 8, !tbaa !28
  %933 = sext i32 %932 to i64
  %934 = getelementptr inbounds %class.S24, ptr %.5743993, i64 %933
  %935 = add nuw i32 %.0726995, 1
  %936 = icmp ult i32 %935, %927
  br i1 %936, label %.preheader882, label %.loopexit, !llvm.loop !93

937:                                              ; preds = %33
  %938 = getelementptr inbounds i8, ptr %3, i64 16
  %939 = load i64, ptr %938, align 8, !tbaa !35
  switch i64 %939, label %.loopexit [
    i64 1, label %.preheader886
    i64 2, label %.preheader889
    i64 4, label %.preheader892
    i64 8, label %.preheader895
    i64 16, label %.preheader898
    i64 32, label %.preheader901
  ]

.preheader901:                                    ; preds = %937
  %940 = getelementptr inbounds i8, ptr %0, i64 484
  %941 = load i32, ptr %940, align 4, !tbaa !27
  %.not1139 = icmp eq i32 %941, 0
  br i1 %.not1139, label %.loopexit, label %.preheader900.lr.ph

.preheader900.lr.ph:                              ; preds = %.preheader901
  %942 = getelementptr inbounds i8, ptr %3, i64 32
  %943 = getelementptr inbounds i8, ptr %3, i64 56
  %944 = getelementptr inbounds i8, ptr %3, i64 4
  %945 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1321 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader900

.preheader898:                                    ; preds = %937
  %946 = getelementptr inbounds i8, ptr %0, i64 484
  %947 = load i32, ptr %946, align 4, !tbaa !27
  %.not1140 = icmp eq i32 %947, 0
  br i1 %.not1140, label %.loopexit, label %.preheader897.lr.ph

.preheader897.lr.ph:                              ; preds = %.preheader898
  %948 = getelementptr inbounds i8, ptr %3, i64 32
  %949 = getelementptr inbounds i8, ptr %3, i64 56
  %950 = getelementptr inbounds i8, ptr %3, i64 4
  %951 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1323 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader897

.preheader895:                                    ; preds = %937
  %952 = getelementptr inbounds i8, ptr %0, i64 484
  %953 = load i32, ptr %952, align 4, !tbaa !27
  %.not1141 = icmp eq i32 %953, 0
  br i1 %.not1141, label %.loopexit, label %.preheader894.lr.ph

.preheader894.lr.ph:                              ; preds = %.preheader895
  %954 = getelementptr inbounds i8, ptr %3, i64 32
  %955 = getelementptr inbounds i8, ptr %3, i64 56
  %956 = getelementptr inbounds i8, ptr %3, i64 4
  %957 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1325 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader894

.preheader892:                                    ; preds = %937
  %958 = getelementptr inbounds i8, ptr %0, i64 484
  %959 = load i32, ptr %958, align 4, !tbaa !27
  %.not1142 = icmp eq i32 %959, 0
  br i1 %.not1142, label %.loopexit, label %.preheader891.lr.ph

.preheader891.lr.ph:                              ; preds = %.preheader892
  %960 = getelementptr inbounds i8, ptr %3, i64 32
  %961 = getelementptr inbounds i8, ptr %3, i64 56
  %962 = getelementptr inbounds i8, ptr %3, i64 4
  %963 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1327 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader891

.preheader889:                                    ; preds = %937
  %964 = getelementptr inbounds i8, ptr %0, i64 484
  %965 = load i32, ptr %964, align 4, !tbaa !27
  %.not1143 = icmp eq i32 %965, 0
  br i1 %.not1143, label %.loopexit, label %.preheader888.lr.ph

.preheader888.lr.ph:                              ; preds = %.preheader889
  %966 = getelementptr inbounds i8, ptr %3, i64 32
  %967 = getelementptr inbounds i8, ptr %3, i64 56
  %968 = getelementptr inbounds i8, ptr %3, i64 4
  %969 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1329 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader888

.preheader886:                                    ; preds = %937
  %970 = getelementptr inbounds i8, ptr %0, i64 484
  %971 = load i32, ptr %970, align 4, !tbaa !27
  %.not1144 = icmp eq i32 %971, 0
  br i1 %.not1144, label %.loopexit, label %.preheader885.lr.ph

.preheader885.lr.ph:                              ; preds = %.preheader886
  %972 = getelementptr inbounds i8, ptr %3, i64 32
  %973 = getelementptr inbounds i8, ptr %3, i64 56
  %974 = getelementptr inbounds i8, ptr %3, i64 4
  %975 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1331 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader885

.preheader885:                                    ; preds = %.preheader885.lr.ph, %._crit_edge986
  %976 = phi i32 [ %971, %.preheader885.lr.ph ], [ %998, %._crit_edge986 ]
  %977 = phi i32 [ %.pre1331, %.preheader885.lr.ph ], [ %999, %._crit_edge986 ]
  %.0718989 = phi i32 [ 0, %.preheader885.lr.ph ], [ %1006, %._crit_edge986 ]
  %.0719988 = phi ptr [ %2, %.preheader885.lr.ph ], [ %1002, %._crit_edge986 ]
  %.0720987 = phi ptr [ %1, %.preheader885.lr.ph ], [ %1005, %._crit_edge986 ]
  %978 = icmp sgt i32 %977, 0
  br i1 %978, label %.lr.ph985, label %._crit_edge986

.lr.ph985:                                        ; preds = %.preheader885, %.lr.ph985
  %indvars.iv1234 = phi i64 [ %indvars.iv.next1235, %.lr.ph985 ], [ 0, %.preheader885 ]
  %979 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %972, i64 noundef %indvars.iv1234) #6
  %980 = load i32, ptr %979, align 4, !tbaa !26
  %981 = sext i32 %980 to i64
  %982 = getelementptr inbounds i8, ptr %.0719988, i64 %981
  %983 = load i8, ptr %982, align 1, !tbaa !37
  %984 = sext i8 %983 to i16
  %985 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %973, i64 noundef %indvars.iv1234) #6
  %986 = load i32, ptr %985, align 4, !tbaa !26
  %987 = sext i32 %986 to i64
  %988 = getelementptr inbounds i16, ptr %.0720987, i64 %987
  store i16 %984, ptr %988, align 2, !tbaa !43
  %989 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %973, i64 noundef %indvars.iv1234) #6
  %990 = load i32, ptr %989, align 4, !tbaa !26
  %991 = sext i32 %990 to i64
  %992 = getelementptr inbounds i16, ptr %.0720987, i64 %991
  %993 = load i16, ptr %992, align 2, !tbaa !43
  %994 = shl i16 %993, 8
  store i16 %994, ptr %992, align 2, !tbaa !43
  %indvars.iv.next1235 = add nuw nsw i64 %indvars.iv1234, 1
  %995 = load i32, ptr %3, align 8, !tbaa !36
  %996 = sext i32 %995 to i64
  %997 = icmp slt i64 %indvars.iv.next1235, %996
  br i1 %997, label %.lr.ph985, label %._crit_edge986.loopexit, !llvm.loop !94

._crit_edge986.loopexit:                          ; preds = %.lr.ph985
  %.pre1332 = load i32, ptr %970, align 4, !tbaa !27
  br label %._crit_edge986

._crit_edge986:                                   ; preds = %._crit_edge986.loopexit, %.preheader885
  %998 = phi i32 [ %.pre1332, %._crit_edge986.loopexit ], [ %976, %.preheader885 ]
  %999 = phi i32 [ %995, %._crit_edge986.loopexit ], [ %977, %.preheader885 ]
  %1000 = load i32, ptr %974, align 4, !tbaa !41
  %1001 = sext i32 %1000 to i64
  %1002 = getelementptr inbounds i8, ptr %.0719988, i64 %1001
  %1003 = load i32, ptr %975, align 8, !tbaa !28
  %1004 = sext i32 %1003 to i64
  %1005 = getelementptr inbounds i16, ptr %.0720987, i64 %1004
  %1006 = add nuw i32 %.0718989, 1
  %1007 = icmp ult i32 %1006, %998
  br i1 %1007, label %.preheader885, label %.loopexit, !llvm.loop !95

.preheader888:                                    ; preds = %.preheader888.lr.ph, %._crit_edge980
  %1008 = phi i32 [ %965, %.preheader888.lr.ph ], [ %1023, %._crit_edge980 ]
  %1009 = phi i32 [ %.pre1329, %.preheader888.lr.ph ], [ %1024, %._crit_edge980 ]
  %.0716983 = phi i32 [ 0, %.preheader888.lr.ph ], [ %1031, %._crit_edge980 ]
  %.0717982 = phi ptr [ %2, %.preheader888.lr.ph ], [ %1027, %._crit_edge980 ]
  %.1721981 = phi ptr [ %1, %.preheader888.lr.ph ], [ %1030, %._crit_edge980 ]
  %1010 = icmp sgt i32 %1009, 0
  br i1 %1010, label %.lr.ph979, label %._crit_edge980

.lr.ph979:                                        ; preds = %.preheader888, %.lr.ph979
  %indvars.iv1231 = phi i64 [ %indvars.iv.next1232, %.lr.ph979 ], [ 0, %.preheader888 ]
  %1011 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %966, i64 noundef %indvars.iv1231) #6
  %1012 = load i32, ptr %1011, align 4, !tbaa !26
  %1013 = sext i32 %1012 to i64
  %1014 = getelementptr inbounds i16, ptr %.0717982, i64 %1013
  %1015 = load i16, ptr %1014, align 2, !tbaa !43
  %1016 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %967, i64 noundef %indvars.iv1231) #6
  %1017 = load i32, ptr %1016, align 4, !tbaa !26
  %1018 = sext i32 %1017 to i64
  %1019 = getelementptr inbounds i16, ptr %.1721981, i64 %1018
  store i16 %1015, ptr %1019, align 2, !tbaa !43
  %indvars.iv.next1232 = add nuw nsw i64 %indvars.iv1231, 1
  %1020 = load i32, ptr %3, align 8, !tbaa !36
  %1021 = sext i32 %1020 to i64
  %1022 = icmp slt i64 %indvars.iv.next1232, %1021
  br i1 %1022, label %.lr.ph979, label %._crit_edge980.loopexit, !llvm.loop !96

._crit_edge980.loopexit:                          ; preds = %.lr.ph979
  %.pre1330 = load i32, ptr %964, align 4, !tbaa !27
  br label %._crit_edge980

._crit_edge980:                                   ; preds = %._crit_edge980.loopexit, %.preheader888
  %1023 = phi i32 [ %.pre1330, %._crit_edge980.loopexit ], [ %1008, %.preheader888 ]
  %1024 = phi i32 [ %1020, %._crit_edge980.loopexit ], [ %1009, %.preheader888 ]
  %1025 = load i32, ptr %968, align 4, !tbaa !41
  %1026 = sext i32 %1025 to i64
  %1027 = getelementptr inbounds i16, ptr %.0717982, i64 %1026
  %1028 = load i32, ptr %969, align 8, !tbaa !28
  %1029 = sext i32 %1028 to i64
  %1030 = getelementptr inbounds i16, ptr %.1721981, i64 %1029
  %1031 = add nuw i32 %.0716983, 1
  %1032 = icmp ult i32 %1031, %1023
  br i1 %1032, label %.preheader888, label %.loopexit, !llvm.loop !97

.preheader891:                                    ; preds = %.preheader891.lr.ph, %._crit_edge974
  %1033 = phi i32 [ %959, %.preheader891.lr.ph ], [ %1050, %._crit_edge974 ]
  %1034 = phi i32 [ %.pre1327, %.preheader891.lr.ph ], [ %1051, %._crit_edge974 ]
  %.0714977 = phi i32 [ 0, %.preheader891.lr.ph ], [ %1058, %._crit_edge974 ]
  %.0715976 = phi ptr [ %2, %.preheader891.lr.ph ], [ %1054, %._crit_edge974 ]
  %.2722975 = phi ptr [ %1, %.preheader891.lr.ph ], [ %1057, %._crit_edge974 ]
  %1035 = icmp sgt i32 %1034, 0
  br i1 %1035, label %.lr.ph973, label %._crit_edge974

.lr.ph973:                                        ; preds = %.preheader891, %.lr.ph973
  %indvars.iv1228 = phi i64 [ %indvars.iv.next1229, %.lr.ph973 ], [ 0, %.preheader891 ]
  %1036 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %960, i64 noundef %indvars.iv1228) #6
  %1037 = load i32, ptr %1036, align 4, !tbaa !26
  %1038 = sext i32 %1037 to i64
  %1039 = getelementptr inbounds %class.S24, ptr %.0715976, i64 %1038
  %1040 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %1039)
  %1041 = lshr i32 %1040, 8
  %1042 = trunc i32 %1041 to i16
  %1043 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %961, i64 noundef %indvars.iv1228) #6
  %1044 = load i32, ptr %1043, align 4, !tbaa !26
  %1045 = sext i32 %1044 to i64
  %1046 = getelementptr inbounds i16, ptr %.2722975, i64 %1045
  store i16 %1042, ptr %1046, align 2, !tbaa !43
  %indvars.iv.next1229 = add nuw nsw i64 %indvars.iv1228, 1
  %1047 = load i32, ptr %3, align 8, !tbaa !36
  %1048 = sext i32 %1047 to i64
  %1049 = icmp slt i64 %indvars.iv.next1229, %1048
  br i1 %1049, label %.lr.ph973, label %._crit_edge974.loopexit, !llvm.loop !98

._crit_edge974.loopexit:                          ; preds = %.lr.ph973
  %.pre1328 = load i32, ptr %958, align 4, !tbaa !27
  br label %._crit_edge974

._crit_edge974:                                   ; preds = %._crit_edge974.loopexit, %.preheader891
  %1050 = phi i32 [ %.pre1328, %._crit_edge974.loopexit ], [ %1033, %.preheader891 ]
  %1051 = phi i32 [ %1047, %._crit_edge974.loopexit ], [ %1034, %.preheader891 ]
  %1052 = load i32, ptr %962, align 4, !tbaa !41
  %1053 = sext i32 %1052 to i64
  %1054 = getelementptr inbounds %class.S24, ptr %.0715976, i64 %1053
  %1055 = load i32, ptr %963, align 8, !tbaa !28
  %1056 = sext i32 %1055 to i64
  %1057 = getelementptr inbounds i16, ptr %.2722975, i64 %1056
  %1058 = add nuw i32 %.0714977, 1
  %1059 = icmp ult i32 %1058, %1050
  br i1 %1059, label %.preheader891, label %.loopexit, !llvm.loop !99

.preheader894:                                    ; preds = %.preheader894.lr.ph, %._crit_edge968
  %1060 = phi i32 [ %953, %.preheader894.lr.ph ], [ %1077, %._crit_edge968 ]
  %1061 = phi i32 [ %.pre1325, %.preheader894.lr.ph ], [ %1078, %._crit_edge968 ]
  %.0712971 = phi i32 [ 0, %.preheader894.lr.ph ], [ %1085, %._crit_edge968 ]
  %.0713970 = phi ptr [ %2, %.preheader894.lr.ph ], [ %1081, %._crit_edge968 ]
  %.3723969 = phi ptr [ %1, %.preheader894.lr.ph ], [ %1084, %._crit_edge968 ]
  %1062 = icmp sgt i32 %1061, 0
  br i1 %1062, label %.lr.ph967, label %._crit_edge968

.lr.ph967:                                        ; preds = %.preheader894, %.lr.ph967
  %indvars.iv1225 = phi i64 [ %indvars.iv.next1226, %.lr.ph967 ], [ 0, %.preheader894 ]
  %1063 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %954, i64 noundef %indvars.iv1225) #6
  %1064 = load i32, ptr %1063, align 4, !tbaa !26
  %1065 = sext i32 %1064 to i64
  %1066 = getelementptr inbounds i32, ptr %.0713970, i64 %1065
  %1067 = load i32, ptr %1066, align 4, !tbaa !26
  %1068 = lshr i32 %1067, 16
  %1069 = trunc nuw i32 %1068 to i16
  %1070 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %955, i64 noundef %indvars.iv1225) #6
  %1071 = load i32, ptr %1070, align 4, !tbaa !26
  %1072 = sext i32 %1071 to i64
  %1073 = getelementptr inbounds i16, ptr %.3723969, i64 %1072
  store i16 %1069, ptr %1073, align 2, !tbaa !43
  %indvars.iv.next1226 = add nuw nsw i64 %indvars.iv1225, 1
  %1074 = load i32, ptr %3, align 8, !tbaa !36
  %1075 = sext i32 %1074 to i64
  %1076 = icmp slt i64 %indvars.iv.next1226, %1075
  br i1 %1076, label %.lr.ph967, label %._crit_edge968.loopexit, !llvm.loop !100

._crit_edge968.loopexit:                          ; preds = %.lr.ph967
  %.pre1326 = load i32, ptr %952, align 4, !tbaa !27
  br label %._crit_edge968

._crit_edge968:                                   ; preds = %._crit_edge968.loopexit, %.preheader894
  %1077 = phi i32 [ %.pre1326, %._crit_edge968.loopexit ], [ %1060, %.preheader894 ]
  %1078 = phi i32 [ %1074, %._crit_edge968.loopexit ], [ %1061, %.preheader894 ]
  %1079 = load i32, ptr %956, align 4, !tbaa !41
  %1080 = sext i32 %1079 to i64
  %1081 = getelementptr inbounds i32, ptr %.0713970, i64 %1080
  %1082 = load i32, ptr %957, align 8, !tbaa !28
  %1083 = sext i32 %1082 to i64
  %1084 = getelementptr inbounds i16, ptr %.3723969, i64 %1083
  %1085 = add nuw i32 %.0712971, 1
  %1086 = icmp ult i32 %1085, %1077
  br i1 %1086, label %.preheader894, label %.loopexit, !llvm.loop !101

.preheader897:                                    ; preds = %.preheader897.lr.ph, %._crit_edge962
  %1087 = phi i32 [ %947, %.preheader897.lr.ph ], [ %1105, %._crit_edge962 ]
  %1088 = phi i32 [ %.pre1323, %.preheader897.lr.ph ], [ %1106, %._crit_edge962 ]
  %.0710965 = phi i32 [ 0, %.preheader897.lr.ph ], [ %1113, %._crit_edge962 ]
  %.0711964 = phi ptr [ %2, %.preheader897.lr.ph ], [ %1109, %._crit_edge962 ]
  %.4724963 = phi ptr [ %1, %.preheader897.lr.ph ], [ %1112, %._crit_edge962 ]
  %1089 = icmp sgt i32 %1088, 0
  br i1 %1089, label %.lr.ph961, label %._crit_edge962

.lr.ph961:                                        ; preds = %.preheader897, %.lr.ph961
  %indvars.iv1222 = phi i64 [ %indvars.iv.next1223, %.lr.ph961 ], [ 0, %.preheader897 ]
  %1090 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %948, i64 noundef %indvars.iv1222) #6
  %1091 = load i32, ptr %1090, align 4, !tbaa !26
  %1092 = sext i32 %1091 to i64
  %1093 = getelementptr inbounds float, ptr %.0711964, i64 %1092
  %1094 = load float, ptr %1093, align 4, !tbaa !51
  %1095 = fpext float %1094 to double
  %1096 = tail call double @llvm.fmuladd.f64(double %1095, double 3.276750e+04, double -5.000000e-01)
  %1097 = fptosi double %1096 to i16
  %1098 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %949, i64 noundef %indvars.iv1222) #6
  %1099 = load i32, ptr %1098, align 4, !tbaa !26
  %1100 = sext i32 %1099 to i64
  %1101 = getelementptr inbounds i16, ptr %.4724963, i64 %1100
  store i16 %1097, ptr %1101, align 2, !tbaa !43
  %indvars.iv.next1223 = add nuw nsw i64 %indvars.iv1222, 1
  %1102 = load i32, ptr %3, align 8, !tbaa !36
  %1103 = sext i32 %1102 to i64
  %1104 = icmp slt i64 %indvars.iv.next1223, %1103
  br i1 %1104, label %.lr.ph961, label %._crit_edge962.loopexit, !llvm.loop !102

._crit_edge962.loopexit:                          ; preds = %.lr.ph961
  %.pre1324 = load i32, ptr %946, align 4, !tbaa !27
  br label %._crit_edge962

._crit_edge962:                                   ; preds = %._crit_edge962.loopexit, %.preheader897
  %1105 = phi i32 [ %.pre1324, %._crit_edge962.loopexit ], [ %1087, %.preheader897 ]
  %1106 = phi i32 [ %1102, %._crit_edge962.loopexit ], [ %1088, %.preheader897 ]
  %1107 = load i32, ptr %950, align 4, !tbaa !41
  %1108 = sext i32 %1107 to i64
  %1109 = getelementptr inbounds float, ptr %.0711964, i64 %1108
  %1110 = load i32, ptr %951, align 8, !tbaa !28
  %1111 = sext i32 %1110 to i64
  %1112 = getelementptr inbounds i16, ptr %.4724963, i64 %1111
  %1113 = add nuw i32 %.0710965, 1
  %1114 = icmp ult i32 %1113, %1105
  br i1 %1114, label %.preheader897, label %.loopexit, !llvm.loop !103

.preheader900:                                    ; preds = %.preheader900.lr.ph, %._crit_edge956
  %1115 = phi i32 [ %941, %.preheader900.lr.ph ], [ %1132, %._crit_edge956 ]
  %1116 = phi i32 [ %.pre1321, %.preheader900.lr.ph ], [ %1133, %._crit_edge956 ]
  %.0708959 = phi i32 [ 0, %.preheader900.lr.ph ], [ %1140, %._crit_edge956 ]
  %.0709958 = phi ptr [ %2, %.preheader900.lr.ph ], [ %1136, %._crit_edge956 ]
  %.5725957 = phi ptr [ %1, %.preheader900.lr.ph ], [ %1139, %._crit_edge956 ]
  %1117 = icmp sgt i32 %1116, 0
  br i1 %1117, label %.lr.ph955, label %._crit_edge956

.lr.ph955:                                        ; preds = %.preheader900, %.lr.ph955
  %indvars.iv1219 = phi i64 [ %indvars.iv.next1220, %.lr.ph955 ], [ 0, %.preheader900 ]
  %1118 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %942, i64 noundef %indvars.iv1219) #6
  %1119 = load i32, ptr %1118, align 4, !tbaa !26
  %1120 = sext i32 %1119 to i64
  %1121 = getelementptr inbounds double, ptr %.0709958, i64 %1120
  %1122 = load double, ptr %1121, align 8, !tbaa !38
  %1123 = tail call double @llvm.fmuladd.f64(double %1122, double 3.276750e+04, double -5.000000e-01)
  %1124 = fptosi double %1123 to i16
  %1125 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %943, i64 noundef %indvars.iv1219) #6
  %1126 = load i32, ptr %1125, align 4, !tbaa !26
  %1127 = sext i32 %1126 to i64
  %1128 = getelementptr inbounds i16, ptr %.5725957, i64 %1127
  store i16 %1124, ptr %1128, align 2, !tbaa !43
  %indvars.iv.next1220 = add nuw nsw i64 %indvars.iv1219, 1
  %1129 = load i32, ptr %3, align 8, !tbaa !36
  %1130 = sext i32 %1129 to i64
  %1131 = icmp slt i64 %indvars.iv.next1220, %1130
  br i1 %1131, label %.lr.ph955, label %._crit_edge956.loopexit, !llvm.loop !104

._crit_edge956.loopexit:                          ; preds = %.lr.ph955
  %.pre1322 = load i32, ptr %940, align 4, !tbaa !27
  br label %._crit_edge956

._crit_edge956:                                   ; preds = %._crit_edge956.loopexit, %.preheader900
  %1132 = phi i32 [ %.pre1322, %._crit_edge956.loopexit ], [ %1115, %.preheader900 ]
  %1133 = phi i32 [ %1129, %._crit_edge956.loopexit ], [ %1116, %.preheader900 ]
  %1134 = load i32, ptr %944, align 4, !tbaa !41
  %1135 = sext i32 %1134 to i64
  %1136 = getelementptr inbounds double, ptr %.0709958, i64 %1135
  %1137 = load i32, ptr %945, align 8, !tbaa !28
  %1138 = sext i32 %1137 to i64
  %1139 = getelementptr inbounds i16, ptr %.5725957, i64 %1138
  %1140 = add nuw i32 %.0708959, 1
  %1141 = icmp ult i32 %1140, %1132
  br i1 %1141, label %.preheader900, label %.loopexit, !llvm.loop !105

1142:                                             ; preds = %33
  %1143 = getelementptr inbounds i8, ptr %3, i64 16
  %1144 = load i64, ptr %1143, align 8, !tbaa !35
  %1145 = icmp eq i64 %1144, 1
  br i1 %1145, label %.preheader919, label %thread-pre-split

.preheader919:                                    ; preds = %1142
  %1146 = getelementptr inbounds i8, ptr %0, i64 484
  %1147 = load i32, ptr %1146, align 4, !tbaa !27
  %.not = icmp eq i32 %1147, 0
  br i1 %.not, label %.loopexit, label %.preheader918.lr.ph

.preheader918.lr.ph:                              ; preds = %.preheader919
  %1148 = getelementptr inbounds i8, ptr %3, i64 32
  %1149 = getelementptr inbounds i8, ptr %3, i64 56
  %1150 = getelementptr inbounds i8, ptr %3, i64 4
  %1151 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader918

.preheader918:                                    ; preds = %.preheader918.lr.ph, %._crit_edge
  %1152 = phi i32 [ %1147, %.preheader918.lr.ph ], [ %1167, %._crit_edge ]
  %1153 = phi i32 [ %.pre, %.preheader918.lr.ph ], [ %1168, %._crit_edge ]
  %.0705923 = phi i32 [ 0, %.preheader918.lr.ph ], [ %1175, %._crit_edge ]
  %.0706922 = phi ptr [ %2, %.preheader918.lr.ph ], [ %1171, %._crit_edge ]
  %.0707921 = phi ptr [ %1, %.preheader918.lr.ph ], [ %1174, %._crit_edge ]
  %1154 = icmp sgt i32 %1153, 0
  br i1 %1154, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader918, %.lr.ph
  %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %.preheader918 ]
  %1155 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1148, i64 noundef %indvars.iv) #6
  %1156 = load i32, ptr %1155, align 4, !tbaa !26
  %1157 = sext i32 %1156 to i64
  %1158 = getelementptr inbounds i8, ptr %.0706922, i64 %1157
  %1159 = load i8, ptr %1158, align 1, !tbaa !37
  %1160 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1149, i64 noundef %indvars.iv) #6
  %1161 = load i32, ptr %1160, align 4, !tbaa !26
  %1162 = sext i32 %1161 to i64
  %1163 = getelementptr inbounds i8, ptr %.0707921, i64 %1162
  store i8 %1159, ptr %1163, align 1, !tbaa !37
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %1164 = load i32, ptr %3, align 8, !tbaa !36
  %1165 = sext i32 %1164 to i64
  %1166 = icmp slt i64 %indvars.iv.next, %1165
  br i1 %1166, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !106

._crit_edge.loopexit:                             ; preds = %.lr.ph
  %.pre1309 = load i32, ptr %1146, align 4, !tbaa !27
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %.preheader918
  %1167 = phi i32 [ %.pre1309, %._crit_edge.loopexit ], [ %1152, %.preheader918 ]
  %1168 = phi i32 [ %1164, %._crit_edge.loopexit ], [ %1153, %.preheader918 ]
  %1169 = load i32, ptr %1150, align 4, !tbaa !41
  %1170 = sext i32 %1169 to i64
  %1171 = getelementptr inbounds i8, ptr %.0706922, i64 %1170
  %1172 = load i32, ptr %1151, align 8, !tbaa !28
  %1173 = sext i32 %1172 to i64
  %1174 = getelementptr inbounds i8, ptr %.0707921, i64 %1173
  %1175 = add nuw i32 %.0705923, 1
  %1176 = icmp ult i32 %1175, %1167
  br i1 %1176, label %.preheader918, label %thread-pre-split.loopexit, !llvm.loop !107

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

thread-pre-split:                                 ; preds = %thread-pre-split.loopexit, %1142
  %1177 = phi i64 [ %1144, %1142 ], [ %.pr.pre, %thread-pre-split.loopexit ]
  %.1 = phi ptr [ %1, %1142 ], [ %1174, %thread-pre-split.loopexit ]
  switch i64 %1177, label %.loopexit [
    i64 2, label %.preheader904
    i64 4, label %.preheader907
    i64 8, label %.preheader910
    i64 16, label %.preheader913
    i64 32, label %.preheader916
  ]

.preheader916:                                    ; preds = %thread-pre-split
  %1178 = getelementptr inbounds i8, ptr %0, i64 484
  %1179 = load i32, ptr %1178, align 4, !tbaa !27
  %.not1134 = icmp eq i32 %1179, 0
  br i1 %.not1134, label %.loopexit, label %.preheader915.lr.ph

.preheader915.lr.ph:                              ; preds = %.preheader916
  %1180 = getelementptr inbounds i8, ptr %3, i64 32
  %1181 = getelementptr inbounds i8, ptr %3, i64 56
  %1182 = getelementptr inbounds i8, ptr %3, i64 4
  %1183 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1311 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader915

.preheader913:                                    ; preds = %thread-pre-split
  %1184 = getelementptr inbounds i8, ptr %0, i64 484
  %1185 = load i32, ptr %1184, align 4, !tbaa !27
  %.not1135 = icmp eq i32 %1185, 0
  br i1 %.not1135, label %.loopexit, label %.preheader912.lr.ph

.preheader912.lr.ph:                              ; preds = %.preheader913
  %1186 = getelementptr inbounds i8, ptr %3, i64 32
  %1187 = getelementptr inbounds i8, ptr %3, i64 56
  %1188 = getelementptr inbounds i8, ptr %3, i64 4
  %1189 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1313 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader912

.preheader910:                                    ; preds = %thread-pre-split
  %1190 = getelementptr inbounds i8, ptr %0, i64 484
  %1191 = load i32, ptr %1190, align 4, !tbaa !27
  %.not1136 = icmp eq i32 %1191, 0
  br i1 %.not1136, label %.loopexit, label %.preheader909.lr.ph

.preheader909.lr.ph:                              ; preds = %.preheader910
  %1192 = getelementptr inbounds i8, ptr %3, i64 32
  %1193 = getelementptr inbounds i8, ptr %3, i64 56
  %1194 = getelementptr inbounds i8, ptr %3, i64 4
  %1195 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1315 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader909

.preheader907:                                    ; preds = %thread-pre-split
  %1196 = getelementptr inbounds i8, ptr %0, i64 484
  %1197 = load i32, ptr %1196, align 4, !tbaa !27
  %.not1137 = icmp eq i32 %1197, 0
  br i1 %.not1137, label %.loopexit, label %.preheader906.lr.ph

.preheader906.lr.ph:                              ; preds = %.preheader907
  %1198 = getelementptr inbounds i8, ptr %3, i64 32
  %1199 = getelementptr inbounds i8, ptr %3, i64 56
  %1200 = getelementptr inbounds i8, ptr %3, i64 4
  %1201 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1317 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader906

.preheader904:                                    ; preds = %thread-pre-split
  %1202 = getelementptr inbounds i8, ptr %0, i64 484
  %1203 = load i32, ptr %1202, align 4, !tbaa !27
  %.not1138 = icmp eq i32 %1203, 0
  br i1 %.not1138, label %.loopexit, label %.preheader903.lr.ph

.preheader903.lr.ph:                              ; preds = %.preheader904
  %1204 = getelementptr inbounds i8, ptr %3, i64 32
  %1205 = getelementptr inbounds i8, ptr %3, i64 56
  %1206 = getelementptr inbounds i8, ptr %3, i64 4
  %1207 = getelementptr inbounds i8, ptr %3, i64 8
  %.pre1319 = load i32, ptr %3, align 8, !tbaa !36
  br label %.preheader903

.preheader903:                                    ; preds = %.preheader903.lr.ph, %._crit_edge950
  %1208 = phi i32 [ %1203, %.preheader903.lr.ph ], [ %1225, %._crit_edge950 ]
  %1209 = phi i32 [ %.pre1319, %.preheader903.lr.ph ], [ %1226, %._crit_edge950 ]
  %.0703953 = phi i32 [ 0, %.preheader903.lr.ph ], [ %1233, %._crit_edge950 ]
  %.0704952 = phi ptr [ %2, %.preheader903.lr.ph ], [ %1229, %._crit_edge950 ]
  %.2951 = phi ptr [ %.1, %.preheader903.lr.ph ], [ %1232, %._crit_edge950 ]
  %1210 = icmp sgt i32 %1209, 0
  br i1 %1210, label %.lr.ph949, label %._crit_edge950

.lr.ph949:                                        ; preds = %.preheader903, %.lr.ph949
  %indvars.iv1216 = phi i64 [ %indvars.iv.next1217, %.lr.ph949 ], [ 0, %.preheader903 ]
  %1211 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1204, i64 noundef %indvars.iv1216) #6
  %1212 = load i32, ptr %1211, align 4, !tbaa !26
  %1213 = sext i32 %1212 to i64
  %1214 = getelementptr inbounds i16, ptr %.0704952, i64 %1213
  %1215 = load i16, ptr %1214, align 2, !tbaa !43
  %1216 = lshr i16 %1215, 8
  %1217 = trunc nuw i16 %1216 to i8
  %1218 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1205, i64 noundef %indvars.iv1216) #6
  %1219 = load i32, ptr %1218, align 4, !tbaa !26
  %1220 = sext i32 %1219 to i64
  %1221 = getelementptr inbounds i8, ptr %.2951, i64 %1220
  store i8 %1217, ptr %1221, align 1, !tbaa !37
  %indvars.iv.next1217 = add nuw nsw i64 %indvars.iv1216, 1
  %1222 = load i32, ptr %3, align 8, !tbaa !36
  %1223 = sext i32 %1222 to i64
  %1224 = icmp slt i64 %indvars.iv.next1217, %1223
  br i1 %1224, label %.lr.ph949, label %._crit_edge950.loopexit, !llvm.loop !108

._crit_edge950.loopexit:                          ; preds = %.lr.ph949
  %.pre1320 = load i32, ptr %1202, align 4, !tbaa !27
  br label %._crit_edge950

._crit_edge950:                                   ; preds = %._crit_edge950.loopexit, %.preheader903
  %1225 = phi i32 [ %.pre1320, %._crit_edge950.loopexit ], [ %1208, %.preheader903 ]
  %1226 = phi i32 [ %1222, %._crit_edge950.loopexit ], [ %1209, %.preheader903 ]
  %1227 = load i32, ptr %1206, align 4, !tbaa !41
  %1228 = sext i32 %1227 to i64
  %1229 = getelementptr inbounds i16, ptr %.0704952, i64 %1228
  %1230 = load i32, ptr %1207, align 8, !tbaa !28
  %1231 = sext i32 %1230 to i64
  %1232 = getelementptr inbounds i8, ptr %.2951, i64 %1231
  %1233 = add nuw i32 %.0703953, 1
  %1234 = icmp ult i32 %1233, %1225
  br i1 %1234, label %.preheader903, label %.loopexit, !llvm.loop !109

.preheader906:                                    ; preds = %.preheader906.lr.ph, %._crit_edge944
  %1235 = phi i32 [ %1197, %.preheader906.lr.ph ], [ %1252, %._crit_edge944 ]
  %1236 = phi i32 [ %.pre1317, %.preheader906.lr.ph ], [ %1253, %._crit_edge944 ]
  %.0701947 = phi i32 [ 0, %.preheader906.lr.ph ], [ %1260, %._crit_edge944 ]
  %.0702946 = phi ptr [ %2, %.preheader906.lr.ph ], [ %1256, %._crit_edge944 ]
  %.3945 = phi ptr [ %.1, %.preheader906.lr.ph ], [ %1259, %._crit_edge944 ]
  %1237 = icmp sgt i32 %1236, 0
  br i1 %1237, label %.lr.ph943, label %._crit_edge944

.lr.ph943:                                        ; preds = %.preheader906, %.lr.ph943
  %indvars.iv1213 = phi i64 [ %indvars.iv.next1214, %.lr.ph943 ], [ 0, %.preheader906 ]
  %1238 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1198, i64 noundef %indvars.iv1213) #6
  %1239 = load i32, ptr %1238, align 4, !tbaa !26
  %1240 = sext i32 %1239 to i64
  %1241 = getelementptr inbounds %class.S24, ptr %.0702946, i64 %1240
  %1242 = tail call noundef i32 @_ZN3S245asIntEv(ptr noundef nonnull align 1 dereferenceable(3) %1241)
  %1243 = lshr i32 %1242, 16
  %1244 = trunc i32 %1243 to i8
  %1245 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1199, i64 noundef %indvars.iv1213) #6
  %1246 = load i32, ptr %1245, align 4, !tbaa !26
  %1247 = sext i32 %1246 to i64
  %1248 = getelementptr inbounds i8, ptr %.3945, i64 %1247
  store i8 %1244, ptr %1248, align 1, !tbaa !37
  %indvars.iv.next1214 = add nuw nsw i64 %indvars.iv1213, 1
  %1249 = load i32, ptr %3, align 8, !tbaa !36
  %1250 = sext i32 %1249 to i64
  %1251 = icmp slt i64 %indvars.iv.next1214, %1250
  br i1 %1251, label %.lr.ph943, label %._crit_edge944.loopexit, !llvm.loop !110

._crit_edge944.loopexit:                          ; preds = %.lr.ph943
  %.pre1318 = load i32, ptr %1196, align 4, !tbaa !27
  br label %._crit_edge944

._crit_edge944:                                   ; preds = %._crit_edge944.loopexit, %.preheader906
  %1252 = phi i32 [ %.pre1318, %._crit_edge944.loopexit ], [ %1235, %.preheader906 ]
  %1253 = phi i32 [ %1249, %._crit_edge944.loopexit ], [ %1236, %.preheader906 ]
  %1254 = load i32, ptr %1200, align 4, !tbaa !41
  %1255 = sext i32 %1254 to i64
  %1256 = getelementptr inbounds %class.S24, ptr %.0702946, i64 %1255
  %1257 = load i32, ptr %1201, align 8, !tbaa !28
  %1258 = sext i32 %1257 to i64
  %1259 = getelementptr inbounds i8, ptr %.3945, i64 %1258
  %1260 = add nuw i32 %.0701947, 1
  %1261 = icmp ult i32 %1260, %1252
  br i1 %1261, label %.preheader906, label %.loopexit, !llvm.loop !111

.preheader909:                                    ; preds = %.preheader909.lr.ph, %._crit_edge938
  %1262 = phi i32 [ %1191, %.preheader909.lr.ph ], [ %1279, %._crit_edge938 ]
  %1263 = phi i32 [ %.pre1315, %.preheader909.lr.ph ], [ %1280, %._crit_edge938 ]
  %.0699941 = phi i32 [ 0, %.preheader909.lr.ph ], [ %1287, %._crit_edge938 ]
  %.0700940 = phi ptr [ %2, %.preheader909.lr.ph ], [ %1283, %._crit_edge938 ]
  %.4939 = phi ptr [ %.1, %.preheader909.lr.ph ], [ %1286, %._crit_edge938 ]
  %1264 = icmp sgt i32 %1263, 0
  br i1 %1264, label %.lr.ph937, label %._crit_edge938

.lr.ph937:                                        ; preds = %.preheader909, %.lr.ph937
  %indvars.iv1210 = phi i64 [ %indvars.iv.next1211, %.lr.ph937 ], [ 0, %.preheader909 ]
  %1265 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1192, i64 noundef %indvars.iv1210) #6
  %1266 = load i32, ptr %1265, align 4, !tbaa !26
  %1267 = sext i32 %1266 to i64
  %1268 = getelementptr inbounds i32, ptr %.0700940, i64 %1267
  %1269 = load i32, ptr %1268, align 4, !tbaa !26
  %1270 = lshr i32 %1269, 24
  %1271 = trunc nuw i32 %1270 to i8
  %1272 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1193, i64 noundef %indvars.iv1210) #6
  %1273 = load i32, ptr %1272, align 4, !tbaa !26
  %1274 = sext i32 %1273 to i64
  %1275 = getelementptr inbounds i8, ptr %.4939, i64 %1274
  store i8 %1271, ptr %1275, align 1, !tbaa !37
  %indvars.iv.next1211 = add nuw nsw i64 %indvars.iv1210, 1
  %1276 = load i32, ptr %3, align 8, !tbaa !36
  %1277 = sext i32 %1276 to i64
  %1278 = icmp slt i64 %indvars.iv.next1211, %1277
  br i1 %1278, label %.lr.ph937, label %._crit_edge938.loopexit, !llvm.loop !112

._crit_edge938.loopexit:                          ; preds = %.lr.ph937
  %.pre1316 = load i32, ptr %1190, align 4, !tbaa !27
  br label %._crit_edge938

._crit_edge938:                                   ; preds = %._crit_edge938.loopexit, %.preheader909
  %1279 = phi i32 [ %.pre1316, %._crit_edge938.loopexit ], [ %1262, %.preheader909 ]
  %1280 = phi i32 [ %1276, %._crit_edge938.loopexit ], [ %1263, %.preheader909 ]
  %1281 = load i32, ptr %1194, align 4, !tbaa !41
  %1282 = sext i32 %1281 to i64
  %1283 = getelementptr inbounds i32, ptr %.0700940, i64 %1282
  %1284 = load i32, ptr %1195, align 8, !tbaa !28
  %1285 = sext i32 %1284 to i64
  %1286 = getelementptr inbounds i8, ptr %.4939, i64 %1285
  %1287 = add nuw i32 %.0699941, 1
  %1288 = icmp ult i32 %1287, %1279
  br i1 %1288, label %.preheader909, label %.loopexit, !llvm.loop !113

.preheader912:                                    ; preds = %.preheader912.lr.ph, %._crit_edge932
  %1289 = phi i32 [ %1185, %.preheader912.lr.ph ], [ %1307, %._crit_edge932 ]
  %1290 = phi i32 [ %.pre1313, %.preheader912.lr.ph ], [ %1308, %._crit_edge932 ]
  %.0697935 = phi i32 [ 0, %.preheader912.lr.ph ], [ %1315, %._crit_edge932 ]
  %.0698934 = phi ptr [ %2, %.preheader912.lr.ph ], [ %1311, %._crit_edge932 ]
  %.5933 = phi ptr [ %.1, %.preheader912.lr.ph ], [ %1314, %._crit_edge932 ]
  %1291 = icmp sgt i32 %1290, 0
  br i1 %1291, label %.lr.ph931, label %._crit_edge932

.lr.ph931:                                        ; preds = %.preheader912, %.lr.ph931
  %indvars.iv1207 = phi i64 [ %indvars.iv.next1208, %.lr.ph931 ], [ 0, %.preheader912 ]
  %1292 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1186, i64 noundef %indvars.iv1207) #6
  %1293 = load i32, ptr %1292, align 4, !tbaa !26
  %1294 = sext i32 %1293 to i64
  %1295 = getelementptr inbounds float, ptr %.0698934, i64 %1294
  %1296 = load float, ptr %1295, align 4, !tbaa !51
  %1297 = fpext float %1296 to double
  %1298 = tail call double @llvm.fmuladd.f64(double %1297, double 1.275000e+02, double -5.000000e-01)
  %1299 = fptosi double %1298 to i8
  %1300 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1187, i64 noundef %indvars.iv1207) #6
  %1301 = load i32, ptr %1300, align 4, !tbaa !26
  %1302 = sext i32 %1301 to i64
  %1303 = getelementptr inbounds i8, ptr %.5933, i64 %1302
  store i8 %1299, ptr %1303, align 1, !tbaa !37
  %indvars.iv.next1208 = add nuw nsw i64 %indvars.iv1207, 1
  %1304 = load i32, ptr %3, align 8, !tbaa !36
  %1305 = sext i32 %1304 to i64
  %1306 = icmp slt i64 %indvars.iv.next1208, %1305
  br i1 %1306, label %.lr.ph931, label %._crit_edge932.loopexit, !llvm.loop !114

._crit_edge932.loopexit:                          ; preds = %.lr.ph931
  %.pre1314 = load i32, ptr %1184, align 4, !tbaa !27
  br label %._crit_edge932

._crit_edge932:                                   ; preds = %._crit_edge932.loopexit, %.preheader912
  %1307 = phi i32 [ %.pre1314, %._crit_edge932.loopexit ], [ %1289, %.preheader912 ]
  %1308 = phi i32 [ %1304, %._crit_edge932.loopexit ], [ %1290, %.preheader912 ]
  %1309 = load i32, ptr %1188, align 4, !tbaa !41
  %1310 = sext i32 %1309 to i64
  %1311 = getelementptr inbounds float, ptr %.0698934, i64 %1310
  %1312 = load i32, ptr %1189, align 8, !tbaa !28
  %1313 = sext i32 %1312 to i64
  %1314 = getelementptr inbounds i8, ptr %.5933, i64 %1313
  %1315 = add nuw i32 %.0697935, 1
  %1316 = icmp ult i32 %1315, %1307
  br i1 %1316, label %.preheader912, label %.loopexit, !llvm.loop !115

.preheader915:                                    ; preds = %.preheader915.lr.ph, %._crit_edge926
  %1317 = phi i32 [ %1179, %.preheader915.lr.ph ], [ %1334, %._crit_edge926 ]
  %1318 = phi i32 [ %.pre1311, %.preheader915.lr.ph ], [ %1335, %._crit_edge926 ]
  %.0929 = phi i32 [ 0, %.preheader915.lr.ph ], [ %1342, %._crit_edge926 ]
  %.0696928 = phi ptr [ %2, %.preheader915.lr.ph ], [ %1338, %._crit_edge926 ]
  %.6927 = phi ptr [ %.1, %.preheader915.lr.ph ], [ %1341, %._crit_edge926 ]
  %1319 = icmp sgt i32 %1318, 0
  br i1 %1319, label %.lr.ph925, label %._crit_edge926

.lr.ph925:                                        ; preds = %.preheader915, %.lr.ph925
  %indvars.iv1204 = phi i64 [ %indvars.iv.next1205, %.lr.ph925 ], [ 0, %.preheader915 ]
  %1320 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1180, i64 noundef %indvars.iv1204) #6
  %1321 = load i32, ptr %1320, align 4, !tbaa !26
  %1322 = sext i32 %1321 to i64
  %1323 = getelementptr inbounds double, ptr %.0696928, i64 %1322
  %1324 = load double, ptr %1323, align 8, !tbaa !38
  %1325 = tail call double @llvm.fmuladd.f64(double %1324, double 1.275000e+02, double -5.000000e-01)
  %1326 = fptosi double %1325 to i8
  %1327 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1181, i64 noundef %indvars.iv1204) #6
  %1328 = load i32, ptr %1327, align 4, !tbaa !26
  %1329 = sext i32 %1328 to i64
  %1330 = getelementptr inbounds i8, ptr %.6927, i64 %1329
  store i8 %1326, ptr %1330, align 1, !tbaa !37
  %indvars.iv.next1205 = add nuw nsw i64 %indvars.iv1204, 1
  %1331 = load i32, ptr %3, align 8, !tbaa !36
  %1332 = sext i32 %1331 to i64
  %1333 = icmp slt i64 %indvars.iv.next1205, %1332
  br i1 %1333, label %.lr.ph925, label %._crit_edge926.loopexit, !llvm.loop !116

._crit_edge926.loopexit:                          ; preds = %.lr.ph925
  %.pre1312 = load i32, ptr %1178, align 4, !tbaa !27
  br label %._crit_edge926

._crit_edge926:                                   ; preds = %._crit_edge926.loopexit, %.preheader915
  %1334 = phi i32 [ %.pre1312, %._crit_edge926.loopexit ], [ %1317, %.preheader915 ]
  %1335 = phi i32 [ %1331, %._crit_edge926.loopexit ], [ %1318, %.preheader915 ]
  %1336 = load i32, ptr %1182, align 4, !tbaa !41
  %1337 = sext i32 %1336 to i64
  %1338 = getelementptr inbounds double, ptr %.0696928, i64 %1337
  %1339 = load i32, ptr %1183, align 8, !tbaa !28
  %1340 = sext i32 %1339 to i64
  %1341 = getelementptr inbounds i8, ptr %.6927, i64 %1340
  %1342 = add nuw i32 %.0929, 1
  %1343 = icmp ult i32 %1342, %1334
  br i1 %1343, label %.preheader915, label %.loopexit, !llvm.loop !117

.loopexit:                                        ; preds = %._crit_edge926, %._crit_edge932, %._crit_edge938, %._crit_edge944, %._crit_edge950, %._crit_edge956, %._crit_edge962, %._crit_edge968, %._crit_edge974, %._crit_edge980, %._crit_edge986, %._crit_edge992, %._crit_edge998, %._crit_edge1004, %._crit_edge1010, %._crit_edge1016, %._crit_edge1022, %._crit_edge1028, %._crit_edge1034, %._crit_edge1040, %._crit_edge1046, %._crit_edge1052, %._crit_edge1058, %._crit_edge1064, %._crit_edge1070, %._crit_edge1076, %._crit_edge1082, %._crit_edge1088, %._crit_edge1094, %._crit_edge1100, %._crit_edge1106, %._crit_edge1112, %._crit_edge1118, %._crit_edge1124, %._crit_edge1130, %.preheader919, %.preheader916, %.preheader913, %.preheader910, %.preheader907, %.preheader904, %.preheader901, %.preheader898, %.preheader895, %.preheader892, %.preheader889, %.preheader886, %.preheader883, %.preheader880, %.preheader877, %.preheader874, %.preheader871, %.preheader868, %.preheader865, %.preheader862, %.preheader859, %.preheader856, %.preheader853, %.preheader850, %.preheader847, %.preheader844, %.preheader841, %.preheader838, %.preheader835, %.preheader832, %.preheader829, %.preheader826, %.preheader823, %.preheader820, %.preheader817, %.preheader815, %thread-pre-split, %33, %937, %734, %520, %278, %36
  ret void
}

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

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #4

; 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 #2 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) #5

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 nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { 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 464}
!6 = !{!"_ZTS5RtApi", !7, i64 8, !16, i64 384, !19, i64 416, !20, i64 424, !19, i64 792}
!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 = !{!"bool", !12, i64 0}
!20 = !{!"_ZTSN5RtApi11RtApiStreamE", !12, i64 0, !11, i64 8, !21, i64 16, !22, i64 20, !12, i64 24, !11, i64 40, !12, i64 48, !19, i64 50, !12, i64 51, !12, i64 53, !23, i64 56, !23, i64 60, !23, i64 64, !12, i64 68, !12, i64 76, !12, i64 84, !12, i64 96, !18, i64 112, !12, i64 120, !23, i64 136, !24, i64 144, !12, i64 200, !25, i64 360}
!21 = !{!"_ZTSN5RtApi10StreamModeE", !12, i64 0}
!22 = !{!"_ZTSN5RtApi11StreamStateE", !12, i64 0}
!23 = !{!"int", !12, i64 0}
!24 = !{!"_ZTS12CallbackInfo", !11, i64 0, !23, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !19, i64 48, !19, i64 49, !23, i64 52}
!25 = !{!"double", !12, i64 0}
!26 = !{!23, !23, i64 0}
!27 = !{!6, !23, i64 484}
!28 = !{!29, !23, i64 8}
!29 = !{!"_ZTSN5RtApi11ConvertInfoE", !23, i64 0, !23, i64 4, !23, i64 8, !18, i64 16, !18, i64 24, !30, i64 32, !30, i64 56}
!30 = !{!"_ZTSSt6vectorIiSaIiEE", !31, i64 0}
!31 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!34 = !{!29, !18, i64 24}
!35 = !{!29, !18, i64 16}
!36 = !{!29, !23, i64 0}
!37 = !{!12, !12, i64 0}
!38 = !{!25, !25, i64 0}
!39 = distinct !{!39, !40}
!40 = !{!"llvm.loop.mustprogress"}
!41 = !{!29, !23, i64 4}
!42 = distinct !{!42, !40}
!43 = !{!44, !44, i64 0}
!44 = !{!"short", !12, i64 0}
!45 = distinct !{!45, !40}
!46 = distinct !{!46, !40}
!47 = distinct !{!47, !40}
!48 = distinct !{!48, !40}
!49 = distinct !{!49, !40}
!50 = distinct !{!50, !40}
!51 = !{!52, !52, i64 0}
!52 = !{!"float", !12, i64 0}
!53 = distinct !{!53, !40}
!54 = distinct !{!54, !40}
!55 = distinct !{!55, !40}
!56 = distinct !{!56, !40}
!57 = distinct !{!57, !40}
!58 = distinct !{!58, !40}
!59 = distinct !{!59, !40}
!60 = distinct !{!60, !40}
!61 = distinct !{!61, !40}
!62 = distinct !{!62, !40}
!63 = distinct !{!63, !40}
!64 = distinct !{!64, !40}
!65 = distinct !{!65, !40}
!66 = distinct !{!66, !40}
!67 = distinct !{!67, !40}
!68 = distinct !{!68, !40}
!69 = distinct !{!69, !40}
!70 = distinct !{!70, !40}
!71 = distinct !{!71, !40}
!72 = distinct !{!72, !40}
!73 = distinct !{!73, !40}
!74 = distinct !{!74, !40}
!75 = distinct !{!75, !40}
!76 = distinct !{!76, !40}
!77 = distinct !{!77, !40}
!78 = distinct !{!78, !40}
!79 = distinct !{!79, !40}
!80 = distinct !{!80, !40}
!81 = distinct !{!81, !40}
!82 = distinct !{!82, !40}
!83 = distinct !{!83, !40}
!84 = distinct !{!84, !40}
!85 = !{i64 0, i64 3, !37}
!86 = distinct !{!86, !40}
!87 = distinct !{!87, !40}
!88 = distinct !{!88, !40}
!89 = distinct !{!89, !40}
!90 = distinct !{!90, !40}
!91 = distinct !{!91, !40}
!92 = distinct !{!92, !40}
!93 = distinct !{!93, !40}
!94 = distinct !{!94, !40}
!95 = distinct !{!95, !40}
!96 = distinct !{!96, !40}
!97 = distinct !{!97, !40}
!98 = distinct !{!98, !40}
!99 = distinct !{!99, !40}
!100 = distinct !{!100, !40}
!101 = distinct !{!101, !40}
!102 = distinct !{!102, !40}
!103 = distinct !{!103, !40}
!104 = distinct !{!104, !40}
!105 = distinct !{!105, !40}
!106 = distinct !{!106, !40}
!107 = distinct !{!107, !40}
!108 = distinct !{!108, !40}
!109 = distinct !{!109, !40}
!110 = distinct !{!110, !40}
!111 = distinct !{!111, !40}
!112 = distinct !{!112, !40}
!113 = distinct !{!113, !40}
!114 = distinct !{!114, !40}
!115 = distinct !{!115, !40}
!116 = distinct !{!116, !40}
!117 = distinct !{!117, !40}


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