; LLVM IR from sfu-dis/mosaicdb :: benchmarks/egen (InputFlatFilesStructure)

; 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.TPCE::CDateTime" = type { i32, i32, ptr }
%"class.TPCE::CInputFiles" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.1 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [6 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN4TPCE11CInputFiles10InitializeENS_11eDriverTypeExxPKc(ptr noundef nonnull align 8 dereferenceable(184) %0, i32 noundef %1, i64 noundef %2, i64 noundef %3, ptr noundef %4) #0 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i64, align 8
  %9 = alloca i64, align 8
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca [512 x i8], align 16
  %13 = alloca ptr, align 8
  %14 = alloca i64, align 8
  %15 = alloca i64, align 8
  %16 = alloca i64, align 8
  %17 = alloca i64, align 8
  %18 = alloca %"class.TPCE::CDateTime", align 8
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca %"class.TPCE::CDateTime", align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store i32 %1, ptr %7, align 4, !tbaa !9
  store i64 %2, ptr %8, align 8, !tbaa !11
  store i64 %3, ptr %9, align 8, !tbaa !11
  store ptr %4, ptr %10, align 8, !tbaa !5
  %22 = load ptr, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #9
  %23 = load i32, ptr %7, align 4, !tbaa !9
  %24 = icmp eq i32 %23, 0
  %25 = zext i1 %24 to i64
  %26 = select i1 %24, i32 1, i32 0
  store i32 %26, ptr %11, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 512, ptr %12) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #9
  %27 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  %28 = load ptr, ptr %10, align 8, !tbaa !5
  %29 = call ptr @strncpy(ptr noundef %27, ptr noundef %28, i64 noundef 512) #9
  %30 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  %31 = call i64 @strlen(ptr noundef %30) #10
  store i64 %31, ptr %14, align 8, !tbaa !15
  %32 = load i64, ptr %14, align 8, !tbaa !15
  %33 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 %32
  store ptr %33, ptr %13, align 8, !tbaa !5
  %34 = load ptr, ptr %13, align 8, !tbaa !5
  %35 = load i8, ptr %34, align 1, !tbaa !17
  %36 = sext i8 %35 to i32
  %37 = icmp ne i32 %36, 47
  br i1 %37, label %38, label %54

38:                                               ; preds = %5
  %39 = load ptr, ptr %13, align 8, !tbaa !5
  %40 = load i8, ptr %39, align 1, !tbaa !17
  %41 = sext i8 %40 to i32
  %42 = icmp ne i32 %41, 92
  br i1 %42, label %43, label %54

43:                                               ; preds = %38
  %44 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #9
  store i64 512, ptr %16, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #9
  %45 = load i64, ptr %14, align 8, !tbaa !15
  %46 = sub i64 %45, 1
  store i64 %46, ptr %17, align 8, !tbaa !15
  %47 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17)
  %48 = load i64, ptr %47, align 8, !tbaa !15
  %49 = call ptr @strncat(ptr noundef %44, ptr noundef @.str, i64 noundef %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #9
  %50 = load ptr, ptr %13, align 8, !tbaa !5
  %51 = getelementptr inbounds i8, ptr %50, i32 1
  store ptr %51, ptr %13, align 8, !tbaa !5
  %52 = load i64, ptr %14, align 8, !tbaa !15
  %53 = add i64 %52, 1
  store i64 %53, ptr %14, align 8, !tbaa !15
  br label %54

54:                                               ; preds = %43, %38, %5
  %55 = load i64, ptr %14, align 8, !tbaa !15
  %56 = sub i64 512, %55
  %57 = sub i64 %56, 1
  store i64 %57, ptr %15, align 8, !tbaa !15
  %58 = load i32, ptr %11, align 4, !tbaa !13
  %59 = icmp eq i32 %58, 1
  br i1 %59, label %60, label %65

60:                                               ; preds = %54
  %61 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.1)
  %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %63 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %64 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %65

65:                                               ; preds = %60, %54
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #9
  call void @_ZN4TPCE9CDateTimeC1Ev(ptr noundef nonnull align 8 dereferenceable(16) %18)
  %66 = load i32, ptr %11, align 4, !tbaa !13
  %67 = icmp eq i32 %66, 1
  br i1 %67, label %68, label %75

68:                                               ; preds = %65
  %69 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
          to label %70 unwind label %71

70:                                               ; preds = %68
  br label %75

71:                                               ; preds = %739, %737, %735, %724, %721, %711, %709, %707, %696, %693, %683, %681, %679, %668, %665, %655, %653, %651, %640, %637, %627, %625, %623, %612, %609, %599, %597, %595, %584, %581, %571, %569, %567, %556, %553, %543, %541, %539, %528, %525, %515, %513, %511, %498, %495, %485, %483, %481, %470, %467, %457, %455, %453, %442, %439, %429, %427, %425, %414, %411, %388, %386, %384, %373, %370, %360, %358, %356, %345, %342, %332, %330, %328, %317, %314, %304, %302, %300, %289, %286, %276, %274, %272, %261, %258, %241, %239, %237, %226, %223, %213, %211, %209, %198, %195, %185, %183, %181, %168, %165, %151, %149, %147, %136, %133, %120, %118, %116, %105, %102, %92, %90, %88, %75, %68
  %72 = landingpad { ptr, i32 }
          cleanup
  %73 = extractvalue { ptr, i32 } %72, 0
  store ptr %73, ptr %19, align 8
  %74 = extractvalue { ptr, i32 } %72, 1
  store i32 %74, ptr %20, align 4
  br label %778

75:                                               ; preds = %70, %65
  %76 = load ptr, ptr %13, align 8, !tbaa !5
  %77 = load i64, ptr %15, align 8, !tbaa !15
  %78 = call ptr @strncpy(ptr noundef %76, ptr noundef @.str.3, i64 noundef %77) #9
  %79 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 168) #11
          to label %80 unwind label %71

80:                                               ; preds = %75
  %81 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  %82 = load i64, ptr %8, align 8, !tbaa !11
  %83 = load i64, ptr %9, align 8, !tbaa !11
  invoke void @_ZN4TPCE13CSecurityFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(161) %79, ptr noundef %81, i64 noundef %82, i64 noundef %83)
          to label %84 unwind label %95

84:                                               ; preds = %80
  %85 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 13
  store ptr %79, ptr %85, align 8, !tbaa !18
  %86 = load i32, ptr %11, align 4, !tbaa !13
  %87 = icmp eq i32 %86, 1
  br i1 %87, label %88, label %99

88:                                               ; preds = %84
  %89 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.4)
          to label %90 unwind label %71

90:                                               ; preds = %88
  %91 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %92 unwind label %71

92:                                               ; preds = %90
  %93 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %91, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %94 unwind label %71

94:                                               ; preds = %92
  br label %99

95:                                               ; preds = %80
  %96 = landingpad { ptr, i32 }
          cleanup
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %19, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %79, i64 noundef 168) #12
  br label %778

99:                                               ; preds = %94, %84
  %100 = load i32, ptr %11, align 4, !tbaa !13
  %101 = icmp eq i32 %100, 1
  br i1 %101, label %102, label %105

102:                                              ; preds = %99
  %103 = 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 %104 unwind label %71

104:                                              ; preds = %102
  br label %105

105:                                              ; preds = %104, %99
  %106 = load ptr, ptr %13, align 8, !tbaa !5
  %107 = load i64, ptr %15, align 8, !tbaa !15
  %108 = call ptr @strncpy(ptr noundef %106, ptr noundef @.str.6, i64 noundef %107) #9
  %109 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %110 unwind label %71

110:                                              ; preds = %105
  %111 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_15STATUS_TYPE_ROWENS_17TStatusTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %109, ptr noundef %111)
          to label %112 unwind label %123

112:                                              ; preds = %110
  %113 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 14
  store ptr %109, ptr %113, align 8, !tbaa !20
  %114 = load i32, ptr %11, align 4, !tbaa !13
  %115 = icmp eq i32 %114, 1
  br i1 %115, label %116, label %127

116:                                              ; preds = %112
  %117 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.7)
          to label %118 unwind label %71

118:                                              ; preds = %116
  %119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %120 unwind label %71

120:                                              ; preds = %118
  %121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %119, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %122 unwind label %71

122:                                              ; preds = %120
  br label %127

123:                                              ; preds = %110
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %19, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %109, i64 noundef 40) #12
  br label %778

127:                                              ; preds = %122, %112
  %128 = load i32, ptr %7, align 4, !tbaa !9
  %129 = icmp ne i32 %128, 4
  br i1 %129, label %130, label %159

130:                                              ; preds = %127
  %131 = load i32, ptr %11, align 4, !tbaa !13
  %132 = icmp eq i32 %131, 1
  br i1 %132, label %133, label %136

133:                                              ; preds = %130
  %134 = 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 %135 unwind label %71

135:                                              ; preds = %133
  br label %136

136:                                              ; preds = %135, %130
  %137 = load ptr, ptr %13, align 8, !tbaa !5
  %138 = load i64, ptr %15, align 8, !tbaa !15
  %139 = call ptr @strncpy(ptr noundef %137, ptr noundef @.str.9, i64 noundef %138) #9
  %140 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %141 unwind label %71

141:                                              ; preds = %136
  %142 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_14TRADE_TYPE_ROWENS_16TTradeTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %140, ptr noundef %142)
          to label %143 unwind label %154

143:                                              ; preds = %141
  %144 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 21
  store ptr %140, ptr %144, align 8, !tbaa !21
  %145 = load i32, ptr %11, align 4, !tbaa !13
  %146 = icmp eq i32 %145, 1
  br i1 %146, label %147, label %158

147:                                              ; preds = %143
  %148 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.10)
          to label %149 unwind label %71

149:                                              ; preds = %147
  %150 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %151 unwind label %71

151:                                              ; preds = %149
  %152 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %150, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %153 unwind label %71

153:                                              ; preds = %151
  br label %158

154:                                              ; preds = %141
  %155 = landingpad { ptr, i32 }
          cleanup
  %156 = extractvalue { ptr, i32 } %155, 0
  store ptr %156, ptr %19, align 8
  %157 = extractvalue { ptr, i32 } %155, 1
  store i32 %157, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %140, i64 noundef 40) #12
  br label %778

158:                                              ; preds = %153, %143
  br label %159

159:                                              ; preds = %158, %127
  %160 = load i32, ptr %7, align 4, !tbaa !9
  %161 = icmp ne i32 %160, 3
  br i1 %161, label %162, label %249

162:                                              ; preds = %159
  %163 = load i32, ptr %11, align 4, !tbaa !13
  %164 = icmp eq i32 %163, 1
  br i1 %164, label %165, label %168

165:                                              ; preds = %162
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.11)
          to label %167 unwind label %71

167:                                              ; preds = %165
  br label %168

168:                                              ; preds = %167, %162
  %169 = load ptr, ptr %13, align 8, !tbaa !5
  %170 = load i64, ptr %15, align 8, !tbaa !15
  %171 = call ptr @strncpy(ptr noundef %169, ptr noundef @.str.12, i64 noundef %170) #9
  %172 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 56) #11
          to label %173 unwind label %71

173:                                              ; preds = %168
  %174 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  %175 = load i64, ptr %8, align 8, !tbaa !11
  %176 = load i64, ptr %9, align 8, !tbaa !11
  invoke void @_ZN4TPCE12CCompanyFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(56) %172, ptr noundef %174, i64 noundef %175, i64 noundef %176)
          to label %177 unwind label %188

177:                                              ; preds = %173
  %178 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 3
  store ptr %172, ptr %178, align 8, !tbaa !22
  %179 = load i32, ptr %11, align 4, !tbaa !13
  %180 = icmp eq i32 %179, 1
  br i1 %180, label %181, label %192

181:                                              ; preds = %177
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %183 unwind label %71

183:                                              ; preds = %181
  %184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %185 unwind label %71

185:                                              ; preds = %183
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %187 unwind label %71

187:                                              ; preds = %185
  br label %192

188:                                              ; preds = %173
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  store ptr %190, ptr %19, align 8
  %191 = extractvalue { ptr, i32 } %189, 1
  store i32 %191, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %172, i64 noundef 56) #12
  br label %778

192:                                              ; preds = %187, %177
  %193 = load i32, ptr %11, align 4, !tbaa !13
  %194 = icmp eq i32 %193, 1
  br i1 %194, label %195, label %198

195:                                              ; preds = %192
  %196 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.14)
          to label %197 unwind label %71

197:                                              ; preds = %195
  br label %198

198:                                              ; preds = %197, %192
  %199 = load ptr, ptr %13, align 8, !tbaa !5
  %200 = load i64, ptr %15, align 8, !tbaa !15
  %201 = call ptr @strncpy(ptr noundef %199, ptr noundef @.str.15, i64 noundef %200) #9
  %202 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %203 unwind label %71

203:                                              ; preds = %198
  %204 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_12EXCHANGE_ROWENS_15TExchangeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %202, ptr noundef %204)
          to label %205 unwind label %216

205:                                              ; preds = %203
  %206 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 6
  store ptr %202, ptr %206, align 8, !tbaa !23
  %207 = load i32, ptr %11, align 4, !tbaa !13
  %208 = icmp eq i32 %207, 1
  br i1 %208, label %209, label %220

209:                                              ; preds = %205
  %210 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.4)
          to label %211 unwind label %71

211:                                              ; preds = %209
  %212 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %210, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %213 unwind label %71

213:                                              ; preds = %211
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %212, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %215 unwind label %71

215:                                              ; preds = %213
  br label %220

216:                                              ; preds = %203
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %19, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %202, i64 noundef 40) #12
  br label %778

220:                                              ; preds = %215, %205
  %221 = load i32, ptr %11, align 4, !tbaa !13
  %222 = icmp eq i32 %221, 1
  br i1 %222, label %223, label %226

223:                                              ; preds = %220
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.16)
          to label %225 unwind label %71

225:                                              ; preds = %223
  br label %226

226:                                              ; preds = %225, %220
  %227 = load ptr, ptr %13, align 8, !tbaa !5
  %228 = load i64, ptr %15, align 8, !tbaa !15
  %229 = call ptr @strncpy(ptr noundef %227, ptr noundef @.str.17, i64 noundef %228) #9
  %230 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #11
          to label %231 unwind label %71

231:                                              ; preds = %226
  %232 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE18CInputFileNoWeightINS_16TTaxRateInputRowEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(24) %230, ptr noundef %232)
          to label %233 unwind label %244

233:                                              ; preds = %231
  %234 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 20
  store ptr %230, ptr %234, align 8, !tbaa !24
  %235 = load i32, ptr %11, align 4, !tbaa !13
  %236 = icmp eq i32 %235, 1
  br i1 %236, label %237, label %248

237:                                              ; preds = %233
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.18)
          to label %239 unwind label %71

239:                                              ; preds = %237
  %240 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %238, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %241 unwind label %71

241:                                              ; preds = %239
  %242 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %240, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %243 unwind label %71

243:                                              ; preds = %241
  br label %248

244:                                              ; preds = %231
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %19, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %230, i64 noundef 24) #12
  br label %778

248:                                              ; preds = %243, %233
  br label %249

249:                                              ; preds = %248, %159
  %250 = load i32, ptr %7, align 4, !tbaa !9
  %251 = icmp ne i32 %250, 3
  br i1 %251, label %252, label %396

252:                                              ; preds = %249
  %253 = load i32, ptr %7, align 4, !tbaa !9
  %254 = icmp ne i32 %253, 4
  br i1 %254, label %255, label %396

255:                                              ; preds = %252
  %256 = load i32, ptr %11, align 4, !tbaa !13
  %257 = icmp eq i32 %256, 1
  br i1 %257, label %258, label %261

258:                                              ; preds = %255
  %259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %260 unwind label %71

260:                                              ; preds = %258
  br label %261

261:                                              ; preds = %260, %255
  %262 = load ptr, ptr %13, align 8, !tbaa !5
  %263 = load i64, ptr %15, align 8, !tbaa !15
  %264 = call ptr @strncpy(ptr noundef %262, ptr noundef @.str.20, i64 noundef %263) #9
  %265 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %266 unwind label %71

266:                                              ; preds = %261
  %267 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_23TFemaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %265, ptr noundef %267)
          to label %268 unwind label %279

268:                                              ; preds = %266
  %269 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 7
  store ptr %265, ptr %269, align 8, !tbaa !25
  %270 = load i32, ptr %11, align 4, !tbaa !13
  %271 = icmp eq i32 %270, 1
  br i1 %271, label %272, label %283

272:                                              ; preds = %268
  %273 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.21)
          to label %274 unwind label %71

274:                                              ; preds = %272
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %273, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %276 unwind label %71

276:                                              ; preds = %274
  %277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %275, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %278 unwind label %71

278:                                              ; preds = %276
  br label %283

279:                                              ; preds = %266
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %19, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %265, i64 noundef 40) #12
  br label %778

283:                                              ; preds = %278, %268
  %284 = load i32, ptr %11, align 4, !tbaa !13
  %285 = icmp eq i32 %284, 1
  br i1 %285, label %286, label %289

286:                                              ; preds = %283
  %287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.22)
          to label %288 unwind label %71

288:                                              ; preds = %286
  br label %289

289:                                              ; preds = %288, %283
  %290 = load ptr, ptr %13, align 8, !tbaa !5
  %291 = load i64, ptr %15, align 8, !tbaa !15
  %292 = call ptr @strncpy(ptr noundef %290, ptr noundef @.str.23, i64 noundef %291) #9
  %293 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %294 unwind label %71

294:                                              ; preds = %289
  %295 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_12INDUSTRY_ROWENS_15TIndustryLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %293, ptr noundef %295)
          to label %296 unwind label %307

296:                                              ; preds = %294
  %297 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 8
  store ptr %293, ptr %297, align 8, !tbaa !26
  %298 = load i32, ptr %11, align 4, !tbaa !13
  %299 = icmp eq i32 %298, 1
  br i1 %299, label %300, label %311

300:                                              ; preds = %296
  %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.4)
          to label %302 unwind label %71

302:                                              ; preds = %300
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %304 unwind label %71

304:                                              ; preds = %302
  %305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %303, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %306 unwind label %71

306:                                              ; preds = %304
  br label %311

307:                                              ; preds = %294
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %19, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %293, i64 noundef 40) #12
  br label %778

311:                                              ; preds = %306, %296
  %312 = load i32, ptr %11, align 4, !tbaa !13
  %313 = icmp eq i32 %312, 1
  br i1 %313, label %314, label %317

314:                                              ; preds = %311
  %315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.24)
          to label %316 unwind label %71

316:                                              ; preds = %314
  br label %317

317:                                              ; preds = %316, %311
  %318 = load ptr, ptr %13, align 8, !tbaa !5
  %319 = load i64, ptr %15, align 8, !tbaa !15
  %320 = call ptr @strncpy(ptr noundef %318, ptr noundef @.str.25, i64 noundef %319) #9
  %321 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %322 unwind label %71

322:                                              ; preds = %317
  %323 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_17TLastNameInputRowENS_16TLastNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %321, ptr noundef %323)
          to label %324 unwind label %335

324:                                              ; preds = %322
  %325 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 9
  store ptr %321, ptr %325, align 8, !tbaa !27
  %326 = load i32, ptr %11, align 4, !tbaa !13
  %327 = icmp eq i32 %326, 1
  br i1 %327, label %328, label %339

328:                                              ; preds = %324
  %329 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.4)
          to label %330 unwind label %71

330:                                              ; preds = %328
  %331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %329, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %332 unwind label %71

332:                                              ; preds = %330
  %333 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %331, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %334 unwind label %71

334:                                              ; preds = %332
  br label %339

335:                                              ; preds = %322
  %336 = landingpad { ptr, i32 }
          cleanup
  %337 = extractvalue { ptr, i32 } %336, 0
  store ptr %337, ptr %19, align 8
  %338 = extractvalue { ptr, i32 } %336, 1
  store i32 %338, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %321, i64 noundef 40) #12
  br label %778

339:                                              ; preds = %334, %324
  %340 = load i32, ptr %11, align 4, !tbaa !13
  %341 = icmp eq i32 %340, 1
  br i1 %341, label %342, label %345

342:                                              ; preds = %339
  %343 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.26)
          to label %344 unwind label %71

344:                                              ; preds = %342
  br label %345

345:                                              ; preds = %344, %339
  %346 = load ptr, ptr %13, align 8, !tbaa !5
  %347 = load i64, ptr %15, align 8, !tbaa !15
  %348 = call ptr @strncpy(ptr noundef %346, ptr noundef @.str.27, i64 noundef %347) #9
  %349 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %350 unwind label %71

350:                                              ; preds = %345
  %351 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_21TMaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %349, ptr noundef %351)
          to label %352 unwind label %363

352:                                              ; preds = %350
  %353 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 10
  store ptr %349, ptr %353, align 8, !tbaa !28
  %354 = load i32, ptr %11, align 4, !tbaa !13
  %355 = icmp eq i32 %354, 1
  br i1 %355, label %356, label %367

356:                                              ; preds = %352
  %357 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.28)
          to label %358 unwind label %71

358:                                              ; preds = %356
  %359 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %357, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %360 unwind label %71

360:                                              ; preds = %358
  %361 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %359, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %362 unwind label %71

362:                                              ; preds = %360
  br label %367

363:                                              ; preds = %350
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %19, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %349, i64 noundef 40) #12
  br label %778

367:                                              ; preds = %362, %352
  %368 = load i32, ptr %11, align 4, !tbaa !13
  %369 = icmp eq i32 %368, 1
  br i1 %369, label %370, label %373

370:                                              ; preds = %367
  %371 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.29)
          to label %372 unwind label %71

372:                                              ; preds = %370
  br label %373

373:                                              ; preds = %372, %367
  %374 = load ptr, ptr %13, align 8, !tbaa !5
  %375 = load i64, ptr %15, align 8, !tbaa !15
  %376 = call ptr @strncpy(ptr noundef %374, ptr noundef @.str.30, i64 noundef %375) #9
  %377 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %378 unwind label %71

378:                                              ; preds = %373
  %379 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_10SECTOR_ROWENS_13TSectorLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %377, ptr noundef %379)
          to label %380 unwind label %391

380:                                              ; preds = %378
  %381 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 12
  store ptr %377, ptr %381, align 8, !tbaa !29
  %382 = load i32, ptr %11, align 4, !tbaa !13
  %383 = icmp eq i32 %382, 1
  br i1 %383, label %384, label %395

384:                                              ; preds = %380
  %385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.31)
          to label %386 unwind label %71

386:                                              ; preds = %384
  %387 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %385, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %388 unwind label %71

388:                                              ; preds = %386
  %389 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %387, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %390 unwind label %71

390:                                              ; preds = %388
  br label %395

391:                                              ; preds = %378
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %19, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %377, i64 noundef 40) #12
  br label %778

395:                                              ; preds = %390, %380
  br label %396

396:                                              ; preds = %395, %252, %249
  %397 = load i32, ptr %7, align 4, !tbaa !9
  %398 = icmp ne i32 %397, 3
  br i1 %398, label %399, label %747

399:                                              ; preds = %396
  %400 = load i32, ptr %7, align 4, !tbaa !9
  %401 = icmp ne i32 %400, 4
  br i1 %401, label %402, label %747

402:                                              ; preds = %399
  %403 = load i32, ptr %7, align 4, !tbaa !9
  %404 = icmp ne i32 %403, 2
  br i1 %404, label %405, label %747

405:                                              ; preds = %402
  %406 = load i32, ptr %7, align 4, !tbaa !9
  %407 = icmp ne i32 %406, 1
  br i1 %407, label %408, label %747

408:                                              ; preds = %405
  %409 = load i32, ptr %11, align 4, !tbaa !13
  %410 = icmp eq i32 %409, 1
  br i1 %410, label %411, label %414

411:                                              ; preds = %408
  %412 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.32)
          to label %413 unwind label %71

413:                                              ; preds = %411
  br label %414

414:                                              ; preds = %413, %408
  %415 = load ptr, ptr %13, align 8, !tbaa !5
  %416 = load i64, ptr %15, align 8, !tbaa !15
  %417 = call ptr @strncpy(ptr noundef %415, ptr noundef @.str.33, i64 noundef %416) #9
  %418 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %419 unwind label %71

419:                                              ; preds = %414
  %420 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_17TAreaCodeInputRowENS_16TAreaCodesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %418, ptr noundef %420)
          to label %421 unwind label %432

421:                                              ; preds = %419
  %422 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 0
  store ptr %418, ptr %422, align 8, !tbaa !30
  %423 = load i32, ptr %11, align 4, !tbaa !13
  %424 = icmp eq i32 %423, 1
  br i1 %424, label %425, label %436

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

427:                                              ; preds = %425
  %428 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %426, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %429 unwind label %71

429:                                              ; preds = %427
  %430 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %428, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %431 unwind label %71

431:                                              ; preds = %429
  br label %436

432:                                              ; preds = %419
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %19, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %418, i64 noundef 40) #12
  br label %778

436:                                              ; preds = %431, %421
  %437 = load i32, ptr %11, align 4, !tbaa !13
  %438 = icmp eq i32 %437, 1
  br i1 %438, label %439, label %442

439:                                              ; preds = %436
  %440 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.34)
          to label %441 unwind label %71

441:                                              ; preds = %439
  br label %442

442:                                              ; preds = %441, %436
  %443 = load ptr, ptr %13, align 8, !tbaa !5
  %444 = load i64, ptr %15, align 8, !tbaa !15
  %445 = call ptr @strncpy(ptr noundef %443, ptr noundef @.str.35, i64 noundef %444) #9
  %446 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %447 unwind label %71

447:                                              ; preds = %442
  %448 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_10CHARGE_ROWENS_13TChargeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %446, ptr noundef %448)
          to label %449 unwind label %460

449:                                              ; preds = %447
  %450 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 1
  store ptr %446, ptr %450, align 8, !tbaa !31
  %451 = load i32, ptr %11, align 4, !tbaa !13
  %452 = icmp eq i32 %451, 1
  br i1 %452, label %453, label %464

453:                                              ; preds = %449
  %454 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.31)
          to label %455 unwind label %71

455:                                              ; preds = %453
  %456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %454, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %457 unwind label %71

457:                                              ; preds = %455
  %458 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %456, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %459 unwind label %71

459:                                              ; preds = %457
  br label %464

460:                                              ; preds = %447
  %461 = landingpad { ptr, i32 }
          cleanup
  %462 = extractvalue { ptr, i32 } %461, 0
  store ptr %462, ptr %19, align 8
  %463 = extractvalue { ptr, i32 } %461, 1
  store i32 %463, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %446, i64 noundef 40) #12
  br label %778

464:                                              ; preds = %459, %449
  %465 = load i32, ptr %11, align 4, !tbaa !13
  %466 = icmp eq i32 %465, 1
  br i1 %466, label %467, label %470

467:                                              ; preds = %464
  %468 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.36)
          to label %469 unwind label %71

469:                                              ; preds = %467
  br label %470

470:                                              ; preds = %469, %464
  %471 = load ptr, ptr %13, align 8, !tbaa !5
  %472 = load i64, ptr %15, align 8, !tbaa !15
  %473 = call ptr @strncpy(ptr noundef %471, ptr noundef @.str.37, i64 noundef %472) #9
  %474 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %475 unwind label %71

475:                                              ; preds = %470
  %476 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_19COMMISSION_RATE_ROWENS_21TCommissionRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %474, ptr noundef %476)
          to label %477 unwind label %488

477:                                              ; preds = %475
  %478 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 2
  store ptr %474, ptr %478, align 8, !tbaa !32
  %479 = load i32, ptr %11, align 4, !tbaa !13
  %480 = icmp eq i32 %479, 1
  br i1 %480, label %481, label %492

481:                                              ; preds = %477
  %482 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.38)
          to label %483 unwind label %71

483:                                              ; preds = %481
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %482, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %485 unwind label %71

485:                                              ; preds = %483
  %486 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %484, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %487 unwind label %71

487:                                              ; preds = %485
  br label %492

488:                                              ; preds = %475
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %19, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %474, i64 noundef 40) #12
  br label %778

492:                                              ; preds = %487, %477
  %493 = load i32, ptr %11, align 4, !tbaa !13
  %494 = icmp eq i32 %493, 1
  br i1 %494, label %495, label %498

495:                                              ; preds = %492
  %496 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.39)
          to label %497 unwind label %71

497:                                              ; preds = %495
  br label %498

498:                                              ; preds = %497, %492
  %499 = load ptr, ptr %13, align 8, !tbaa !5
  %500 = load i64, ptr %15, align 8, !tbaa !15
  %501 = call ptr @strncpy(ptr noundef %499, ptr noundef @.str.40, i64 noundef %500) #9
  %502 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 64) #11
          to label %503 unwind label %71

503:                                              ; preds = %498
  %504 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  %505 = load i64, ptr %8, align 8, !tbaa !11
  %506 = load i64, ptr %9, align 8, !tbaa !11
  invoke void @_ZN4TPCE22CCompanyCompetitorFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(60) %502, ptr noundef %504, i64 noundef %505, i64 noundef %506)
          to label %507 unwind label %518

507:                                              ; preds = %503
  %508 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 4
  store ptr %502, ptr %508, align 8, !tbaa !33
  %509 = load i32, ptr %11, align 4, !tbaa !13
  %510 = icmp eq i32 %509, 1
  br i1 %510, label %511, label %522

511:                                              ; preds = %507
  %512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.18)
          to label %513 unwind label %71

513:                                              ; preds = %511
  %514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %512, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %515 unwind label %71

515:                                              ; preds = %513
  %516 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %514, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %517 unwind label %71

517:                                              ; preds = %515
  br label %522

518:                                              ; preds = %503
  %519 = landingpad { ptr, i32 }
          cleanup
  %520 = extractvalue { ptr, i32 } %519, 0
  store ptr %520, ptr %19, align 8
  %521 = extractvalue { ptr, i32 } %519, 1
  store i32 %521, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %502, i64 noundef 64) #12
  br label %778

522:                                              ; preds = %517, %507
  %523 = load i32, ptr %11, align 4, !tbaa !13
  %524 = icmp eq i32 %523, 1
  br i1 %524, label %525, label %528

525:                                              ; preds = %522
  %526 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %527 unwind label %71

527:                                              ; preds = %525
  br label %528

528:                                              ; preds = %527, %522
  %529 = load ptr, ptr %13, align 8, !tbaa !5
  %530 = load i64, ptr %15, align 8, !tbaa !15
  %531 = call ptr @strncpy(ptr noundef %529, ptr noundef @.str.42, i64 noundef %530) #9
  %532 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %533 unwind label %71

533:                                              ; preds = %528
  %534 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_22TCompanySPRateInputRowENS_20TCompanySPRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %532, ptr noundef %534)
          to label %535 unwind label %546

535:                                              ; preds = %533
  %536 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 5
  store ptr %532, ptr %536, align 8, !tbaa !34
  %537 = load i32, ptr %11, align 4, !tbaa !13
  %538 = icmp eq i32 %537, 1
  br i1 %538, label %539, label %550

539:                                              ; preds = %535
  %540 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.28)
          to label %541 unwind label %71

541:                                              ; preds = %539
  %542 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %540, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %543 unwind label %71

543:                                              ; preds = %541
  %544 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %542, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %545 unwind label %71

545:                                              ; preds = %543
  br label %550

546:                                              ; preds = %533
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %19, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %532, i64 noundef 40) #12
  br label %778

550:                                              ; preds = %545, %535
  %551 = load i32, ptr %11, align 4, !tbaa !13
  %552 = icmp eq i32 %551, 1
  br i1 %552, label %553, label %556

553:                                              ; preds = %550
  %554 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.24)
          to label %555 unwind label %71

555:                                              ; preds = %553
  br label %556

556:                                              ; preds = %555, %550
  %557 = load ptr, ptr %13, align 8, !tbaa !5
  %558 = load i64, ptr %15, align 8, !tbaa !15
  %559 = call ptr @strncpy(ptr noundef %557, ptr noundef @.str.25, i64 noundef %558) #9
  %560 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %561 unwind label %71

561:                                              ; preds = %556
  %562 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_13TNewsInputRowENS_11TNewsLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %560, ptr noundef %562)
          to label %563 unwind label %574

563:                                              ; preds = %561
  %564 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 11
  store ptr %560, ptr %564, align 8, !tbaa !35
  %565 = load i32, ptr %11, align 4, !tbaa !13
  %566 = icmp eq i32 %565, 1
  br i1 %566, label %567, label %578

567:                                              ; preds = %563
  %568 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.4)
          to label %569 unwind label %71

569:                                              ; preds = %567
  %570 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %568, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %571 unwind label %71

571:                                              ; preds = %569
  %572 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %570, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %573 unwind label %71

573:                                              ; preds = %571
  br label %578

574:                                              ; preds = %561
  %575 = landingpad { ptr, i32 }
          cleanup
  %576 = extractvalue { ptr, i32 } %575, 0
  store ptr %576, ptr %19, align 8
  %577 = extractvalue { ptr, i32 } %575, 1
  store i32 %577, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %560, i64 noundef 40) #12
  br label %778

578:                                              ; preds = %573, %563
  %579 = load i32, ptr %11, align 4, !tbaa !13
  %580 = icmp eq i32 %579, 1
  br i1 %580, label %581, label %584

581:                                              ; preds = %578
  %582 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.43)
          to label %583 unwind label %71

583:                                              ; preds = %581
  br label %584

584:                                              ; preds = %583, %578
  %585 = load ptr, ptr %13, align 8, !tbaa !5
  %586 = load i64, ptr %15, align 8, !tbaa !15
  %587 = call ptr @strncpy(ptr noundef %585, ptr noundef @.str.44, i64 noundef %586) #9
  %588 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %589 unwind label %71

589:                                              ; preds = %584
  %590 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_19TStreetNameInputRowENS_18TStreetNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %588, ptr noundef %590)
          to label %591 unwind label %602

591:                                              ; preds = %589
  %592 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 15
  store ptr %588, ptr %592, align 8, !tbaa !36
  %593 = load i32, ptr %11, align 4, !tbaa !13
  %594 = icmp eq i32 %593, 1
  br i1 %594, label %595, label %606

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

597:                                              ; preds = %595
  %598 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %596, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %599 unwind label %71

599:                                              ; preds = %597
  %600 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %598, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %601 unwind label %71

601:                                              ; preds = %599
  br label %606

602:                                              ; preds = %589
  %603 = landingpad { ptr, i32 }
          cleanup
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %19, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %588, i64 noundef 40) #12
  br label %778

606:                                              ; preds = %601, %591
  %607 = load i32, ptr %11, align 4, !tbaa !13
  %608 = icmp eq i32 %607, 1
  br i1 %608, label %609, label %612

609:                                              ; preds = %606
  %610 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.45)
          to label %611 unwind label %71

611:                                              ; preds = %609
  br label %612

612:                                              ; preds = %611, %606
  %613 = load ptr, ptr %13, align 8, !tbaa !5
  %614 = load i64, ptr %15, align 8, !tbaa !15
  %615 = call ptr @strncpy(ptr noundef %613, ptr noundef @.str.46, i64 noundef %614) #9
  %616 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %617 unwind label %71

617:                                              ; preds = %612
  %618 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_21TStreetSuffixInputRowENS_19TStreetSuffixLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %616, ptr noundef %618)
          to label %619 unwind label %630

619:                                              ; preds = %617
  %620 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 16
  store ptr %616, ptr %620, align 8, !tbaa !37
  %621 = load i32, ptr %11, align 4, !tbaa !13
  %622 = icmp eq i32 %621, 1
  br i1 %622, label %623, label %634

623:                                              ; preds = %619
  %624 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.47)
          to label %625 unwind label %71

625:                                              ; preds = %623
  %626 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %624, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %627 unwind label %71

627:                                              ; preds = %625
  %628 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %626, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %629 unwind label %71

629:                                              ; preds = %627
  br label %634

630:                                              ; preds = %617
  %631 = landingpad { ptr, i32 }
          cleanup
  %632 = extractvalue { ptr, i32 } %631, 0
  store ptr %632, ptr %19, align 8
  %633 = extractvalue { ptr, i32 } %631, 1
  store i32 %633, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %616, i64 noundef 40) #12
  br label %778

634:                                              ; preds = %629, %619
  %635 = load i32, ptr %11, align 4, !tbaa !13
  %636 = icmp eq i32 %635, 1
  br i1 %636, label %637, label %640

637:                                              ; preds = %634
  %638 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.48)
          to label %639 unwind label %71

639:                                              ; preds = %637
  br label %640

640:                                              ; preds = %639, %634
  %641 = load ptr, ptr %13, align 8, !tbaa !5
  %642 = load i64, ptr %15, align 8, !tbaa !15
  %643 = call ptr @strncpy(ptr noundef %641, ptr noundef @.str.49, i64 noundef %642) #9
  %644 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %645 unwind label %71

645:                                              ; preds = %640
  %646 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_25TTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %644, ptr noundef %646)
          to label %647 unwind label %658

647:                                              ; preds = %645
  %648 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 17
  store ptr %644, ptr %648, align 8, !tbaa !38
  %649 = load i32, ptr %11, align 4, !tbaa !13
  %650 = icmp eq i32 %649, 1
  br i1 %650, label %651, label %662

651:                                              ; preds = %647
  %652 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.50)
          to label %653 unwind label %71

653:                                              ; preds = %651
  %654 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %652, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %655 unwind label %71

655:                                              ; preds = %653
  %656 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %654, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %657 unwind label %71

657:                                              ; preds = %655
  br label %662

658:                                              ; preds = %645
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %19, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %644, i64 noundef 40) #12
  br label %778

662:                                              ; preds = %657, %647
  %663 = load i32, ptr %11, align 4, !tbaa !13
  %664 = icmp eq i32 %663, 1
  br i1 %664, label %665, label %668

665:                                              ; preds = %662
  %666 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.51)
          to label %667 unwind label %71

667:                                              ; preds = %665
  br label %668

668:                                              ; preds = %667, %662
  %669 = load ptr, ptr %13, align 8, !tbaa !5
  %670 = load i64, ptr %15, align 8, !tbaa !15
  %671 = call ptr @strncpy(ptr noundef %669, ptr noundef @.str.52, i64 noundef %670) #9
  %672 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %673 unwind label %71

673:                                              ; preds = %668
  %674 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_28TNonTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %672, ptr noundef %674)
          to label %675 unwind label %686

675:                                              ; preds = %673
  %676 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 18
  store ptr %672, ptr %676, align 8, !tbaa !39
  %677 = load i32, ptr %11, align 4, !tbaa !13
  %678 = icmp eq i32 %677, 1
  br i1 %678, label %679, label %690

679:                                              ; preds = %675
  %680 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.53)
          to label %681 unwind label %71

681:                                              ; preds = %679
  %682 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %680, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %683 unwind label %71

683:                                              ; preds = %681
  %684 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %682, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %685 unwind label %71

685:                                              ; preds = %683
  br label %690

686:                                              ; preds = %673
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %19, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %672, i64 noundef 40) #12
  br label %778

690:                                              ; preds = %685, %675
  %691 = load i32, ptr %11, align 4, !tbaa !13
  %692 = icmp eq i32 %691, 1
  br i1 %692, label %693, label %696

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

695:                                              ; preds = %693
  br label %696

696:                                              ; preds = %695, %690
  %697 = load ptr, ptr %13, align 8, !tbaa !5
  %698 = load i64, ptr %15, align 8, !tbaa !15
  %699 = call ptr @strncpy(ptr noundef %697, ptr noundef @.str.55, i64 noundef %698) #9
  %700 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #11
          to label %701 unwind label %71

701:                                              ; preds = %696
  %702 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE18CInputFileNoWeightINS_16TTaxRateInputRowEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(24) %700, ptr noundef %702)
          to label %703 unwind label %714

703:                                              ; preds = %701
  %704 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 19
  store ptr %700, ptr %704, align 8, !tbaa !40
  %705 = load i32, ptr %11, align 4, !tbaa !13
  %706 = icmp eq i32 %705, 1
  br i1 %706, label %707, label %718

707:                                              ; preds = %703
  %708 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.21)
          to label %709 unwind label %71

709:                                              ; preds = %707
  %710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %708, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %711 unwind label %71

711:                                              ; preds = %709
  %712 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %710, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %713 unwind label %71

713:                                              ; preds = %711
  br label %718

714:                                              ; preds = %701
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %19, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %700, i64 noundef 24) #12
  br label %778

718:                                              ; preds = %713, %703
  %719 = load i32, ptr %11, align 4, !tbaa !13
  %720 = icmp eq i32 %719, 1
  br i1 %720, label %721, label %724

721:                                              ; preds = %718
  %722 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.56)
          to label %723 unwind label %71

723:                                              ; preds = %721
  br label %724

724:                                              ; preds = %723, %718
  %725 = load ptr, ptr %13, align 8, !tbaa !5
  %726 = load i64, ptr %15, align 8, !tbaa !15
  %727 = call ptr @strncpy(ptr noundef %725, ptr noundef @.str.57, i64 noundef %726) #9
  %728 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #11
          to label %729 unwind label %71

729:                                              ; preds = %724
  %730 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN4TPCE10CInputFileINS_16TZipCodeInputRowENS_14TZipCodeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %728, ptr noundef %730)
          to label %731 unwind label %742

731:                                              ; preds = %729
  %732 = getelementptr inbounds %"class.TPCE::CInputFiles", ptr %22, i32 0, i32 22
  store ptr %728, ptr %732, align 8, !tbaa !41
  %733 = load i32, ptr %11, align 4, !tbaa !13
  %734 = icmp eq i32 %733, 1
  br i1 %734, label %735, label %746

735:                                              ; preds = %731
  %736 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %737 unwind label %71

737:                                              ; preds = %735
  %738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %736, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %739 unwind label %71

739:                                              ; preds = %737
  %740 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %738, ptr noundef @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %741 unwind label %71

741:                                              ; preds = %739
  br label %746

742:                                              ; preds = %729
  %743 = landingpad { ptr, i32 }
          cleanup
  %744 = extractvalue { ptr, i32 } %743, 0
  store ptr %744, ptr %19, align 8
  %745 = extractvalue { ptr, i32 } %743, 1
  store i32 %745, ptr %20, align 4
  call void @_ZdlPvm(ptr noundef %728, i64 noundef 40) #12
  br label %778

746:                                              ; preds = %741, %731
  br label %747

747:                                              ; preds = %746, %405, %402, %399, %396
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #9
  invoke void @_ZN4TPCE9CDateTimeC1Ev(ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %748 unwind label %766

748:                                              ; preds = %747
  %749 = load i32, ptr %11, align 4, !tbaa !13
  %750 = icmp eq i32 %749, 1
  br i1 %750, label %751, label %774

751:                                              ; preds = %748
  %752 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %753 unwind label %770

753:                                              ; preds = %751
  %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.58)
          to label %755 unwind label %770

755:                                              ; preds = %753
  %756 = invoke noundef double @_ZN4TPCE9CDateTimemiERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %757 unwind label %770

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

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.59)
          to label %761 unwind label %770

761:                                              ; preds = %759
  %762 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %760, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %763 unwind label %770

763:                                              ; preds = %761
  %764 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %762, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %765 unwind label %770

765:                                              ; preds = %763
  br label %774

766:                                              ; preds = %747
  %767 = landingpad { ptr, i32 }
          cleanup
  %768 = extractvalue { ptr, i32 } %767, 0
  store ptr %768, ptr %19, align 8
  %769 = extractvalue { ptr, i32 } %767, 1
  store i32 %769, ptr %20, align 4
  br label %777

770:                                              ; preds = %763, %761, %759, %757, %755, %753, %751
  %771 = landingpad { ptr, i32 }
          cleanup
  %772 = extractvalue { ptr, i32 } %771, 0
  store ptr %772, ptr %19, align 8
  %773 = extractvalue { ptr, i32 } %771, 1
  store i32 %773, ptr %20, align 4
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #9
  br label %777

774:                                              ; preds = %765, %748
  %775 = load i64, ptr %14, align 8, !tbaa !15
  %776 = getelementptr inbounds [512 x i8], ptr %12, i64 0, i64 %775
  store i8 0, ptr %776, align 1, !tbaa !17
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #9
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 512, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #9
  ret i1 true

777:                                              ; preds = %770, %766
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #9
  br label %778

778:                                              ; preds = %777, %742, %714, %686, %658, %630, %602, %574, %546, %518, %488, %460, %432, %391, %363, %335, %307, %279, %244, %216, %188, %154, %123, %95, %71
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 512, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #9
  br label %779

779:                                              ; preds = %778
  %780 = load ptr, ptr %19, align 8
  %781 = load i32, ptr %20, align 4
  %782 = insertvalue { ptr, i32 } poison, ptr %780, 0
  %783 = insertvalue { ptr, i32 } %782, i32 %781, 1
  resume { ptr, i32 } %783
}

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

; Function Attrs: nounwind
declare ptr @strncpy(ptr noundef, ptr noundef, i64 noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #3

; Function Attrs: nounwind
declare ptr @strncat(ptr noundef, ptr noundef, i64 noundef) #2

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #5

declare void @_ZN4TPCE9CDateTimeC1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #6

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE13CSecurityFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef, i64 noundef, i64 noundef) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_15STATUS_TYPE_ROWENS_17TStatusTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_14TRADE_TYPE_ROWENS_16TTradeTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE12CCompanyFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef, i64 noundef, i64 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_12EXCHANGE_ROWENS_15TExchangeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_23TFemaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_12INDUSTRY_ROWENS_15TIndustryLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_17TLastNameInputRowENS_16TLastNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_21TMaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_10SECTOR_ROWENS_13TSectorLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_17TAreaCodeInputRowENS_16TAreaCodesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_10CHARGE_ROWENS_13TChargeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_19COMMISSION_RATE_ROWENS_21TCommissionRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE22CCompanyCompetitorFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i64 noundef, i64 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_22TCompanySPRateInputRowENS_20TCompanySPRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_13TNewsInputRowENS_11TNewsLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_19TStreetNameInputRowENS_18TStreetNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_21TStreetSuffixInputRowENS_19TStreetSuffixLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_25TTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_28TNonTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_16TZipCodeInputRowENS_14TZipCodeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8), double noundef) #0 align 2

declare noundef double @_ZN4TPCE9CDateTimemiERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #6

; Function Attrs: nounwind
declare void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 #6 = { "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 = { 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 #8 = { 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 #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(read) }
attributes #11 = { builtin allocsize(0) }
attributes #12 = { 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 = !{!10, !10, i64 0}
!10 = !{!"_ZTSN4TPCE11eDriverTypeE", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long long", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"_ZTSN4TPCE16eOutputVerbosityE", !7, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!7, !7, i64 0}
!18 = !{!19, !6, i64 104}
!19 = !{!"_ZTSN4TPCE11CInputFilesE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !6, i64 88, !6, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !6, i64 144, !6, i64 152, !6, i64 160, !6, i64 168, !6, i64 176}
!20 = !{!19, !6, i64 112}
!21 = !{!19, !6, i64 168}
!22 = !{!19, !6, i64 24}
!23 = !{!19, !6, i64 48}
!24 = !{!19, !6, i64 160}
!25 = !{!19, !6, i64 56}
!26 = !{!19, !6, i64 64}
!27 = !{!19, !6, i64 72}
!28 = !{!19, !6, i64 80}
!29 = !{!19, !6, i64 96}
!30 = !{!19, !6, i64 0}
!31 = !{!19, !6, i64 8}
!32 = !{!19, !6, i64 16}
!33 = !{!19, !6, i64 32}
!34 = !{!19, !6, i64 40}
!35 = !{!19, !6, i64 88}
!36 = !{!19, !6, i64 120}
!37 = !{!19, !6, i64 128}
!38 = !{!19, !6, i64 136}
!39 = !{!19, !6, i64 144}
!40 = !{!19, !6, i64 152}
!41 = !{!19, !6, i64 176}


; 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.TPCE::CDateTime" = type { i32, i32, ptr }

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.1 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [6 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN4TPCE11CInputFiles10InitializeENS_11eDriverTypeExxPKc(ptr nocapture noundef nonnull writeonly align 8 dereferenceable(184) %0, i32 noundef %1, i64 noundef %2, i64 noundef %3, ptr nocapture noundef readonly %4) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca [512 x i8], align 16
  %7 = alloca i64, align 8
  %8 = alloca i64, align 8
  %9 = alloca %"class.TPCE::CDateTime", align 8
  %10 = alloca %"class.TPCE::CDateTime", align 8
  %11 = icmp eq i32 %1, 0
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %6) #10
  %12 = call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull dereferenceable(1) %4, i64 noundef 512) #10
  %13 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %6) #11
  %14 = getelementptr inbounds [512 x i8], ptr %6, i64 0, i64 %13
  %15 = load i8, ptr %14, align 1, !tbaa !5
  switch i8 %15, label %16 [
    i8 47, label %23
    i8 92, label %23
  ]

16:                                               ; preds = %5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #10
  store i64 512, ptr %7, align 8, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #10
  %17 = add i64 %13, -1
  store i64 %17, ptr %8, align 8, !tbaa !8
  %18 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %19 = load i64, ptr %18, align 8, !tbaa !8
  %20 = call ptr @strncat(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull @.str, i64 noundef %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  %21 = getelementptr inbounds i8, ptr %14, i64 1
  %22 = add i64 %13, 1
  br label %23

23:                                               ; preds = %5, %5, %16
  %.0130 = phi i64 [ %22, %16 ], [ %13, %5 ], [ %13, %5 ]
  %.0129 = phi ptr [ %21, %16 ], [ %14, %5 ], [ %14, %5 ]
  %24 = sub i64 511, %.0130
  br i1 %11, label %25, label %.critedge

25:                                               ; preds = %23
  %26 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.1)
  %27 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %28 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %29 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #10
  call void @_ZN4TPCE9CDateTimeC1Ev(ptr noundef nonnull align 8 dereferenceable(16) %9)
  %30 = 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.2)
          to label %33 unwind label %31

31:                                               ; preds = %380, %378, %376, %.critedge172, %369, %365, %363, %361, %.critedge170, %354, %350, %348, %346, %.critedge168, %339, %335, %333, %331, %.critedge166, %324, %320, %318, %316, %.critedge164, %309, %305, %303, %301, %.critedge162, %294, %290, %288, %286, %.critedge160, %279, %275, %273, %271, %.critedge158, %264, %260, %258, %256, %.critedge156, %249, %245, %243, %241, %.critedge154, %234, %230, %228, %226, %.critedge152, %219, %215, %213, %211, %.thread188, %205, %200, %198, %196, %.critedge150, %189, %185, %183, %181, %.critedge148, %174, %170, %168, %166, %.critedge146, %159, %155, %153, %151, %.critedge144, %144, %140, %138, %136, %129, %127, %121, %119, %117, %.critedge142, %110, %106, %104, %102, %.critedge140, %95, %91, %89, %87, %.thread177, %80, %75, %73, %71, %65, %63, %58, %56, %54, %.critedge138, %47, %43, %41, %39, %33, %25
  %32 = landingpad { ptr, i32 }
          cleanup
  br label %406

.critedge:                                        ; preds = %23
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #10
  call void @_ZN4TPCE9CDateTimeC1Ev(ptr noundef nonnull align 8 dereferenceable(16) %9)
  br label %33

33:                                               ; preds = %.critedge, %25
  %34 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.3, i64 noundef %24) #10
  %35 = invoke noalias noundef nonnull dereferenceable(168) ptr @_Znwm(i64 noundef 168) #12
          to label %36 unwind label %31

36:                                               ; preds = %33
  invoke void @_ZN4TPCE13CSecurityFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(161) %35, ptr noundef nonnull %6, i64 noundef %2, i64 noundef %3)
          to label %37 unwind label %45

37:                                               ; preds = %36
  %38 = getelementptr inbounds i8, ptr %0, i64 104
  store ptr %35, ptr %38, align 8, !tbaa !10
  br i1 %11, label %39, label %.critedge138

39:                                               ; preds = %37
  %40 = 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.4)
          to label %41 unwind label %31

41:                                               ; preds = %39
  %42 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %43 unwind label %31

43:                                               ; preds = %41
  %44 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %47 unwind label %31

45:                                               ; preds = %36
  %46 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %35, i64 noundef 168) #13
  br label %406

47:                                               ; preds = %43
  %48 = 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 %.critedge138 unwind label %31

.critedge138:                                     ; preds = %37, %47
  %49 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.6, i64 noundef %24) #10
  %50 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %51 unwind label %31

51:                                               ; preds = %.critedge138
  invoke void @_ZN4TPCE9CFlatFileINS_15STATUS_TYPE_ROWENS_17TStatusTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %50, ptr noundef nonnull %6)
          to label %52 unwind label %60

52:                                               ; preds = %51
  %53 = getelementptr inbounds i8, ptr %0, i64 112
  store ptr %50, ptr %53, align 8, !tbaa !13
  br i1 %11, label %54, label %62

54:                                               ; preds = %52
  %55 = 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.7)
          to label %56 unwind label %31

56:                                               ; preds = %54
  %57 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %58 unwind label %31

58:                                               ; preds = %56
  %59 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %63 unwind label %31

60:                                               ; preds = %51
  %61 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %50, i64 noundef 40) #13
  br label %406

62:                                               ; preds = %52
  %cond = icmp eq i32 %1, 4
  br i1 %cond, label %.thread177, label %65

63:                                               ; preds = %58
  %64 = 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 %65 unwind label %31

65:                                               ; preds = %62, %63
  %66 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.9, i64 noundef %24) #10
  %67 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %68 unwind label %31

68:                                               ; preds = %65
  invoke void @_ZN4TPCE9CFlatFileINS_14TRADE_TYPE_ROWENS_16TTradeTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %67, ptr noundef nonnull %6)
          to label %69 unwind label %77

69:                                               ; preds = %68
  %70 = getelementptr inbounds i8, ptr %0, i64 168
  store ptr %67, ptr %70, align 8, !tbaa !14
  br i1 %11, label %71, label %79

71:                                               ; preds = %69
  %72 = 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.10)
          to label %73 unwind label %31

73:                                               ; preds = %71
  %74 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %75 unwind label %31

75:                                               ; preds = %73
  %76 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %80 unwind label %31

77:                                               ; preds = %68
  %78 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %67, i64 noundef 40) #13
  br label %406

79:                                               ; preds = %69
  %.not133 = icmp eq i32 %1, 3
  br i1 %.not133, label %.thread184, label %.thread177

80:                                               ; preds = %75
  %81 = 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.11)
          to label %.thread177 unwind label %31

.thread177:                                       ; preds = %79, %62, %80
  %82 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.12, i64 noundef %24) #10
  %83 = invoke noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #12
          to label %84 unwind label %31

84:                                               ; preds = %.thread177
  invoke void @_ZN4TPCE12CCompanyFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(56) %83, ptr noundef nonnull %6, i64 noundef %2, i64 noundef %3)
          to label %85 unwind label %93

85:                                               ; preds = %84
  %86 = getelementptr inbounds i8, ptr %0, i64 24
  store ptr %83, ptr %86, align 8, !tbaa !15
  br i1 %11, label %87, label %.critedge140

87:                                               ; preds = %85
  %88 = 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.13)
          to label %89 unwind label %31

89:                                               ; preds = %87
  %90 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %91 unwind label %31

91:                                               ; preds = %89
  %92 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %95 unwind label %31

93:                                               ; preds = %84
  %94 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %83, i64 noundef 56) #13
  br label %406

95:                                               ; preds = %91
  %96 = 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.14)
          to label %.critedge140 unwind label %31

.critedge140:                                     ; preds = %85, %95
  %97 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.15, i64 noundef %24) #10
  %98 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %99 unwind label %31

99:                                               ; preds = %.critedge140
  invoke void @_ZN4TPCE9CFlatFileINS_12EXCHANGE_ROWENS_15TExchangeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %98, ptr noundef nonnull %6)
          to label %100 unwind label %108

100:                                              ; preds = %99
  %101 = getelementptr inbounds i8, ptr %0, i64 48
  store ptr %98, ptr %101, align 8, !tbaa !16
  br i1 %11, label %102, label %.critedge142

102:                                              ; preds = %100
  %103 = 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.4)
          to label %104 unwind label %31

104:                                              ; preds = %102
  %105 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %106 unwind label %31

106:                                              ; preds = %104
  %107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %110 unwind label %31

108:                                              ; preds = %99
  %109 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %98, i64 noundef 40) #13
  br label %406

110:                                              ; preds = %106
  %111 = 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.16)
          to label %.critedge142 unwind label %31

.critedge142:                                     ; preds = %100, %110
  %112 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.17, i64 noundef %24) #10
  %113 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #12
          to label %114 unwind label %31

114:                                              ; preds = %.critedge142
  invoke void @_ZN4TPCE18CInputFileNoWeightINS_16TTaxRateInputRowEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(24) %113, ptr noundef nonnull %6)
          to label %115 unwind label %123

115:                                              ; preds = %114
  %116 = getelementptr inbounds i8, ptr %0, i64 160
  store ptr %113, ptr %116, align 8, !tbaa !17
  br i1 %11, label %117, label %125

117:                                              ; preds = %115
  %118 = 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.18)
          to label %119 unwind label %31

119:                                              ; preds = %117
  %120 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %118, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %121 unwind label %31

121:                                              ; preds = %119
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %127 unwind label %31

123:                                              ; preds = %114
  %124 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %113, i64 noundef 24) #13
  br label %406

125:                                              ; preds = %115
  %126 = add i32 %1, -5
  %or.cond = icmp ult i32 %126, -2
  br i1 %or.cond, label %129, label %.thread184

127:                                              ; preds = %121
  %128 = 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.19)
          to label %129 unwind label %31

129:                                              ; preds = %125, %127
  %130 = phi i32 [ -5, %127 ], [ %126, %125 ]
  %131 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.20, i64 noundef %24) #10
  %132 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %133 unwind label %31

133:                                              ; preds = %129
  invoke void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_23TFemaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %132, ptr noundef nonnull %6)
          to label %134 unwind label %142

134:                                              ; preds = %133
  %135 = getelementptr inbounds i8, ptr %0, i64 56
  store ptr %132, ptr %135, align 8, !tbaa !18
  br i1 %11, label %136, label %.critedge144

136:                                              ; preds = %134
  %137 = 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.21)
          to label %138 unwind label %31

138:                                              ; preds = %136
  %139 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %140 unwind label %31

140:                                              ; preds = %138
  %141 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %144 unwind label %31

142:                                              ; preds = %133
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %132, i64 noundef 40) #13
  br label %406

144:                                              ; preds = %140
  %145 = 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.22)
          to label %.critedge144 unwind label %31

.critedge144:                                     ; preds = %134, %144
  %146 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.23, i64 noundef %24) #10
  %147 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %148 unwind label %31

148:                                              ; preds = %.critedge144
  invoke void @_ZN4TPCE9CFlatFileINS_12INDUSTRY_ROWENS_15TIndustryLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %147, ptr noundef nonnull %6)
          to label %149 unwind label %157

149:                                              ; preds = %148
  %150 = getelementptr inbounds i8, ptr %0, i64 64
  store ptr %147, ptr %150, align 8, !tbaa !19
  br i1 %11, label %151, label %.critedge146

151:                                              ; preds = %149
  %152 = 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.4)
          to label %153 unwind label %31

153:                                              ; preds = %151
  %154 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %152, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %155 unwind label %31

155:                                              ; preds = %153
  %156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %159 unwind label %31

157:                                              ; preds = %148
  %158 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %147, i64 noundef 40) #13
  br label %406

159:                                              ; preds = %155
  %160 = 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.24)
          to label %.critedge146 unwind label %31

.critedge146:                                     ; preds = %149, %159
  %161 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.25, i64 noundef %24) #10
  %162 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %163 unwind label %31

163:                                              ; preds = %.critedge146
  invoke void @_ZN4TPCE10CInputFileINS_17TLastNameInputRowENS_16TLastNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %162, ptr noundef nonnull %6)
          to label %164 unwind label %172

164:                                              ; preds = %163
  %165 = getelementptr inbounds i8, ptr %0, i64 72
  store ptr %162, ptr %165, align 8, !tbaa !20
  br i1 %11, label %166, label %.critedge148

166:                                              ; preds = %164
  %167 = 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.4)
          to label %168 unwind label %31

168:                                              ; preds = %166
  %169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %170 unwind label %31

170:                                              ; preds = %168
  %171 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %169, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %174 unwind label %31

172:                                              ; preds = %163
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %162, i64 noundef 40) #13
  br label %406

174:                                              ; preds = %170
  %175 = 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.26)
          to label %.critedge148 unwind label %31

.critedge148:                                     ; preds = %164, %174
  %176 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.27, i64 noundef %24) #10
  %177 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %178 unwind label %31

178:                                              ; preds = %.critedge148
  invoke void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_21TMaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %177, ptr noundef nonnull %6)
          to label %179 unwind label %187

179:                                              ; preds = %178
  %180 = getelementptr inbounds i8, ptr %0, i64 80
  store ptr %177, ptr %180, align 8, !tbaa !21
  br i1 %11, label %181, label %.critedge150

181:                                              ; preds = %179
  %182 = 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.28)
          to label %183 unwind label %31

183:                                              ; preds = %181
  %184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %185 unwind label %31

185:                                              ; preds = %183
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %189 unwind label %31

187:                                              ; preds = %178
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %177, i64 noundef 40) #13
  br label %406

189:                                              ; preds = %185
  %190 = 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.29)
          to label %.critedge150 unwind label %31

.critedge150:                                     ; preds = %179, %189
  %191 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.30, i64 noundef %24) #10
  %192 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %193 unwind label %31

193:                                              ; preds = %.critedge150
  invoke void @_ZN4TPCE9CFlatFileINS_10SECTOR_ROWENS_13TSectorLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %192, ptr noundef nonnull %6)
          to label %194 unwind label %202

194:                                              ; preds = %193
  %195 = getelementptr inbounds i8, ptr %0, i64 96
  store ptr %192, ptr %195, align 8, !tbaa !22
  br i1 %11, label %196, label %.thread186

196:                                              ; preds = %194
  %197 = 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.31)
          to label %198 unwind label %31

198:                                              ; preds = %196
  %199 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %197, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %200 unwind label %31

200:                                              ; preds = %198
  %201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %199, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %204 unwind label %31

202:                                              ; preds = %193
  %203 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %192, i64 noundef 40) #13
  br label %406

204:                                              ; preds = %200
  %or.cond7 = icmp ult i32 %130, -4
  br i1 %or.cond7, label %205, label %.thread184

.thread186:                                       ; preds = %194
  %or.cond7187 = icmp ult i32 %130, -4
  br i1 %or.cond7187, label %.thread188, label %.thread184

205:                                              ; preds = %204
  %206 = 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.32)
          to label %.thread188 unwind label %31

.thread188:                                       ; preds = %.thread186, %205
  %207 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.33, i64 noundef %24) #10
  %208 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %209 unwind label %31

209:                                              ; preds = %.thread188
  invoke void @_ZN4TPCE10CInputFileINS_17TAreaCodeInputRowENS_16TAreaCodesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %208, ptr noundef nonnull %6)
          to label %210 unwind label %217

210:                                              ; preds = %209
  store ptr %208, ptr %0, align 8, !tbaa !23
  br i1 %11, label %211, label %.critedge152

211:                                              ; preds = %210
  %212 = 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.4)
          to label %213 unwind label %31

213:                                              ; preds = %211
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %212, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %215 unwind label %31

215:                                              ; preds = %213
  %216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %214, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %219 unwind label %31

217:                                              ; preds = %209
  %218 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %208, i64 noundef 40) #13
  br label %406

219:                                              ; preds = %215
  %220 = 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.34)
          to label %.critedge152 unwind label %31

.critedge152:                                     ; preds = %210, %219
  %221 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.35, i64 noundef %24) #10
  %222 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %223 unwind label %31

223:                                              ; preds = %.critedge152
  invoke void @_ZN4TPCE9CFlatFileINS_10CHARGE_ROWENS_13TChargeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %222, ptr noundef nonnull %6)
          to label %224 unwind label %232

224:                                              ; preds = %223
  %225 = getelementptr inbounds i8, ptr %0, i64 8
  store ptr %222, ptr %225, align 8, !tbaa !24
  br i1 %11, label %226, label %.critedge154

226:                                              ; preds = %224
  %227 = 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.31)
          to label %228 unwind label %31

228:                                              ; preds = %226
  %229 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %230 unwind label %31

230:                                              ; preds = %228
  %231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %229, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %234 unwind label %31

232:                                              ; preds = %223
  %233 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %222, i64 noundef 40) #13
  br label %406

234:                                              ; preds = %230
  %235 = 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.36)
          to label %.critedge154 unwind label %31

.critedge154:                                     ; preds = %224, %234
  %236 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.37, i64 noundef %24) #10
  %237 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %238 unwind label %31

238:                                              ; preds = %.critedge154
  invoke void @_ZN4TPCE9CFlatFileINS_19COMMISSION_RATE_ROWENS_21TCommissionRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %237, ptr noundef nonnull %6)
          to label %239 unwind label %247

239:                                              ; preds = %238
  %240 = getelementptr inbounds i8, ptr %0, i64 16
  store ptr %237, ptr %240, align 8, !tbaa !25
  br i1 %11, label %241, label %.critedge156

241:                                              ; preds = %239
  %242 = 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.38)
          to label %243 unwind label %31

243:                                              ; preds = %241
  %244 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %242, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %245 unwind label %31

245:                                              ; preds = %243
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %249 unwind label %31

247:                                              ; preds = %238
  %248 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %237, i64 noundef 40) #13
  br label %406

249:                                              ; preds = %245
  %250 = 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.39)
          to label %.critedge156 unwind label %31

.critedge156:                                     ; preds = %239, %249
  %251 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.40, i64 noundef %24) #10
  %252 = invoke noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #12
          to label %253 unwind label %31

253:                                              ; preds = %.critedge156
  invoke void @_ZN4TPCE22CCompanyCompetitorFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(60) %252, ptr noundef nonnull %6, i64 noundef %2, i64 noundef %3)
          to label %254 unwind label %262

254:                                              ; preds = %253
  %255 = getelementptr inbounds i8, ptr %0, i64 32
  store ptr %252, ptr %255, align 8, !tbaa !26
  br i1 %11, label %256, label %.critedge158

256:                                              ; preds = %254
  %257 = 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.18)
          to label %258 unwind label %31

258:                                              ; preds = %256
  %259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %257, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %260 unwind label %31

260:                                              ; preds = %258
  %261 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %264 unwind label %31

262:                                              ; preds = %253
  %263 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %252, i64 noundef 64) #13
  br label %406

264:                                              ; preds = %260
  %265 = 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.41)
          to label %.critedge158 unwind label %31

.critedge158:                                     ; preds = %254, %264
  %266 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.42, i64 noundef %24) #10
  %267 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %268 unwind label %31

268:                                              ; preds = %.critedge158
  invoke void @_ZN4TPCE10CInputFileINS_22TCompanySPRateInputRowENS_20TCompanySPRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %267, ptr noundef nonnull %6)
          to label %269 unwind label %277

269:                                              ; preds = %268
  %270 = getelementptr inbounds i8, ptr %0, i64 40
  store ptr %267, ptr %270, align 8, !tbaa !27
  br i1 %11, label %271, label %.critedge160

271:                                              ; preds = %269
  %272 = 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.28)
          to label %273 unwind label %31

273:                                              ; preds = %271
  %274 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %272, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %275 unwind label %31

275:                                              ; preds = %273
  %276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %274, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %279 unwind label %31

277:                                              ; preds = %268
  %278 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %267, i64 noundef 40) #13
  br label %406

279:                                              ; preds = %275
  %280 = 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.24)
          to label %.critedge160 unwind label %31

.critedge160:                                     ; preds = %269, %279
  %281 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.25, i64 noundef %24) #10
  %282 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %283 unwind label %31

283:                                              ; preds = %.critedge160
  invoke void @_ZN4TPCE10CInputFileINS_13TNewsInputRowENS_11TNewsLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %282, ptr noundef nonnull %6)
          to label %284 unwind label %292

284:                                              ; preds = %283
  %285 = getelementptr inbounds i8, ptr %0, i64 88
  store ptr %282, ptr %285, align 8, !tbaa !28
  br i1 %11, label %286, label %.critedge162

286:                                              ; preds = %284
  %287 = 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.4)
          to label %288 unwind label %31

288:                                              ; preds = %286
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %287, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %290 unwind label %31

290:                                              ; preds = %288
  %291 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %294 unwind label %31

292:                                              ; preds = %283
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %282, i64 noundef 40) #13
  br label %406

294:                                              ; preds = %290
  %295 = 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.43)
          to label %.critedge162 unwind label %31

.critedge162:                                     ; preds = %284, %294
  %296 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.44, i64 noundef %24) #10
  %297 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %298 unwind label %31

298:                                              ; preds = %.critedge162
  invoke void @_ZN4TPCE10CInputFileINS_19TStreetNameInputRowENS_18TStreetNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %297, ptr noundef nonnull %6)
          to label %299 unwind label %307

299:                                              ; preds = %298
  %300 = getelementptr inbounds i8, ptr %0, i64 120
  store ptr %297, ptr %300, align 8, !tbaa !29
  br i1 %11, label %301, label %.critedge164

301:                                              ; preds = %299
  %302 = 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.7)
          to label %303 unwind label %31

303:                                              ; preds = %301
  %304 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %302, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %305 unwind label %31

305:                                              ; preds = %303
  %306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %309 unwind label %31

307:                                              ; preds = %298
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %297, i64 noundef 40) #13
  br label %406

309:                                              ; preds = %305
  %310 = 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.45)
          to label %.critedge164 unwind label %31

.critedge164:                                     ; preds = %299, %309
  %311 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.46, i64 noundef %24) #10
  %312 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %313 unwind label %31

313:                                              ; preds = %.critedge164
  invoke void @_ZN4TPCE10CInputFileINS_21TStreetSuffixInputRowENS_19TStreetSuffixLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %312, ptr noundef nonnull %6)
          to label %314 unwind label %322

314:                                              ; preds = %313
  %315 = getelementptr inbounds i8, ptr %0, i64 128
  store ptr %312, ptr %315, align 8, !tbaa !30
  br i1 %11, label %316, label %.critedge166

316:                                              ; preds = %314
  %317 = 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.47)
          to label %318 unwind label %31

318:                                              ; preds = %316
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %317, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %320 unwind label %31

320:                                              ; preds = %318
  %321 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %319, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %324 unwind label %31

322:                                              ; preds = %313
  %323 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %312, i64 noundef 40) #13
  br label %406

324:                                              ; preds = %320
  %325 = 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.48)
          to label %.critedge166 unwind label %31

.critedge166:                                     ; preds = %314, %324
  %326 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.49, i64 noundef %24) #10
  %327 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %328 unwind label %31

328:                                              ; preds = %.critedge166
  invoke void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_25TTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %327, ptr noundef nonnull %6)
          to label %329 unwind label %337

329:                                              ; preds = %328
  %330 = getelementptr inbounds i8, ptr %0, i64 136
  store ptr %327, ptr %330, align 8, !tbaa !31
  br i1 %11, label %331, label %.critedge168

331:                                              ; preds = %329
  %332 = 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.50)
          to label %333 unwind label %31

333:                                              ; preds = %331
  %334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %335 unwind label %31

335:                                              ; preds = %333
  %336 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %334, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %339 unwind label %31

337:                                              ; preds = %328
  %338 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %327, i64 noundef 40) #13
  br label %406

339:                                              ; preds = %335
  %340 = 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.51)
          to label %.critedge168 unwind label %31

.critedge168:                                     ; preds = %329, %339
  %341 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.52, i64 noundef %24) #10
  %342 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %343 unwind label %31

343:                                              ; preds = %.critedge168
  invoke void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_28TNonTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %342, ptr noundef nonnull %6)
          to label %344 unwind label %352

344:                                              ; preds = %343
  %345 = getelementptr inbounds i8, ptr %0, i64 144
  store ptr %342, ptr %345, align 8, !tbaa !32
  br i1 %11, label %346, label %.critedge170

346:                                              ; preds = %344
  %347 = 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.53)
          to label %348 unwind label %31

348:                                              ; preds = %346
  %349 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %347, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %350 unwind label %31

350:                                              ; preds = %348
  %351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %349, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %354 unwind label %31

352:                                              ; preds = %343
  %353 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %342, i64 noundef 40) #13
  br label %406

354:                                              ; preds = %350
  %355 = 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.54)
          to label %.critedge170 unwind label %31

.critedge170:                                     ; preds = %344, %354
  %356 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.55, i64 noundef %24) #10
  %357 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #12
          to label %358 unwind label %31

358:                                              ; preds = %.critedge170
  invoke void @_ZN4TPCE18CInputFileNoWeightINS_16TTaxRateInputRowEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(24) %357, ptr noundef nonnull %6)
          to label %359 unwind label %367

359:                                              ; preds = %358
  %360 = getelementptr inbounds i8, ptr %0, i64 152
  store ptr %357, ptr %360, align 8, !tbaa !33
  br i1 %11, label %361, label %.critedge172

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.21)
          to label %363 unwind label %31

363:                                              ; preds = %361
  %364 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %365 unwind label %31

365:                                              ; preds = %363
  %366 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %364, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %369 unwind label %31

367:                                              ; preds = %358
  %368 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %357, i64 noundef 24) #13
  br label %406

369:                                              ; preds = %365
  %370 = 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.56)
          to label %.critedge172 unwind label %31

.critedge172:                                     ; preds = %359, %369
  %371 = call ptr @strncpy(ptr noundef nonnull %.0129, ptr noundef nonnull @.str.57, i64 noundef %24) #10
  %372 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #12
          to label %373 unwind label %31

373:                                              ; preds = %.critedge172
  invoke void @_ZN4TPCE10CInputFileINS_16TZipCodeInputRowENS_14TZipCodeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40) %372, ptr noundef nonnull %6)
          to label %374 unwind label %382

374:                                              ; preds = %373
  %375 = getelementptr inbounds i8, ptr %0, i64 176
  store ptr %372, ptr %375, align 8, !tbaa !34
  br i1 %11, label %376, label %.thread184

376:                                              ; preds = %374
  %377 = 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.13)
          to label %378 unwind label %31

378:                                              ; preds = %376
  %379 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %377, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %380 unwind label %31

380:                                              ; preds = %378
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %379, ptr noundef nonnull @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.thread184 unwind label %31

382:                                              ; preds = %373
  %383 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %372, i64 noundef 40) #13
  br label %406

.thread184:                                       ; preds = %79, %125, %.thread186, %374, %380, %204
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #10
  invoke void @_ZN4TPCE9CDateTimeC1Ev(ptr noundef nonnull align 8 dereferenceable(16) %10)
          to label %384 unwind label %399

384:                                              ; preds = %.thread184
  br i1 %11, label %385, label %403

385:                                              ; preds = %384
  %386 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %387 unwind label %401

387:                                              ; preds = %385
  %388 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %386, ptr noundef nonnull @.str.58)
          to label %389 unwind label %401

389:                                              ; preds = %387
  %390 = invoke noundef double @_ZN4TPCE9CDateTimemiERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(16) %9)
          to label %391 unwind label %401

391:                                              ; preds = %389
  %392 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %388, double noundef %390)
          to label %393 unwind label %401

393:                                              ; preds = %391
  %394 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %392, ptr noundef nonnull @.str.59)
          to label %395 unwind label %401

395:                                              ; preds = %393
  %396 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %394, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %397 unwind label %401

397:                                              ; preds = %395
  %398 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %396, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %403 unwind label %401

399:                                              ; preds = %.thread184
  %400 = landingpad { ptr, i32 }
          cleanup
  br label %405

401:                                              ; preds = %397, %395, %393, %391, %389, %387, %385
  %402 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #10
  br label %405

403:                                              ; preds = %397, %384
  %404 = getelementptr inbounds [512 x i8], ptr %6, i64 0, i64 %.0130
  store i8 0, ptr %404, align 1, !tbaa !5
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #10
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %9) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %6) #10
  ret i1 true

405:                                              ; preds = %401, %399
  %.pn = phi { ptr, i32 } [ %402, %401 ], [ %400, %399 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #10
  br label %406

406:                                              ; preds = %405, %382, %367, %352, %337, %322, %307, %292, %277, %262, %247, %232, %217, %202, %187, %172, %157, %142, %123, %108, %93, %77, %60, %45, %31
  %.pn.pn = phi { ptr, i32 } [ %.pn, %405 ], [ %32, %31 ], [ %383, %382 ], [ %368, %367 ], [ %353, %352 ], [ %338, %337 ], [ %323, %322 ], [ %308, %307 ], [ %293, %292 ], [ %278, %277 ], [ %263, %262 ], [ %248, %247 ], [ %233, %232 ], [ %218, %217 ], [ %203, %202 ], [ %188, %187 ], [ %173, %172 ], [ %158, %157 ], [ %143, %142 ], [ %124, %123 ], [ %109, %108 ], [ %94, %93 ], [ %78, %77 ], [ %61, %60 ], [ %46, %45 ]
  call void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %9) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %6) #10
  resume { ptr, i32 } %.pn.pn
}

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: readwrite)
declare ptr @strncpy(ptr noalias noundef returned writeonly, ptr noalias nocapture noundef readonly, i64 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: readwrite)
declare ptr @strncat(ptr noalias noundef returned, ptr noalias nocapture noundef readonly, i64 noundef) local_unnamed_addr #2

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #5

declare void @_ZN4TPCE9CDateTimeC1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #6

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE13CSecurityFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(161), ptr noundef, i64 noundef, i64 noundef) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_15STATUS_TYPE_ROWENS_17TStatusTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_14TRADE_TYPE_ROWENS_16TTradeTypeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE12CCompanyFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef, i64 noundef, i64 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_12EXCHANGE_ROWENS_15TExchangeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_23TFemaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_12INDUSTRY_ROWENS_15TIndustryLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_17TLastNameInputRowENS_16TLastNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_18TFirstNameInputRowENS_21TMaleFirstNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_10SECTOR_ROWENS_13TSectorLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_17TAreaCodeInputRowENS_16TAreaCodesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_10CHARGE_ROWENS_13TChargeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_19COMMISSION_RATE_ROWENS_21TCommissionRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE22CCompanyCompetitorFileC2EPKcxx(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i64 noundef, i64 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_22TCompanySPRateInputRowENS_20TCompanySPRateLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_13TNewsInputRowENS_11TNewsLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_19TStreetNameInputRowENS_18TStreetNamesLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_21TStreetSuffixInputRowENS_19TStreetSuffixLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_25TTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE9CFlatFileINS_20TAccountNameInputRowENS_28TNonTaxableAccountNameLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4TPCE10CInputFileINS_16TZipCodeInputRowENS_14TZipCodeLimitsEEC2EPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8), double noundef) local_unnamed_addr #0 align 2

declare noundef double @_ZN4TPCE9CDateTimemiERKS0_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #6

; Function Attrs: nounwind
declare void @_ZN4TPCE9CDateTimeD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #9

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nofree nounwind willreturn memory(argmem: readwrite) "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 nofree nounwind willreturn memory(argmem: read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 #6 = { "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 = { 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 #8 = { 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 #9 = { 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 #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(read) }
attributes #12 = { builtin allocsize(0) }
attributes #13 = { 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 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"long", !6, i64 0}
!10 = !{!11, !12, i64 104}
!11 = !{!"_ZTSN4TPCE11CInputFilesE", !12, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !12, i64 32, !12, i64 40, !12, i64 48, !12, i64 56, !12, i64 64, !12, i64 72, !12, i64 80, !12, i64 88, !12, i64 96, !12, i64 104, !12, i64 112, !12, i64 120, !12, i64 128, !12, i64 136, !12, i64 144, !12, i64 152, !12, i64 160, !12, i64 168, !12, i64 176}
!12 = !{!"any pointer", !6, i64 0}
!13 = !{!11, !12, i64 112}
!14 = !{!11, !12, i64 168}
!15 = !{!11, !12, i64 24}
!16 = !{!11, !12, i64 48}
!17 = !{!11, !12, i64 160}
!18 = !{!11, !12, i64 56}
!19 = !{!11, !12, i64 64}
!20 = !{!11, !12, i64 72}
!21 = !{!11, !12, i64 80}
!22 = !{!11, !12, i64 96}
!23 = !{!11, !12, i64 0}
!24 = !{!11, !12, i64 8}
!25 = !{!11, !12, i64 16}
!26 = !{!11, !12, i64 32}
!27 = !{!11, !12, i64 40}
!28 = !{!11, !12, i64 88}
!29 = !{!11, !12, i64 120}
!30 = !{!11, !12, i64 128}
!31 = !{!11, !12, i64 136}
!32 = !{!11, !12, i64 144}
!33 = !{!11, !12, i64 152}
!34 = !{!11, !12, i64 176}


; Effective O3 passes: ConstraintEliminationPass,CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass