; LLVM IR from UBIC-repo/core :: Tools/Log.ll (ZN3LogC2Eh)

; 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.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"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::locale" = type { ptr }
%"class.std::chrono::duration" = type { i64 }
%"class.std::chrono::duration.2" = type { i64 }
%"class.std::chrono::time_point" = type { %"class.std::chrono::duration.2" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::hash" = type { i8 }
%"class.std::thread::id" = type { i64 }
%class.Log = type { i8, i8, ptr, %"class.std::basic_filebuf" }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.1 }
%union.anon.1 = type { i32 }

@.str.1 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [9 x i8], align 1

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN3LogC2Eh(ptr noundef nonnull align 8 dereferenceable(256) %0, i8 noundef zeroext %1) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca i8, align 1
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i8, align 1
  %9 = alloca i32, align 4
  %10 = alloca [1024 x i8], align 16
  %11 = alloca %"class.std::chrono::duration", align 8
  %12 = alloca %"class.std::chrono::duration.2", align 8
  %13 = alloca %"class.std::chrono::time_point", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca %"class.std::vector", align 8
  %16 = alloca %"class.std::vector", align 8
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca %"class.std::vector", align 8
  %19 = alloca %"class.std::vector", align 8
  %20 = alloca %"class.std::vector", align 8
  %21 = alloca %"class.std::vector", align 8
  %22 = alloca %"class.std::vector", align 8
  %23 = alloca %"class.std::vector", align 8
  %24 = alloca %"class.std::vector", align 8
  %25 = alloca %"class.std::vector", align 8
  %26 = alloca %"class.std::vector", align 8
  %27 = alloca %"class.std::vector", align 8
  %28 = alloca %"class.std::vector", align 8
  %29 = alloca %"class.std::vector", align 8
  %30 = alloca %"class.std::vector", align 8
  %31 = alloca %"class.std::vector", align 8
  %32 = alloca %"class.std::basic_ostream", align 8
  %33 = alloca %"struct.std::hash", align 1
  %34 = alloca %"class.std::thread::id", align 8
  %35 = alloca %"struct.std::hash", align 1
  %36 = alloca %"class.std::thread::id", align 8
  %37 = alloca %"class.std::vector", align 8
  %38 = alloca %"class.std::vector", align 8
  %39 = alloca %"class.std::vector", align 8
  %40 = alloca %"class.std::vector", align 8
  %41 = alloca %"class.std::vector", align 8
  %42 = alloca %"class.std::vector", align 8
  %43 = alloca %"class.std::vector", align 8
  %44 = alloca %"class.std::vector", align 8
  %45 = alloca %"class.std::vector", align 8
  %46 = alloca %"class.std::vector", align 8
  %47 = alloca %"class.std::vector", align 8
  %48 = alloca %"class.std::vector", align 8
  %49 = alloca %"class.std::vector", align 8
  %50 = alloca %"class.std::vector", align 8
  %51 = alloca %"class.std::vector", align 8
  %52 = alloca %"class.std::vector", align 8
  %53 = alloca %"class.std::vector", align 8
  %54 = alloca %"class.std::vector", align 8
  %55 = alloca %"class.std::basic_ostream", align 8
  %56 = alloca %"struct.std::hash", align 1
  %57 = alloca %"class.std::thread::id", align 8
  %58 = alloca %"struct.std::hash", align 1
  %59 = alloca %"class.std::thread::id", align 8
  %60 = alloca %"class.std::vector", align 8
  %61 = alloca %"class.std::vector", align 8
  %62 = alloca %"class.std::basic_ostream", align 8
  %63 = alloca %"struct.std::hash", align 1
  %64 = alloca %"class.std::thread::id", align 8
  %65 = alloca %"struct.std::hash", align 1
  %66 = alloca %"class.std::thread::id", align 8
  %67 = alloca %"class.std::vector", align 8
  %68 = alloca %"class.std::vector", align 8
  %69 = alloca %"class.std::basic_ostream", align 8
  %70 = alloca %"struct.std::hash", align 1
  %71 = alloca %"class.std::thread::id", align 8
  %72 = alloca %"struct.std::hash", align 1
  %73 = alloca %"class.std::thread::id", align 8
  %74 = alloca %"class.std::vector", align 8
  %75 = alloca %"class.std::vector", align 8
  %76 = alloca %"class.std::basic_ostream", align 8
  %77 = alloca %"struct.std::hash", align 1
  %78 = alloca %"class.std::thread::id", align 8
  %79 = alloca %"struct.std::hash", align 1
  %80 = alloca %"class.std::thread::id", align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store i8 %1, ptr %4, align 1, !tbaa !9
  %81 = load ptr, ptr %3, align 8
  %82 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 0
  store i8 0, ptr %82, align 8, !tbaa !10
  %83 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 1
  store i8 0, ptr %83, align 1, !tbaa !21
  %84 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  call void @_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(240) %84)
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #9
  %85 = invoke noundef nonnull align 8 dereferenceable(165) ptr @_ZN6Config8InstanceEv()
          to label %86 unwind label %103

86:                                               ; preds = %2
  store ptr %85, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #9
  %87 = load ptr, ptr %5, align 8, !tbaa !5
  %88 = invoke noundef zeroext i8 @_ZN6Config11getLogLevelEv(ptr noundef nonnull align 8 dereferenceable(165) %87)
          to label %89 unwind label %107

89:                                               ; preds = %86
  store i8 %88, ptr %8, align 1, !tbaa !9
  %90 = load i8, ptr %8, align 1, !tbaa !9
  %91 = zext i8 %90 to i32
  %92 = icmp eq i32 %91, 3
  br i1 %92, label %93, label %111

93:                                               ; preds = %89
  %94 = load i8, ptr %4, align 1, !tbaa !9
  %95 = zext i8 %94 to i32
  %96 = icmp eq i32 %95, 0
  br i1 %96, label %101, label %97

97:                                               ; preds = %93
  %98 = load i8, ptr %4, align 1, !tbaa !9
  %99 = zext i8 %98 to i32
  %100 = icmp eq i32 %99, 2
  br i1 %100, label %101, label %111

101:                                              ; preds = %97, %93
  %102 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 1
  store i8 1, ptr %102, align 1, !tbaa !21
  store i32 1, ptr %9, align 4
  br label %826

103:                                              ; preds = %2
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %6, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %7, align 4
  br label %831

107:                                              ; preds = %86
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %6, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %7, align 4
  br label %830

111:                                              ; preds = %97, %89
  call void @llvm.lifetime.start.p0(i64 1024, ptr %10) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  %112 = call i64 @_ZNSt6chrono3_V212system_clock3nowEv() #9
  %113 = getelementptr inbounds %"class.std::chrono::time_point", ptr %13, i32 0, i32 0
  %114 = getelementptr inbounds %"class.std::chrono::duration.2", ptr %113, i32 0, i32 0
  store i64 %112, ptr %114, align 8
  %115 = invoke i64 @_ZNKSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEE16time_since_epochEv(ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %116 unwind label %126

116:                                              ; preds = %111
  %117 = getelementptr inbounds %"class.std::chrono::duration.2", ptr %12, i32 0, i32 0
  store i64 %115, ptr %117, align 8
  %118 = invoke i64 @_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1EEEElS2_ILl1ELl1000000000EEEENSt9enable_ifIXsr13__is_durationIT_EE5valueES7_E4typeERKNS1_IT0_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %119 unwind label %126

119:                                              ; preds = %116
  %120 = getelementptr inbounds %"class.std::chrono::duration", ptr %11, i32 0, i32 0
  store i64 %118, ptr %120, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  %121 = load i8, ptr %4, align 1, !tbaa !9
  %122 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 0
  store i8 %121, ptr %122, align 8, !tbaa !10
  %123 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 0
  %124 = load i8, ptr %123, align 8, !tbaa !10
  %125 = zext i8 %124 to i32
  switch i32 %125, label %825 [
    i32 3, label %130
    i32 0, label %339
    i32 4, label %548
    i32 1, label %643
    i32 2, label %734
  ]

126:                                              ; preds = %116, %111
  %127 = landingpad { ptr, i32 }
          cleanup
  %128 = extractvalue { ptr, i32 } %127, 0
  store ptr %128, ptr %6, align 8
  %129 = extractvalue { ptr, i32 } %127, 1
  store i32 %129, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  br label %829

130:                                              ; preds = %119
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #9
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %15)
          to label %131 unwind label %151

131:                                              ; preds = %130
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %14, ptr noundef %15, ptr noundef @.str.1)
          to label %132 unwind label %155

132:                                              ; preds = %131
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  %133 = call i32 @rand() #9
  %134 = srem i32 %133, 100
  %135 = icmp eq i32 %134, 10
  br i1 %135, label %136, label %252

136:                                              ; preds = %132
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %137 unwind label %159

137:                                              ; preds = %136
  %138 = invoke noundef i64 @_ZN2FS14getEofPositionESt6vectorIhSaIhEE(ptr noundef %16)
          to label %139 unwind label %163

139:                                              ; preds = %137
  %140 = icmp ugt i64 %138, 100000000
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #9
  br i1 %140, label %141, label %251

141:                                              ; preds = %139
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %18)
          to label %142 unwind label %159

142:                                              ; preds = %141
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %17, ptr noundef %18, ptr noundef @.str.2)
          to label %143 unwind label %167

143:                                              ; preds = %142
  %144 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef %17)
          to label %145 unwind label %171

145:                                              ; preds = %143
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #9
  br i1 %144, label %146, label %185

146:                                              ; preds = %145
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %20)
          to label %147 unwind label %159

147:                                              ; preds = %146
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %19, ptr noundef %20, ptr noundef @.str.2)
          to label %148 unwind label %176

148:                                              ; preds = %147
  %149 = invoke noundef zeroext i1 @_ZN2FS10deleteFileESt6vectorIhSaIhEE(ptr noundef %19)
          to label %150 unwind label %180

150:                                              ; preds = %148
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  br label %185

151:                                              ; preds = %130
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %6, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %7, align 4
  br label %338

155:                                              ; preds = %131
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %6, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  br label %338

159:                                              ; preds = %255, %252, %225, %190, %185, %146, %141, %136
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %6, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %7, align 4
  br label %337

163:                                              ; preds = %137
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %6, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #9
  br label %337

167:                                              ; preds = %142
  %168 = landingpad { ptr, i32 }
          cleanup
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %6, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %7, align 4
  br label %175

171:                                              ; preds = %143
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %6, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #9
  br label %175

175:                                              ; preds = %171, %167
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #9
  br label %337

176:                                              ; preds = %147
  %177 = landingpad { ptr, i32 }
          cleanup
  %178 = extractvalue { ptr, i32 } %177, 0
  store ptr %178, ptr %6, align 8
  %179 = extractvalue { ptr, i32 } %177, 1
  store i32 %179, ptr %7, align 4
  br label %184

180:                                              ; preds = %148
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %6, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  br label %184

184:                                              ; preds = %180, %176
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  br label %337

185:                                              ; preds = %150, %145
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %22)
          to label %186 unwind label %159

186:                                              ; preds = %185
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %21, ptr noundef %22, ptr noundef @.str.3)
          to label %187 unwind label %197

187:                                              ; preds = %186
  %188 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef %21)
          to label %189 unwind label %201

189:                                              ; preds = %187
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  br i1 %188, label %190, label %225

190:                                              ; preds = %189
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %24)
          to label %191 unwind label %159

191:                                              ; preds = %190
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %23, ptr noundef %24, ptr noundef @.str.3)
          to label %192 unwind label %206

192:                                              ; preds = %191
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %26)
          to label %193 unwind label %210

193:                                              ; preds = %192
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %25, ptr noundef %26, ptr noundef @.str.2)
          to label %194 unwind label %214

194:                                              ; preds = %193
  %195 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef %23, ptr noundef %25)
          to label %196 unwind label %218

196:                                              ; preds = %194
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  br label %225

197:                                              ; preds = %186
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %6, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %7, align 4
  br label %205

201:                                              ; preds = %187
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %6, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  br label %205

205:                                              ; preds = %201, %197
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  br label %337

206:                                              ; preds = %191
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %6, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %7, align 4
  br label %224

210:                                              ; preds = %192
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %6, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %7, align 4
  br label %223

214:                                              ; preds = %193
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %6, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %7, align 4
  br label %222

218:                                              ; preds = %194
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %6, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #9
  br label %222

222:                                              ; preds = %218, %214
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #9
  br label %223

223:                                              ; preds = %222, %210
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  br label %224

224:                                              ; preds = %223, %206
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  br label %337

225:                                              ; preds = %196, %189
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %28)
          to label %226 unwind label %159

226:                                              ; preds = %225
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %27, ptr noundef %28, ptr noundef @.str.4)
          to label %227 unwind label %232

227:                                              ; preds = %226
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %30)
          to label %228 unwind label %236

228:                                              ; preds = %227
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %29, ptr noundef %30, ptr noundef @.str.3)
          to label %229 unwind label %240

229:                                              ; preds = %228
  %230 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef %27, ptr noundef %29)
          to label %231 unwind label %244

231:                                              ; preds = %229
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #9
  br label %251

232:                                              ; preds = %226
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %6, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %7, align 4
  br label %250

236:                                              ; preds = %227
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %6, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %7, align 4
  br label %249

240:                                              ; preds = %228
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %6, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %7, align 4
  br label %248

244:                                              ; preds = %229
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %6, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #9
  br label %248

248:                                              ; preds = %244, %240
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  br label %249

249:                                              ; preds = %248, %236
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  br label %250

250:                                              ; preds = %249, %232
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #9
  br label %337

251:                                              ; preds = %231, %139
  br label %252

252:                                              ; preds = %251, %132
  %253 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %254 unwind label %159

254:                                              ; preds = %252
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef %253, ptr noundef %31)
          to label %255 unwind label %311

255:                                              ; preds = %254
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  %256 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  %257 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %258 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %256, ptr noundef %257, i32 noundef 1)
          to label %259 unwind label %159

259:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 272, ptr %32) #9
  %260 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef %260)
          to label %261 unwind label %315

261:                                              ; preds = %259
  %262 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 272) #10
          to label %263 unwind label %319

263:                                              ; preds = %261
  %264 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %262, ptr noundef %264)
          to label %265 unwind label %323

265:                                              ; preds = %263
  %266 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  store ptr %262, ptr %266, align 8, !tbaa !22
  %267 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %268 = load ptr, ptr %267, align 8, !tbaa !22
  %269 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %268, ptr noundef @.str.5)
          to label %270 unwind label %319

270:                                              ; preds = %265
  %271 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %269, ptr noundef @.str.6)
          to label %272 unwind label %319

272:                                              ; preds = %270
  %273 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %274 unwind label %319

274:                                              ; preds = %272
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %271, i64 noundef %273)
          to label %276 unwind label %319

276:                                              ; preds = %274
  %277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %275, ptr noundef @.str.7)
          to label %278 unwind label %319

278:                                              ; preds = %276
  %279 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %280 = load ptr, ptr %279, align 8, !tbaa !22
  %281 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %280, ptr noundef @.str.8)
          to label %282 unwind label %319

282:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #9
  %283 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %284 = getelementptr inbounds %"class.std::thread::id", ptr %34, i32 0, i32 0
  store i64 %283, ptr %284, align 8
  %285 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %33, ptr noundef nonnull align 8 dereferenceable(8) %34) #9
  %286 = urem i64 %285, 100000
  %287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %281, i64 noundef %286)
          to label %288 unwind label %327

288:                                              ; preds = %282
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %287, ptr noundef @.str.9)
          to label %290 unwind label %327

290:                                              ; preds = %288
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #9
  %291 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.5)
          to label %292 unwind label %319

292:                                              ; preds = %290
  %293 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %291, ptr noundef @.str.6)
          to label %294 unwind label %319

294:                                              ; preds = %292
  %295 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %296 unwind label %319

296:                                              ; preds = %294
  %297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %293, i64 noundef %295)
          to label %298 unwind label %319

298:                                              ; preds = %296
  %299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %297, ptr noundef @.str.7)
          to label %300 unwind label %319

300:                                              ; preds = %298
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.8)
          to label %302 unwind label %319

302:                                              ; preds = %300
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  %303 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %304 = getelementptr inbounds %"class.std::thread::id", ptr %36, i32 0, i32 0
  store i64 %303, ptr %304, align 8
  %305 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %35, ptr noundef nonnull align 8 dereferenceable(8) %36) #9
  %306 = urem i64 %305, 100000
  %307 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %301, i64 noundef %306)
          to label %308 unwind label %331

308:                                              ; preds = %302
  %309 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %307, ptr noundef @.str.9)
          to label %310 unwind label %331

310:                                              ; preds = %308
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #9
  store i32 2, ptr %9, align 4
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr %32) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  br label %825

311:                                              ; preds = %254
  %312 = landingpad { ptr, i32 }
          cleanup
  %313 = extractvalue { ptr, i32 } %312, 0
  store ptr %313, ptr %6, align 8
  %314 = extractvalue { ptr, i32 } %312, 1
  store i32 %314, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  br label %337

315:                                              ; preds = %259
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %6, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %7, align 4
  br label %336

319:                                              ; preds = %300, %298, %296, %294, %292, %290, %278, %276, %274, %272, %270, %265, %261
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %6, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %7, align 4
  br label %335

323:                                              ; preds = %263
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %6, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %262, i64 noundef 272) #11
  br label %335

327:                                              ; preds = %288, %282
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %6, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #9
  br label %335

331:                                              ; preds = %308, %302
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %6, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #9
  br label %335

335:                                              ; preds = %331, %327, %323, %319
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  br label %336

336:                                              ; preds = %335, %315
  call void @llvm.lifetime.end.p0(i64 272, ptr %32) #9
  br label %337

337:                                              ; preds = %336, %311, %250, %224, %205, %184, %175, %163, %159
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  br label %338

338:                                              ; preds = %337, %155, %151
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  br label %829

339:                                              ; preds = %119
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #9
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %38)
          to label %340 unwind label %360

340:                                              ; preds = %339
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %37, ptr noundef %38, ptr noundef @.str.4)
          to label %341 unwind label %364

341:                                              ; preds = %340
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  %342 = call i32 @rand() #9
  %343 = srem i32 %342, 100
  %344 = icmp eq i32 %343, 10
  br i1 %344, label %345, label %461

345:                                              ; preds = %341
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %346 unwind label %368

346:                                              ; preds = %345
  %347 = invoke noundef i64 @_ZN2FS14getEofPositionESt6vectorIhSaIhEE(ptr noundef %39)
          to label %348 unwind label %372

348:                                              ; preds = %346
  %349 = icmp ugt i64 %347, 100000000
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  br i1 %349, label %350, label %460

350:                                              ; preds = %348
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %41)
          to label %351 unwind label %368

351:                                              ; preds = %350
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %40, ptr noundef %41, ptr noundef @.str.2)
          to label %352 unwind label %376

352:                                              ; preds = %351
  %353 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef %40)
          to label %354 unwind label %380

354:                                              ; preds = %352
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  br i1 %353, label %355, label %394

355:                                              ; preds = %354
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %43)
          to label %356 unwind label %368

356:                                              ; preds = %355
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %42, ptr noundef %43, ptr noundef @.str.2)
          to label %357 unwind label %385

357:                                              ; preds = %356
  %358 = invoke noundef zeroext i1 @_ZN2FS10deleteFileESt6vectorIhSaIhEE(ptr noundef %42)
          to label %359 unwind label %389

359:                                              ; preds = %357
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #9
  br label %394

360:                                              ; preds = %339
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %6, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %7, align 4
  br label %547

364:                                              ; preds = %340
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %6, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  br label %547

368:                                              ; preds = %464, %461, %434, %399, %394, %355, %350, %345
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %6, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %7, align 4
  br label %546

372:                                              ; preds = %346
  %373 = landingpad { ptr, i32 }
          cleanup
  %374 = extractvalue { ptr, i32 } %373, 0
  store ptr %374, ptr %6, align 8
  %375 = extractvalue { ptr, i32 } %373, 1
  store i32 %375, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  br label %546

376:                                              ; preds = %351
  %377 = landingpad { ptr, i32 }
          cleanup
  %378 = extractvalue { ptr, i32 } %377, 0
  store ptr %378, ptr %6, align 8
  %379 = extractvalue { ptr, i32 } %377, 1
  store i32 %379, ptr %7, align 4
  br label %384

380:                                              ; preds = %352
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %6, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  br label %384

384:                                              ; preds = %380, %376
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  br label %546

385:                                              ; preds = %356
  %386 = landingpad { ptr, i32 }
          cleanup
  %387 = extractvalue { ptr, i32 } %386, 0
  store ptr %387, ptr %6, align 8
  %388 = extractvalue { ptr, i32 } %386, 1
  store i32 %388, ptr %7, align 4
  br label %393

389:                                              ; preds = %357
  %390 = landingpad { ptr, i32 }
          cleanup
  %391 = extractvalue { ptr, i32 } %390, 0
  store ptr %391, ptr %6, align 8
  %392 = extractvalue { ptr, i32 } %390, 1
  store i32 %392, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  br label %393

393:                                              ; preds = %389, %385
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #9
  br label %546

394:                                              ; preds = %359, %354
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %45)
          to label %395 unwind label %368

395:                                              ; preds = %394
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %44, ptr noundef %45, ptr noundef @.str.3)
          to label %396 unwind label %406

396:                                              ; preds = %395
  %397 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef %44)
          to label %398 unwind label %410

398:                                              ; preds = %396
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  br i1 %397, label %399, label %434

399:                                              ; preds = %398
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %47)
          to label %400 unwind label %368

400:                                              ; preds = %399
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %46, ptr noundef %47, ptr noundef @.str.3)
          to label %401 unwind label %415

401:                                              ; preds = %400
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %49)
          to label %402 unwind label %419

402:                                              ; preds = %401
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %48, ptr noundef %49, ptr noundef @.str.2)
          to label %403 unwind label %423

403:                                              ; preds = %402
  %404 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef %46, ptr noundef %48)
          to label %405 unwind label %427

405:                                              ; preds = %403
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  br label %434

406:                                              ; preds = %395
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %6, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %7, align 4
  br label %414

410:                                              ; preds = %396
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %6, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  br label %414

414:                                              ; preds = %410, %406
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  br label %546

415:                                              ; preds = %400
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %6, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %7, align 4
  br label %433

419:                                              ; preds = %401
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %6, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %7, align 4
  br label %432

423:                                              ; preds = %402
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %6, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %7, align 4
  br label %431

427:                                              ; preds = %403
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %6, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #9
  br label %431

431:                                              ; preds = %427, %423
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #9
  br label %432

432:                                              ; preds = %431, %419
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #9
  br label %433

433:                                              ; preds = %432, %415
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  br label %546

434:                                              ; preds = %405, %398
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %51)
          to label %435 unwind label %368

435:                                              ; preds = %434
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %50, ptr noundef %51, ptr noundef @.str.4)
          to label %436 unwind label %441

436:                                              ; preds = %435
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %53)
          to label %437 unwind label %445

437:                                              ; preds = %436
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %52, ptr noundef %53, ptr noundef @.str.3)
          to label %438 unwind label %449

438:                                              ; preds = %437
  %439 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef %50, ptr noundef %52)
          to label %440 unwind label %453

440:                                              ; preds = %438
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  br label %460

441:                                              ; preds = %435
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %6, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %7, align 4
  br label %459

445:                                              ; preds = %436
  %446 = landingpad { ptr, i32 }
          cleanup
  %447 = extractvalue { ptr, i32 } %446, 0
  store ptr %447, ptr %6, align 8
  %448 = extractvalue { ptr, i32 } %446, 1
  store i32 %448, ptr %7, align 4
  br label %458

449:                                              ; preds = %437
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %6, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %7, align 4
  br label %457

453:                                              ; preds = %438
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %6, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #9
  br label %457

457:                                              ; preds = %453, %449
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  br label %458

458:                                              ; preds = %457, %445
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #9
  br label %459

459:                                              ; preds = %458, %441
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  br label %546

460:                                              ; preds = %440, %348
  br label %461

461:                                              ; preds = %460, %341
  %462 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %463 unwind label %368

463:                                              ; preds = %461
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef %462, ptr noundef %54)
          to label %464 unwind label %520

464:                                              ; preds = %463
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  %465 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  %466 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %467 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %465, ptr noundef %466, i32 noundef 1)
          to label %468 unwind label %368

468:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 272, ptr %55) #9
  %469 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef %469)
          to label %470 unwind label %524

470:                                              ; preds = %468
  %471 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 272) #10
          to label %472 unwind label %528

472:                                              ; preds = %470
  %473 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %471, ptr noundef %473)
          to label %474 unwind label %532

474:                                              ; preds = %472
  %475 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  store ptr %471, ptr %475, align 8, !tbaa !22
  %476 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %477 = load ptr, ptr %476, align 8, !tbaa !22
  %478 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %477, ptr noundef @.str.5)
          to label %479 unwind label %528

479:                                              ; preds = %474
  %480 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %478, ptr noundef @.str.10)
          to label %481 unwind label %528

481:                                              ; preds = %479
  %482 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %483 unwind label %528

483:                                              ; preds = %481
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %480, i64 noundef %482)
          to label %485 unwind label %528

485:                                              ; preds = %483
  %486 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %484, ptr noundef @.str.11)
          to label %487 unwind label %528

487:                                              ; preds = %485
  %488 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %489 = load ptr, ptr %488, align 8, !tbaa !22
  %490 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %489, ptr noundef @.str.8)
          to label %491 unwind label %528

491:                                              ; preds = %487
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #9
  %492 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %493 = getelementptr inbounds %"class.std::thread::id", ptr %57, i32 0, i32 0
  store i64 %492, ptr %493, align 8
  %494 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %56, ptr noundef nonnull align 8 dereferenceable(8) %57) #9
  %495 = urem i64 %494, 100000
  %496 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %490, i64 noundef %495)
          to label %497 unwind label %536

497:                                              ; preds = %491
  %498 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %496, ptr noundef @.str.9)
          to label %499 unwind label %536

499:                                              ; preds = %497
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #9
  %500 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.5)
          to label %501 unwind label %528

501:                                              ; preds = %499
  %502 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %500, ptr noundef @.str.10)
          to label %503 unwind label %528

503:                                              ; preds = %501
  %504 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %505 unwind label %528

505:                                              ; preds = %503
  %506 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %502, i64 noundef %504)
          to label %507 unwind label %528

507:                                              ; preds = %505
  %508 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %506, ptr noundef @.str.7)
          to label %509 unwind label %528

509:                                              ; preds = %507
  %510 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.8)
          to label %511 unwind label %528

511:                                              ; preds = %509
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #9
  %512 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %513 = getelementptr inbounds %"class.std::thread::id", ptr %59, i32 0, i32 0
  store i64 %512, ptr %513, align 8
  %514 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) #9
  %515 = urem i64 %514, 100000
  %516 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %510, i64 noundef %515)
          to label %517 unwind label %540

517:                                              ; preds = %511
  %518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %516, ptr noundef @.str.9)
          to label %519 unwind label %540

519:                                              ; preds = %517
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #9
  store i32 2, ptr %9, align 4
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr %55) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #9
  br label %825

520:                                              ; preds = %463
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %6, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  br label %546

524:                                              ; preds = %468
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %6, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %7, align 4
  br label %545

528:                                              ; preds = %509, %507, %505, %503, %501, %499, %487, %485, %483, %481, %479, %474, %470
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %6, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %7, align 4
  br label %544

532:                                              ; preds = %472
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %6, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %471, i64 noundef 272) #11
  br label %544

536:                                              ; preds = %497, %491
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %6, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #9
  br label %544

540:                                              ; preds = %517, %511
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %6, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #9
  br label %544

544:                                              ; preds = %540, %536, %532, %528
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #9
  br label %545

545:                                              ; preds = %544, %524
  call void @llvm.lifetime.end.p0(i64 272, ptr %55) #9
  br label %546

546:                                              ; preds = %545, %520, %459, %433, %414, %393, %384, %372, %368
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  br label %547

547:                                              ; preds = %546, %364, %360
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #9
  br label %829

548:                                              ; preds = %119
  %549 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %61)
          to label %550 unwind label %608

550:                                              ; preds = %548
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %60, ptr noundef %61, ptr noundef @.str.12)
          to label %551 unwind label %612

551:                                              ; preds = %550
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef %549, ptr noundef %60)
          to label %552 unwind label %616

552:                                              ; preds = %551
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  %553 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  %554 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %555 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %553, ptr noundef %554, i32 noundef 1)
          to label %556 unwind label %608

556:                                              ; preds = %552
  call void @llvm.lifetime.start.p0(i64 272, ptr %62) #9
  %557 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef %557)
          to label %558 unwind label %621

558:                                              ; preds = %556
  %559 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 272) #10
          to label %560 unwind label %625

560:                                              ; preds = %558
  %561 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %559, ptr noundef %561)
          to label %562 unwind label %629

562:                                              ; preds = %560
  %563 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  store ptr %559, ptr %563, align 8, !tbaa !22
  %564 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %565 = load ptr, ptr %564, align 8, !tbaa !22
  %566 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %565, ptr noundef @.str.5)
          to label %567 unwind label %625

567:                                              ; preds = %562
  %568 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %566, ptr noundef @.str.13)
          to label %569 unwind label %625

569:                                              ; preds = %567
  %570 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %571 unwind label %625

571:                                              ; preds = %569
  %572 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %568, i64 noundef %570)
          to label %573 unwind label %625

573:                                              ; preds = %571
  %574 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %572, ptr noundef @.str.7)
          to label %575 unwind label %625

575:                                              ; preds = %573
  %576 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %577 = load ptr, ptr %576, align 8, !tbaa !22
  %578 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %577, ptr noundef @.str.8)
          to label %579 unwind label %625

579:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #9
  %580 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %581 = getelementptr inbounds %"class.std::thread::id", ptr %64, i32 0, i32 0
  store i64 %580, ptr %581, align 8
  %582 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %63, ptr noundef nonnull align 8 dereferenceable(8) %64) #9
  %583 = urem i64 %582, 100000
  %584 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %578, i64 noundef %583)
          to label %585 unwind label %633

585:                                              ; preds = %579
  %586 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %584, ptr noundef @.str.9)
          to label %587 unwind label %633

587:                                              ; preds = %585
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #9
  %588 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.5)
          to label %589 unwind label %625

589:                                              ; preds = %587
  %590 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %588, ptr noundef @.str.13)
          to label %591 unwind label %625

591:                                              ; preds = %589
  %592 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %593 unwind label %625

593:                                              ; preds = %591
  %594 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %590, i64 noundef %592)
          to label %595 unwind label %625

595:                                              ; preds = %593
  %596 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %594, ptr noundef @.str.7)
          to label %597 unwind label %625

597:                                              ; preds = %595
  %598 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.8)
          to label %599 unwind label %625

599:                                              ; preds = %597
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #9
  %600 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %601 = getelementptr inbounds %"class.std::thread::id", ptr %66, i32 0, i32 0
  store i64 %600, ptr %601, align 8
  %602 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %65, ptr noundef nonnull align 8 dereferenceable(8) %66) #9
  %603 = urem i64 %602, 100000
  %604 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %598, i64 noundef %603)
          to label %605 unwind label %637

605:                                              ; preds = %599
  %606 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %604, ptr noundef @.str.9)
          to label %607 unwind label %637

607:                                              ; preds = %605
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  store i32 2, ptr %9, align 4
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr %62) #9
  br label %825

608:                                              ; preds = %738, %734, %647, %643, %552, %548
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %6, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %7, align 4
  br label %829

612:                                              ; preds = %550
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %6, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %7, align 4
  br label %620

616:                                              ; preds = %551
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %6, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  br label %620

620:                                              ; preds = %616, %612
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  br label %829

621:                                              ; preds = %556
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %6, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %7, align 4
  br label %642

625:                                              ; preds = %597, %595, %593, %591, %589, %587, %575, %573, %571, %569, %567, %562, %558
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %6, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %7, align 4
  br label %641

629:                                              ; preds = %560
  %630 = landingpad { ptr, i32 }
          cleanup
  %631 = extractvalue { ptr, i32 } %630, 0
  store ptr %631, ptr %6, align 8
  %632 = extractvalue { ptr, i32 } %630, 1
  store i32 %632, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %559, i64 noundef 272) #11
  br label %641

633:                                              ; preds = %585, %579
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %6, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #9
  br label %641

637:                                              ; preds = %605, %599
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %6, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  br label %641

641:                                              ; preds = %637, %633, %629, %625
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #9
  br label %642

642:                                              ; preds = %641, %621
  call void @llvm.lifetime.end.p0(i64 272, ptr %62) #9
  br label %829

643:                                              ; preds = %119
  %644 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %68)
          to label %645 unwind label %608

645:                                              ; preds = %643
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %67, ptr noundef %68, ptr noundef @.str.14)
          to label %646 unwind label %703

646:                                              ; preds = %645
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef %644, ptr noundef %67)
          to label %647 unwind label %707

647:                                              ; preds = %646
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #9
  %648 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  %649 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %650 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %648, ptr noundef %649, i32 noundef 1)
          to label %651 unwind label %608

651:                                              ; preds = %647
  call void @llvm.lifetime.start.p0(i64 272, ptr %69) #9
  %652 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef %652)
          to label %653 unwind label %712

653:                                              ; preds = %651
  %654 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 272) #10
          to label %655 unwind label %716

655:                                              ; preds = %653
  %656 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %654, ptr noundef %656)
          to label %657 unwind label %720

657:                                              ; preds = %655
  %658 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  store ptr %654, ptr %658, align 8, !tbaa !22
  %659 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %660 = load ptr, ptr %659, align 8, !tbaa !22
  %661 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %660, ptr noundef @.str.5)
          to label %662 unwind label %716

662:                                              ; preds = %657
  %663 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %661, ptr noundef @.str.15)
          to label %664 unwind label %716

664:                                              ; preds = %662
  %665 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %666 unwind label %716

666:                                              ; preds = %664
  %667 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %663, i64 noundef %665)
          to label %668 unwind label %716

668:                                              ; preds = %666
  %669 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %667, ptr noundef @.str.7)
          to label %670 unwind label %716

670:                                              ; preds = %668
  %671 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %672 = load ptr, ptr %671, align 8, !tbaa !22
  %673 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %672, ptr noundef @.str.8)
          to label %674 unwind label %716

674:                                              ; preds = %670
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #9
  %675 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %676 = getelementptr inbounds %"class.std::thread::id", ptr %71, i32 0, i32 0
  store i64 %675, ptr %676, align 8
  %677 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %70, ptr noundef nonnull align 8 dereferenceable(8) %71) #9
  %678 = urem i64 %677, 100000
  %679 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %673, i64 noundef %678)
          to label %680 unwind label %724

680:                                              ; preds = %674
  %681 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %679, ptr noundef @.str.9)
          to label %682 unwind label %724

682:                                              ; preds = %680
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  %683 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.5)
          to label %684 unwind label %716

684:                                              ; preds = %682
  %685 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %683, ptr noundef @.str.15)
          to label %686 unwind label %716

686:                                              ; preds = %684
  %687 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %688 unwind label %716

688:                                              ; preds = %686
  %689 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %685, i64 noundef %687)
          to label %690 unwind label %716

690:                                              ; preds = %688
  %691 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %689, ptr noundef @.str.7)
          to label %692 unwind label %716

692:                                              ; preds = %690
  %693 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.8)
          to label %694 unwind label %716

694:                                              ; preds = %692
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #9
  %695 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %696 = getelementptr inbounds %"class.std::thread::id", ptr %73, i32 0, i32 0
  store i64 %695, ptr %696, align 8
  %697 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %72, ptr noundef nonnull align 8 dereferenceable(8) %73) #9
  %698 = urem i64 %697, 100000
  %699 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %693, i64 noundef %698)
          to label %700 unwind label %728

700:                                              ; preds = %694
  %701 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %699, ptr noundef @.str.9)
          to label %702 unwind label %728

702:                                              ; preds = %700
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #9
  store i32 2, ptr %9, align 4
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr %69) #9
  br label %825

703:                                              ; preds = %645
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %6, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %7, align 4
  br label %711

707:                                              ; preds = %646
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %6, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  br label %711

711:                                              ; preds = %707, %703
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #9
  br label %829

712:                                              ; preds = %651
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %6, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %7, align 4
  br label %733

716:                                              ; preds = %692, %690, %688, %686, %684, %682, %670, %668, %666, %664, %662, %657, %653
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %6, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %7, align 4
  br label %732

720:                                              ; preds = %655
  %721 = landingpad { ptr, i32 }
          cleanup
  %722 = extractvalue { ptr, i32 } %721, 0
  store ptr %722, ptr %6, align 8
  %723 = extractvalue { ptr, i32 } %721, 1
  store i32 %723, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %654, i64 noundef 272) #11
  br label %732

724:                                              ; preds = %680, %674
  %725 = landingpad { ptr, i32 }
          cleanup
  %726 = extractvalue { ptr, i32 } %725, 0
  store ptr %726, ptr %6, align 8
  %727 = extractvalue { ptr, i32 } %725, 1
  store i32 %727, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  br label %732

728:                                              ; preds = %700, %694
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %6, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #9
  br label %732

732:                                              ; preds = %728, %724, %720, %716
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #9
  br label %733

733:                                              ; preds = %732, %712
  call void @llvm.lifetime.end.p0(i64 272, ptr %69) #9
  br label %829

734:                                              ; preds = %119
  %735 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %75)
          to label %736 unwind label %608

736:                                              ; preds = %734
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %74, ptr noundef %75, ptr noundef @.str.16)
          to label %737 unwind label %794

737:                                              ; preds = %736
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef %735, ptr noundef %74)
          to label %738 unwind label %798

738:                                              ; preds = %737
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #9
  %739 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  %740 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %741 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %739, ptr noundef %740, i32 noundef 1)
          to label %742 unwind label %608

742:                                              ; preds = %738
  call void @llvm.lifetime.start.p0(i64 272, ptr %76) #9
  %743 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef %743)
          to label %744 unwind label %803

744:                                              ; preds = %742
  %745 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 272) #10
          to label %746 unwind label %807

746:                                              ; preds = %744
  %747 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 3
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %745, ptr noundef %747)
          to label %748 unwind label %811

748:                                              ; preds = %746
  %749 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  store ptr %745, ptr %749, align 8, !tbaa !22
  %750 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %751 = load ptr, ptr %750, align 8, !tbaa !22
  %752 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %751, ptr noundef @.str.5)
          to label %753 unwind label %807

753:                                              ; preds = %748
  %754 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %752, ptr noundef @.str.17)
          to label %755 unwind label %807

755:                                              ; preds = %753
  %756 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %757 unwind label %807

757:                                              ; preds = %755
  %758 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %754, i64 noundef %756)
          to label %759 unwind label %807

759:                                              ; preds = %757
  %760 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %758, ptr noundef @.str.7)
          to label %761 unwind label %807

761:                                              ; preds = %759
  %762 = getelementptr inbounds %class.Log, ptr %81, i32 0, i32 2
  %763 = load ptr, ptr %762, align 8, !tbaa !22
  %764 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %763, ptr noundef @.str.8)
          to label %765 unwind label %807

765:                                              ; preds = %761
  call void @llvm.lifetime.start.p0(i64 1, ptr %77) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #9
  %766 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %767 = getelementptr inbounds %"class.std::thread::id", ptr %78, i32 0, i32 0
  store i64 %766, ptr %767, align 8
  %768 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %77, ptr noundef nonnull align 8 dereferenceable(8) %78) #9
  %769 = urem i64 %768, 100000
  %770 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %764, i64 noundef %769)
          to label %771 unwind label %815

771:                                              ; preds = %765
  %772 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %770, ptr noundef @.str.9)
          to label %773 unwind label %815

773:                                              ; preds = %771
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #9
  %774 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.5)
          to label %775 unwind label %807

775:                                              ; preds = %773
  %776 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %774, ptr noundef @.str.17)
          to label %777 unwind label %807

777:                                              ; preds = %775
  %778 = invoke noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %779 unwind label %807

779:                                              ; preds = %777
  %780 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %776, i64 noundef %778)
          to label %781 unwind label %807

781:                                              ; preds = %779
  %782 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %780, ptr noundef @.str.7)
          to label %783 unwind label %807

783:                                              ; preds = %781
  %784 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.8)
          to label %785 unwind label %807

785:                                              ; preds = %783
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #9
  %786 = call i64 @_ZNSt11this_thread6get_idEv() #9
  %787 = getelementptr inbounds %"class.std::thread::id", ptr %80, i32 0, i32 0
  store i64 %786, ptr %787, align 8
  %788 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %79, ptr noundef nonnull align 8 dereferenceable(8) %80) #9
  %789 = urem i64 %788, 100000
  %790 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %784, i64 noundef %789)
          to label %791 unwind label %819

791:                                              ; preds = %785
  %792 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %790, ptr noundef @.str.9)
          to label %793 unwind label %819

793:                                              ; preds = %791
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #9
  store i32 2, ptr %9, align 4
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr %76) #9
  br label %825

794:                                              ; preds = %736
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %6, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %7, align 4
  br label %802

798:                                              ; preds = %737
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %6, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %7, align 4
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #9
  br label %802

802:                                              ; preds = %798, %794
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #9
  br label %829

803:                                              ; preds = %742
  %804 = landingpad { ptr, i32 }
          cleanup
  %805 = extractvalue { ptr, i32 } %804, 0
  store ptr %805, ptr %6, align 8
  %806 = extractvalue { ptr, i32 } %804, 1
  store i32 %806, ptr %7, align 4
  br label %824

807:                                              ; preds = %783, %781, %779, %777, %775, %773, %761, %759, %757, %755, %753, %748, %744
  %808 = landingpad { ptr, i32 }
          cleanup
  %809 = extractvalue { ptr, i32 } %808, 0
  store ptr %809, ptr %6, align 8
  %810 = extractvalue { ptr, i32 } %808, 1
  store i32 %810, ptr %7, align 4
  br label %823

811:                                              ; preds = %746
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %6, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %745, i64 noundef 272) #11
  br label %823

815:                                              ; preds = %771, %765
  %816 = landingpad { ptr, i32 }
          cleanup
  %817 = extractvalue { ptr, i32 } %816, 0
  store ptr %817, ptr %6, align 8
  %818 = extractvalue { ptr, i32 } %816, 1
  store i32 %818, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #9
  br label %823

819:                                              ; preds = %791, %785
  %820 = landingpad { ptr, i32 }
          cleanup
  %821 = extractvalue { ptr, i32 } %820, 0
  store ptr %821, ptr %6, align 8
  %822 = extractvalue { ptr, i32 } %820, 1
  store i32 %822, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #9
  br label %823

823:                                              ; preds = %819, %815, %811, %807
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #9
  br label %824

824:                                              ; preds = %823, %803
  call void @llvm.lifetime.end.p0(i64 272, ptr %76) #9
  br label %829

825:                                              ; preds = %793, %702, %607, %519, %310, %119
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %10) #9
  store i32 0, ptr %9, align 4
  br label %826

826:                                              ; preds = %825, %101
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #9
  %827 = load i32, ptr %9, align 4
  switch i32 %827, label %837 [
    i32 0, label %828
    i32 1, label %828
  ]

828:                                              ; preds = %826, %826
  ret void

829:                                              ; preds = %824, %802, %733, %711, %642, %620, %608, %547, %338, %126
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %10) #9
  br label %830

830:                                              ; preds = %829, %107
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #9
  br label %831

831:                                              ; preds = %830, %103
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #9
  call void @_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(240) %84) #9
  br label %832

832:                                              ; preds = %831
  %833 = load ptr, ptr %6, align 8
  %834 = load i32, ptr %7, align 4
  %835 = insertvalue { ptr, i32 } poison, ptr %833, 0
  %836 = insertvalue { ptr, i32 } %835, i32 %834, 1
  resume { ptr, i32 } %836

837:                                              ; preds = %826
  unreachable
}

declare void @_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(240)) unnamed_addr #2

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

declare noundef zeroext i8 @_ZN6Config11getLogLevelEv(ptr noundef nonnull align 8 dereferenceable(165)) #2

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1EEEElS2_ILl1ELl1000000000EEEENSt9enable_ifIXsr13__is_durationIT_EE5valueES7_E4typeERKNS1_IT0_T1_EE(ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: nounwind
declare i64 @_ZNSt6chrono3_V212system_clock3nowEv() #4

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

declare void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8, ptr noundef, ptr noundef) #2

declare void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8) #2

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

; Function Attrs: nounwind
declare i32 @rand() #4

declare noundef i64 @_ZN2FS14getEofPositionESt6vectorIhSaIhEE(ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

declare noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef) #2

declare noundef zeroext i1 @_ZN2FS10deleteFileESt6vectorIhSaIhEE(ptr noundef) #2

declare noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef, ptr noundef) #2

declare void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef, ptr noundef) #2

declare noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240), ptr noundef, i32 noundef) #2

; Function Attrs: mustprogress uwtable
declare void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #1 align 2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #5

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #7

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i64 @_ZNSt11this_thread6get_idEv() #8

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

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

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 = { "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 nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nobuiltin allocsize(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 #6 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { inlinehint 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 #8 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }
attributes #10 = { builtin allocsize(0) }
attributes #11 = { builtin 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 = !{!7, !7, i64 0}
!10 = !{!11, !7, i64 0}
!11 = !{!"_ZTS3Log", !7, i64 0, !12, i64 1, !6, i64 8, !13, i64 16}
!12 = !{!"bool", !7, i64 0}
!13 = !{!"_ZTSSt13basic_filebufIcSt11char_traitsIcEE", !14, i64 0, !7, i64 64, !16, i64 104, !17, i64 120, !18, i64 124, !18, i64 132, !18, i64 140, !6, i64 152, !20, i64 160, !12, i64 168, !12, i64 169, !12, i64 170, !7, i64 171, !6, i64 176, !6, i64 184, !12, i64 192, !6, i64 200, !6, i64 208, !20, i64 216, !6, i64 224, !6, i64 232}
!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 = !{!"_ZTSSt12__basic_fileIcE", !6, i64 0, !12, i64 8}
!17 = !{!"_ZTSSt13_Ios_Openmode", !7, i64 0}
!18 = !{!"_ZTS11__mbstate_t", !19, i64 0, !7, i64 4}
!19 = !{!"int", !7, i64 0}
!20 = !{!"long", !7, i64 0}
!21 = !{!11, !12, i64 1}
!22 = !{!11, !6, i64 8}


; 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.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"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::locale" = type { ptr }
%"class.std::chrono::duration" = type { i64 }
%"class.std::chrono::duration.2" = type { i64 }
%"class.std::chrono::time_point" = type { %"class.std::chrono::duration.2" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::hash" = type { i8 }
%"class.std::thread::id" = type { i64 }

@.str.1 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [9 x i8], align 1

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN3LogC2Eh(ptr noundef nonnull align 8 dereferenceable(256) %0, i8 noundef zeroext %1) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca [1024 x i8], align 16
  %4 = alloca %"class.std::chrono::duration", align 8
  %5 = alloca %"class.std::chrono::duration.2", align 8
  %6 = alloca %"class.std::chrono::time_point", align 8
  %7 = alloca %"class.std::vector", align 8
  %8 = alloca %"class.std::vector", align 8
  %9 = alloca %"class.std::vector", align 8
  %10 = alloca %"class.std::vector", align 8
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"class.std::vector", align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca %"class.std::vector", align 8
  %16 = alloca %"class.std::vector", align 8
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca %"class.std::vector", align 8
  %19 = alloca %"class.std::vector", align 8
  %20 = alloca %"class.std::vector", align 8
  %21 = alloca %"class.std::vector", align 8
  %22 = alloca %"class.std::vector", align 8
  %23 = alloca %"class.std::vector", align 8
  %24 = alloca %"class.std::vector", align 8
  %25 = alloca %"class.std::basic_ostream", align 8
  %26 = alloca %"struct.std::hash", align 1
  %27 = alloca %"class.std::thread::id", align 8
  %28 = alloca %"struct.std::hash", align 1
  %29 = alloca %"class.std::thread::id", align 8
  %30 = alloca %"class.std::vector", align 8
  %31 = alloca %"class.std::vector", align 8
  %32 = alloca %"class.std::vector", align 8
  %33 = alloca %"class.std::vector", align 8
  %34 = alloca %"class.std::vector", align 8
  %35 = alloca %"class.std::vector", align 8
  %36 = alloca %"class.std::vector", align 8
  %37 = alloca %"class.std::vector", align 8
  %38 = alloca %"class.std::vector", align 8
  %39 = alloca %"class.std::vector", align 8
  %40 = alloca %"class.std::vector", align 8
  %41 = alloca %"class.std::vector", align 8
  %42 = alloca %"class.std::vector", align 8
  %43 = alloca %"class.std::vector", align 8
  %44 = alloca %"class.std::vector", align 8
  %45 = alloca %"class.std::vector", align 8
  %46 = alloca %"class.std::vector", align 8
  %47 = alloca %"class.std::vector", align 8
  %48 = alloca %"class.std::basic_ostream", align 8
  %49 = alloca %"struct.std::hash", align 1
  %50 = alloca %"class.std::thread::id", align 8
  %51 = alloca %"struct.std::hash", align 1
  %52 = alloca %"class.std::thread::id", align 8
  %53 = alloca %"class.std::vector", align 8
  %54 = alloca %"class.std::vector", align 8
  %55 = alloca %"class.std::basic_ostream", align 8
  %56 = alloca %"struct.std::hash", align 1
  %57 = alloca %"class.std::thread::id", align 8
  %58 = alloca %"struct.std::hash", align 1
  %59 = alloca %"class.std::thread::id", align 8
  %60 = alloca %"class.std::vector", align 8
  %61 = alloca %"class.std::vector", align 8
  %62 = alloca %"class.std::basic_ostream", align 8
  %63 = alloca %"struct.std::hash", align 1
  %64 = alloca %"class.std::thread::id", align 8
  %65 = alloca %"struct.std::hash", align 1
  %66 = alloca %"class.std::thread::id", align 8
  %67 = alloca %"class.std::vector", align 8
  %68 = alloca %"class.std::vector", align 8
  %69 = alloca %"class.std::basic_ostream", align 8
  %70 = alloca %"struct.std::hash", align 1
  %71 = alloca %"class.std::thread::id", align 8
  %72 = alloca %"struct.std::hash", align 1
  %73 = alloca %"class.std::thread::id", align 8
  store i8 0, ptr %0, align 8, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %0, i64 1
  store i8 0, ptr %74, align 1, !tbaa !19
  %75 = getelementptr inbounds i8, ptr %0, i64 16
  tail call void @_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(240) %75)
  %76 = tail call noundef nonnull align 8 dereferenceable(165) ptr @_ZN6Config8InstanceEv()
  %77 = invoke noundef zeroext i8 @_ZN6Config11getLogLevelEv(ptr noundef nonnull align 8 dereferenceable(165) %76)
          to label %78 unwind label %82

78:                                               ; preds = %2
  %79 = icmp eq i8 %77, 3
  %80 = and i8 %1, -3
  %or.cond = icmp eq i8 %80, 0
  %or.cond100 = and i1 %or.cond, %79
  br i1 %or.cond100, label %81, label %84

81:                                               ; preds = %78
  store i8 1, ptr %74, align 1, !tbaa !19
  br label %585

82:                                               ; preds = %2
  %83 = landingpad { ptr, i32 }
          cleanup
  br label %587

84:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %3) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #9
  %85 = tail call i64 @_ZNSt6chrono3_V212system_clock3nowEv() #9
  store i64 %85, ptr %6, align 8
  %86 = call i64 @_ZNKSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEE16time_since_epochEv(ptr noundef nonnull align 8 dereferenceable(8) %6)
  store i64 %86, ptr %5, align 8
  %87 = invoke i64 @_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1EEEElS2_ILl1ELl1000000000EEEENSt9enable_ifIXsr13__is_durationIT_EE5valueES7_E4typeERKNS1_IT0_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %88 unwind label %89

88:                                               ; preds = %84
  store i64 %87, ptr %4, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9
  store i8 %1, ptr %0, align 8, !tbaa !5
  switch i8 %1, label %584 [
    i8 3, label %91
    i8 0, label %239
    i8 4, label %387
    i8 1, label %454
    i8 2, label %519
  ]

89:                                               ; preds = %84
  %90 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #9
  br label %586

91:                                               ; preds = %88
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #9
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %8)
          to label %92 unwind label %112

92:                                               ; preds = %91
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %7, ptr noundef nonnull %8, ptr noundef nonnull @.str.1)
          to label %93 unwind label %114

93:                                               ; preds = %92
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %94 = call i32 @rand() #9
  %95 = srem i32 %94, 100
  %96 = icmp eq i32 %95, 10
  br i1 %96, label %97, label %176

97:                                               ; preds = %93
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %98 unwind label %116

98:                                               ; preds = %97
  %99 = invoke noundef i64 @_ZN2FS14getEofPositionESt6vectorIhSaIhEE(ptr noundef nonnull %9)
          to label %100 unwind label %118

100:                                              ; preds = %98
  %101 = icmp ugt i64 %99, 100000000
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  br i1 %101, label %102, label %176

102:                                              ; preds = %100
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %11)
          to label %103 unwind label %116

103:                                              ; preds = %102
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %10, ptr noundef nonnull %11, ptr noundef nonnull @.str.2)
          to label %104 unwind label %120

104:                                              ; preds = %103
  %105 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef nonnull %10)
          to label %106 unwind label %122

106:                                              ; preds = %104
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  br i1 %105, label %107, label %130

107:                                              ; preds = %106
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %13)
          to label %108 unwind label %116

108:                                              ; preds = %107
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %12, ptr noundef nonnull %13, ptr noundef nonnull @.str.2)
          to label %109 unwind label %125

109:                                              ; preds = %108
  %110 = invoke noundef zeroext i1 @_ZN2FS10deleteFileESt6vectorIhSaIhEE(ptr noundef nonnull %12)
          to label %111 unwind label %127

111:                                              ; preds = %109
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  br label %130

112:                                              ; preds = %91
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %238

114:                                              ; preds = %92
  %115 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  br label %238

116:                                              ; preds = %178, %176, %158, %135, %130, %107, %102, %97
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %237

118:                                              ; preds = %98
  %119 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  br label %237

120:                                              ; preds = %103
  %121 = landingpad { ptr, i32 }
          cleanup
  br label %124

122:                                              ; preds = %104
  %123 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  br label %124

124:                                              ; preds = %122, %120
  %.pn79 = phi { ptr, i32 } [ %123, %122 ], [ %121, %120 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  br label %237

125:                                              ; preds = %108
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %129

127:                                              ; preds = %109
  %128 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  br label %129

129:                                              ; preds = %127, %125
  %.pn81 = phi { ptr, i32 } [ %128, %127 ], [ %126, %125 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  br label %237

130:                                              ; preds = %111, %106
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %15)
          to label %131 unwind label %116

131:                                              ; preds = %130
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %14, ptr noundef nonnull %15, ptr noundef nonnull @.str.3)
          to label %132 unwind label %142

132:                                              ; preds = %131
  %133 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef nonnull %14)
          to label %134 unwind label %144

134:                                              ; preds = %132
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  br i1 %133, label %135, label %158

135:                                              ; preds = %134
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %17)
          to label %136 unwind label %116

136:                                              ; preds = %135
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %16, ptr noundef nonnull %17, ptr noundef nonnull @.str.3)
          to label %137 unwind label %147

137:                                              ; preds = %136
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %19)
          to label %138 unwind label %149

138:                                              ; preds = %137
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %18, ptr noundef nonnull %19, ptr noundef nonnull @.str.2)
          to label %139 unwind label %151

139:                                              ; preds = %138
  %140 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef nonnull %16, ptr noundef nonnull %18)
          to label %141 unwind label %153

141:                                              ; preds = %139
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #9
  br label %158

142:                                              ; preds = %131
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %146

144:                                              ; preds = %132
  %145 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  br label %146

146:                                              ; preds = %144, %142
  %.pn83 = phi { ptr, i32 } [ %145, %144 ], [ %143, %142 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  br label %237

147:                                              ; preds = %136
  %148 = landingpad { ptr, i32 }
          cleanup
  br label %157

149:                                              ; preds = %137
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %156

151:                                              ; preds = %138
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %155

153:                                              ; preds = %139
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #9
  br label %155

155:                                              ; preds = %153, %151
  %.pn85 = phi { ptr, i32 } [ %154, %153 ], [ %152, %151 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  br label %156

156:                                              ; preds = %155, %149
  %.pn85.pn = phi { ptr, i32 } [ %.pn85, %155 ], [ %150, %149 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #9
  br label %157

157:                                              ; preds = %156, %147
  %.pn85.pn.pn = phi { ptr, i32 } [ %.pn85.pn, %156 ], [ %148, %147 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #9
  br label %237

158:                                              ; preds = %141, %134
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %21)
          to label %159 unwind label %116

159:                                              ; preds = %158
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %20, ptr noundef nonnull %21, ptr noundef nonnull @.str.4)
          to label %160 unwind label %165

160:                                              ; preds = %159
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %23)
          to label %161 unwind label %167

161:                                              ; preds = %160
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %22, ptr noundef nonnull %23, ptr noundef nonnull @.str.3)
          to label %162 unwind label %169

162:                                              ; preds = %161
  %163 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef nonnull %20, ptr noundef nonnull %22)
          to label %164 unwind label %171

164:                                              ; preds = %162
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  br label %176

165:                                              ; preds = %159
  %166 = landingpad { ptr, i32 }
          cleanup
  br label %175

167:                                              ; preds = %160
  %168 = landingpad { ptr, i32 }
          cleanup
  br label %174

169:                                              ; preds = %161
  %170 = landingpad { ptr, i32 }
          cleanup
  br label %173

171:                                              ; preds = %162
  %172 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  br label %173

173:                                              ; preds = %171, %169
  %.pn89 = phi { ptr, i32 } [ %172, %171 ], [ %170, %169 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  br label %174

174:                                              ; preds = %173, %167
  %.pn89.pn = phi { ptr, i32 } [ %.pn89, %173 ], [ %168, %167 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  br label %175

175:                                              ; preds = %174, %165
  %.pn89.pn.pn = phi { ptr, i32 } [ %.pn89.pn, %174 ], [ %166, %165 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  br label %237

176:                                              ; preds = %100, %164, %93
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %177 unwind label %116

177:                                              ; preds = %176
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef nonnull %3, ptr noundef nonnull %24)
          to label %178 unwind label %223

178:                                              ; preds = %177
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  %179 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %75, ptr noundef nonnull %3, i32 noundef 1)
          to label %180 unwind label %116

180:                                              ; preds = %178
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %25) #9
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull %75)
          to label %181 unwind label %225

181:                                              ; preds = %180
  %182 = invoke noalias noundef nonnull dereferenceable(272) ptr @_Znwm(i64 noundef 272) #10
          to label %183 unwind label %227

183:                                              ; preds = %181
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef nonnull %75)
          to label %184 unwind label %229

184:                                              ; preds = %183
  %185 = getelementptr inbounds i8, ptr %0, i64 8
  store ptr %182, ptr %185, align 8, !tbaa !20
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef nonnull @.str.5)
          to label %187 unwind label %227

187:                                              ; preds = %184
  %188 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef nonnull @.str.6)
          to label %189 unwind label %227

189:                                              ; preds = %187
  %190 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %188, i64 noundef %190)
          to label %192 unwind label %227

192:                                              ; preds = %189
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %191, ptr noundef nonnull @.str.7)
          to label %194 unwind label %227

194:                                              ; preds = %192
  %195 = load ptr, ptr %185, align 8, !tbaa !20
  %196 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %195, ptr noundef nonnull @.str.8)
          to label %197 unwind label %227

197:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #9
  %198 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %198, ptr %27, align 8
  %199 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %26, ptr noundef nonnull align 8 dereferenceable(8) %27) #9
  %200 = urem i64 %199, 100000
  %201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %196, i64 noundef %200)
          to label %202 unwind label %231

202:                                              ; preds = %197
  %203 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %201, ptr noundef nonnull @.str.9)
          to label %204 unwind label %231

204:                                              ; preds = %202
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #9
  %205 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.5)
          to label %206 unwind label %227

206:                                              ; preds = %204
  %207 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %205, ptr noundef nonnull @.str.6)
          to label %208 unwind label %227

208:                                              ; preds = %206
  %209 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %210 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %207, i64 noundef %209)
          to label %211 unwind label %227

211:                                              ; preds = %208
  %212 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %210, ptr noundef nonnull @.str.7)
          to label %213 unwind label %227

213:                                              ; preds = %211
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.8)
          to label %215 unwind label %227

215:                                              ; preds = %213
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #9
  %216 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %216, ptr %29, align 8
  %217 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #9
  %218 = urem i64 %217, 100000
  %219 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %214, i64 noundef %218)
          to label %220 unwind label %233

220:                                              ; preds = %215
  %221 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %219, ptr noundef nonnull @.str.9)
          to label %222 unwind label %233

222:                                              ; preds = %220
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #9
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %25) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #9
  br label %584

223:                                              ; preds = %177
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  br label %237

225:                                              ; preds = %180
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %236

227:                                              ; preds = %213, %211, %208, %206, %204, %194, %192, %189, %187, %184, %181
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %235

229:                                              ; preds = %183
  %230 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %182, i64 noundef 272) #11
  br label %235

231:                                              ; preds = %202, %197
  %232 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #9
  br label %235

233:                                              ; preds = %220, %215
  %234 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #9
  br label %235

235:                                              ; preds = %233, %231, %229, %227
  %.pn93 = phi { ptr, i32 } [ %234, %233 ], [ %228, %227 ], [ %232, %231 ], [ %230, %229 ]
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #9
  br label %236

236:                                              ; preds = %235, %225
  %.pn93.pn = phi { ptr, i32 } [ %.pn93, %235 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %25) #9
  br label %237

237:                                              ; preds = %236, %223, %175, %157, %146, %129, %124, %118, %116
  %.pn93.pn.pn = phi { ptr, i32 } [ %.pn93.pn, %236 ], [ %117, %116 ], [ %224, %223 ], [ %.pn89.pn.pn, %175 ], [ %.pn85.pn.pn, %157 ], [ %.pn83, %146 ], [ %.pn81, %129 ], [ %.pn79, %124 ], [ %119, %118 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  br label %238

238:                                              ; preds = %237, %114, %112
  %.pn93.pn.pn.pn = phi { ptr, i32 } [ %.pn93.pn.pn, %237 ], [ %115, %114 ], [ %113, %112 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #9
  br label %586

239:                                              ; preds = %88
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #9
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %31)
          to label %240 unwind label %260

240:                                              ; preds = %239
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %30, ptr noundef nonnull %31, ptr noundef nonnull @.str.4)
          to label %241 unwind label %262

241:                                              ; preds = %240
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  %242 = call i32 @rand() #9
  %243 = srem i32 %242, 100
  %244 = icmp eq i32 %243, 10
  br i1 %244, label %245, label %324

245:                                              ; preds = %241
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %246 unwind label %264

246:                                              ; preds = %245
  %247 = invoke noundef i64 @_ZN2FS14getEofPositionESt6vectorIhSaIhEE(ptr noundef nonnull %32)
          to label %248 unwind label %266

248:                                              ; preds = %246
  %249 = icmp ugt i64 %247, 100000000
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  br i1 %249, label %250, label %324

250:                                              ; preds = %248
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %34)
          to label %251 unwind label %264

251:                                              ; preds = %250
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %33, ptr noundef nonnull %34, ptr noundef nonnull @.str.2)
          to label %252 unwind label %268

252:                                              ; preds = %251
  %253 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef nonnull %33)
          to label %254 unwind label %270

254:                                              ; preds = %252
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #9
  br i1 %253, label %255, label %278

255:                                              ; preds = %254
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %36)
          to label %256 unwind label %264

256:                                              ; preds = %255
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %35, ptr noundef nonnull %36, ptr noundef nonnull @.str.2)
          to label %257 unwind label %273

257:                                              ; preds = %256
  %258 = invoke noundef zeroext i1 @_ZN2FS10deleteFileESt6vectorIhSaIhEE(ptr noundef nonnull %35)
          to label %259 unwind label %275

259:                                              ; preds = %257
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #9
  br label %278

260:                                              ; preds = %239
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %386

262:                                              ; preds = %240
  %263 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  br label %386

264:                                              ; preds = %326, %324, %306, %283, %278, %255, %250, %245
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %385

266:                                              ; preds = %246
  %267 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  br label %385

268:                                              ; preds = %251
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %272

270:                                              ; preds = %252
  %271 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #9
  br label %272

272:                                              ; preds = %270, %268
  %.pn60 = phi { ptr, i32 } [ %271, %270 ], [ %269, %268 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #9
  br label %385

273:                                              ; preds = %256
  %274 = landingpad { ptr, i32 }
          cleanup
  br label %277

275:                                              ; preds = %257
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #9
  br label %277

277:                                              ; preds = %275, %273
  %.pn62 = phi { ptr, i32 } [ %276, %275 ], [ %274, %273 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #9
  br label %385

278:                                              ; preds = %259, %254
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %38)
          to label %279 unwind label %264

279:                                              ; preds = %278
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %37, ptr noundef nonnull %38, ptr noundef nonnull @.str.3)
          to label %280 unwind label %290

280:                                              ; preds = %279
  %281 = invoke noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef nonnull %37)
          to label %282 unwind label %292

282:                                              ; preds = %280
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  br i1 %281, label %283, label %306

283:                                              ; preds = %282
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %40)
          to label %284 unwind label %264

284:                                              ; preds = %283
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %39, ptr noundef nonnull %40, ptr noundef nonnull @.str.3)
          to label %285 unwind label %295

285:                                              ; preds = %284
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %42)
          to label %286 unwind label %297

286:                                              ; preds = %285
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %41, ptr noundef nonnull %42, ptr noundef nonnull @.str.2)
          to label %287 unwind label %299

287:                                              ; preds = %286
  %288 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef nonnull %39, ptr noundef nonnull %41)
          to label %289 unwind label %301

289:                                              ; preds = %287
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  br label %306

290:                                              ; preds = %279
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %294

292:                                              ; preds = %280
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #9
  br label %294

294:                                              ; preds = %292, %290
  %.pn64 = phi { ptr, i32 } [ %293, %292 ], [ %291, %290 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #9
  br label %385

295:                                              ; preds = %284
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %305

297:                                              ; preds = %285
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %304

299:                                              ; preds = %286
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %303

301:                                              ; preds = %287
  %302 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  br label %303

303:                                              ; preds = %301, %299
  %.pn66 = phi { ptr, i32 } [ %302, %301 ], [ %300, %299 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  br label %304

304:                                              ; preds = %303, %297
  %.pn66.pn = phi { ptr, i32 } [ %.pn66, %303 ], [ %298, %297 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #9
  br label %305

305:                                              ; preds = %304, %295
  %.pn66.pn.pn = phi { ptr, i32 } [ %.pn66.pn, %304 ], [ %296, %295 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  br label %385

306:                                              ; preds = %289, %282
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %44)
          to label %307 unwind label %264

307:                                              ; preds = %306
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %43, ptr noundef nonnull %44, ptr noundef nonnull @.str.4)
          to label %308 unwind label %313

308:                                              ; preds = %307
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %46)
          to label %309 unwind label %315

309:                                              ; preds = %308
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %45, ptr noundef nonnull %46, ptr noundef nonnull @.str.3)
          to label %310 unwind label %317

310:                                              ; preds = %309
  %311 = invoke noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef nonnull %43, ptr noundef nonnull %45)
          to label %312 unwind label %319

312:                                              ; preds = %310
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  br label %324

313:                                              ; preds = %307
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %323

315:                                              ; preds = %308
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %322

317:                                              ; preds = %309
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %321

319:                                              ; preds = %310
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  br label %321

321:                                              ; preds = %319, %317
  %.pn70 = phi { ptr, i32 } [ %320, %319 ], [ %318, %317 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #9
  br label %322

322:                                              ; preds = %321, %315
  %.pn70.pn = phi { ptr, i32 } [ %.pn70, %321 ], [ %316, %315 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #9
  br label %323

323:                                              ; preds = %322, %313
  %.pn70.pn.pn = phi { ptr, i32 } [ %.pn70.pn, %322 ], [ %314, %313 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  br label %385

324:                                              ; preds = %248, %312, %241
  invoke void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %325 unwind label %264

325:                                              ; preds = %324
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef nonnull %3, ptr noundef nonnull %47)
          to label %326 unwind label %371

326:                                              ; preds = %325
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  %327 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %75, ptr noundef nonnull %3, i32 noundef 1)
          to label %328 unwind label %264

328:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %48) #9
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull %75)
          to label %329 unwind label %373

329:                                              ; preds = %328
  %330 = invoke noalias noundef nonnull dereferenceable(272) ptr @_Znwm(i64 noundef 272) #10
          to label %331 unwind label %375

331:                                              ; preds = %329
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %330, ptr noundef nonnull %75)
          to label %332 unwind label %377

332:                                              ; preds = %331
  %333 = getelementptr inbounds i8, ptr %0, i64 8
  store ptr %330, ptr %333, align 8, !tbaa !20
  %334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %330, ptr noundef nonnull @.str.5)
          to label %335 unwind label %375

335:                                              ; preds = %332
  %336 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %334, ptr noundef nonnull @.str.10)
          to label %337 unwind label %375

337:                                              ; preds = %335
  %338 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %339 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %336, i64 noundef %338)
          to label %340 unwind label %375

340:                                              ; preds = %337
  %341 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %339, ptr noundef nonnull @.str.11)
          to label %342 unwind label %375

342:                                              ; preds = %340
  %343 = load ptr, ptr %333, align 8, !tbaa !20
  %344 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %343, ptr noundef nonnull @.str.8)
          to label %345 unwind label %375

345:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %49) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #9
  %346 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %346, ptr %50, align 8
  %347 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %49, ptr noundef nonnull align 8 dereferenceable(8) %50) #9
  %348 = urem i64 %347, 100000
  %349 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %344, i64 noundef %348)
          to label %350 unwind label %379

350:                                              ; preds = %345
  %351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %349, ptr noundef nonnull @.str.9)
          to label %352 unwind label %379

352:                                              ; preds = %350
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #9
  %353 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.5)
          to label %354 unwind label %375

354:                                              ; preds = %352
  %355 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %353, ptr noundef nonnull @.str.10)
          to label %356 unwind label %375

356:                                              ; preds = %354
  %357 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %358 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %355, i64 noundef %357)
          to label %359 unwind label %375

359:                                              ; preds = %356
  %360 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %358, ptr noundef nonnull @.str.7)
          to label %361 unwind label %375

361:                                              ; preds = %359
  %362 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.8)
          to label %363 unwind label %375

363:                                              ; preds = %361
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #9
  %364 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %364, ptr %52, align 8
  %365 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %51, ptr noundef nonnull align 8 dereferenceable(8) %52) #9
  %366 = urem i64 %365, 100000
  %367 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %362, i64 noundef %366)
          to label %368 unwind label %381

368:                                              ; preds = %363
  %369 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %367, ptr noundef nonnull @.str.9)
          to label %370 unwind label %381

370:                                              ; preds = %368
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #9
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %48) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  br label %584

371:                                              ; preds = %325
  %372 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  br label %385

373:                                              ; preds = %328
  %374 = landingpad { ptr, i32 }
          cleanup
  br label %384

375:                                              ; preds = %361, %359, %356, %354, %352, %342, %340, %337, %335, %332, %329
  %376 = landingpad { ptr, i32 }
          cleanup
  br label %383

377:                                              ; preds = %331
  %378 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %330, i64 noundef 272) #11
  br label %383

379:                                              ; preds = %350, %345
  %380 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #9
  br label %383

381:                                              ; preds = %368, %363
  %382 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #9
  br label %383

383:                                              ; preds = %381, %379, %377, %375
  %.pn74 = phi { ptr, i32 } [ %382, %381 ], [ %376, %375 ], [ %380, %379 ], [ %378, %377 ]
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #9
  br label %384

384:                                              ; preds = %383, %373
  %.pn74.pn = phi { ptr, i32 } [ %.pn74, %383 ], [ %374, %373 ]
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %48) #9
  br label %385

385:                                              ; preds = %384, %371, %323, %305, %294, %277, %272, %266, %264
  %.pn74.pn.pn = phi { ptr, i32 } [ %.pn74.pn, %384 ], [ %265, %264 ], [ %372, %371 ], [ %.pn70.pn.pn, %323 ], [ %.pn66.pn.pn, %305 ], [ %.pn64, %294 ], [ %.pn62, %277 ], [ %.pn60, %272 ], [ %267, %266 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #9
  br label %386

386:                                              ; preds = %385, %262, %260
  %.pn74.pn.pn.pn = phi { ptr, i32 } [ %.pn74.pn.pn, %385 ], [ %263, %262 ], [ %261, %260 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  br label %586

387:                                              ; preds = %88
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %54)
          to label %388 unwind label %435

388:                                              ; preds = %387
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %53, ptr noundef nonnull %54, ptr noundef nonnull @.str.12)
          to label %389 unwind label %437

389:                                              ; preds = %388
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef nonnull %3, ptr noundef nonnull %53)
          to label %390 unwind label %439

390:                                              ; preds = %389
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  %391 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %75, ptr noundef nonnull %3, i32 noundef 1)
          to label %392 unwind label %435

392:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %55) #9
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull %75)
          to label %393 unwind label %442

393:                                              ; preds = %392
  %394 = invoke noalias noundef nonnull dereferenceable(272) ptr @_Znwm(i64 noundef 272) #10
          to label %395 unwind label %444

395:                                              ; preds = %393
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %394, ptr noundef nonnull %75)
          to label %396 unwind label %446

396:                                              ; preds = %395
  %397 = getelementptr inbounds i8, ptr %0, i64 8
  store ptr %394, ptr %397, align 8, !tbaa !20
  %398 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %394, ptr noundef nonnull @.str.5)
          to label %399 unwind label %444

399:                                              ; preds = %396
  %400 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %398, ptr noundef nonnull @.str.13)
          to label %401 unwind label %444

401:                                              ; preds = %399
  %402 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %400, i64 noundef %402)
          to label %404 unwind label %444

404:                                              ; preds = %401
  %405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %403, ptr noundef nonnull @.str.7)
          to label %406 unwind label %444

406:                                              ; preds = %404
  %407 = load ptr, ptr %397, align 8, !tbaa !20
  %408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %407, ptr noundef nonnull @.str.8)
          to label %409 unwind label %444

409:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #9
  %410 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %410, ptr %57, align 8
  %411 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %56, ptr noundef nonnull align 8 dereferenceable(8) %57) #9
  %412 = urem i64 %411, 100000
  %413 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %408, i64 noundef %412)
          to label %414 unwind label %448

414:                                              ; preds = %409
  %415 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %413, ptr noundef nonnull @.str.9)
          to label %416 unwind label %448

416:                                              ; preds = %414
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #9
  %417 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.5)
          to label %418 unwind label %444

418:                                              ; preds = %416
  %419 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %417, ptr noundef nonnull @.str.13)
          to label %420 unwind label %444

420:                                              ; preds = %418
  %421 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %422 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %419, i64 noundef %421)
          to label %423 unwind label %444

423:                                              ; preds = %420
  %424 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %422, ptr noundef nonnull @.str.7)
          to label %425 unwind label %444

425:                                              ; preds = %423
  %426 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.8)
          to label %427 unwind label %444

427:                                              ; preds = %425
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #9
  %428 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %428, ptr %59, align 8
  %429 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) #9
  %430 = urem i64 %429, 100000
  %431 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %426, i64 noundef %430)
          to label %432 unwind label %450

432:                                              ; preds = %427
  %433 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %431, ptr noundef nonnull @.str.9)
          to label %434 unwind label %450

434:                                              ; preds = %432
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #9
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %55) #9
  br label %584

435:                                              ; preds = %522, %519, %457, %454, %390, %387
  %436 = landingpad { ptr, i32 }
          cleanup
  br label %586

437:                                              ; preds = %388
  %438 = landingpad { ptr, i32 }
          cleanup
  br label %441

439:                                              ; preds = %389
  %440 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  br label %441

441:                                              ; preds = %439, %437
  %.pn55 = phi { ptr, i32 } [ %440, %439 ], [ %438, %437 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  br label %586

442:                                              ; preds = %392
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %453

444:                                              ; preds = %425, %423, %420, %418, %416, %406, %404, %401, %399, %396, %393
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %452

446:                                              ; preds = %395
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %394, i64 noundef 272) #11
  br label %452

448:                                              ; preds = %414, %409
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #9
  br label %452

450:                                              ; preds = %432, %427
  %451 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #9
  br label %452

452:                                              ; preds = %450, %448, %446, %444
  %.pn57 = phi { ptr, i32 } [ %451, %450 ], [ %445, %444 ], [ %449, %448 ], [ %447, %446 ]
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #9
  br label %453

453:                                              ; preds = %452, %442
  %.pn57.pn = phi { ptr, i32 } [ %.pn57, %452 ], [ %443, %442 ]
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %55) #9
  br label %586

454:                                              ; preds = %88
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %61)
          to label %455 unwind label %435

455:                                              ; preds = %454
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %60, ptr noundef nonnull %61, ptr noundef nonnull @.str.14)
          to label %456 unwind label %502

456:                                              ; preds = %455
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef nonnull %3, ptr noundef nonnull %60)
          to label %457 unwind label %504

457:                                              ; preds = %456
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  %458 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %75, ptr noundef nonnull %3, i32 noundef 1)
          to label %459 unwind label %435

459:                                              ; preds = %457
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %62) #9
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull %75)
          to label %460 unwind label %507

460:                                              ; preds = %459
  %461 = invoke noalias noundef nonnull dereferenceable(272) ptr @_Znwm(i64 noundef 272) #10
          to label %462 unwind label %509

462:                                              ; preds = %460
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %461, ptr noundef nonnull %75)
          to label %463 unwind label %511

463:                                              ; preds = %462
  %464 = getelementptr inbounds i8, ptr %0, i64 8
  store ptr %461, ptr %464, align 8, !tbaa !20
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %461, ptr noundef nonnull @.str.5)
          to label %466 unwind label %509

466:                                              ; preds = %463
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %465, ptr noundef nonnull @.str.15)
          to label %468 unwind label %509

468:                                              ; preds = %466
  %469 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %470 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %467, i64 noundef %469)
          to label %471 unwind label %509

471:                                              ; preds = %468
  %472 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %470, ptr noundef nonnull @.str.7)
          to label %473 unwind label %509

473:                                              ; preds = %471
  %474 = load ptr, ptr %464, align 8, !tbaa !20
  %475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %474, ptr noundef nonnull @.str.8)
          to label %476 unwind label %509

476:                                              ; preds = %473
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %63) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #9
  %477 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %477, ptr %64, align 8
  %478 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %63, ptr noundef nonnull align 8 dereferenceable(8) %64) #9
  %479 = urem i64 %478, 100000
  %480 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %475, i64 noundef %479)
          to label %481 unwind label %513

481:                                              ; preds = %476
  %482 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %480, ptr noundef nonnull @.str.9)
          to label %483 unwind label %513

483:                                              ; preds = %481
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #9
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.5)
          to label %485 unwind label %509

485:                                              ; preds = %483
  %486 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %484, ptr noundef nonnull @.str.15)
          to label %487 unwind label %509

487:                                              ; preds = %485
  %488 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %489 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %486, i64 noundef %488)
          to label %490 unwind label %509

490:                                              ; preds = %487
  %491 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %489, ptr noundef nonnull @.str.7)
          to label %492 unwind label %509

492:                                              ; preds = %490
  %493 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.8)
          to label %494 unwind label %509

494:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #9
  %495 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %495, ptr %66, align 8
  %496 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %65, ptr noundef nonnull align 8 dereferenceable(8) %66) #9
  %497 = urem i64 %496, 100000
  %498 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %493, i64 noundef %497)
          to label %499 unwind label %515

499:                                              ; preds = %494
  %500 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %498, ptr noundef nonnull @.str.9)
          to label %501 unwind label %515

501:                                              ; preds = %499
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #9
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %62) #9
  br label %584

502:                                              ; preds = %455
  %503 = landingpad { ptr, i32 }
          cleanup
  br label %506

504:                                              ; preds = %456
  %505 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  br label %506

506:                                              ; preds = %504, %502
  %.pn50 = phi { ptr, i32 } [ %505, %504 ], [ %503, %502 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #9
  br label %586

507:                                              ; preds = %459
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %518

509:                                              ; preds = %492, %490, %487, %485, %483, %473, %471, %468, %466, %463, %460
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %517

511:                                              ; preds = %462
  %512 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %461, i64 noundef 272) #11
  br label %517

513:                                              ; preds = %481, %476
  %514 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #9
  br label %517

515:                                              ; preds = %499, %494
  %516 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #9
  br label %517

517:                                              ; preds = %515, %513, %511, %509
  %.pn52 = phi { ptr, i32 } [ %516, %515 ], [ %510, %509 ], [ %514, %513 ], [ %512, %511 ]
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #9
  br label %518

518:                                              ; preds = %517, %507
  %.pn52.pn = phi { ptr, i32 } [ %.pn52, %517 ], [ %508, %507 ]
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %62) #9
  br label %586

519:                                              ; preds = %88
  invoke void @_ZN2FS10getLogPathEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %68)
          to label %520 unwind label %435

520:                                              ; preds = %519
  invoke void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %67, ptr noundef nonnull %68, ptr noundef nonnull @.str.16)
          to label %521 unwind label %567

521:                                              ; preds = %520
  invoke void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef nonnull %3, ptr noundef nonnull %67)
          to label %522 unwind label %569

522:                                              ; preds = %521
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #9
  %523 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240) %75, ptr noundef nonnull %3, i32 noundef 1)
          to label %524 unwind label %435

524:                                              ; preds = %522
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %69) #9
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull %75)
          to label %525 unwind label %572

525:                                              ; preds = %524
  %526 = invoke noalias noundef nonnull dereferenceable(272) ptr @_Znwm(i64 noundef 272) #10
          to label %527 unwind label %574

527:                                              ; preds = %525
  invoke void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8) %526, ptr noundef nonnull %75)
          to label %528 unwind label %576

528:                                              ; preds = %527
  %529 = getelementptr inbounds i8, ptr %0, i64 8
  store ptr %526, ptr %529, align 8, !tbaa !20
  %530 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %526, ptr noundef nonnull @.str.5)
          to label %531 unwind label %574

531:                                              ; preds = %528
  %532 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %530, ptr noundef nonnull @.str.17)
          to label %533 unwind label %574

533:                                              ; preds = %531
  %534 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %532, i64 noundef %534)
          to label %536 unwind label %574

536:                                              ; preds = %533
  %537 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %535, ptr noundef nonnull @.str.7)
          to label %538 unwind label %574

538:                                              ; preds = %536
  %539 = load ptr, ptr %529, align 8, !tbaa !20
  %540 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %539, ptr noundef nonnull @.str.8)
          to label %541 unwind label %574

541:                                              ; preds = %538
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %70) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #9
  %542 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %542, ptr %71, align 8
  %543 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %70, ptr noundef nonnull align 8 dereferenceable(8) %71) #9
  %544 = urem i64 %543, 100000
  %545 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %540, i64 noundef %544)
          to label %546 unwind label %578

546:                                              ; preds = %541
  %547 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %545, ptr noundef nonnull @.str.9)
          to label %548 unwind label %578

548:                                              ; preds = %546
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #9
  %549 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.5)
          to label %550 unwind label %574

550:                                              ; preds = %548
  %551 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %549, ptr noundef nonnull @.str.17)
          to label %552 unwind label %574

552:                                              ; preds = %550
  %553 = call noundef i64 @_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
  %554 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %551, i64 noundef %553)
          to label %555 unwind label %574

555:                                              ; preds = %552
  %556 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %554, ptr noundef nonnull @.str.7)
          to label %557 unwind label %574

557:                                              ; preds = %555
  %558 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.8)
          to label %559 unwind label %574

559:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #9
  %560 = call i64 @_ZNSt11this_thread6get_idEv() #9
  store i64 %560, ptr %73, align 8
  %561 = call noundef i64 @_ZNKSt4hashINSt6thread2idEEclERKS1_(ptr noundef nonnull align 1 dereferenceable(1) %72, ptr noundef nonnull align 8 dereferenceable(8) %73) #9
  %562 = urem i64 %561, 100000
  %563 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %558, i64 noundef %562)
          to label %564 unwind label %580

564:                                              ; preds = %559
  %565 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %563, ptr noundef nonnull @.str.9)
          to label %566 unwind label %580

566:                                              ; preds = %564
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #9
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %69) #9
  br label %584

567:                                              ; preds = %520
  %568 = landingpad { ptr, i32 }
          cleanup
  br label %571

569:                                              ; preds = %521
  %570 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  br label %571

571:                                              ; preds = %569, %567
  %.pn = phi { ptr, i32 } [ %570, %569 ], [ %568, %567 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #9
  br label %586

572:                                              ; preds = %524
  %573 = landingpad { ptr, i32 }
          cleanup
  br label %583

574:                                              ; preds = %557, %555, %552, %550, %548, %538, %536, %533, %531, %528, %525
  %575 = landingpad { ptr, i32 }
          cleanup
  br label %582

576:                                              ; preds = %527
  %577 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %526, i64 noundef 272) #11
  br label %582

578:                                              ; preds = %546, %541
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #9
  br label %582

580:                                              ; preds = %564, %559
  %581 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #9
  br label %582

582:                                              ; preds = %580, %578, %576, %574
  %.pn47 = phi { ptr, i32 } [ %581, %580 ], [ %575, %574 ], [ %579, %578 ], [ %577, %576 ]
  call void @_ZNSoD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #9
  br label %583

583:                                              ; preds = %582, %572
  %.pn47.pn = phi { ptr, i32 } [ %.pn47, %582 ], [ %573, %572 ]
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %69) #9
  br label %586

584:                                              ; preds = %566, %501, %434, %370, %222, %88
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %3) #9
  br label %585

585:                                              ; preds = %584, %81
  ret void

586:                                              ; preds = %583, %571, %518, %506, %453, %441, %435, %386, %238, %89
  %.pn47.pn.pn = phi { ptr, i32 } [ %.pn47.pn, %583 ], [ %436, %435 ], [ %.pn, %571 ], [ %.pn52.pn, %518 ], [ %.pn50, %506 ], [ %.pn57.pn, %453 ], [ %.pn55, %441 ], [ %.pn74.pn.pn.pn, %386 ], [ %.pn93.pn.pn.pn, %238 ], [ %90, %89 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %3) #9
  br label %587

587:                                              ; preds = %586, %82
  %.pn47.pn.pn.pn = phi { ptr, i32 } [ %.pn47.pn.pn, %586 ], [ %83, %82 ]
  call void @_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(240) %75) #9
  resume { ptr, i32 } %.pn47.pn.pn.pn
}

declare void @_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(240)) unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(165) ptr @_ZN6Config8InstanceEv() local_unnamed_addr #3 align 2

declare noundef zeroext i8 @_ZN6Config11getLogLevelEv(ptr noundef nonnull align 8 dereferenceable(165)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1EEEElS2_ILl1ELl1000000000EEEENSt9enable_ifIXsr13__is_durationIT_EE5valueES7_E4typeERKNS1_IT0_T1_EE(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: nounwind
declare i64 @_ZNSt6chrono3_V212system_clock3nowEv() local_unnamed_addr #4

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

declare void @_ZN2FS11concatPathsESt6vectorIhSaIhEEPKc(ptr dead_on_unwind writable sret(%"class.std::vector") align 8, ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @_ZN2FS10getLogPathEv(ptr dead_on_unwind writable sret(%"class.std::vector") align 8) local_unnamed_addr #2

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

; Function Attrs: nounwind
declare i32 @rand() local_unnamed_addr #4

declare noundef i64 @_ZN2FS14getEofPositionESt6vectorIhSaIhEE(ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIhSaIhEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

declare noundef zeroext i1 @_ZN2FS10fileExistsESt6vectorIhSaIhEE(ptr noundef) local_unnamed_addr #2

declare noundef zeroext i1 @_ZN2FS10deleteFileESt6vectorIhSaIhEE(ptr noundef) local_unnamed_addr #2

declare noundef zeroext i1 @_ZN2FS10renameFileESt6vectorIhSaIhEES2_(ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @_ZN2FS22charPathFromVectorPathEPcSt6vectorIhSaIhEE(ptr noundef, ptr noundef) local_unnamed_addr #2

declare noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(240), ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare void @_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #1 align 2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #5

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #7

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i64 @_ZNSt11this_thread6get_idEv() local_unnamed_addr #8

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

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

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 = { "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 nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nobuiltin allocsize(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 #6 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { inlinehint 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 #8 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }
attributes #10 = { builtin allocsize(0) }
attributes #11 = { builtin 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, !7, i64 0}
!6 = !{!"_ZTS3Log", !7, i64 0, !9, i64 1, !10, i64 8, !11, i64 16}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!"bool", !7, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!"_ZTSSt13basic_filebufIcSt11char_traitsIcEE", !12, i64 0, !7, i64 64, !14, i64 104, !15, i64 120, !16, i64 124, !16, i64 132, !16, i64 140, !10, i64 152, !18, i64 160, !9, i64 168, !9, i64 169, !9, i64 170, !7, i64 171, !10, i64 176, !10, i64 184, !9, i64 192, !10, i64 200, !10, i64 208, !18, i64 216, !10, i64 224, !10, i64 232}
!12 = !{!"_ZTSSt15basic_streambufIcSt11char_traitsIcEE", !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !13, i64 56}
!13 = !{!"_ZTSSt6locale", !10, i64 0}
!14 = !{!"_ZTSSt12__basic_fileIcE", !10, i64 0, !9, i64 8}
!15 = !{!"_ZTSSt13_Ios_Openmode", !7, i64 0}
!16 = !{!"_ZTS11__mbstate_t", !17, i64 0, !7, i64 4}
!17 = !{!"int", !7, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!6, !9, i64 1}
!20 = !{!6, !10, i64 8}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass