; LLVM IR from buresjan/optim_lbm :: nomad/src/Output (StatsInfo)

; 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.NOMAD_4_3::ArrayOfString" = type { ptr, %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }
%"class.NOMAD_4_3::Double" = type <{ ptr, double, i8, [7 x i8] }>
%"class.NOMAD_4_3::StatsInfo" = type <{ i8, [7 x i8], %"class.NOMAD_4_3::Double", %"class.NOMAD_4_3::Double", %"class.NOMAD_4_3::Double", i64, i64, i64, i64, i64, i64, i64, i64, %"class.std::__cxx11::basic_string", i64, i64, i64, i64, i64, %"class.NOMAD_4_3::ArrayOfDouble", %"class.NOMAD_4_3::ArrayOfDouble", %"class.NOMAD_4_3::ArrayOfDouble", %"class.NOMAD_4_3::Point", %"class.NOMAD_4_3::Direction", i64, i64, i64, %"class.NOMAD_4_3::Point", i64, i32, i32, i8, [7 x i8], %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"class.NOMAD_4_3::ArrayOfDouble" = type { ptr, i64, ptr }
%"class.NOMAD_4_3::Direction" = type { %"class.NOMAD_4_3::ArrayOfDouble" }
%"class.NOMAD_4_3::Point" = type { %"class.NOMAD_4_3::ArrayOfDouble" }

@.str.45 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZN9NOMAD_4_313ArrayOfDouble4pEndB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@_ZN9NOMAD_4_313ArrayOfDouble6pStartB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.48 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZTIN9NOMAD_4_39ExceptionE = external constant ptr

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: nounwind
declare void @_ZN9NOMAD_4_36DoubleD1Ev(ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN9NOMAD_4_39StatsInfo24stringToDisplayStatsTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS6_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK9NOMAD_4_39StatsInfo7displayB5cxx11ERKNS_13ArrayOfStringERKNS_13ArrayOfDoubleEmmbb(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(476) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %4, i64 noundef %5, i1 noundef zeroext %6, i1 noundef zeroext %7) #2 align 2 personality ptr @__gxx_personality_v0 {
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca i64, align 8
  %14 = alloca i64, align 8
  %15 = alloca i8, align 1
  %16 = alloca i8, align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca %"class.NOMAD_4_3::ArrayOfString", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca %"class.NOMAD_4_3::Double", align 8
  %29 = alloca i32, align 4
  %30 = alloca i64, align 8
  %31 = alloca i8, align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::allocator", align 1
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::allocator", align 1
  %74 = alloca i1, align 1
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %9, align 8
  store ptr %1, ptr %10, align 8, !tbaa !5
  store ptr %2, ptr %11, align 8, !tbaa !5
  store ptr %3, ptr %12, align 8, !tbaa !5
  store i64 %4, ptr %13, align 8, !tbaa !9
  store i64 %5, ptr %14, align 8, !tbaa !9
  %76 = zext i1 %6 to i8
  store i8 %76, ptr %15, align 1, !tbaa !11
  %77 = zext i1 %7 to i8
  store i8 %77, ptr %16, align 1, !tbaa !11
  %78 = load ptr, ptr %10, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  %79 = load ptr, ptr %11, align 8, !tbaa !5
  %80 = invoke noundef zeroext i1 @_ZNK9NOMAD_4_313ArrayOfString5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %81 unwind label %89

81:                                               ; preds = %8
  br i1 %80, label %82, label %112

82:                                               ; preds = %81
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.46, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %83 unwind label %93

83:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %84 unwind label %97

84:                                               ; preds = %83
  invoke void @_ZN9NOMAD_4_313ArrayOfStringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %85 unwind label %101

85:                                               ; preds = %84
  %86 = load ptr, ptr %12, align 8, !tbaa !5
  %87 = load i64, ptr %13, align 8, !tbaa !9
  invoke void @_ZNK9NOMAD_4_39StatsInfo7displayB5cxx11ERKNS_13ArrayOfStringERKNS_13ArrayOfDoubleEmmbb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(476) %78, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %87, i64 noundef 0, i1 noundef zeroext false, i1 noundef zeroext true)
          to label %88 unwind label %105

88:                                               ; preds = %85
  call void @_ZN9NOMAD_4_313ArrayOfStringD1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  store i32 1, ptr %25, align 4
  br label %894

89:                                               ; preds = %8
  %90 = landingpad { ptr, i32 }
          cleanup
  %91 = extractvalue { ptr, i32 } %90, 0
  store ptr %91, ptr %18, align 8
  %92 = extractvalue { ptr, i32 } %90, 1
  store i32 %92, ptr %19, align 4
  br label %895

93:                                               ; preds = %82
  %94 = landingpad { ptr, i32 }
          cleanup
  %95 = extractvalue { ptr, i32 } %94, 0
  store ptr %95, ptr %18, align 8
  %96 = extractvalue { ptr, i32 } %94, 1
  store i32 %96, ptr %19, align 4
  br label %111

97:                                               ; preds = %83
  %98 = landingpad { ptr, i32 }
          cleanup
  %99 = extractvalue { ptr, i32 } %98, 0
  store ptr %99, ptr %18, align 8
  %100 = extractvalue { ptr, i32 } %98, 1
  store i32 %100, ptr %19, align 4
  br label %110

101:                                              ; preds = %84
  %102 = landingpad { ptr, i32 }
          cleanup
  %103 = extractvalue { ptr, i32 } %102, 0
  store ptr %103, ptr %18, align 8
  %104 = extractvalue { ptr, i32 } %102, 1
  store i32 %104, ptr %19, align 4
  br label %109

105:                                              ; preds = %85
  %106 = landingpad { ptr, i32 }
          cleanup
  %107 = extractvalue { ptr, i32 } %106, 0
  store ptr %107, ptr %18, align 8
  %108 = extractvalue { ptr, i32 } %106, 1
  store i32 %108, ptr %19, align 4
  call void @_ZN9NOMAD_4_313ArrayOfStringD1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %109

109:                                              ; preds = %105, %101
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %110

110:                                              ; preds = %109, %97
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %111

111:                                              ; preds = %110, %93
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  br label %895

112:                                              ; preds = %81
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  store i32 0, ptr %26, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  store i32 -1, ptr %27, align 4, !tbaa !13
  %113 = load ptr, ptr %12, align 8, !tbaa !5
  %114 = load ptr, ptr %113, align 8, !tbaa !15
  %115 = getelementptr inbounds ptr, ptr %114, i64 2
  %116 = load ptr, ptr %115, align 8
  %117 = invoke noundef zeroext i1 %116(ptr noundef nonnull align 8 dereferenceable(24) %113)
          to label %118 unwind label %131

118:                                              ; preds = %112
  br i1 %117, label %119, label %145

119:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #6
  %120 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble3maxEv(ptr dead_on_unwind writable sret(%"class.NOMAD_4_3::Double") align 8 %28, ptr noundef nonnull align 8 dereferenceable(24) %120)
          to label %121 unwind label %135

121:                                              ; preds = %119
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9NOMAD_4_36Double8todoubleEv(ptr noundef nonnull align 8 dereferenceable(17) %28)
          to label %123 unwind label %139

123:                                              ; preds = %121
  %124 = load double, ptr %122, align 8, !tbaa !17
  %125 = fptosi double %124 to i32
  store i32 %125, ptr %26, align 4, !tbaa !13
  call void @_ZN9NOMAD_4_36DoubleD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %28) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #6
  %126 = load i64, ptr %14, align 8, !tbaa !9
  %127 = load i64, ptr %13, align 8, !tbaa !9
  %128 = icmp ule i64 %126, %127
  br i1 %128, label %129, label %144

129:                                              ; preds = %123
  %130 = load i32, ptr %26, align 4, !tbaa !13
  store i32 %130, ptr %27, align 4, !tbaa !13
  br label %144

131:                                              ; preds = %112
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %18, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %19, align 4
  br label %893

135:                                              ; preds = %119
  %136 = landingpad { ptr, i32 }
          cleanup
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %18, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %19, align 4
  br label %143

139:                                              ; preds = %121
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %18, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %19, align 4
  call void @_ZN9NOMAD_4_36DoubleD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %28) #6
  br label %143

143:                                              ; preds = %139, %135
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #6
  br label %893

144:                                              ; preds = %129, %123
  br label %145

145:                                              ; preds = %144, %118
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  store i64 0, ptr %30, align 8, !tbaa !9
  br label %146

146:                                              ; preds = %866, %145
  %147 = load i64, ptr %30, align 8, !tbaa !9
  %148 = load ptr, ptr %11, align 8, !tbaa !5
  %149 = invoke noundef i64 @_ZNK9NOMAD_4_313ArrayOfString4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %148)
          to label %150 unwind label %153

150:                                              ; preds = %146
  %151 = icmp ult i64 %147, %149
  br i1 %151, label %157, label %152

152:                                              ; preds = %150
  store i32 2, ptr %25, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  br label %871

153:                                              ; preds = %146
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %18, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %19, align 4
  br label %870

157:                                              ; preds = %150
  %158 = load i64, ptr %30, align 8, !tbaa !9
  %159 = icmp ugt i64 %158, 0
  br i1 %159, label %160, label %189

160:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #6
  %161 = load ptr, ptr %11, align 8, !tbaa !5
  %162 = load i64, ptr %30, align 8, !tbaa !9
  %163 = sub i64 %162, 1
  %164 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %161, i64 noundef %163)
          to label %165 unwind label %185

165:                                              ; preds = %160
  %166 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull align 8 dereferenceable(32) @_ZN9NOMAD_4_313ArrayOfDouble4pEndB5cxx11E) #6
  br i1 %166, label %173, label %167

167:                                              ; preds = %165
  %168 = load ptr, ptr %11, align 8, !tbaa !5
  %169 = load i64, ptr %30, align 8, !tbaa !9
  %170 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %168, i64 noundef %169)
          to label %171 unwind label %185

171:                                              ; preds = %167
  %172 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull align 8 dereferenceable(32) @_ZN9NOMAD_4_313ArrayOfDouble6pStartB5cxx11E) #6
  br label %173

173:                                              ; preds = %171, %165
  %174 = phi i1 [ true, %165 ], [ %172, %171 ]
  %175 = zext i1 %174 to i8
  store i8 %175, ptr %31, align 1, !tbaa !11
  %176 = load i8, ptr %31, align 1, !tbaa !11, !range !19, !noundef !20
  %177 = trunc i8 %176 to i1
  br i1 %177, label %178, label %179

178:                                              ; preds = %173
  br label %180

179:                                              ; preds = %173
  br label %180

180:                                              ; preds = %179, %178
  %181 = phi ptr [ @.str.48, %178 ], [ @.str.47, %179 ]
  %182 = getelementptr inbounds [2 x i8], ptr %181, i64 0, i64 0
  %183 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef %182)
          to label %184 unwind label %185

184:                                              ; preds = %180
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  br label %189

185:                                              ; preds = %180, %167, %160
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  store ptr %187, ptr %18, align 8
  %188 = extractvalue { ptr, i32 } %186, 1
  store i32 %188, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  br label %870

189:                                              ; preds = %184, %157
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  %190 = load ptr, ptr %11, align 8, !tbaa !5
  %191 = load i64, ptr %30, align 8, !tbaa !9
  %192 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %190, i64 noundef %191)
          to label %193 unwind label %207

193:                                              ; preds = %189
  %194 = invoke noundef i32 @_ZN9NOMAD_4_39StatsInfo24stringToDisplayStatsTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS6_(ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %195 unwind label %207

195:                                              ; preds = %193
  store i32 %194, ptr %29, align 4, !tbaa !21
  %196 = load i32, ptr %29, align 4, !tbaa !21
  %197 = icmp eq i32 0, %196
  br i1 %197, label %198, label %235

198:                                              ; preds = %195
  %199 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br i1 %199, label %200, label %220

200:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #6
  %201 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 2
  %202 = load i32, ptr %26, align 4, !tbaa !13
  %203 = load i64, ptr %13, align 8, !tbaa !9
  invoke void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(17) %201, i32 noundef %202, i64 noundef %203)
          to label %204 unwind label %211

204:                                              ; preds = %200
  %205 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %206 unwind label %215

206:                                              ; preds = %204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  br label %234

207:                                              ; preds = %808, %802, %798, %755, %454, %193, %189
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %18, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %19, align 4
  br label %869

211:                                              ; preds = %200
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %18, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %19, align 4
  br label %219

215:                                              ; preds = %204
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %18, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %219

219:                                              ; preds = %215, %211
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  br label %869

220:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  %221 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 2
  invoke void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(17) %221, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %222 unwind label %225

222:                                              ; preds = %220
  %223 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %224 unwind label %229

224:                                              ; preds = %222
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %234

225:                                              ; preds = %220
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %18, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %19, align 4
  br label %233

229:                                              ; preds = %222
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %18, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %233

233:                                              ; preds = %229, %225
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %869

234:                                              ; preds = %224, %206
  br label %865

235:                                              ; preds = %195
  %236 = load i32, ptr %29, align 4, !tbaa !21
  %237 = icmp eq i32 1, %236
  br i1 %237, label %238, label %271

238:                                              ; preds = %235
  %239 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br i1 %239, label %240, label %256

240:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  %241 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 3
  %242 = load i32, ptr %27, align 4, !tbaa !13
  %243 = load i64, ptr %14, align 8, !tbaa !9
  invoke void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(17) %241, i32 noundef %242, i64 noundef %243)
          to label %244 unwind label %247

244:                                              ; preds = %240
  %245 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %246 unwind label %251

246:                                              ; preds = %244
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  br label %270

247:                                              ; preds = %240
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %18, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %19, align 4
  br label %255

251:                                              ; preds = %244
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %18, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %255

255:                                              ; preds = %251, %247
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  br label %869

256:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  %257 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 3
  invoke void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(17) %257, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %258 unwind label %261

258:                                              ; preds = %256
  %259 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %260 unwind label %265

260:                                              ; preds = %258
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %270

261:                                              ; preds = %256
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %18, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %19, align 4
  br label %269

265:                                              ; preds = %258
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %18, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %269

269:                                              ; preds = %265, %261
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %869

270:                                              ; preds = %260, %246
  br label %864

271:                                              ; preds = %235
  %272 = load i32, ptr %29, align 4, !tbaa !21
  %273 = icmp eq i32 2, %272
  br i1 %273, label %274, label %307

274:                                              ; preds = %271
  %275 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br i1 %275, label %276, label %292

276:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #6
  %277 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 4
  %278 = load i32, ptr %27, align 4, !tbaa !13
  %279 = load i64, ptr %14, align 8, !tbaa !9
  invoke void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(17) %277, i32 noundef %278, i64 noundef %279)
          to label %280 unwind label %283

280:                                              ; preds = %276
  %281 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %282 unwind label %287

282:                                              ; preds = %280
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #6
  br label %306

283:                                              ; preds = %276
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %18, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %19, align 4
  br label %291

287:                                              ; preds = %280
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %18, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %291

291:                                              ; preds = %287, %283
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #6
  br label %869

292:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  %293 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 4
  invoke void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(17) %293, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %294 unwind label %297

294:                                              ; preds = %292
  %295 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %296 unwind label %301

296:                                              ; preds = %294
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %306

297:                                              ; preds = %292
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %18, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %19, align 4
  br label %305

301:                                              ; preds = %294
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %18, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %305

305:                                              ; preds = %301, %297
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %869

306:                                              ; preds = %296, %282
  br label %863

307:                                              ; preds = %271
  %308 = load i32, ptr %29, align 4, !tbaa !21
  %309 = icmp eq i32 3, %308
  br i1 %309, label %310, label %325

310:                                              ; preds = %307
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  %311 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 5
  %312 = load i64, ptr %311, align 8, !tbaa !23
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, i64 noundef %312)
          to label %313 unwind label %316

313:                                              ; preds = %310
  %314 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %315 unwind label %320

315:                                              ; preds = %313
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %862

316:                                              ; preds = %310
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %18, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %19, align 4
  br label %324

320:                                              ; preds = %313
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %18, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %324

324:                                              ; preds = %320, %316
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %869

325:                                              ; preds = %307
  %326 = load i32, ptr %29, align 4, !tbaa !21
  %327 = icmp eq i32 4, %326
  br i1 %327, label %328, label %343

328:                                              ; preds = %325
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  %329 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 6
  %330 = load i64, ptr %329, align 8, !tbaa !32
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, i64 noundef %330)
          to label %331 unwind label %334

331:                                              ; preds = %328
  %332 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %333 unwind label %338

333:                                              ; preds = %331
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  br label %861

334:                                              ; preds = %328
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %18, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %19, align 4
  br label %342

338:                                              ; preds = %331
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %18, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %342

342:                                              ; preds = %338, %334
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  br label %869

343:                                              ; preds = %325
  %344 = load i32, ptr %29, align 4, !tbaa !21
  %345 = icmp eq i32 5, %344
  br i1 %345, label %346, label %361

346:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  %347 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 7
  %348 = load i64, ptr %347, align 8, !tbaa !33
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, i64 noundef %348)
          to label %349 unwind label %352

349:                                              ; preds = %346
  %350 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %351 unwind label %356

351:                                              ; preds = %349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %860

352:                                              ; preds = %346
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %18, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %19, align 4
  br label %360

356:                                              ; preds = %349
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %18, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %360

360:                                              ; preds = %356, %352
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %869

361:                                              ; preds = %343
  %362 = load i32, ptr %29, align 4, !tbaa !21
  %363 = icmp eq i32 14, %362
  br i1 %363, label %364, label %379

364:                                              ; preds = %361
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  %365 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 8
  %366 = load i64, ptr %365, align 8, !tbaa !34
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %42, i64 noundef %366)
          to label %367 unwind label %370

367:                                              ; preds = %364
  %368 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %369 unwind label %374

369:                                              ; preds = %367
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  br label %859

370:                                              ; preds = %364
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %18, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %19, align 4
  br label %378

374:                                              ; preds = %367
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %18, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %378

378:                                              ; preds = %374, %370
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  br label %869

379:                                              ; preds = %361
  %380 = load i32, ptr %29, align 4, !tbaa !21
  %381 = icmp eq i32 15, %380
  br i1 %381, label %382, label %397

382:                                              ; preds = %379
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #6
  %383 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 9
  %384 = load i64, ptr %383, align 8, !tbaa !35
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, i64 noundef %384)
          to label %385 unwind label %388

385:                                              ; preds = %382
  %386 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %387 unwind label %392

387:                                              ; preds = %385
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  br label %858

388:                                              ; preds = %382
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %18, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %19, align 4
  br label %396

392:                                              ; preds = %385
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %18, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %396

396:                                              ; preds = %392, %388
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  br label %869

397:                                              ; preds = %379
  %398 = load i32, ptr %29, align 4, !tbaa !21
  %399 = icmp eq i32 6, %398
  br i1 %399, label %400, label %415

400:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  %401 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 10
  %402 = load i64, ptr %401, align 8, !tbaa !36
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, i64 noundef %402)
          to label %403 unwind label %406

403:                                              ; preds = %400
  %404 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %405 unwind label %410

405:                                              ; preds = %403
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %857

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

410:                                              ; preds = %403
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %18, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %414

414:                                              ; preds = %410, %406
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %869

415:                                              ; preds = %397
  %416 = load i32, ptr %29, align 4, !tbaa !21
  %417 = icmp eq i32 7, %416
  br i1 %417, label %418, label %433

418:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  %419 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 11
  %420 = load i64, ptr %419, align 8, !tbaa !37
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, i64 noundef %420)
          to label %421 unwind label %424

421:                                              ; preds = %418
  %422 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %423 unwind label %428

423:                                              ; preds = %421
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  br label %856

424:                                              ; preds = %418
  %425 = landingpad { ptr, i32 }
          cleanup
  %426 = extractvalue { ptr, i32 } %425, 0
  store ptr %426, ptr %18, align 8
  %427 = extractvalue { ptr, i32 } %425, 1
  store i32 %427, ptr %19, align 4
  br label %432

428:                                              ; preds = %421
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %18, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %432

432:                                              ; preds = %428, %424
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  br label %869

433:                                              ; preds = %415
  %434 = load i32, ptr %29, align 4, !tbaa !21
  %435 = icmp eq i32 8, %434
  br i1 %435, label %436, label %451

436:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #6
  %437 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 12
  %438 = load i64, ptr %437, align 8, !tbaa !38
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, i64 noundef %438)
          to label %439 unwind label %442

439:                                              ; preds = %436
  %440 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %441 unwind label %446

441:                                              ; preds = %439
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  br label %855

442:                                              ; preds = %436
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %18, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %19, align 4
  br label %450

446:                                              ; preds = %439
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %18, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %450

450:                                              ; preds = %446, %442
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  br label %869

451:                                              ; preds = %433
  %452 = load i32, ptr %29, align 4, !tbaa !21
  %453 = icmp eq i32 12, %452
  br i1 %453, label %454, label %458

454:                                              ; preds = %451
  %455 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 13
  %456 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %455)
          to label %457 unwind label %207

457:                                              ; preds = %454
  br label %854

458:                                              ; preds = %451
  %459 = load i32, ptr %29, align 4, !tbaa !21
  %460 = icmp eq i32 13, %459
  br i1 %460, label %461, label %476

461:                                              ; preds = %458
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #6
  %462 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 14
  %463 = load i64, ptr %462, align 8, !tbaa !39
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, i64 noundef %463)
          to label %464 unwind label %467

464:                                              ; preds = %461
  %465 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %466 unwind label %471

466:                                              ; preds = %464
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  br label %853

467:                                              ; preds = %461
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %18, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %19, align 4
  br label %475

471:                                              ; preds = %464
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %18, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %475

475:                                              ; preds = %471, %467
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  br label %869

476:                                              ; preds = %458
  %477 = load i32, ptr %29, align 4, !tbaa !21
  %478 = icmp eq i32 16, %477
  br i1 %478, label %479, label %494

479:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  %480 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 15
  %481 = load i64, ptr %480, align 8, !tbaa !40
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, i64 noundef %481)
          to label %482 unwind label %485

482:                                              ; preds = %479
  %483 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %484 unwind label %489

484:                                              ; preds = %482
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br label %852

485:                                              ; preds = %479
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %18, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %19, align 4
  br label %493

489:                                              ; preds = %482
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %18, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %493

493:                                              ; preds = %489, %485
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br label %869

494:                                              ; preds = %476
  %495 = load i32, ptr %29, align 4, !tbaa !21
  %496 = icmp eq i32 17, %495
  br i1 %496, label %497, label %512

497:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #6
  %498 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 16
  %499 = load i64, ptr %498, align 8, !tbaa !41
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, i64 noundef %499)
          to label %500 unwind label %503

500:                                              ; preds = %497
  %501 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %502 unwind label %507

502:                                              ; preds = %500
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %851

503:                                              ; preds = %497
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %18, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %19, align 4
  br label %511

507:                                              ; preds = %500
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %18, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %511

511:                                              ; preds = %507, %503
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %869

512:                                              ; preds = %494
  %513 = load i32, ptr %29, align 4, !tbaa !21
  %514 = icmp eq i32 18, %513
  br i1 %514, label %515, label %530

515:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #6
  %516 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 17
  %517 = load i64, ptr %516, align 8, !tbaa !42
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, i64 noundef %517)
          to label %518 unwind label %521

518:                                              ; preds = %515
  %519 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %520 unwind label %525

520:                                              ; preds = %518
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  br label %850

521:                                              ; preds = %515
  %522 = landingpad { ptr, i32 }
          cleanup
  %523 = extractvalue { ptr, i32 } %522, 0
  store ptr %523, ptr %18, align 8
  %524 = extractvalue { ptr, i32 } %522, 1
  store i32 %524, ptr %19, align 4
  br label %529

525:                                              ; preds = %518
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %18, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %529

529:                                              ; preds = %525, %521
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  br label %869

530:                                              ; preds = %512
  %531 = load i32, ptr %29, align 4, !tbaa !21
  %532 = icmp eq i32 19, %531
  br i1 %532, label %533, label %548

533:                                              ; preds = %530
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #6
  %534 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 18
  %535 = load i64, ptr %534, align 8, !tbaa !43
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, i64 noundef %535)
          to label %536 unwind label %539

536:                                              ; preds = %533
  %537 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %538 unwind label %543

538:                                              ; preds = %536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  br label %849

539:                                              ; preds = %533
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %18, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %19, align 4
  br label %547

543:                                              ; preds = %536
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %18, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %547

547:                                              ; preds = %543, %539
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  br label %869

548:                                              ; preds = %530
  %549 = load i32, ptr %29, align 4, !tbaa !21
  %550 = icmp eq i32 20, %549
  br i1 %550, label %551, label %566

551:                                              ; preds = %548
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  %552 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 19
  %553 = load ptr, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(24) %552, ptr noundef nonnull align 8 dereferenceable(24) %553, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %554 unwind label %557

554:                                              ; preds = %551
  %555 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %556 unwind label %561

556:                                              ; preds = %554
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %848

557:                                              ; preds = %551
  %558 = landingpad { ptr, i32 }
          cleanup
  %559 = extractvalue { ptr, i32 } %558, 0
  store ptr %559, ptr %18, align 8
  %560 = extractvalue { ptr, i32 } %558, 1
  store i32 %560, ptr %19, align 4
  br label %565

561:                                              ; preds = %554
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %18, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %565

565:                                              ; preds = %561, %557
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %869

566:                                              ; preds = %548
  %567 = load i32, ptr %29, align 4, !tbaa !21
  %568 = icmp eq i32 21, %567
  br i1 %568, label %572, label %569

569:                                              ; preds = %566
  %570 = load i32, ptr %29, align 4, !tbaa !21
  %571 = icmp eq i32 22, %570
  br i1 %571, label %572, label %587

572:                                              ; preds = %569, %566
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #6
  %573 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 20
  %574 = load ptr, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(24) %573, ptr noundef nonnull align 8 dereferenceable(24) %574, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %575 unwind label %578

575:                                              ; preds = %572
  %576 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %577 unwind label %582

577:                                              ; preds = %575
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #6
  br label %847

578:                                              ; preds = %572
  %579 = landingpad { ptr, i32 }
          cleanup
  %580 = extractvalue { ptr, i32 } %579, 0
  store ptr %580, ptr %18, align 8
  %581 = extractvalue { ptr, i32 } %579, 1
  store i32 %581, ptr %19, align 4
  br label %586

582:                                              ; preds = %575
  %583 = landingpad { ptr, i32 }
          cleanup
  %584 = extractvalue { ptr, i32 } %583, 0
  store ptr %584, ptr %18, align 8
  %585 = extractvalue { ptr, i32 } %583, 1
  store i32 %585, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %586

586:                                              ; preds = %582, %578
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #6
  br label %869

587:                                              ; preds = %569
  %588 = load i32, ptr %29, align 4, !tbaa !21
  %589 = icmp eq i32 23, %588
  br i1 %589, label %593, label %590

590:                                              ; preds = %587
  %591 = load i32, ptr %29, align 4, !tbaa !21
  %592 = icmp eq i32 24, %591
  br i1 %592, label %593, label %608

593:                                              ; preds = %590, %587
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  %594 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 21
  %595 = load ptr, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(24) %594, ptr noundef nonnull align 8 dereferenceable(24) %595, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %596 unwind label %599

596:                                              ; preds = %593
  %597 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %598 unwind label %603

598:                                              ; preds = %596
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %846

599:                                              ; preds = %593
  %600 = landingpad { ptr, i32 }
          cleanup
  %601 = extractvalue { ptr, i32 } %600, 0
  store ptr %601, ptr %18, align 8
  %602 = extractvalue { ptr, i32 } %600, 1
  store i32 %602, ptr %19, align 4
  br label %607

603:                                              ; preds = %596
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %18, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %607

607:                                              ; preds = %603, %599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %869

608:                                              ; preds = %590
  %609 = load i32, ptr %29, align 4, !tbaa !21
  %610 = icmp eq i32 25, %609
  br i1 %610, label %611, label %626

611:                                              ; preds = %608
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #6
  %612 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 22
  %613 = load ptr, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  invoke void @_ZNK9NOMAD_4_35Point7displayERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(24) %612, ptr noundef nonnull align 8 dereferenceable(24) %613, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %614 unwind label %617

614:                                              ; preds = %611
  %615 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %616 unwind label %621

616:                                              ; preds = %614
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  br label %845

617:                                              ; preds = %611
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %18, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %19, align 4
  br label %625

621:                                              ; preds = %614
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %18, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %625

625:                                              ; preds = %621, %617
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  br label %869

626:                                              ; preds = %608
  %627 = load i32, ptr %29, align 4, !tbaa !21
  %628 = icmp eq i32 26, %627
  br i1 %628, label %629, label %644

629:                                              ; preds = %626
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #6
  %630 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 23
  %631 = load ptr, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(24) %630, ptr noundef nonnull align 8 dereferenceable(24) %631, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %632 unwind label %635

632:                                              ; preds = %629
  %633 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %634 unwind label %639

634:                                              ; preds = %632
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  br label %844

635:                                              ; preds = %629
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %18, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %19, align 4
  br label %643

639:                                              ; preds = %632
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %18, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %643

643:                                              ; preds = %639, %635
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  br label %869

644:                                              ; preds = %626
  %645 = load i32, ptr %29, align 4, !tbaa !21
  %646 = icmp eq i32 9, %645
  br i1 %646, label %647, label %662

647:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  %648 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 24
  %649 = load i64, ptr %648, align 8, !tbaa !44
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, i64 noundef %649)
          to label %650 unwind label %653

650:                                              ; preds = %647
  %651 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %652 unwind label %657

652:                                              ; preds = %650
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  br label %843

653:                                              ; preds = %647
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %18, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %19, align 4
  br label %661

657:                                              ; preds = %650
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %18, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %661

661:                                              ; preds = %657, %653
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  br label %869

662:                                              ; preds = %644
  %663 = load i32, ptr %29, align 4, !tbaa !21
  %664 = icmp eq i32 10, %663
  br i1 %664, label %665, label %680

665:                                              ; preds = %662
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  %666 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 25
  %667 = load i64, ptr %666, align 8, !tbaa !45
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, i64 noundef %667)
          to label %668 unwind label %671

668:                                              ; preds = %665
  %669 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %670 unwind label %675

670:                                              ; preds = %668
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  br label %842

671:                                              ; preds = %665
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %18, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %19, align 4
  br label %679

675:                                              ; preds = %668
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %18, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %679

679:                                              ; preds = %675, %671
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  br label %869

680:                                              ; preds = %662
  %681 = load i32, ptr %29, align 4, !tbaa !21
  %682 = icmp eq i32 28, %681
  br i1 %682, label %683, label %698

683:                                              ; preds = %680
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #6
  %684 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 27
  %685 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZNK9NOMAD_4_35Point12displayNoParERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(24) %684, ptr noundef nonnull align 8 dereferenceable(24) %685, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %686 unwind label %689

686:                                              ; preds = %683
  %687 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %688 unwind label %693

688:                                              ; preds = %686
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  br label %841

689:                                              ; preds = %683
  %690 = landingpad { ptr, i32 }
          cleanup
  %691 = extractvalue { ptr, i32 } %690, 0
  store ptr %691, ptr %18, align 8
  %692 = extractvalue { ptr, i32 } %690, 1
  store i32 %692, ptr %19, align 4
  br label %697

693:                                              ; preds = %686
  %694 = landingpad { ptr, i32 }
          cleanup
  %695 = extractvalue { ptr, i32 } %694, 0
  store ptr %695, ptr %18, align 8
  %696 = extractvalue { ptr, i32 } %694, 1
  store i32 %696, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %697

697:                                              ; preds = %693, %689
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  br label %869

698:                                              ; preds = %680
  %699 = load i32, ptr %29, align 4, !tbaa !21
  %700 = icmp eq i32 27, %699
  br i1 %700, label %701, label %716

701:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #6
  %702 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 28
  %703 = load i64, ptr %702, align 8, !tbaa !46
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65, i64 noundef %703)
          to label %704 unwind label %707

704:                                              ; preds = %701
  %705 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %706 unwind label %711

706:                                              ; preds = %704
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #6
  br label %840

707:                                              ; preds = %701
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %18, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %19, align 4
  br label %715

711:                                              ; preds = %704
  %712 = landingpad { ptr, i32 }
          cleanup
  %713 = extractvalue { ptr, i32 } %712, 0
  store ptr %713, ptr %18, align 8
  %714 = extractvalue { ptr, i32 } %712, 1
  store i32 %714, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %715

715:                                              ; preds = %711, %707
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #6
  br label %869

716:                                              ; preds = %698
  %717 = load i32, ptr %29, align 4, !tbaa !21
  %718 = icmp eq i32 29, %717
  br i1 %718, label %719, label %734

719:                                              ; preds = %716
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #6
  %720 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 29
  %721 = load i32, ptr %720, align 8, !tbaa !47
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, i32 noundef %721)
          to label %722 unwind label %725

722:                                              ; preds = %719
  %723 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %724 unwind label %729

724:                                              ; preds = %722
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #6
  br label %839

725:                                              ; preds = %719
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %18, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %19, align 4
  br label %733

729:                                              ; preds = %722
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %18, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %733

733:                                              ; preds = %729, %725
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #6
  br label %869

734:                                              ; preds = %716
  %735 = load i32, ptr %29, align 4, !tbaa !21
  %736 = icmp eq i32 30, %735
  br i1 %736, label %737, label %752

737:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #6
  %738 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 30
  %739 = load i32, ptr %738, align 4, !tbaa !48
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, i32 noundef %739)
          to label %740 unwind label %743

740:                                              ; preds = %737
  %741 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %742 unwind label %747

742:                                              ; preds = %740
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #6
  br label %838

743:                                              ; preds = %737
  %744 = landingpad { ptr, i32 }
          cleanup
  %745 = extractvalue { ptr, i32 } %744, 0
  store ptr %745, ptr %18, align 8
  %746 = extractvalue { ptr, i32 } %744, 1
  store i32 %746, ptr %19, align 4
  br label %751

747:                                              ; preds = %740
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %18, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %751

751:                                              ; preds = %747, %743
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #6
  br label %869

752:                                              ; preds = %734
  %753 = load i32, ptr %29, align 4, !tbaa !21
  %754 = icmp eq i32 31, %753
  br i1 %754, label %755, label %759

755:                                              ; preds = %752
  %756 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 34
  %757 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %756)
          to label %758 unwind label %207

758:                                              ; preds = %755
  br label %837

759:                                              ; preds = %752
  %760 = load i32, ptr %29, align 4, !tbaa !21
  %761 = icmp eq i32 32, %760
  br i1 %761, label %762, label %777

762:                                              ; preds = %759
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #6
  %763 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 35
  %764 = load i32, ptr %763, align 8, !tbaa !49
  invoke void @_ZN9NOMAD_4_37enumStrB5cxx11ENS_11SuccessTypeE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, i32 noundef %764)
          to label %765 unwind label %768

765:                                              ; preds = %762
  %766 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %767 unwind label %772

767:                                              ; preds = %765
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  br label %836

768:                                              ; preds = %762
  %769 = landingpad { ptr, i32 }
          cleanup
  %770 = extractvalue { ptr, i32 } %769, 0
  store ptr %770, ptr %18, align 8
  %771 = extractvalue { ptr, i32 } %769, 1
  store i32 %771, ptr %19, align 4
  br label %776

772:                                              ; preds = %765
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %18, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %776

776:                                              ; preds = %772, %768
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  br label %869

777:                                              ; preds = %759
  %778 = load i32, ptr %29, align 4, !tbaa !21
  %779 = icmp eq i32 11, %778
  br i1 %779, label %780, label %795

780:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #6
  %781 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 26
  %782 = load i64, ptr %781, align 8, !tbaa !50
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, i64 noundef %782)
          to label %783 unwind label %786

783:                                              ; preds = %780
  %784 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %785 unwind label %790

785:                                              ; preds = %783
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %835

786:                                              ; preds = %780
  %787 = landingpad { ptr, i32 }
          cleanup
  %788 = extractvalue { ptr, i32 } %787, 0
  store ptr %788, ptr %18, align 8
  %789 = extractvalue { ptr, i32 } %787, 1
  store i32 %789, ptr %19, align 4
  br label %794

790:                                              ; preds = %783
  %791 = landingpad { ptr, i32 }
          cleanup
  %792 = extractvalue { ptr, i32 } %791, 0
  store ptr %792, ptr %18, align 8
  %793 = extractvalue { ptr, i32 } %791, 1
  store i32 %793, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %794

794:                                              ; preds = %790, %786
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %869

795:                                              ; preds = %777
  %796 = load i32, ptr %29, align 4, !tbaa !21
  %797 = icmp eq i32 33, %796
  br i1 %797, label %798, label %805

798:                                              ; preds = %795
  %799 = load ptr, ptr %11, align 8, !tbaa !5
  %800 = load i64, ptr %30, align 8, !tbaa !9
  %801 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %799, i64 noundef %800)
          to label %802 unwind label %207

802:                                              ; preds = %798
  %803 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %801)
          to label %804 unwind label %207

804:                                              ; preds = %802
  br label %834

805:                                              ; preds = %795
  %806 = load i32, ptr %29, align 4, !tbaa !21
  %807 = icmp eq i32 34, %806
  br i1 %807, label %808, label %811

808:                                              ; preds = %805
  %809 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.45)
          to label %810 unwind label %207

810:                                              ; preds = %808
  br label %833

811:                                              ; preds = %805
  store i1 true, ptr %74, align 1
  %812 = call ptr @__cxa_allocate_exception(i64 112) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %813 unwind label %816

813:                                              ; preds = %811
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef @.str.50, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %814 unwind label %820

814:                                              ; preds = %813
  invoke void @_ZN9NOMAD_4_39ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_(ptr noundef nonnull align 8 dereferenceable(112) %812, ptr noundef nonnull align 8 dereferenceable(32) %70, i64 noundef 574, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %815 unwind label %824

815:                                              ; preds = %814
  store i1 false, ptr %74, align 1
  invoke void @__cxa_throw(ptr %812, ptr @_ZTIN9NOMAD_4_39ExceptionE, ptr @_ZN9NOMAD_4_39ExceptionD2Ev) #7
          to label %901 unwind label %824

816:                                              ; preds = %811
  %817 = landingpad { ptr, i32 }
          cleanup
  %818 = extractvalue { ptr, i32 } %817, 0
  store ptr %818, ptr %18, align 8
  %819 = extractvalue { ptr, i32 } %817, 1
  store i32 %819, ptr %19, align 4
  br label %829

820:                                              ; preds = %813
  %821 = landingpad { ptr, i32 }
          cleanup
  %822 = extractvalue { ptr, i32 } %821, 0
  store ptr %822, ptr %18, align 8
  %823 = extractvalue { ptr, i32 } %821, 1
  store i32 %823, ptr %19, align 4
  br label %828

824:                                              ; preds = %815, %814
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %18, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %828

828:                                              ; preds = %824, %820
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %829

829:                                              ; preds = %828, %816
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  %830 = load i1, ptr %74, align 1
  br i1 %830, label %831, label %832

831:                                              ; preds = %829
  call void @__cxa_free_exception(ptr %812) #6
  br label %832

832:                                              ; preds = %831, %829
  br label %869

833:                                              ; preds = %810
  br label %834

834:                                              ; preds = %833, %804
  br label %835

835:                                              ; preds = %834, %785
  br label %836

836:                                              ; preds = %835, %767
  br label %837

837:                                              ; preds = %836, %758
  br label %838

838:                                              ; preds = %837, %742
  br label %839

839:                                              ; preds = %838, %724
  br label %840

840:                                              ; preds = %839, %706
  br label %841

841:                                              ; preds = %840, %688
  br label %842

842:                                              ; preds = %841, %670
  br label %843

843:                                              ; preds = %842, %652
  br label %844

844:                                              ; preds = %843, %634
  br label %845

845:                                              ; preds = %844, %616
  br label %846

846:                                              ; preds = %845, %598
  br label %847

847:                                              ; preds = %846, %577
  br label %848

848:                                              ; preds = %847, %556
  br label %849

849:                                              ; preds = %848, %538
  br label %850

850:                                              ; preds = %849, %520
  br label %851

851:                                              ; preds = %850, %502
  br label %852

852:                                              ; preds = %851, %484
  br label %853

853:                                              ; preds = %852, %466
  br label %854

854:                                              ; preds = %853, %457
  br label %855

855:                                              ; preds = %854, %441
  br label %856

856:                                              ; preds = %855, %423
  br label %857

857:                                              ; preds = %856, %405
  br label %858

858:                                              ; preds = %857, %387
  br label %859

859:                                              ; preds = %858, %369
  br label %860

860:                                              ; preds = %859, %351
  br label %861

861:                                              ; preds = %860, %333
  br label %862

862:                                              ; preds = %861, %315
  br label %863

863:                                              ; preds = %862, %306
  br label %864

864:                                              ; preds = %863, %270
  br label %865

865:                                              ; preds = %864, %234
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %866

866:                                              ; preds = %865
  %867 = load i64, ptr %30, align 8, !tbaa !9
  %868 = add i64 %867, 1
  store i64 %868, ptr %30, align 8, !tbaa !9
  br label %146, !llvm.loop !51

869:                                              ; preds = %832, %794, %776, %751, %733, %715, %697, %679, %661, %643, %625, %607, %586, %565, %547, %529, %511, %493, %475, %450, %432, %414, %396, %378, %360, %342, %324, %305, %291, %269, %255, %233, %219, %207
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %870

870:                                              ; preds = %869, %185, %153
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  br label %892

871:                                              ; preds = %152
  %872 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %873 = trunc i8 %872 to i1
  br i1 %873, label %874, label %891

874:                                              ; preds = %871
  %875 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 33
  %876 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %875) #6
  br i1 %876, label %891, label %877

877:                                              ; preds = %874
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #6
  %878 = getelementptr inbounds %"class.NOMAD_4_3::StatsInfo", ptr %78, i32 0, i32 33
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef @.str.47, ptr noundef nonnull align 8 dereferenceable(32) %878)
          to label %879 unwind label %882

879:                                              ; preds = %877
  %880 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %881 unwind label %886

881:                                              ; preds = %879
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #6
  br label %891

882:                                              ; preds = %877
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %18, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %19, align 4
  br label %890

886:                                              ; preds = %879
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %18, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %19, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %890

890:                                              ; preds = %886, %882
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #6
  br label %892

891:                                              ; preds = %881, %874, %871
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  store i32 1, ptr %25, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  br label %894

892:                                              ; preds = %890, %870
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  br label %893

893:                                              ; preds = %892, %143, %131
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  br label %895

894:                                              ; preds = %891, %88
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  ret void

895:                                              ; preds = %893, %111, %89
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %896

896:                                              ; preds = %895
  %897 = load ptr, ptr %18, align 8
  %898 = load i32, ptr %19, align 4
  %899 = insertvalue { ptr, i32 } poison, ptr %897, 0
  %900 = insertvalue { ptr, i32 } %899, i32 %898, 1
  resume { ptr, i32 } %900

901:                                              ; preds = %815
  unreachable
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK9NOMAD_4_313ArrayOfString5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

declare void @_ZN9NOMAD_4_313ArrayOfStringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN9NOMAD_4_313ArrayOfStringD1Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3

declare void @_ZNK9NOMAD_4_313ArrayOfDouble3maxEv(ptr dead_on_unwind writable sret(%"class.NOMAD_4_3::Double") align 8, ptr noundef nonnull align 8 dereferenceable(24)) #4

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9NOMAD_4_36Double8todoubleEv(ptr noundef nonnull align 8 dereferenceable(17)) #4

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #5

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #4

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

declare void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(17), i32 noundef, i64 noundef) #4

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

declare void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) #4

declare void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

declare void @_ZNK9NOMAD_4_35Point7displayERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

declare void @_ZNK9NOMAD_4_35Point12displayNoParERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN9NOMAD_4_34itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #4

declare void @_ZN9NOMAD_4_37enumStrB5cxx11ENS_11SuccessTypeE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #4

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9NOMAD_4_39ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_(ptr noundef nonnull align 8 dereferenceable(112), ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9NOMAD_4_39ExceptionD2Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #1 align 2

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { 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 #4 = { "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 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 #6 = { nounwind }
attributes #7 = { noreturn }

!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 = !{!"long", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !8, i64 0}
!17 = !{!18, !18, i64 0}
!18 = !{!"double", !7, i64 0}
!19 = !{i8 0, i8 2}
!20 = !{}
!21 = !{!22, !22, i64 0}
!22 = !{!"_ZTSN9NOMAD_4_316DisplayStatsTypeE", !7, i64 0}
!23 = !{!24, !10, i64 80}
!24 = !{!"_ZTSN9NOMAD_4_39StatsInfoE", !12, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !10, i64 136, !26, i64 144, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !28, i64 216, !28, i64 240, !28, i64 264, !29, i64 288, !30, i64 312, !10, i64 336, !10, i64 344, !10, i64 352, !29, i64 360, !10, i64 384, !14, i64 392, !14, i64 396, !12, i64 400, !26, i64 408, !26, i64 440, !31, i64 472}
!25 = !{!"_ZTSN9NOMAD_4_36DoubleE", !18, i64 8, !12, i64 16}
!26 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !27, i64 0, !10, i64 8, !7, i64 16}
!27 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!28 = !{!"_ZTSN9NOMAD_4_313ArrayOfDoubleE", !10, i64 8, !6, i64 16}
!29 = !{!"_ZTSN9NOMAD_4_35PointE", !28, i64 0}
!30 = !{!"_ZTSN9NOMAD_4_39DirectionE", !28, i64 0}
!31 = !{!"_ZTSN9NOMAD_4_311SuccessTypeE", !7, i64 0}
!32 = !{!24, !10, i64 88}
!33 = !{!24, !10, i64 96}
!34 = !{!24, !10, i64 104}
!35 = !{!24, !10, i64 112}
!36 = !{!24, !10, i64 120}
!37 = !{!24, !10, i64 128}
!38 = !{!24, !10, i64 136}
!39 = !{!24, !10, i64 176}
!40 = !{!24, !10, i64 184}
!41 = !{!24, !10, i64 192}
!42 = !{!24, !10, i64 200}
!43 = !{!24, !10, i64 208}
!44 = !{!24, !10, i64 336}
!45 = !{!24, !10, i64 344}
!46 = !{!24, !10, i64 384}
!47 = !{!24, !14, i64 392}
!48 = !{!24, !14, i64 396}
!49 = !{!24, !31, i64 472}
!50 = !{!24, !10, i64 352}
!51 = distinct !{!51, !52}
!52 = !{!"llvm.loop.mustprogress"}


; 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.NOMAD_4_3::ArrayOfString" = type { ptr, %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }
%"class.NOMAD_4_3::Double" = type <{ ptr, double, i8, [7 x i8] }>

@.str.45 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZN9NOMAD_4_313ArrayOfDouble4pEndB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@_ZN9NOMAD_4_313ArrayOfDouble6pStartB5cxx11E = external global %"class.std::__cxx11::basic_string", align 8
@.str.48 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZTIN9NOMAD_4_39ExceptionE = external constant ptr

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: nounwind
declare void @_ZN9NOMAD_4_36DoubleD1Ev(ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN9NOMAD_4_39StatsInfo24stringToDisplayStatsTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS6_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK9NOMAD_4_39StatsInfo7displayB5cxx11ERKNS_13ArrayOfStringERKNS_13ArrayOfDoubleEmmbb(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(476) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %4, i64 noundef %5, i1 zeroext %6, i1 noundef zeroext %7) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.NOMAD_4_3::ArrayOfString", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.NOMAD_4_3::Double", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::allocator", align 1
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator", align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  %59 = call noundef zeroext i1 @_ZNK9NOMAD_4_313ArrayOfString5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
  br i1 %59, label %60, label %76

60:                                               ; preds = %8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.46, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %61 unwind label %65

61:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.47, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %62 unwind label %67

62:                                               ; preds = %61
  invoke void @_ZN9NOMAD_4_313ArrayOfStringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %63 unwind label %69

63:                                               ; preds = %62
  invoke void @_ZNK9NOMAD_4_39StatsInfo7displayB5cxx11ERKNS_13ArrayOfStringERKNS_13ArrayOfDoubleEmmbb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(476) %1, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %4, i64 noundef 0, i1 zeroext poison, i1 noundef zeroext true)
          to label %64 unwind label %71

64:                                               ; preds = %63
  call void @_ZN9NOMAD_4_313ArrayOfStringD1Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br label %505

65:                                               ; preds = %60
  %66 = landingpad { ptr, i32 }
          cleanup
  br label %75

67:                                               ; preds = %61
  %68 = landingpad { ptr, i32 }
          cleanup
  br label %74

69:                                               ; preds = %62
  %70 = landingpad { ptr, i32 }
          cleanup
  br label %73

71:                                               ; preds = %63
  %72 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN9NOMAD_4_313ArrayOfStringD1Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %73

73:                                               ; preds = %71, %69
  %.pn201 = phi { ptr, i32 } [ %72, %71 ], [ %70, %69 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %74

74:                                               ; preds = %73, %67
  %.pn201.pn = phi { ptr, i32 } [ %.pn201, %73 ], [ %68, %67 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %75

75:                                               ; preds = %74, %65
  %.pn201.pn.pn = phi { ptr, i32 } [ %.pn201.pn, %74 ], [ %66, %65 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br label %506

76:                                               ; preds = %8
  %77 = load ptr, ptr %3, align 8, !tbaa !5
  %78 = getelementptr inbounds i8, ptr %77, i64 16
  %79 = load ptr, ptr %78, align 8
  %80 = invoke noundef zeroext i1 %79(ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %81 unwind label %88

81:                                               ; preds = %76
  br i1 %80, label %82, label %95

82:                                               ; preds = %81
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble3maxEv(ptr dead_on_unwind nonnull writable sret(%"class.NOMAD_4_3::Double") align 8 %15, ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %83 unwind label %90

83:                                               ; preds = %82
  %84 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9NOMAD_4_36Double8todoubleEv(ptr noundef nonnull align 8 dereferenceable(17) %15)
          to label %85 unwind label %92

85:                                               ; preds = %83
  %86 = load double, ptr %84, align 8, !tbaa !8
  %87 = fptosi double %86 to i32
  call void @_ZN9NOMAD_4_36DoubleD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #6
  %.not = icmp ugt i64 %5, %4
  %spec.select = select i1 %.not, i32 -1, i32 %87
  br label %95

88:                                               ; preds = %76
  %89 = landingpad { ptr, i32 }
          cleanup
  br label %506

90:                                               ; preds = %82
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %94

92:                                               ; preds = %83
  %93 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN9NOMAD_4_36DoubleD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15) #6
  br label %94

94:                                               ; preds = %92, %90
  %.pn = phi { ptr, i32 } [ %93, %92 ], [ %91, %90 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #6
  br label %506

95:                                               ; preds = %85, %81
  %.0124 = phi i32 [ 0, %81 ], [ %87, %85 ]
  %.0123 = phi i32 [ -1, %81 ], [ %spec.select, %85 ]
  %96 = call noundef i64 @_ZNK9NOMAD_4_313ArrayOfString4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
  %.not213 = icmp eq i64 %96, 0
  br i1 %.not213, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %95
  %97 = getelementptr inbounds i8, ptr %1, i64 216
  %98 = getelementptr inbounds i8, ptr %1, i64 208
  %99 = getelementptr inbounds i8, ptr %1, i64 200
  %100 = getelementptr inbounds i8, ptr %1, i64 192
  %101 = getelementptr inbounds i8, ptr %1, i64 184
  %102 = getelementptr inbounds i8, ptr %1, i64 176
  %103 = getelementptr inbounds i8, ptr %1, i64 144
  %104 = getelementptr inbounds i8, ptr %1, i64 136
  %105 = getelementptr inbounds i8, ptr %1, i64 128
  %106 = getelementptr inbounds i8, ptr %1, i64 120
  %107 = getelementptr inbounds i8, ptr %1, i64 112
  %108 = getelementptr inbounds i8, ptr %1, i64 104
  %109 = getelementptr inbounds i8, ptr %1, i64 96
  %110 = getelementptr inbounds i8, ptr %1, i64 88
  %111 = getelementptr inbounds i8, ptr %1, i64 80
  %112 = getelementptr inbounds i8, ptr %1, i64 56
  %113 = getelementptr inbounds i8, ptr %1, i64 32
  %114 = getelementptr inbounds i8, ptr %1, i64 8
  %115 = getelementptr inbounds i8, ptr %1, i64 352
  %116 = getelementptr inbounds i8, ptr %1, i64 472
  %117 = getelementptr inbounds i8, ptr %1, i64 440
  %118 = getelementptr inbounds i8, ptr %1, i64 396
  %119 = getelementptr inbounds i8, ptr %1, i64 392
  %120 = getelementptr inbounds i8, ptr %1, i64 384
  %121 = getelementptr inbounds i8, ptr %1, i64 360
  %122 = getelementptr inbounds i8, ptr %1, i64 344
  %123 = getelementptr inbounds i8, ptr %1, i64 336
  %124 = getelementptr inbounds i8, ptr %1, i64 312
  %125 = getelementptr inbounds i8, ptr %1, i64 288
  %126 = getelementptr inbounds i8, ptr %1, i64 264
  %127 = getelementptr inbounds i8, ptr %1, i64 240
  br label %128

._crit_edge:                                      ; preds = %487, %95
  br i1 %7, label %492, label %504

128:                                              ; preds = %.lr.ph, %487
  %.078210 = phi i64 [ 0, %.lr.ph ], [ %488, %487 ]
  %.not129 = icmp eq i64 %.078210, 0
  br i1 %.not129, label %143, label %129

129:                                              ; preds = %128
  %130 = add i64 %.078210, -1
  %131 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef %130)
          to label %132 unwind label %141

132:                                              ; preds = %129
  %133 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(32) @_ZN9NOMAD_4_313ArrayOfDouble4pEndB5cxx11E) #6
  br i1 %133, label %.thread, label %134

134:                                              ; preds = %132
  %135 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef %.078210)
          to label %136 unwind label %141

136:                                              ; preds = %134
  %137 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull align 8 dereferenceable(32) @_ZN9NOMAD_4_313ArrayOfDouble6pStartB5cxx11E) #6
  br i1 %137, label %.thread, label %138

.thread:                                          ; preds = %132, %136
  br label %138

138:                                              ; preds = %136, %.thread
  %139 = phi ptr [ @.str.48, %.thread ], [ @.str.47, %136 ]
  %140 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull %139)
          to label %143 unwind label %141

141:                                              ; preds = %138, %134, %129
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %506

143:                                              ; preds = %138, %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  %144 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef %.078210)
          to label %145 unwind label %154

145:                                              ; preds = %143
  %146 = invoke noundef i32 @_ZN9NOMAD_4_39StatsInfo24stringToDisplayStatsTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS6_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %147 unwind label %154

147:                                              ; preds = %145
  switch i32 %146, label %349 [
    i32 0, label %148
    i32 1, label %170
    i32 2, label %190
    i32 3, label %210
    i32 4, label %220
    i32 5, label %230
    i32 14, label %240
    i32 15, label %250
    i32 6, label %260
    i32 7, label %270
    i32 8, label %280
    i32 12, label %.invoke
    i32 13, label %290
    i32 16, label %300
    i32 17, label %310
    i32 18, label %320
    i32 19, label %330
    i32 20, label %340
  ]

148:                                              ; preds = %147
  %149 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br i1 %149, label %150, label %161

150:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  invoke void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(17) %114, i32 noundef %.0124, i64 noundef %4)
          to label %151 unwind label %156

151:                                              ; preds = %150
  %152 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %153 unwind label %158

153:                                              ; preds = %151
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %487

154:                                              ; preds = %.invoke, %473, %469, %145, %143
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %491

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

158:                                              ; preds = %151
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %160

160:                                              ; preds = %158, %156
  %.pn195 = phi { ptr, i32 } [ %159, %158 ], [ %157, %156 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %491

161:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  invoke void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(17) %114, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %162 unwind label %165

162:                                              ; preds = %161
  %163 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %164 unwind label %167

164:                                              ; preds = %162
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br label %487

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

167:                                              ; preds = %162
  %168 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %169

169:                                              ; preds = %167, %165
  %.pn193 = phi { ptr, i32 } [ %168, %167 ], [ %166, %165 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br label %491

170:                                              ; preds = %147
  %171 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br i1 %171, label %172, label %181

172:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  invoke void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(17) %113, i32 noundef %.0123, i64 noundef %5)
          to label %173 unwind label %176

173:                                              ; preds = %172
  %174 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %175 unwind label %178

175:                                              ; preds = %173
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  br label %487

176:                                              ; preds = %172
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %180

178:                                              ; preds = %173
  %179 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %180

180:                                              ; preds = %178, %176
  %.pn191 = phi { ptr, i32 } [ %179, %178 ], [ %177, %176 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  br label %491

181:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  invoke void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(17) %113, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %182 unwind label %185

182:                                              ; preds = %181
  %183 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %184 unwind label %187

184:                                              ; preds = %182
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %487

185:                                              ; preds = %181
  %186 = landingpad { ptr, i32 }
          cleanup
  br label %189

187:                                              ; preds = %182
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %189

189:                                              ; preds = %187, %185
  %.pn189 = phi { ptr, i32 } [ %188, %187 ], [ %186, %185 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %491

190:                                              ; preds = %147
  %191 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br i1 %191, label %192, label %201

192:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #6
  invoke void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(17) %112, i32 noundef %.0123, i64 noundef %5)
          to label %193 unwind label %196

193:                                              ; preds = %192
  %194 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %195 unwind label %198

195:                                              ; preds = %193
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %487

196:                                              ; preds = %192
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %200

198:                                              ; preds = %193
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %200

200:                                              ; preds = %198, %196
  %.pn187 = phi { ptr, i32 } [ %199, %198 ], [ %197, %196 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %491

201:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  invoke void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(17) %112, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %202 unwind label %205

202:                                              ; preds = %201
  %203 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %204 unwind label %207

204:                                              ; preds = %202
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  br label %487

205:                                              ; preds = %201
  %206 = landingpad { ptr, i32 }
          cleanup
  br label %209

207:                                              ; preds = %202
  %208 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %209

209:                                              ; preds = %207, %205
  %.pn185 = phi { ptr, i32 } [ %208, %207 ], [ %206, %205 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  br label %491

210:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  %211 = load i64, ptr %111, align 8, !tbaa !11
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, i64 noundef %211)
          to label %212 unwind label %215

212:                                              ; preds = %210
  %213 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %214 unwind label %217

214:                                              ; preds = %212
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  br label %487

215:                                              ; preds = %210
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %219

217:                                              ; preds = %212
  %218 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %219

219:                                              ; preds = %217, %215
  %.pn183 = phi { ptr, i32 } [ %218, %217 ], [ %216, %215 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  br label %491

220:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  %221 = load i64, ptr %110, align 8, !tbaa !24
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, i64 noundef %221)
          to label %222 unwind label %225

222:                                              ; preds = %220
  %223 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %224 unwind label %227

224:                                              ; preds = %222
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br label %487

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

227:                                              ; preds = %222
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %229

229:                                              ; preds = %227, %225
  %.pn181 = phi { ptr, i32 } [ %228, %227 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br label %491

230:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  %231 = load i64, ptr %109, align 8, !tbaa !25
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, i64 noundef %231)
          to label %232 unwind label %235

232:                                              ; preds = %230
  %233 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %234 unwind label %237

234:                                              ; preds = %232
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  br label %487

235:                                              ; preds = %230
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %239

237:                                              ; preds = %232
  %238 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %239

239:                                              ; preds = %237, %235
  %.pn179 = phi { ptr, i32 } [ %238, %237 ], [ %236, %235 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  br label %491

240:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  %241 = load i64, ptr %108, align 8, !tbaa !26
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, i64 noundef %241)
          to label %242 unwind label %245

242:                                              ; preds = %240
  %243 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %244 unwind label %247

244:                                              ; preds = %242
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  br label %487

245:                                              ; preds = %240
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %249

247:                                              ; preds = %242
  %248 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %249

249:                                              ; preds = %247, %245
  %.pn177 = phi { ptr, i32 } [ %248, %247 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  br label %491

250:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  %251 = load i64, ptr %107, align 8, !tbaa !27
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, i64 noundef %251)
          to label %252 unwind label %255

252:                                              ; preds = %250
  %253 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %254 unwind label %257

254:                                              ; preds = %252
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %487

255:                                              ; preds = %250
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %259

257:                                              ; preds = %252
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %259

259:                                              ; preds = %257, %255
  %.pn175 = phi { ptr, i32 } [ %258, %257 ], [ %256, %255 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %491

260:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #6
  %261 = load i64, ptr %106, align 8, !tbaa !28
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, i64 noundef %261)
          to label %262 unwind label %265

262:                                              ; preds = %260
  %263 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %264 unwind label %267

264:                                              ; preds = %262
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  br label %487

265:                                              ; preds = %260
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %269

267:                                              ; preds = %262
  %268 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %269

269:                                              ; preds = %267, %265
  %.pn173 = phi { ptr, i32 } [ %268, %267 ], [ %266, %265 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  br label %491

270:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #6
  %271 = load i64, ptr %105, align 8, !tbaa !29
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, i64 noundef %271)
          to label %272 unwind label %275

272:                                              ; preds = %270
  %273 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %274 unwind label %277

274:                                              ; preds = %272
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  br label %487

275:                                              ; preds = %270
  %276 = landingpad { ptr, i32 }
          cleanup
  br label %279

277:                                              ; preds = %272
  %278 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %279

279:                                              ; preds = %277, %275
  %.pn171 = phi { ptr, i32 } [ %278, %277 ], [ %276, %275 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  br label %491

280:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  %281 = load i64, ptr %104, align 8, !tbaa !30
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, i64 noundef %281)
          to label %282 unwind label %285

282:                                              ; preds = %280
  %283 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %284 unwind label %287

284:                                              ; preds = %282
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %487

285:                                              ; preds = %280
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %289

287:                                              ; preds = %282
  %288 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %289

289:                                              ; preds = %287, %285
  %.pn169 = phi { ptr, i32 } [ %288, %287 ], [ %286, %285 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %491

290:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  %291 = load i64, ptr %102, align 8, !tbaa !31
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, i64 noundef %291)
          to label %292 unwind label %295

292:                                              ; preds = %290
  %293 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %294 unwind label %297

294:                                              ; preds = %292
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  br label %487

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

297:                                              ; preds = %292
  %298 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %299

299:                                              ; preds = %297, %295
  %.pn167 = phi { ptr, i32 } [ %298, %297 ], [ %296, %295 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  br label %491

300:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #6
  %301 = load i64, ptr %101, align 8, !tbaa !32
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, i64 noundef %301)
          to label %302 unwind label %305

302:                                              ; preds = %300
  %303 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %304 unwind label %307

304:                                              ; preds = %302
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  br label %487

305:                                              ; preds = %300
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %309

307:                                              ; preds = %302
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %309

309:                                              ; preds = %307, %305
  %.pn165 = phi { ptr, i32 } [ %308, %307 ], [ %306, %305 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  br label %491

310:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #6
  %311 = load i64, ptr %100, align 8, !tbaa !33
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, i64 noundef %311)
          to label %312 unwind label %315

312:                                              ; preds = %310
  %313 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %314 unwind label %317

314:                                              ; preds = %312
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  br label %487

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

317:                                              ; preds = %312
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %319

319:                                              ; preds = %317, %315
  %.pn163 = phi { ptr, i32 } [ %318, %317 ], [ %316, %315 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  br label %491

320:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #6
  %321 = load i64, ptr %99, align 8, !tbaa !34
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, i64 noundef %321)
          to label %322 unwind label %325

322:                                              ; preds = %320
  %323 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %324 unwind label %327

324:                                              ; preds = %322
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  br label %487

325:                                              ; preds = %320
  %326 = landingpad { ptr, i32 }
          cleanup
  br label %329

327:                                              ; preds = %322
  %328 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %329

329:                                              ; preds = %327, %325
  %.pn161 = phi { ptr, i32 } [ %328, %327 ], [ %326, %325 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  br label %491

330:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  %331 = load i64, ptr %98, align 8, !tbaa !35
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, i64 noundef %331)
          to label %332 unwind label %335

332:                                              ; preds = %330
  %333 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %334 unwind label %337

334:                                              ; preds = %332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  br label %487

335:                                              ; preds = %330
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %339

337:                                              ; preds = %332
  %338 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %339

339:                                              ; preds = %337, %335
  %.pn159 = phi { ptr, i32 } [ %338, %337 ], [ %336, %335 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  br label %491

340:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(24) %97, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %341 unwind label %344

341:                                              ; preds = %340
  %342 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %343 unwind label %346

343:                                              ; preds = %341
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  br label %487

344:                                              ; preds = %340
  %345 = landingpad { ptr, i32 }
          cleanup
  br label %348

346:                                              ; preds = %341
  %347 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %348

348:                                              ; preds = %346, %344
  %.pn157 = phi { ptr, i32 } [ %347, %346 ], [ %345, %344 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  br label %491

349:                                              ; preds = %147
  %350 = add i32 %146, -21
  %or.cond = icmp ult i32 %350, 2
  br i1 %or.cond, label %351, label %360

351:                                              ; preds = %349
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(24) %127, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %352 unwind label %355

352:                                              ; preds = %351
  %353 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %354 unwind label %357

354:                                              ; preds = %352
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  br label %487

355:                                              ; preds = %351
  %356 = landingpad { ptr, i32 }
          cleanup
  br label %359

357:                                              ; preds = %352
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %359

359:                                              ; preds = %357, %355
  %.pn155 = phi { ptr, i32 } [ %358, %357 ], [ %356, %355 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  br label %491

360:                                              ; preds = %349
  %361 = add i32 %146, -23
  %or.cond3 = icmp ult i32 %361, 2
  br i1 %or.cond3, label %362, label %371

362:                                              ; preds = %360
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %363 unwind label %366

363:                                              ; preds = %362
  %364 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %365 unwind label %368

365:                                              ; preds = %363
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  br label %487

366:                                              ; preds = %362
  %367 = landingpad { ptr, i32 }
          cleanup
  br label %370

368:                                              ; preds = %363
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %370

370:                                              ; preds = %368, %366
  %.pn153 = phi { ptr, i32 } [ %369, %368 ], [ %367, %366 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  br label %491

371:                                              ; preds = %360
  switch i32 %146, label %475 [
    i32 25, label %372
    i32 26, label %381
    i32 9, label %390
    i32 10, label %400
    i32 28, label %410
    i32 27, label %419
    i32 29, label %429
    i32 30, label %439
    i32 31, label %.invoke
    i32 32, label %449
    i32 11, label %459
    i32 33, label %469
    i32 34, label %473
  ]

372:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  invoke void @_ZNK9NOMAD_4_35Point7displayERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %373 unwind label %376

373:                                              ; preds = %372
  %374 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %375 unwind label %378

375:                                              ; preds = %373
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  br label %487

376:                                              ; preds = %372
  %377 = landingpad { ptr, i32 }
          cleanup
  br label %380

378:                                              ; preds = %373
  %379 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %380

380:                                              ; preds = %378, %376
  %.pn151 = phi { ptr, i32 } [ %379, %378 ], [ %377, %376 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  br label %491

381:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  invoke void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(24) %124, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %382 unwind label %385

382:                                              ; preds = %381
  %383 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %384 unwind label %387

384:                                              ; preds = %382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  br label %487

385:                                              ; preds = %381
  %386 = landingpad { ptr, i32 }
          cleanup
  br label %389

387:                                              ; preds = %382
  %388 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %389

389:                                              ; preds = %387, %385
  %.pn149 = phi { ptr, i32 } [ %388, %387 ], [ %386, %385 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  br label %491

390:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #6
  %391 = load i64, ptr %123, align 8, !tbaa !36
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, i64 noundef %391)
          to label %392 unwind label %395

392:                                              ; preds = %390
  %393 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %394 unwind label %397

394:                                              ; preds = %392
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  br label %487

395:                                              ; preds = %390
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %399

397:                                              ; preds = %392
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %399

399:                                              ; preds = %397, %395
  %.pn147 = phi { ptr, i32 } [ %398, %397 ], [ %396, %395 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  br label %491

400:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #6
  %401 = load i64, ptr %122, align 8, !tbaa !37
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, i64 noundef %401)
          to label %402 unwind label %405

402:                                              ; preds = %400
  %403 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %404 unwind label %407

404:                                              ; preds = %402
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  br label %487

405:                                              ; preds = %400
  %406 = landingpad { ptr, i32 }
          cleanup
  br label %409

407:                                              ; preds = %402
  %408 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %409

409:                                              ; preds = %407, %405
  %.pn145 = phi { ptr, i32 } [ %408, %407 ], [ %406, %405 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  br label %491

410:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #6
  invoke void @_ZNK9NOMAD_4_35Point12displayNoParERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %411 unwind label %414

411:                                              ; preds = %410
  %412 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %413 unwind label %416

413:                                              ; preds = %411
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  br label %487

414:                                              ; preds = %410
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %418

416:                                              ; preds = %411
  %417 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %418

418:                                              ; preds = %416, %414
  %.pn143 = phi { ptr, i32 } [ %417, %416 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  br label %491

419:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #6
  %420 = load i64, ptr %120, align 8, !tbaa !38
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, i64 noundef %420)
          to label %421 unwind label %424

421:                                              ; preds = %419
  %422 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %423 unwind label %426

423:                                              ; preds = %421
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  br label %487

424:                                              ; preds = %419
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %428

426:                                              ; preds = %421
  %427 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %428

428:                                              ; preds = %426, %424
  %.pn141 = phi { ptr, i32 } [ %427, %426 ], [ %425, %424 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  br label %491

429:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #6
  %430 = load i32, ptr %119, align 8, !tbaa !39
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, i32 noundef %430)
          to label %431 unwind label %434

431:                                              ; preds = %429
  %432 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %433 unwind label %436

433:                                              ; preds = %431
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  br label %487

434:                                              ; preds = %429
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %438

436:                                              ; preds = %431
  %437 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %438

438:                                              ; preds = %436, %434
  %.pn139 = phi { ptr, i32 } [ %437, %436 ], [ %435, %434 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #6
  br label %491

439:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  %440 = load i32, ptr %118, align 4, !tbaa !40
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, i32 noundef %440)
          to label %441 unwind label %444

441:                                              ; preds = %439
  %442 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %443 unwind label %446

443:                                              ; preds = %441
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %487

444:                                              ; preds = %439
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %448

446:                                              ; preds = %441
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %448

448:                                              ; preds = %446, %444
  %.pn137 = phi { ptr, i32 } [ %447, %446 ], [ %445, %444 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %491

449:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #6
  %450 = load i32, ptr %116, align 8, !tbaa !41
  invoke void @_ZN9NOMAD_4_37enumStrB5cxx11ENS_11SuccessTypeE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, i32 noundef %450)
          to label %451 unwind label %454

451:                                              ; preds = %449
  %452 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %453 unwind label %456

453:                                              ; preds = %451
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  br label %487

454:                                              ; preds = %449
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %458

456:                                              ; preds = %451
  %457 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %458

458:                                              ; preds = %456, %454
  %.pn135 = phi { ptr, i32 } [ %457, %456 ], [ %455, %454 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  br label %491

459:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  %460 = load i64, ptr %115, align 8, !tbaa !42
  invoke void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, i64 noundef %460)
          to label %461 unwind label %464

461:                                              ; preds = %459
  %462 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %463 unwind label %466

463:                                              ; preds = %461
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  br label %487

464:                                              ; preds = %459
  %465 = landingpad { ptr, i32 }
          cleanup
  br label %468

466:                                              ; preds = %461
  %467 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %468

468:                                              ; preds = %466, %464
  %.pn133 = phi { ptr, i32 } [ %467, %466 ], [ %465, %464 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  br label %491

469:                                              ; preds = %371
  %470 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef %.078210)
          to label %.invoke unwind label %154

.invoke:                                          ; preds = %469, %371, %147
  %471 = phi ptr [ %103, %147 ], [ %117, %371 ], [ %470, %469 ]
  %472 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %471)
          to label %487 unwind label %154

473:                                              ; preds = %371
  %474 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.45)
          to label %487 unwind label %154

475:                                              ; preds = %371
  %476 = call ptr @__cxa_allocate_exception(i64 112) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %55) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.49, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %477 unwind label %.thread206

477:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @.str.50, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %478 unwind label %481

478:                                              ; preds = %477
  invoke void @_ZN9NOMAD_4_39ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_(ptr noundef nonnull align 8 dereferenceable(112) %476, ptr noundef nonnull align 8 dereferenceable(32) %54, i64 noundef 574, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %479 unwind label %483

479:                                              ; preds = %478
  invoke void @__cxa_throw(ptr nonnull %476, ptr nonnull @_ZTIN9NOMAD_4_39ExceptionE, ptr nonnull @_ZN9NOMAD_4_39ExceptionD2Ev) #7
          to label %507 unwind label %483

.thread206:                                       ; preds = %475
  %480 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  br label %486

481:                                              ; preds = %477
  %482 = landingpad { ptr, i32 }
          cleanup
  br label %485

483:                                              ; preds = %479, %478
  %.0 = phi i1 [ false, %479 ], [ true, %478 ]
  %484 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %485

485:                                              ; preds = %481, %483
  %.pn130 = phi { ptr, i32 } [ %484, %483 ], [ %482, %481 ]
  %.1 = phi i1 [ %.0, %483 ], [ true, %481 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  br i1 %.1, label %486, label %491

486:                                              ; preds = %.thread206, %485
  %.pn130.pn209 = phi { ptr, i32 } [ %480, %.thread206 ], [ %.pn130, %485 ]
  call void @__cxa_free_exception(ptr %476) #6
  br label %491

487:                                              ; preds = %.invoke, %184, %175, %214, %234, %254, %274, %304, %324, %343, %365, %384, %404, %423, %443, %453, %473, %463, %433, %413, %394, %375, %354, %334, %314, %294, %284, %264, %244, %224, %195, %204, %153, %164
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  %488 = add nuw i64 %.078210, 1
  %489 = call noundef i64 @_ZNK9NOMAD_4_313ArrayOfString4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
  %490 = icmp ult i64 %488, %489
  br i1 %490, label %128, label %._crit_edge, !llvm.loop !43

491:                                              ; preds = %485, %486, %468, %458, %448, %438, %428, %418, %409, %399, %389, %380, %370, %359, %348, %339, %329, %319, %309, %299, %289, %279, %269, %259, %249, %239, %229, %219, %209, %200, %189, %180, %169, %160, %154
  %.pn195.pn = phi { ptr, i32 } [ %.pn195, %160 ], [ %.pn193, %169 ], [ %.pn191, %180 ], [ %.pn189, %189 ], [ %.pn187, %200 ], [ %.pn185, %209 ], [ %.pn183, %219 ], [ %.pn181, %229 ], [ %.pn179, %239 ], [ %.pn177, %249 ], [ %.pn175, %259 ], [ %.pn173, %269 ], [ %.pn171, %279 ], [ %.pn169, %289 ], [ %155, %154 ], [ %.pn167, %299 ], [ %.pn165, %309 ], [ %.pn163, %319 ], [ %.pn161, %329 ], [ %.pn159, %339 ], [ %.pn157, %348 ], [ %.pn155, %359 ], [ %.pn153, %370 ], [ %.pn151, %380 ], [ %.pn149, %389 ], [ %.pn147, %399 ], [ %.pn145, %409 ], [ %.pn143, %418 ], [ %.pn141, %428 ], [ %.pn139, %438 ], [ %.pn137, %448 ], [ %.pn135, %458 ], [ %.pn133, %468 ], [ %.pn130.pn209, %486 ], [ %.pn130, %485 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  br label %506

492:                                              ; preds = %._crit_edge
  %493 = getelementptr inbounds i8, ptr %1, i64 408
  %494 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %493) #6
  br i1 %494, label %504, label %495

495:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #6
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull @.str.47, ptr noundef nonnull align 8 dereferenceable(32) %493)
          to label %496 unwind label %499

496:                                              ; preds = %495
  %497 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %498 unwind label %501

498:                                              ; preds = %496
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  br label %504

499:                                              ; preds = %495
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %503

501:                                              ; preds = %496
  %502 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %503

503:                                              ; preds = %501, %499
  %.pn127 = phi { ptr, i32 } [ %502, %501 ], [ %500, %499 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  br label %506

504:                                              ; preds = %498, %492, %._crit_edge
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %505

505:                                              ; preds = %504, %64
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  ret void

506:                                              ; preds = %88, %94, %141, %491, %503, %75
  %.pn201.pn.pn.pn = phi { ptr, i32 } [ %.pn201.pn.pn, %75 ], [ %.pn, %94 ], [ %89, %88 ], [ %.pn127, %503 ], [ %.pn195.pn, %491 ], [ %142, %141 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  resume { ptr, i32 } %.pn201.pn.pn.pn

507:                                              ; preds = %479
  unreachable
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK9NOMAD_4_313ArrayOfString5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

declare void @_ZN9NOMAD_4_313ArrayOfStringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN9NOMAD_4_313ArrayOfStringD1Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3

declare void @_ZNK9NOMAD_4_313ArrayOfDouble3maxEv(ptr dead_on_unwind writable sret(%"class.NOMAD_4_3::Double") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9NOMAD_4_36Double8todoubleEv(ptr noundef nonnull align 8 dereferenceable(17)) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9NOMAD_4_313ArrayOfStringixB5cxx11Em(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #4

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

declare void @_ZNK9NOMAD_4_36Double7displayB5cxx11Eim(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(17), i32 noundef, i64 noundef) local_unnamed_addr #4

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

declare void @_ZNK9NOMAD_4_36Double7displayERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN9NOMAD_4_34itosB5cxx11Em(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) local_unnamed_addr #4

declare void @_ZNK9NOMAD_4_313ArrayOfDouble7displayERKS0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

declare void @_ZNK9NOMAD_4_35Point7displayERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

declare void @_ZNK9NOMAD_4_35Point12displayNoParERKNS_13ArrayOfDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN9NOMAD_4_34itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #4

declare void @_ZN9NOMAD_4_37enumStrB5cxx11ENS_11SuccessTypeE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #4

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9NOMAD_4_39ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_(ptr noundef nonnull align 8 dereferenceable(112), ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9NOMAD_4_39ExceptionD2Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #1 align 2

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { 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 #4 = { "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 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 #6 = { nounwind }
attributes #7 = { noreturn }

!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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"double", !10, i64 0}
!10 = !{!"omnipotent char", !7, i64 0}
!11 = !{!12, !15, i64 80}
!12 = !{!"_ZTSN9NOMAD_4_39StatsInfoE", !13, i64 0, !14, i64 8, !14, i64 32, !14, i64 56, !15, i64 80, !15, i64 88, !15, i64 96, !15, i64 104, !15, i64 112, !15, i64 120, !15, i64 128, !15, i64 136, !16, i64 144, !15, i64 176, !15, i64 184, !15, i64 192, !15, i64 200, !15, i64 208, !19, i64 216, !19, i64 240, !19, i64 264, !20, i64 288, !21, i64 312, !15, i64 336, !15, i64 344, !15, i64 352, !20, i64 360, !15, i64 384, !22, i64 392, !22, i64 396, !13, i64 400, !16, i64 408, !16, i64 440, !23, i64 472}
!13 = !{!"bool", !10, i64 0}
!14 = !{!"_ZTSN9NOMAD_4_36DoubleE", !9, i64 8, !13, i64 16}
!15 = !{!"long", !10, i64 0}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !15, i64 8, !10, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !18, i64 0}
!18 = !{!"any pointer", !10, i64 0}
!19 = !{!"_ZTSN9NOMAD_4_313ArrayOfDoubleE", !15, i64 8, !18, i64 16}
!20 = !{!"_ZTSN9NOMAD_4_35PointE", !19, i64 0}
!21 = !{!"_ZTSN9NOMAD_4_39DirectionE", !19, i64 0}
!22 = !{!"int", !10, i64 0}
!23 = !{!"_ZTSN9NOMAD_4_311SuccessTypeE", !10, i64 0}
!24 = !{!12, !15, i64 88}
!25 = !{!12, !15, i64 96}
!26 = !{!12, !15, i64 104}
!27 = !{!12, !15, i64 112}
!28 = !{!12, !15, i64 120}
!29 = !{!12, !15, i64 128}
!30 = !{!12, !15, i64 136}
!31 = !{!12, !15, i64 176}
!32 = !{!12, !15, i64 184}
!33 = !{!12, !15, i64 192}
!34 = !{!12, !15, i64 200}
!35 = !{!12, !15, i64 208}
!36 = !{!12, !15, i64 336}
!37 = !{!12, !15, i64 344}
!38 = !{!12, !15, i64 384}
!39 = !{!12, !22, i64 392}
!40 = !{!12, !22, i64 396}
!41 = !{!12, !23, i64 472}
!42 = !{!12, !15, i64 352}
!43 = distinct !{!43, !44}
!44 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: CorrelatedValuePropagationPass,DeadArgumentEliminationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass