; LLVM IR from buresjan/optim_lbm :: nomad/ext/sgtelib/src (Surrogate_Parameters)

; 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.std::allocator" = type { i8 }
%"class.SGTELIB::Surrogate_Parameters" = type { ptr, i32, i32, i32, i32, i32, double, i32, double, i32, i32, i32, %"class.SGTELIB::Matrix", i32, i32, i32, double, double, double, double, %"class.SGTELIB::Matrix", i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32 }
%"class.SGTELIB::Matrix" = type { ptr, %"class.std::__cxx11::basic_string", i32, i32, ptr }

@.str.3 = external hidden unnamed_addr constant [99 x i8], align 1
@_ZTIN7SGTELIB9ExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.68 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [12 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 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

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

declare ptr @__cxa_allocate_exception(i64)

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7SGTELIB9ExceptionD2Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #0 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

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

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

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

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

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

declare void @_ZN7SGTELIB17size_param_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) #3

declare void @_ZN7SGTELIB17sigma_mult_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) #3

declare void @_ZN7SGTELIB15lambda_p_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) #3

declare void @_ZN7SGTELIB16lambda_pi_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) #3

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK7SGTELIB20Surrogate_Parameters10get_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(312) %1) #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i1, align 1
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca i1, align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", 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::__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::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::allocator", align 1
  %75 = alloca i1, align 1
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  %76 = load ptr, ptr %4, align 8
  store i1 false, ptr %5, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %6) #5
  %77 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 1
  %78 = load i32, ptr %77, align 8, !tbaa !9
  call void @_ZN7SGTELIB17model_type_to_strB5cxx11ENS_7model_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %6, i32 noundef %78)
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef @.str.103, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %79 unwind label %82

79:                                               ; preds = %2
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #5
  %80 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 1
  %81 = load i32, ptr %80, align 8, !tbaa !9
  switch i32 %81, label %695 [
    i32 0, label %86
    i32 1, label %86
    i32 9, label %86
    i32 8, label %108
    i32 7, label %129
    i32 3, label %150
    i32 4, label %150
    i32 5, label %150
    i32 6, label %191
    i32 10, label %252
    i32 11, label %346
    i32 12, label %447
    i32 13, label %521
  ]

82:                                               ; preds = %2
  %83 = landingpad { ptr, i32 }
          cleanup
  %84 = extractvalue { ptr, i32 } %83, 0
  store ptr %84, ptr %7, align 8
  %85 = extractvalue { ptr, i32 } %83, 1
  store i32 %85, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #5
  br label %722

86:                                               ; preds = %79, %79, %79
  store i1 true, ptr %13, align 1
  %87 = call ptr @__cxa_allocate_exception(i64 112) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %88 unwind label %91

88:                                               ; preds = %86
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %12) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.68, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %89 unwind label %95

89:                                               ; preds = %88
  invoke void @_ZN7SGTELIB9ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS8_(ptr noundef nonnull align 8 dereferenceable(112) %87, ptr noundef nonnull align 8 dereferenceable(32) %9, i32 noundef 761, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %90 unwind label %99

90:                                               ; preds = %89
  store i1 false, ptr %13, align 1
  invoke void @__cxa_throw(ptr %87, ptr @_ZTIN7SGTELIB9ExceptionE, ptr @_ZN7SGTELIB9ExceptionD2Ev) #6
          to label %727 unwind label %99

91:                                               ; preds = %86
  %92 = landingpad { ptr, i32 }
          cleanup
  %93 = extractvalue { ptr, i32 } %92, 0
  store ptr %93, ptr %7, align 8
  %94 = extractvalue { ptr, i32 } %92, 1
  store i32 %94, ptr %8, align 4
  br label %104

95:                                               ; preds = %88
  %96 = landingpad { ptr, i32 }
          cleanup
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %7, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %8, align 4
  br label %103

99:                                               ; preds = %90, %89
  %100 = landingpad { ptr, i32 }
          cleanup
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %7, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %103

103:                                              ; preds = %99, %95
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  br label %104

104:                                              ; preds = %103, %91
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #5
  %105 = load i1, ptr %13, align 1
  br i1 %105, label %106, label %107

106:                                              ; preds = %104
  call void @__cxa_free_exception(ptr %87) #5
  br label %107

107:                                              ; preds = %106, %104
  br label %721

108:                                              ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #5
  %109 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 10
  %110 = load i32, ptr %109, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, i32 noundef %110)
          to label %111 unwind label %115

111:                                              ; preds = %108
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %112 unwind label %119

112:                                              ; preds = %111
  %113 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %114 unwind label %123

114:                                              ; preds = %112
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #5
  br label %717

115:                                              ; preds = %108
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %7, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %8, align 4
  br label %128

119:                                              ; preds = %111
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %7, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %8, align 4
  br label %127

123:                                              ; preds = %112
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %7, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  br label %127

127:                                              ; preds = %123, %119
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %128

128:                                              ; preds = %127, %115
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #5
  br label %721

129:                                              ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #5
  %130 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 10
  %131 = load i32, ptr %130, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, i32 noundef %131)
          to label %132 unwind label %136

132:                                              ; preds = %129
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %133 unwind label %140

133:                                              ; preds = %132
  %134 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %135 unwind label %144

135:                                              ; preds = %133
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #5
  br label %717

136:                                              ; preds = %129
  %137 = landingpad { ptr, i32 }
          cleanup
  %138 = extractvalue { ptr, i32 } %137, 0
  store ptr %138, ptr %7, align 8
  %139 = extractvalue { ptr, i32 } %137, 1
  store i32 %139, ptr %8, align 4
  br label %149

140:                                              ; preds = %132
  %141 = landingpad { ptr, i32 }
          cleanup
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %7, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %8, align 4
  br label %148

144:                                              ; preds = %133
  %145 = landingpad { ptr, i32 }
          cleanup
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %7, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %148

148:                                              ; preds = %144, %140
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %149

149:                                              ; preds = %148, %136
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #5
  br label %721

150:                                              ; preds = %79, %79, %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #5
  %151 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 2
  %152 = load i32, ptr %151, align 4, !tbaa !25
  invoke void @_ZN7SGTELIB4itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, i32 noundef %152)
          to label %153 unwind label %163

153:                                              ; preds = %150
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef @.str.105, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %154 unwind label %167

154:                                              ; preds = %153
  %155 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %156 unwind label %171

156:                                              ; preds = %154
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #5
  %157 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 8
  %158 = load double, ptr %157, align 8, !tbaa !26
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %21, double noundef %158)
          to label %159 unwind label %177

159:                                              ; preds = %156
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef @.str.106, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %160 unwind label %181

160:                                              ; preds = %159
  %161 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %162 unwind label %185

162:                                              ; preds = %160
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #5
  br label %717

163:                                              ; preds = %150
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %7, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %8, align 4
  br label %176

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

171:                                              ; preds = %154
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %7, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %175

175:                                              ; preds = %171, %167
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %176

176:                                              ; preds = %175, %163
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #5
  br label %721

177:                                              ; preds = %156
  %178 = landingpad { ptr, i32 }
          cleanup
  %179 = extractvalue { ptr, i32 } %178, 0
  store ptr %179, ptr %7, align 8
  %180 = extractvalue { ptr, i32 } %178, 1
  store i32 %180, ptr %8, align 4
  br label %190

181:                                              ; preds = %159
  %182 = landingpad { ptr, i32 }
          cleanup
  %183 = extractvalue { ptr, i32 } %182, 0
  store ptr %183, ptr %7, align 8
  %184 = extractvalue { ptr, i32 } %182, 1
  store i32 %184, ptr %8, align 4
  br label %189

185:                                              ; preds = %160
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  store ptr %187, ptr %7, align 8
  %188 = extractvalue { ptr, i32 } %186, 1
  store i32 %188, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %189

189:                                              ; preds = %185, %181
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  br label %190

190:                                              ; preds = %189, %177
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #5
  br label %721

191:                                              ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #5
  %192 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 4
  %193 = load i32, ptr %192, align 4, !tbaa !27
  invoke void @_ZN7SGTELIB18kernel_type_to_strB5cxx11ENS_8kernel_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23, i32 noundef %193)
          to label %194 unwind label %210

194:                                              ; preds = %191
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef @.str.107, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %195 unwind label %214

195:                                              ; preds = %194
  %196 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %197 unwind label %218

197:                                              ; preds = %195
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #5
  %198 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 6
  %199 = load double, ptr %198, align 8, !tbaa !28
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, double noundef %199)
          to label %200 unwind label %224

200:                                              ; preds = %197
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef @.str.108, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %201 unwind label %228

201:                                              ; preds = %200
  %202 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %203 unwind label %232

203:                                              ; preds = %201
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #5
  %204 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 10
  %205 = load i32, ptr %204, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, i32 noundef %205)
          to label %206 unwind label %238

206:                                              ; preds = %203
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %207 unwind label %242

207:                                              ; preds = %206
  %208 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %209 unwind label %246

209:                                              ; preds = %207
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  br label %717

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

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

218:                                              ; preds = %195
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %7, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %222

222:                                              ; preds = %218, %214
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  br label %223

223:                                              ; preds = %222, %210
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  br label %721

224:                                              ; preds = %197
  %225 = landingpad { ptr, i32 }
          cleanup
  %226 = extractvalue { ptr, i32 } %225, 0
  store ptr %226, ptr %7, align 8
  %227 = extractvalue { ptr, i32 } %225, 1
  store i32 %227, ptr %8, align 4
  br label %237

228:                                              ; preds = %200
  %229 = landingpad { ptr, i32 }
          cleanup
  %230 = extractvalue { ptr, i32 } %229, 0
  store ptr %230, ptr %7, align 8
  %231 = extractvalue { ptr, i32 } %229, 1
  store i32 %231, ptr %8, align 4
  br label %236

232:                                              ; preds = %201
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %7, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %236

236:                                              ; preds = %232, %228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  br label %237

237:                                              ; preds = %236, %224
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #5
  br label %721

238:                                              ; preds = %203
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %7, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %8, align 4
  br label %251

242:                                              ; preds = %206
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %7, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %8, align 4
  br label %250

246:                                              ; preds = %207
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %7, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %250

250:                                              ; preds = %246, %242
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  br label %251

251:                                              ; preds = %250, %238
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  br label %721

252:                                              ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #5
  %253 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 23
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef @.str.109, ptr noundef nonnull align 8 dereferenceable(32) %253)
          to label %254 unwind label %281

254:                                              ; preds = %252
  %255 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %256 unwind label %285

256:                                              ; preds = %254
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #5
  %257 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 4
  %258 = load i32, ptr %257, align 4, !tbaa !27
  invoke void @_ZN7SGTELIB18kernel_type_to_strB5cxx11ENS_8kernel_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, i32 noundef %258)
          to label %259 unwind label %290

259:                                              ; preds = %256
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef @.str.107, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %260 unwind label %294

260:                                              ; preds = %259
  %261 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %262 unwind label %298

262:                                              ; preds = %260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #5
  %263 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 6
  %264 = load double, ptr %263, align 8, !tbaa !28
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, double noundef %264)
          to label %265 unwind label %304

265:                                              ; preds = %262
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef @.str.108, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %266 unwind label %308

266:                                              ; preds = %265
  %267 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %268 unwind label %312

268:                                              ; preds = %266
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #5
  %269 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 10
  %270 = load i32, ptr %269, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, i32 noundef %270)
          to label %271 unwind label %318

271:                                              ; preds = %268
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %272 unwind label %322

272:                                              ; preds = %271
  %273 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %274 unwind label %326

274:                                              ; preds = %272
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #5
  %275 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 8
  %276 = load double, ptr %275, align 8, !tbaa !26
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %36, double noundef %276)
          to label %277 unwind label %332

277:                                              ; preds = %274
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef @.str.106, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %278 unwind label %336

278:                                              ; preds = %277
  %279 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %280 unwind label %340

280:                                              ; preds = %278
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #5
  br label %717

281:                                              ; preds = %252
  %282 = landingpad { ptr, i32 }
          cleanup
  %283 = extractvalue { ptr, i32 } %282, 0
  store ptr %283, ptr %7, align 8
  %284 = extractvalue { ptr, i32 } %282, 1
  store i32 %284, ptr %8, align 4
  br label %289

285:                                              ; preds = %254
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %7, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %289

289:                                              ; preds = %285, %281
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  br label %721

290:                                              ; preds = %256
  %291 = landingpad { ptr, i32 }
          cleanup
  %292 = extractvalue { ptr, i32 } %291, 0
  store ptr %292, ptr %7, align 8
  %293 = extractvalue { ptr, i32 } %291, 1
  store i32 %293, ptr %8, align 4
  br label %303

294:                                              ; preds = %259
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %7, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %8, align 4
  br label %302

298:                                              ; preds = %260
  %299 = landingpad { ptr, i32 }
          cleanup
  %300 = extractvalue { ptr, i32 } %299, 0
  store ptr %300, ptr %7, align 8
  %301 = extractvalue { ptr, i32 } %299, 1
  store i32 %301, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %302

302:                                              ; preds = %298, %294
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %303

303:                                              ; preds = %302, %290
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #5
  br label %721

304:                                              ; preds = %262
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %7, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %8, align 4
  br label %317

308:                                              ; preds = %265
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %7, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %8, align 4
  br label %316

312:                                              ; preds = %266
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %7, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  br label %316

316:                                              ; preds = %312, %308
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %317

317:                                              ; preds = %316, %304
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #5
  br label %721

318:                                              ; preds = %268
  %319 = landingpad { ptr, i32 }
          cleanup
  %320 = extractvalue { ptr, i32 } %319, 0
  store ptr %320, ptr %7, align 8
  %321 = extractvalue { ptr, i32 } %319, 1
  store i32 %321, ptr %8, align 4
  br label %331

322:                                              ; preds = %271
  %323 = landingpad { ptr, i32 }
          cleanup
  %324 = extractvalue { ptr, i32 } %323, 0
  store ptr %324, ptr %7, align 8
  %325 = extractvalue { ptr, i32 } %323, 1
  store i32 %325, ptr %8, align 4
  br label %330

326:                                              ; preds = %272
  %327 = landingpad { ptr, i32 }
          cleanup
  %328 = extractvalue { ptr, i32 } %327, 0
  store ptr %328, ptr %7, align 8
  %329 = extractvalue { ptr, i32 } %327, 1
  store i32 %329, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  br label %330

330:                                              ; preds = %326, %322
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %331

331:                                              ; preds = %330, %318
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #5
  br label %721

332:                                              ; preds = %274
  %333 = landingpad { ptr, i32 }
          cleanup
  %334 = extractvalue { ptr, i32 } %333, 0
  store ptr %334, ptr %7, align 8
  %335 = extractvalue { ptr, i32 } %333, 1
  store i32 %335, ptr %8, align 4
  br label %345

336:                                              ; preds = %277
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %7, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %8, align 4
  br label %344

340:                                              ; preds = %278
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %7, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  br label %344

344:                                              ; preds = %340, %336
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %345

345:                                              ; preds = %344, %332
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #5
  br label %721

346:                                              ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #5
  %347 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 2
  %348 = load i32, ptr %347, align 4, !tbaa !25
  invoke void @_ZN7SGTELIB4itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, i32 noundef %348)
          to label %349 unwind label %377

349:                                              ; preds = %346
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef @.str.105, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %350 unwind label %381

350:                                              ; preds = %349
  %351 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %352 unwind label %385

352:                                              ; preds = %350
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #5
  %353 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 4
  %354 = load i32, ptr %353, align 4, !tbaa !27
  invoke void @_ZN7SGTELIB18kernel_type_to_strB5cxx11ENS_8kernel_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, i32 noundef %354)
          to label %355 unwind label %391

355:                                              ; preds = %352
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef @.str.107, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %356 unwind label %395

356:                                              ; preds = %355
  %357 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %358 unwind label %399

358:                                              ; preds = %356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #5
  %359 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 6
  %360 = load double, ptr %359, align 8, !tbaa !28
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %42, double noundef %360)
          to label %361 unwind label %405

361:                                              ; preds = %358
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef @.str.108, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %362 unwind label %409

362:                                              ; preds = %361
  %363 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %364 unwind label %413

364:                                              ; preds = %362
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #5
  %365 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 10
  %366 = load i32, ptr %365, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, i32 noundef %366)
          to label %367 unwind label %419

367:                                              ; preds = %364
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %368 unwind label %423

368:                                              ; preds = %367
  %369 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %370 unwind label %427

370:                                              ; preds = %368
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #5
  %371 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 8
  %372 = load double, ptr %371, align 8, !tbaa !26
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, double noundef %372)
          to label %373 unwind label %433

373:                                              ; preds = %370
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef @.str.106, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %374 unwind label %437

374:                                              ; preds = %373
  %375 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %376 unwind label %441

376:                                              ; preds = %374
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  br label %717

377:                                              ; preds = %346
  %378 = landingpad { ptr, i32 }
          cleanup
  %379 = extractvalue { ptr, i32 } %378, 0
  store ptr %379, ptr %7, align 8
  %380 = extractvalue { ptr, i32 } %378, 1
  store i32 %380, ptr %8, align 4
  br label %390

381:                                              ; preds = %349
  %382 = landingpad { ptr, i32 }
          cleanup
  %383 = extractvalue { ptr, i32 } %382, 0
  store ptr %383, ptr %7, align 8
  %384 = extractvalue { ptr, i32 } %382, 1
  store i32 %384, ptr %8, align 4
  br label %389

385:                                              ; preds = %350
  %386 = landingpad { ptr, i32 }
          cleanup
  %387 = extractvalue { ptr, i32 } %386, 0
  store ptr %387, ptr %7, align 8
  %388 = extractvalue { ptr, i32 } %386, 1
  store i32 %388, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  br label %389

389:                                              ; preds = %385, %381
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %390

390:                                              ; preds = %389, %377
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #5
  br label %721

391:                                              ; preds = %352
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %7, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %8, align 4
  br label %404

395:                                              ; preds = %355
  %396 = landingpad { ptr, i32 }
          cleanup
  %397 = extractvalue { ptr, i32 } %396, 0
  store ptr %397, ptr %7, align 8
  %398 = extractvalue { ptr, i32 } %396, 1
  store i32 %398, ptr %8, align 4
  br label %403

399:                                              ; preds = %356
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %7, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  br label %403

403:                                              ; preds = %399, %395
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %404

404:                                              ; preds = %403, %391
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #5
  br label %721

405:                                              ; preds = %358
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %7, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %8, align 4
  br label %418

409:                                              ; preds = %361
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %7, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %8, align 4
  br label %417

413:                                              ; preds = %362
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %7, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %417

417:                                              ; preds = %413, %409
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #5
  br label %418

418:                                              ; preds = %417, %405
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #5
  br label %721

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

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

427:                                              ; preds = %368
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %7, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  br label %431

431:                                              ; preds = %427, %423
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %432

432:                                              ; preds = %431, %419
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #5
  br label %721

433:                                              ; preds = %370
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %7, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %8, align 4
  br label %446

437:                                              ; preds = %373
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %7, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %8, align 4
  br label %445

441:                                              ; preds = %374
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %7, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %445

445:                                              ; preds = %441, %437
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  br label %446

446:                                              ; preds = %445, %433
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #5
  br label %721

447:                                              ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #5
  %448 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 22
  %449 = load i32, ptr %448, align 4, !tbaa !29
  invoke void @_ZN7SGTELIB18metric_type_to_strB5cxx11ENS_8metric_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, i32 noundef %449)
          to label %450 unwind label %470

450:                                              ; preds = %447
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef @.str.110, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %451 unwind label %474

451:                                              ; preds = %450
  %452 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %453 unwind label %478

453:                                              ; preds = %451
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #5
  %454 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 13
  %455 = load i32, ptr %454, align 8, !tbaa !30
  invoke void @_ZN7SGTELIB18weight_type_to_strB5cxx11ENS_8weight_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, i32 noundef %455)
          to label %456 unwind label %484

456:                                              ; preds = %453
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef @.str.111, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %457 unwind label %488

457:                                              ; preds = %456
  %458 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %459 unwind label %492

459:                                              ; preds = %457
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #5
  %460 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 23
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef @.str.109, ptr noundef nonnull align 8 dereferenceable(32) %460)
          to label %461 unwind label %498

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

463:                                              ; preds = %461
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #5
  %464 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 10
  %465 = load i32, ptr %464, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, i32 noundef %465)
          to label %466 unwind label %507

466:                                              ; preds = %463
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %467 unwind label %511

467:                                              ; preds = %466
  %468 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %469 unwind label %515

469:                                              ; preds = %467
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #5
  br label %717

470:                                              ; preds = %447
  %471 = landingpad { ptr, i32 }
          cleanup
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %7, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %8, align 4
  br label %483

474:                                              ; preds = %450
  %475 = landingpad { ptr, i32 }
          cleanup
  %476 = extractvalue { ptr, i32 } %475, 0
  store ptr %476, ptr %7, align 8
  %477 = extractvalue { ptr, i32 } %475, 1
  store i32 %477, ptr %8, align 4
  br label %482

478:                                              ; preds = %451
  %479 = landingpad { ptr, i32 }
          cleanup
  %480 = extractvalue { ptr, i32 } %479, 0
  store ptr %480, ptr %7, align 8
  %481 = extractvalue { ptr, i32 } %479, 1
  store i32 %481, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %482

482:                                              ; preds = %478, %474
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  br label %483

483:                                              ; preds = %482, %470
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #5
  br label %721

484:                                              ; preds = %453
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %7, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %8, align 4
  br label %497

488:                                              ; preds = %456
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %7, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %8, align 4
  br label %496

492:                                              ; preds = %457
  %493 = landingpad { ptr, i32 }
          cleanup
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %7, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %496

496:                                              ; preds = %492, %488
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %497

497:                                              ; preds = %496, %484
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #5
  br label %721

498:                                              ; preds = %459
  %499 = landingpad { ptr, i32 }
          cleanup
  %500 = extractvalue { ptr, i32 } %499, 0
  store ptr %500, ptr %7, align 8
  %501 = extractvalue { ptr, i32 } %499, 1
  store i32 %501, ptr %8, align 4
  br label %506

502:                                              ; preds = %461
  %503 = landingpad { ptr, i32 }
          cleanup
  %504 = extractvalue { ptr, i32 } %503, 0
  store ptr %504, ptr %7, align 8
  %505 = extractvalue { ptr, i32 } %503, 1
  store i32 %505, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %506

506:                                              ; preds = %502, %498
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #5
  br label %721

507:                                              ; preds = %463
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %7, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %8, align 4
  br label %520

511:                                              ; preds = %466
  %512 = landingpad { ptr, i32 }
          cleanup
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %7, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %8, align 4
  br label %519

515:                                              ; preds = %467
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %7, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  br label %519

519:                                              ; preds = %515, %511
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  br label %520

520:                                              ; preds = %519, %507
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #5
  br label %721

521:                                              ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #5
  %522 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 22
  %523 = load i32, ptr %522, align 4, !tbaa !29
  invoke void @_ZN7SGTELIB18metric_type_to_strB5cxx11ENS_8metric_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, i32 noundef %523)
          to label %524 unwind label %574

524:                                              ; preds = %521
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef @.str.110, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %525 unwind label %578

525:                                              ; preds = %524
  %526 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %527 unwind label %582

527:                                              ; preds = %525
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #5
  %528 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 13
  %529 = load i32, ptr %528, align 8, !tbaa !30
  invoke void @_ZN7SGTELIB18weight_type_to_strB5cxx11ENS_8weight_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, i32 noundef %529)
          to label %530 unwind label %588

530:                                              ; preds = %527
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef @.str.111, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %531 unwind label %592

531:                                              ; preds = %530
  %532 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %533 unwind label %596

533:                                              ; preds = %531
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #5
  %534 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 23
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef @.str.109, ptr noundef nonnull align 8 dereferenceable(32) %534)
          to label %535 unwind label %602

535:                                              ; preds = %533
  %536 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %537 unwind label %606

537:                                              ; preds = %535
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #5
  %538 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 10
  %539 = load i32, ptr %538, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, i32 noundef %539)
          to label %540 unwind label %611

540:                                              ; preds = %537
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %541 unwind label %615

541:                                              ; preds = %540
  %542 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %543 unwind label %619

543:                                              ; preds = %541
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #5
  %544 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 15
  %545 = load i32, ptr %544, align 8, !tbaa !31
  invoke void @_ZN7SGTELIB23uncertainty_type_to_strB5cxx11ENS_13uncertainty_tE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, i32 noundef %545)
          to label %546 unwind label %625

546:                                              ; preds = %543
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef @.str.112, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %547 unwind label %629

547:                                              ; preds = %546
  %548 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %549 unwind label %633

549:                                              ; preds = %547
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #5
  %550 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 16
  %551 = load double, ptr %550, align 8, !tbaa !32
  invoke void @_ZN7SGTELIB17size_param_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, double noundef %551)
          to label %552 unwind label %639

552:                                              ; preds = %549
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef @.str.113, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %553 unwind label %643

553:                                              ; preds = %552
  %554 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %555 unwind label %647

555:                                              ; preds = %553
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #5
  %556 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 17
  %557 = load double, ptr %556, align 8, !tbaa !33
  invoke void @_ZN7SGTELIB17sigma_mult_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, double noundef %557)
          to label %558 unwind label %653

558:                                              ; preds = %555
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef @.str.114, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %559 unwind label %657

559:                                              ; preds = %558
  %560 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %561 unwind label %661

561:                                              ; preds = %559
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #5
  %562 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 18
  %563 = load double, ptr %562, align 8, !tbaa !34
  invoke void @_ZN7SGTELIB15lambda_p_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, double noundef %563)
          to label %564 unwind label %667

564:                                              ; preds = %561
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef @.str.115, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %565 unwind label %671

565:                                              ; preds = %564
  %566 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %567 unwind label %675

567:                                              ; preds = %565
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #5
  %568 = getelementptr inbounds %"class.SGTELIB::Surrogate_Parameters", ptr %76, i32 0, i32 19
  %569 = load double, ptr %568, align 8, !tbaa !35
  invoke void @_ZN7SGTELIB16lambda_pi_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, double noundef %569)
          to label %570 unwind label %681

570:                                              ; preds = %567
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef @.str.116, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %571 unwind label %685

571:                                              ; preds = %570
  %572 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %573 unwind label %689

573:                                              ; preds = %571
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #5
  br label %717

574:                                              ; preds = %521
  %575 = landingpad { ptr, i32 }
          cleanup
  %576 = extractvalue { ptr, i32 } %575, 0
  store ptr %576, ptr %7, align 8
  %577 = extractvalue { ptr, i32 } %575, 1
  store i32 %577, ptr %8, align 4
  br label %587

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

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

586:                                              ; preds = %582, %578
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  br label %587

587:                                              ; preds = %586, %574
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #5
  br label %721

588:                                              ; preds = %527
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %7, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %8, align 4
  br label %601

592:                                              ; preds = %530
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %7, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %8, align 4
  br label %600

596:                                              ; preds = %531
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %7, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  br label %600

600:                                              ; preds = %596, %592
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %601

601:                                              ; preds = %600, %588
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #5
  br label %721

602:                                              ; preds = %533
  %603 = landingpad { ptr, i32 }
          cleanup
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %7, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %8, align 4
  br label %610

606:                                              ; preds = %535
  %607 = landingpad { ptr, i32 }
          cleanup
  %608 = extractvalue { ptr, i32 } %607, 0
  store ptr %608, ptr %7, align 8
  %609 = extractvalue { ptr, i32 } %607, 1
  store i32 %609, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  br label %610

610:                                              ; preds = %606, %602
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #5
  br label %721

611:                                              ; preds = %537
  %612 = landingpad { ptr, i32 }
          cleanup
  %613 = extractvalue { ptr, i32 } %612, 0
  store ptr %613, ptr %7, align 8
  %614 = extractvalue { ptr, i32 } %612, 1
  store i32 %614, ptr %8, align 4
  br label %624

615:                                              ; preds = %540
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %7, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %8, align 4
  br label %623

619:                                              ; preds = %541
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %7, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %623

623:                                              ; preds = %619, %615
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  br label %624

624:                                              ; preds = %623, %611
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #5
  br label %721

625:                                              ; preds = %543
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %7, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %8, align 4
  br label %638

629:                                              ; preds = %546
  %630 = landingpad { ptr, i32 }
          cleanup
  %631 = extractvalue { ptr, i32 } %630, 0
  store ptr %631, ptr %7, align 8
  %632 = extractvalue { ptr, i32 } %630, 1
  store i32 %632, ptr %8, align 4
  br label %637

633:                                              ; preds = %547
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %7, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %637

637:                                              ; preds = %633, %629
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  br label %638

638:                                              ; preds = %637, %625
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #5
  br label %721

639:                                              ; preds = %549
  %640 = landingpad { ptr, i32 }
          cleanup
  %641 = extractvalue { ptr, i32 } %640, 0
  store ptr %641, ptr %7, align 8
  %642 = extractvalue { ptr, i32 } %640, 1
  store i32 %642, ptr %8, align 4
  br label %652

643:                                              ; preds = %552
  %644 = landingpad { ptr, i32 }
          cleanup
  %645 = extractvalue { ptr, i32 } %644, 0
  store ptr %645, ptr %7, align 8
  %646 = extractvalue { ptr, i32 } %644, 1
  store i32 %646, ptr %8, align 4
  br label %651

647:                                              ; preds = %553
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %7, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  br label %651

651:                                              ; preds = %647, %643
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %652

652:                                              ; preds = %651, %639
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #5
  br label %721

653:                                              ; preds = %555
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %7, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %8, align 4
  br label %666

657:                                              ; preds = %558
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %7, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %8, align 4
  br label %665

661:                                              ; preds = %559
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %7, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #5
  br label %665

665:                                              ; preds = %661, %657
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #5
  br label %666

666:                                              ; preds = %665, %653
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #5
  br label %721

667:                                              ; preds = %561
  %668 = landingpad { ptr, i32 }
          cleanup
  %669 = extractvalue { ptr, i32 } %668, 0
  store ptr %669, ptr %7, align 8
  %670 = extractvalue { ptr, i32 } %668, 1
  store i32 %670, ptr %8, align 4
  br label %680

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

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

679:                                              ; preds = %675, %671
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  br label %680

680:                                              ; preds = %679, %667
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #5
  br label %721

681:                                              ; preds = %567
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %7, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %8, align 4
  br label %694

685:                                              ; preds = %570
  %686 = landingpad { ptr, i32 }
          cleanup
  %687 = extractvalue { ptr, i32 } %686, 0
  store ptr %687, ptr %7, align 8
  %688 = extractvalue { ptr, i32 } %686, 1
  store i32 %688, ptr %8, align 4
  br label %693

689:                                              ; preds = %571
  %690 = landingpad { ptr, i32 }
          cleanup
  %691 = extractvalue { ptr, i32 } %690, 0
  store ptr %691, ptr %7, align 8
  %692 = extractvalue { ptr, i32 } %690, 1
  store i32 %692, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #5
  br label %693

693:                                              ; preds = %689, %685
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  br label %694

694:                                              ; preds = %693, %681
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #5
  br label %721

695:                                              ; preds = %79
  store i1 true, ptr %75, align 1
  %696 = call ptr @__cxa_allocate_exception(i64 112) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %697 unwind label %700

697:                                              ; preds = %695
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %74) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.84, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %698 unwind label %704

698:                                              ; preds = %697
  invoke void @_ZN7SGTELIB9ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS8_(ptr noundef nonnull align 8 dereferenceable(112) %696, ptr noundef nonnull align 8 dereferenceable(32) %71, i32 noundef 820, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %699 unwind label %708

699:                                              ; preds = %698
  store i1 false, ptr %75, align 1
  invoke void @__cxa_throw(ptr %696, ptr @_ZTIN7SGTELIB9ExceptionE, ptr @_ZN7SGTELIB9ExceptionD2Ev) #6
          to label %727 unwind label %708

700:                                              ; preds = %695
  %701 = landingpad { ptr, i32 }
          cleanup
  %702 = extractvalue { ptr, i32 } %701, 0
  store ptr %702, ptr %7, align 8
  %703 = extractvalue { ptr, i32 } %701, 1
  store i32 %703, ptr %8, align 4
  br label %713

704:                                              ; preds = %697
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %7, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %8, align 4
  br label %712

708:                                              ; preds = %699, %698
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %7, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #5
  br label %712

712:                                              ; preds = %708, %704
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  br label %713

713:                                              ; preds = %712, %700
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #5
  %714 = load i1, ptr %75, align 1
  br i1 %714, label %715, label %716

715:                                              ; preds = %713
  call void @__cxa_free_exception(ptr %696) #5
  br label %716

716:                                              ; preds = %715, %713
  br label %721

717:                                              ; preds = %573, %469, %376, %280, %209, %162, %135, %114
  store i1 true, ptr %5, align 1
  %718 = load i1, ptr %5, align 1
  br i1 %718, label %720, label %719

719:                                              ; preds = %717
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #5
  br label %720

720:                                              ; preds = %719, %717
  ret void

721:                                              ; preds = %716, %694, %680, %666, %652, %638, %624, %610, %601, %587, %520, %506, %497, %483, %446, %432, %418, %404, %390, %345, %331, %317, %303, %289, %251, %237, %223, %190, %176, %149, %128, %107
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #5
  br label %722

722:                                              ; preds = %721, %82
  %723 = load ptr, ptr %7, align 8
  %724 = load i32, ptr %8, align 4
  %725 = insertvalue { ptr, i32 } poison, ptr %723, 0
  %726 = insertvalue { ptr, i32 } %725, i32 %724, 1
  resume { ptr, i32 } %726

727:                                              ; preds = %699, %90
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #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 @_ZN7SGTELIB4itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #3

declare void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) #3

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

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }
attributes #6 = { 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, !11, i64 8}
!10 = !{!"_ZTSN7SGTELIB20Surrogate_ParametersE", !11, i64 8, !12, i64 12, !13, i64 16, !14, i64 20, !13, i64 24, !15, i64 32, !13, i64 40, !15, i64 48, !13, i64 56, !16, i64 60, !13, i64 64, !17, i64 72, !21, i64 128, !13, i64 132, !22, i64 136, !15, i64 144, !15, i64 152, !15, i64 160, !15, i64 168, !17, i64 176, !13, i64 232, !23, i64 236, !18, i64 240, !18, i64 272, !12, i64 304, !12, i64 308}
!11 = !{!"_ZTSN7SGTELIB7model_tE", !7, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!"_ZTSN7SGTELIB14param_status_tE", !7, i64 0}
!14 = !{!"_ZTSN7SGTELIB8kernel_tE", !7, i64 0}
!15 = !{!"double", !7, i64 0}
!16 = !{!"_ZTSN7SGTELIB10distance_tE", !7, i64 0}
!17 = !{!"_ZTSN7SGTELIB6MatrixE", !18, i64 8, !12, i64 40, !12, i64 44, !6, i64 48}
!18 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !19, i64 0, !20, i64 8, !7, i64 16}
!19 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!20 = !{!"long", !7, i64 0}
!21 = !{!"_ZTSN7SGTELIB8weight_tE", !7, i64 0}
!22 = !{!"_ZTSN7SGTELIB13uncertainty_tE", !7, i64 0}
!23 = !{!"_ZTSN7SGTELIB8metric_tE", !7, i64 0}
!24 = !{!10, !16, i64 60}
!25 = !{!10, !12, i64 12}
!26 = !{!10, !15, i64 48}
!27 = !{!10, !14, i64 20}
!28 = !{!10, !15, i64 32}
!29 = !{!10, !23, i64 236}
!30 = !{!10, !21, i64 128}
!31 = !{!10, !22, i64 136}
!32 = !{!10, !15, i64 144}
!33 = !{!10, !15, i64 152}
!34 = !{!10, !15, i64 160}
!35 = !{!10, !15, i64 168}


; 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.std::allocator" = type { i8 }

@.str.3 = external hidden unnamed_addr constant [99 x i8], align 1
@_ZTIN7SGTELIB9ExceptionE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.68 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [12 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7SGTELIB9ExceptionD2Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #0 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

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

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

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

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

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

declare void @_ZN7SGTELIB17size_param_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) local_unnamed_addr #3

declare void @_ZN7SGTELIB17sigma_mult_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) local_unnamed_addr #3

declare void @_ZN7SGTELIB15lambda_p_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) local_unnamed_addr #3

declare void @_ZN7SGTELIB16lambda_pi_to_strB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
define dso_local void @_ZNK7SGTELIB20Surrogate_Parameters10get_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(312) %1) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator", align 1
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator", align 1
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", 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::__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::allocator", align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #5
  %69 = getelementptr inbounds i8, ptr %1, i64 8
  %70 = load i32, ptr %69, align 8, !tbaa !5
  call void @_ZN7SGTELIB17model_type_to_strB5cxx11ENS_7model_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %3, i32 noundef %70)
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull @.str.103, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %71 unwind label %73

71:                                               ; preds = %2
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #5
  %72 = load i32, ptr %69, align 8, !tbaa !5
  switch i32 %72, label %500 [
    i32 0, label %75
    i32 1, label %75
    i32 9, label %75
    i32 8, label %87
    i32 7, label %102
    i32 3, label %117
    i32 4, label %117
    i32 5, label %117
    i32 6, label %146
    i32 10, label %189
    i32 11, label %255
    i32 12, label %326
    i32 13, label %378
  ]

73:                                               ; preds = %2
  %74 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #5
  br label %514

75:                                               ; preds = %71, %71, %71
  %76 = call ptr @__cxa_allocate_exception(i64 112) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %77 unwind label %.thread

77:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.68, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %78 unwind label %81

78:                                               ; preds = %77
  invoke void @_ZN7SGTELIB9ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS8_(ptr noundef nonnull align 8 dereferenceable(112) %76, ptr noundef nonnull align 8 dereferenceable(32) %4, i32 noundef 761, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %79 unwind label %83

79:                                               ; preds = %78
  invoke void @__cxa_throw(ptr nonnull %76, ptr nonnull @_ZTIN7SGTELIB9ExceptionE, ptr nonnull @_ZN7SGTELIB9ExceptionD2Ev) #6
          to label %515 unwind label %83

.thread:                                          ; preds = %75
  %80 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #5
  br label %86

81:                                               ; preds = %77
  %82 = landingpad { ptr, i32 }
          cleanup
  br label %85

83:                                               ; preds = %79, %78
  %.05 = phi i1 [ false, %79 ], [ true, %78 ]
  %84 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  br label %85

85:                                               ; preds = %81, %83
  %.pn163 = phi { ptr, i32 } [ %84, %83 ], [ %82, %81 ]
  %.16 = phi i1 [ %.05, %83 ], [ true, %81 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #5
  br i1 %.16, label %86, label %513

86:                                               ; preds = %.thread, %85
  %.pn163.pn173 = phi { ptr, i32 } [ %80, %.thread ], [ %.pn163, %85 ]
  call void @__cxa_free_exception(ptr %76) #5
  br label %513

87:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #5
  %88 = getelementptr inbounds i8, ptr %1, i64 60
  %89 = load i32, ptr %88, align 4, !tbaa !23
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, i32 noundef %89)
          to label %90 unwind label %94

90:                                               ; preds = %87
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %91 unwind label %96

91:                                               ; preds = %90
  %92 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %93 unwind label %98

93:                                               ; preds = %91
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  br label %512

94:                                               ; preds = %87
  %95 = landingpad { ptr, i32 }
          cleanup
  br label %101

96:                                               ; preds = %90
  %97 = landingpad { ptr, i32 }
          cleanup
  br label %100

98:                                               ; preds = %91
  %99 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  br label %100

100:                                              ; preds = %98, %96
  %.pn160 = phi { ptr, i32 } [ %99, %98 ], [ %97, %96 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  br label %101

101:                                              ; preds = %100, %94
  %.pn160.pn = phi { ptr, i32 } [ %.pn160, %100 ], [ %95, %94 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  br label %513

102:                                              ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #5
  %103 = getelementptr inbounds i8, ptr %1, i64 60
  %104 = load i32, ptr %103, align 4, !tbaa !23
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, i32 noundef %104)
          to label %105 unwind label %109

105:                                              ; preds = %102
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %106 unwind label %111

106:                                              ; preds = %105
  %107 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %108 unwind label %113

108:                                              ; preds = %106
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  br label %512

109:                                              ; preds = %102
  %110 = landingpad { ptr, i32 }
          cleanup
  br label %116

111:                                              ; preds = %105
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %115

113:                                              ; preds = %106
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  br label %115

115:                                              ; preds = %113, %111
  %.pn157 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %116

116:                                              ; preds = %115, %109
  %.pn157.pn = phi { ptr, i32 } [ %.pn157, %115 ], [ %110, %109 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  br label %513

117:                                              ; preds = %71, %71, %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #5
  %118 = getelementptr inbounds i8, ptr %1, i64 12
  %119 = load i32, ptr %118, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB4itosB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, i32 noundef %119)
          to label %120 unwind label %130

120:                                              ; preds = %117
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull @.str.105, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %121 unwind label %132

121:                                              ; preds = %120
  %122 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %123 unwind label %134

123:                                              ; preds = %121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #5
  %124 = getelementptr inbounds i8, ptr %1, i64 48
  %125 = load double, ptr %124, align 8, !tbaa !25
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, double noundef %125)
          to label %126 unwind label %138

126:                                              ; preds = %123
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull @.str.106, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %127 unwind label %140

127:                                              ; preds = %126
  %128 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %129 unwind label %142

129:                                              ; preds = %127
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  br label %512

130:                                              ; preds = %117
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %137

132:                                              ; preds = %120
  %133 = landingpad { ptr, i32 }
          cleanup
  br label %136

134:                                              ; preds = %121
  %135 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  br label %136

136:                                              ; preds = %134, %132
  %.pn151 = phi { ptr, i32 } [ %135, %134 ], [ %133, %132 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  br label %137

137:                                              ; preds = %136, %130
  %.pn151.pn = phi { ptr, i32 } [ %.pn151, %136 ], [ %131, %130 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  br label %513

138:                                              ; preds = %123
  %139 = landingpad { ptr, i32 }
          cleanup
  br label %145

140:                                              ; preds = %126
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %144

142:                                              ; preds = %127
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  br label %144

144:                                              ; preds = %142, %140
  %.pn154 = phi { ptr, i32 } [ %143, %142 ], [ %141, %140 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %145

145:                                              ; preds = %144, %138
  %.pn154.pn = phi { ptr, i32 } [ %.pn154, %144 ], [ %139, %138 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  br label %513

146:                                              ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #5
  %147 = getelementptr inbounds i8, ptr %1, i64 20
  %148 = load i32, ptr %147, align 4, !tbaa !26
  invoke void @_ZN7SGTELIB18kernel_type_to_strB5cxx11ENS_8kernel_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, i32 noundef %148)
          to label %149 unwind label %165

149:                                              ; preds = %146
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %150 unwind label %167

150:                                              ; preds = %149
  %151 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %152 unwind label %169

152:                                              ; preds = %150
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #5
  %153 = getelementptr inbounds i8, ptr %1, i64 32
  %154 = load double, ptr %153, align 8, !tbaa !27
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, double noundef %154)
          to label %155 unwind label %173

155:                                              ; preds = %152
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull @.str.108, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %156 unwind label %175

156:                                              ; preds = %155
  %157 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %158 unwind label %177

158:                                              ; preds = %156
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #5
  %159 = getelementptr inbounds i8, ptr %1, i64 60
  %160 = load i32, ptr %159, align 4, !tbaa !23
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, i32 noundef %160)
          to label %161 unwind label %181

161:                                              ; preds = %158
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %162 unwind label %183

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

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

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

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

169:                                              ; preds = %150
  %170 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %171

171:                                              ; preds = %169, %167
  %.pn142 = phi { ptr, i32 } [ %170, %169 ], [ %168, %167 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %172

172:                                              ; preds = %171, %165
  %.pn142.pn = phi { ptr, i32 } [ %.pn142, %171 ], [ %166, %165 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  br label %513

173:                                              ; preds = %152
  %174 = landingpad { ptr, i32 }
          cleanup
  br label %180

175:                                              ; preds = %155
  %176 = landingpad { ptr, i32 }
          cleanup
  br label %179

177:                                              ; preds = %156
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %179

179:                                              ; preds = %177, %175
  %.pn145 = phi { ptr, i32 } [ %178, %177 ], [ %176, %175 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %180

180:                                              ; preds = %179, %173
  %.pn145.pn = phi { ptr, i32 } [ %.pn145, %179 ], [ %174, %173 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  br label %513

181:                                              ; preds = %158
  %182 = landingpad { ptr, i32 }
          cleanup
  br label %188

183:                                              ; preds = %161
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %187

185:                                              ; preds = %162
  %186 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %187

187:                                              ; preds = %185, %183
  %.pn148 = phi { ptr, i32 } [ %186, %185 ], [ %184, %183 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  br label %188

188:                                              ; preds = %187, %181
  %.pn148.pn = phi { ptr, i32 } [ %.pn148, %187 ], [ %182, %181 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  br label %513

189:                                              ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #5
  %190 = getelementptr inbounds i8, ptr %1, i64 240
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull @.str.109, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %191 unwind label %218

191:                                              ; preds = %189
  %192 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %193 unwind label %220

193:                                              ; preds = %191
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #5
  %194 = getelementptr inbounds i8, ptr %1, i64 20
  %195 = load i32, ptr %194, align 4, !tbaa !26
  invoke void @_ZN7SGTELIB18kernel_type_to_strB5cxx11ENS_8kernel_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, i32 noundef %195)
          to label %196 unwind label %223

196:                                              ; preds = %193
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %197 unwind label %225

197:                                              ; preds = %196
  %198 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %199 unwind label %227

199:                                              ; preds = %197
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #5
  %200 = getelementptr inbounds i8, ptr %1, i64 32
  %201 = load double, ptr %200, align 8, !tbaa !27
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, double noundef %201)
          to label %202 unwind label %231

202:                                              ; preds = %199
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull @.str.108, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %203 unwind label %233

203:                                              ; preds = %202
  %204 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %205 unwind label %235

205:                                              ; preds = %203
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #5
  %206 = getelementptr inbounds i8, ptr %1, i64 60
  %207 = load i32, ptr %206, align 4, !tbaa !23
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, i32 noundef %207)
          to label %208 unwind label %239

208:                                              ; preds = %205
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %209 unwind label %241

209:                                              ; preds = %208
  %210 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %211 unwind label %243

211:                                              ; preds = %209
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #5
  %212 = getelementptr inbounds i8, ptr %1, i64 48
  %213 = load double, ptr %212, align 8, !tbaa !25
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, double noundef %213)
          to label %214 unwind label %247

214:                                              ; preds = %211
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull @.str.106, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %215 unwind label %249

215:                                              ; preds = %214
  %216 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %217 unwind label %251

217:                                              ; preds = %215
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  br label %512

218:                                              ; preds = %189
  %219 = landingpad { ptr, i32 }
          cleanup
  br label %222

220:                                              ; preds = %191
  %221 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %222

222:                                              ; preds = %220, %218
  %.pn128 = phi { ptr, i32 } [ %221, %220 ], [ %219, %218 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  br label %513

223:                                              ; preds = %193
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %230

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

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

229:                                              ; preds = %227, %225
  %.pn130 = phi { ptr, i32 } [ %228, %227 ], [ %226, %225 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %230

230:                                              ; preds = %229, %223
  %.pn130.pn = phi { ptr, i32 } [ %.pn130, %229 ], [ %224, %223 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br label %513

231:                                              ; preds = %199
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %238

233:                                              ; preds = %202
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %237

235:                                              ; preds = %203
  %236 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  br label %237

237:                                              ; preds = %235, %233
  %.pn133 = phi { ptr, i32 } [ %236, %235 ], [ %234, %233 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %238

238:                                              ; preds = %237, %231
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %237 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #5
  br label %513

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

241:                                              ; preds = %208
  %242 = landingpad { ptr, i32 }
          cleanup
  br label %245

243:                                              ; preds = %209
  %244 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  br label %245

245:                                              ; preds = %243, %241
  %.pn136 = phi { ptr, i32 } [ %244, %243 ], [ %242, %241 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %246

246:                                              ; preds = %245, %239
  %.pn136.pn = phi { ptr, i32 } [ %.pn136, %245 ], [ %240, %239 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  br label %513

247:                                              ; preds = %211
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %254

249:                                              ; preds = %214
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %253

251:                                              ; preds = %215
  %252 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %253

253:                                              ; preds = %251, %249
  %.pn139 = phi { ptr, i32 } [ %252, %251 ], [ %250, %249 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %254

254:                                              ; preds = %253, %247
  %.pn139.pn = phi { ptr, i32 } [ %.pn139, %253 ], [ %248, %247 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  br label %513

255:                                              ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #5
  %256 = getelementptr inbounds i8, ptr %1, i64 12
  %257 = load i32, ptr %256, align 4, !tbaa !24
  invoke void @_ZN7SGTELIB4itosB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, i32 noundef %257)
          to label %258 unwind label %286

258:                                              ; preds = %255
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull @.str.105, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %259 unwind label %288

259:                                              ; preds = %258
  %260 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %261 unwind label %290

261:                                              ; preds = %259
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #5
  %262 = getelementptr inbounds i8, ptr %1, i64 20
  %263 = load i32, ptr %262, align 4, !tbaa !26
  invoke void @_ZN7SGTELIB18kernel_type_to_strB5cxx11ENS_8kernel_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, i32 noundef %263)
          to label %264 unwind label %294

264:                                              ; preds = %261
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %265 unwind label %296

265:                                              ; preds = %264
  %266 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %267 unwind label %298

267:                                              ; preds = %265
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #5
  %268 = getelementptr inbounds i8, ptr %1, i64 32
  %269 = load double, ptr %268, align 8, !tbaa !27
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, double noundef %269)
          to label %270 unwind label %302

270:                                              ; preds = %267
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull @.str.108, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %271 unwind label %304

271:                                              ; preds = %270
  %272 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %273 unwind label %306

273:                                              ; preds = %271
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #5
  %274 = getelementptr inbounds i8, ptr %1, i64 60
  %275 = load i32, ptr %274, align 4, !tbaa !23
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, i32 noundef %275)
          to label %276 unwind label %310

276:                                              ; preds = %273
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %277 unwind label %312

277:                                              ; preds = %276
  %278 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %279 unwind label %314

279:                                              ; preds = %277
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #5
  %280 = getelementptr inbounds i8, ptr %1, i64 48
  %281 = load double, ptr %280, align 8, !tbaa !25
  invoke void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, double noundef %281)
          to label %282 unwind label %318

282:                                              ; preds = %279
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull @.str.106, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %283 unwind label %320

283:                                              ; preds = %282
  %284 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %285 unwind label %322

285:                                              ; preds = %283
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br label %512

286:                                              ; preds = %255
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %293

288:                                              ; preds = %258
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %292

290:                                              ; preds = %259
  %291 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  br label %292

292:                                              ; preds = %290, %288
  %.pn113 = phi { ptr, i32 } [ %291, %290 ], [ %289, %288 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %293

293:                                              ; preds = %292, %286
  %.pn113.pn = phi { ptr, i32 } [ %.pn113, %292 ], [ %287, %286 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #5
  br label %513

294:                                              ; preds = %261
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %301

296:                                              ; preds = %264
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %300

298:                                              ; preds = %265
  %299 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  br label %300

300:                                              ; preds = %298, %296
  %.pn116 = phi { ptr, i32 } [ %299, %298 ], [ %297, %296 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %301

301:                                              ; preds = %300, %294
  %.pn116.pn = phi { ptr, i32 } [ %.pn116, %300 ], [ %295, %294 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #5
  br label %513

302:                                              ; preds = %267
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %309

304:                                              ; preds = %270
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %308

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

308:                                              ; preds = %306, %304
  %.pn119 = phi { ptr, i32 } [ %307, %306 ], [ %305, %304 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %309

309:                                              ; preds = %308, %302
  %.pn119.pn = phi { ptr, i32 } [ %.pn119, %308 ], [ %303, %302 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br label %513

310:                                              ; preds = %273
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %317

312:                                              ; preds = %276
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %316

314:                                              ; preds = %277
  %315 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  br label %316

316:                                              ; preds = %314, %312
  %.pn122 = phi { ptr, i32 } [ %315, %314 ], [ %313, %312 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %317

317:                                              ; preds = %316, %310
  %.pn122.pn = phi { ptr, i32 } [ %.pn122, %316 ], [ %311, %310 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #5
  br label %513

318:                                              ; preds = %279
  %319 = landingpad { ptr, i32 }
          cleanup
  br label %325

320:                                              ; preds = %282
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %324

322:                                              ; preds = %283
  %323 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  br label %324

324:                                              ; preds = %322, %320
  %.pn125 = phi { ptr, i32 } [ %323, %322 ], [ %321, %320 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %325

325:                                              ; preds = %324, %318
  %.pn125.pn = phi { ptr, i32 } [ %.pn125, %324 ], [ %319, %318 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #5
  br label %513

326:                                              ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #5
  %327 = getelementptr inbounds i8, ptr %1, i64 236
  %328 = load i32, ptr %327, align 4, !tbaa !28
  invoke void @_ZN7SGTELIB18metric_type_to_strB5cxx11ENS_8metric_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, i32 noundef %328)
          to label %329 unwind label %349

329:                                              ; preds = %326
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull @.str.110, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %330 unwind label %351

330:                                              ; preds = %329
  %331 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %332 unwind label %353

332:                                              ; preds = %330
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #5
  %333 = getelementptr inbounds i8, ptr %1, i64 128
  %334 = load i32, ptr %333, align 8, !tbaa !29
  invoke void @_ZN7SGTELIB18weight_type_to_strB5cxx11ENS_8weight_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, i32 noundef %334)
          to label %335 unwind label %357

335:                                              ; preds = %332
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull @.str.111, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %336 unwind label %359

336:                                              ; preds = %335
  %337 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %338 unwind label %361

338:                                              ; preds = %336
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #5
  %339 = getelementptr inbounds i8, ptr %1, i64 240
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull @.str.109, ptr noundef nonnull align 8 dereferenceable(32) %339)
          to label %340 unwind label %365

340:                                              ; preds = %338
  %341 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %342 unwind label %367

342:                                              ; preds = %340
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #5
  %343 = getelementptr inbounds i8, ptr %1, i64 60
  %344 = load i32, ptr %343, align 4, !tbaa !23
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, i32 noundef %344)
          to label %345 unwind label %370

345:                                              ; preds = %342
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %346 unwind label %372

346:                                              ; preds = %345
  %347 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %348 unwind label %374

348:                                              ; preds = %346
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  br label %512

349:                                              ; preds = %326
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %356

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

353:                                              ; preds = %330
  %354 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %355

355:                                              ; preds = %353, %351
  %.pn102 = phi { ptr, i32 } [ %354, %353 ], [ %352, %351 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #5
  br label %356

356:                                              ; preds = %355, %349
  %.pn102.pn = phi { ptr, i32 } [ %.pn102, %355 ], [ %350, %349 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  br label %513

357:                                              ; preds = %332
  %358 = landingpad { ptr, i32 }
          cleanup
  br label %364

359:                                              ; preds = %335
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %363

361:                                              ; preds = %336
  %362 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  br label %363

363:                                              ; preds = %361, %359
  %.pn105 = phi { ptr, i32 } [ %362, %361 ], [ %360, %359 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %364

364:                                              ; preds = %363, %357
  %.pn105.pn = phi { ptr, i32 } [ %.pn105, %363 ], [ %358, %357 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #5
  br label %513

365:                                              ; preds = %338
  %366 = landingpad { ptr, i32 }
          cleanup
  br label %369

367:                                              ; preds = %340
  %368 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #5
  br label %369

369:                                              ; preds = %367, %365
  %.pn108 = phi { ptr, i32 } [ %368, %367 ], [ %366, %365 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #5
  br label %513

370:                                              ; preds = %342
  %371 = landingpad { ptr, i32 }
          cleanup
  br label %377

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

374:                                              ; preds = %346
  %375 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  br label %376

376:                                              ; preds = %374, %372
  %.pn110 = phi { ptr, i32 } [ %375, %374 ], [ %373, %372 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %377

377:                                              ; preds = %376, %370
  %.pn110.pn = phi { ptr, i32 } [ %.pn110, %376 ], [ %371, %370 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #5
  br label %513

378:                                              ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #5
  %379 = getelementptr inbounds i8, ptr %1, i64 236
  %380 = load i32, ptr %379, align 4, !tbaa !28
  invoke void @_ZN7SGTELIB18metric_type_to_strB5cxx11ENS_8metric_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, i32 noundef %380)
          to label %381 unwind label %431

381:                                              ; preds = %378
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull @.str.110, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %382 unwind label %433

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

384:                                              ; preds = %382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #5
  %385 = getelementptr inbounds i8, ptr %1, i64 128
  %386 = load i32, ptr %385, align 8, !tbaa !29
  invoke void @_ZN7SGTELIB18weight_type_to_strB5cxx11ENS_8weight_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, i32 noundef %386)
          to label %387 unwind label %439

387:                                              ; preds = %384
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull @.str.111, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %388 unwind label %441

388:                                              ; preds = %387
  %389 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %390 unwind label %443

390:                                              ; preds = %388
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #5
  %391 = getelementptr inbounds i8, ptr %1, i64 240
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull @.str.109, ptr noundef nonnull align 8 dereferenceable(32) %391)
          to label %392 unwind label %447

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

394:                                              ; preds = %392
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #5
  %395 = getelementptr inbounds i8, ptr %1, i64 60
  %396 = load i32, ptr %395, align 4, !tbaa !23
  invoke void @_ZN7SGTELIB20distance_type_to_strB5cxx11ENS_10distance_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, i32 noundef %396)
          to label %397 unwind label %452

397:                                              ; preds = %394
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull @.str.104, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %398 unwind label %454

398:                                              ; preds = %397
  %399 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %400 unwind label %456

400:                                              ; preds = %398
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #5
  %401 = getelementptr inbounds i8, ptr %1, i64 136
  %402 = load i32, ptr %401, align 8, !tbaa !30
  invoke void @_ZN7SGTELIB23uncertainty_type_to_strB5cxx11ENS_13uncertainty_tE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, i32 noundef %402)
          to label %403 unwind label %460

403:                                              ; preds = %400
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull @.str.112, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %404 unwind label %462

404:                                              ; preds = %403
  %405 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %406 unwind label %464

406:                                              ; preds = %404
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #5
  %407 = getelementptr inbounds i8, ptr %1, i64 144
  %408 = load double, ptr %407, align 8, !tbaa !31
  invoke void @_ZN7SGTELIB17size_param_to_strB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, double noundef %408)
          to label %409 unwind label %468

409:                                              ; preds = %406
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull @.str.113, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %410 unwind label %470

410:                                              ; preds = %409
  %411 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %412 unwind label %472

412:                                              ; preds = %410
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #5
  %413 = getelementptr inbounds i8, ptr %1, i64 152
  %414 = load double, ptr %413, align 8, !tbaa !32
  invoke void @_ZN7SGTELIB17sigma_mult_to_strB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, double noundef %414)
          to label %415 unwind label %476

415:                                              ; preds = %412
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull @.str.114, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %416 unwind label %478

416:                                              ; preds = %415
  %417 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %418 unwind label %480

418:                                              ; preds = %416
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #5
  %419 = getelementptr inbounds i8, ptr %1, i64 160
  %420 = load double, ptr %419, align 8, !tbaa !33
  invoke void @_ZN7SGTELIB15lambda_p_to_strB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, double noundef %420)
          to label %421 unwind label %484

421:                                              ; preds = %418
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull @.str.115, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %422 unwind label %486

422:                                              ; preds = %421
  %423 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %424 unwind label %488

424:                                              ; preds = %422
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #5
  %425 = getelementptr inbounds i8, ptr %1, i64 168
  %426 = load double, ptr %425, align 8, !tbaa !34
  invoke void @_ZN7SGTELIB16lambda_pi_to_strB5cxx11Ed(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, double noundef %426)
          to label %427 unwind label %492

427:                                              ; preds = %424
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull @.str.116, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %428 unwind label %494

428:                                              ; preds = %427
  %429 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %430 unwind label %496

430:                                              ; preds = %428
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  br label %512

431:                                              ; preds = %378
  %432 = landingpad { ptr, i32 }
          cleanup
  br label %438

433:                                              ; preds = %381
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %437

435:                                              ; preds = %382
  %436 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  br label %437

437:                                              ; preds = %435, %433
  %.pn = phi { ptr, i32 } [ %436, %435 ], [ %434, %433 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  br label %438

438:                                              ; preds = %437, %431
  %.pn.pn = phi { ptr, i32 } [ %.pn, %437 ], [ %432, %431 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #5
  br label %513

439:                                              ; preds = %384
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %446

441:                                              ; preds = %387
  %442 = landingpad { ptr, i32 }
          cleanup
  br label %445

443:                                              ; preds = %388
  %444 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %445

445:                                              ; preds = %443, %441
  %.pn79 = phi { ptr, i32 } [ %444, %443 ], [ %442, %441 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %446

446:                                              ; preds = %445, %439
  %.pn79.pn = phi { ptr, i32 } [ %.pn79, %445 ], [ %440, %439 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  br label %513

447:                                              ; preds = %390
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %451

449:                                              ; preds = %392
  %450 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  br label %451

451:                                              ; preds = %449, %447
  %.pn82 = phi { ptr, i32 } [ %450, %449 ], [ %448, %447 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #5
  br label %513

452:                                              ; preds = %394
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %459

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

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

458:                                              ; preds = %456, %454
  %.pn84 = phi { ptr, i32 } [ %457, %456 ], [ %455, %454 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  br label %459

459:                                              ; preds = %458, %452
  %.pn84.pn = phi { ptr, i32 } [ %.pn84, %458 ], [ %453, %452 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #5
  br label %513

460:                                              ; preds = %400
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %467

462:                                              ; preds = %403
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %466

464:                                              ; preds = %404
  %465 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  br label %466

466:                                              ; preds = %464, %462
  %.pn87 = phi { ptr, i32 } [ %465, %464 ], [ %463, %462 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  br label %467

467:                                              ; preds = %466, %460
  %.pn87.pn = phi { ptr, i32 } [ %.pn87, %466 ], [ %461, %460 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #5
  br label %513

468:                                              ; preds = %406
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %475

470:                                              ; preds = %409
  %471 = landingpad { ptr, i32 }
          cleanup
  br label %474

472:                                              ; preds = %410
  %473 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %474

474:                                              ; preds = %472, %470
  %.pn90 = phi { ptr, i32 } [ %473, %472 ], [ %471, %470 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  br label %475

475:                                              ; preds = %474, %468
  %.pn90.pn = phi { ptr, i32 } [ %.pn90, %474 ], [ %469, %468 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  br label %513

476:                                              ; preds = %412
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %483

478:                                              ; preds = %415
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %482

480:                                              ; preds = %416
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %482

482:                                              ; preds = %480, %478
  %.pn93 = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  br label %483

483:                                              ; preds = %482, %476
  %.pn93.pn = phi { ptr, i32 } [ %.pn93, %482 ], [ %477, %476 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  br label %513

484:                                              ; preds = %418
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %491

486:                                              ; preds = %421
  %487 = landingpad { ptr, i32 }
          cleanup
  br label %490

488:                                              ; preds = %422
  %489 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %490

490:                                              ; preds = %488, %486
  %.pn96 = phi { ptr, i32 } [ %489, %488 ], [ %487, %486 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  br label %491

491:                                              ; preds = %490, %484
  %.pn96.pn = phi { ptr, i32 } [ %.pn96, %490 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #5
  br label %513

492:                                              ; preds = %424
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %499

494:                                              ; preds = %427
  %495 = landingpad { ptr, i32 }
          cleanup
  br label %498

496:                                              ; preds = %428
  %497 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #5
  br label %498

498:                                              ; preds = %496, %494
  %.pn99 = phi { ptr, i32 } [ %497, %496 ], [ %495, %494 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %499

499:                                              ; preds = %498, %492
  %.pn99.pn = phi { ptr, i32 } [ %.pn99, %498 ], [ %493, %492 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #5
  br label %513

500:                                              ; preds = %71
  %501 = call ptr @__cxa_allocate_exception(i64 112) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %502 unwind label %.thread174

502:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.84, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %503 unwind label %506

503:                                              ; preds = %502
  invoke void @_ZN7SGTELIB9ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS8_(ptr noundef nonnull align 8 dereferenceable(112) %501, ptr noundef nonnull align 8 dereferenceable(32) %65, i32 noundef 820, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %504 unwind label %508

504:                                              ; preds = %503
  invoke void @__cxa_throw(ptr nonnull %501, ptr nonnull @_ZTIN7SGTELIB9ExceptionE, ptr nonnull @_ZN7SGTELIB9ExceptionD2Ev) #6
          to label %515 unwind label %508

.thread174:                                       ; preds = %500
  %505 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #5
  br label %511

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

508:                                              ; preds = %504, %503
  %.0 = phi i1 [ false, %504 ], [ true, %503 ]
  %509 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #5
  br label %510

510:                                              ; preds = %506, %508
  %.pn166 = phi { ptr, i32 } [ %509, %508 ], [ %507, %506 ]
  %.1 = phi i1 [ %.0, %508 ], [ true, %506 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #5
  br i1 %.1, label %511, label %513

511:                                              ; preds = %.thread174, %510
  %.pn166.pn177 = phi { ptr, i32 } [ %505, %.thread174 ], [ %.pn166, %510 ]
  call void @__cxa_free_exception(ptr %501) #5
  br label %513

512:                                              ; preds = %93, %108, %129, %164, %217, %285, %348, %430
  ret void

513:                                              ; preds = %510, %511, %85, %86, %499, %491, %483, %475, %467, %459, %451, %446, %438, %377, %369, %364, %356, %325, %317, %309, %301, %293, %254, %246, %238, %230, %222, %188, %180, %172, %145, %137, %116, %101
  %.pn166.pn.pn = phi { ptr, i32 } [ %.pn166.pn177, %511 ], [ %.pn166, %510 ], [ %.pn99.pn, %499 ], [ %.pn96.pn, %491 ], [ %.pn93.pn, %483 ], [ %.pn90.pn, %475 ], [ %.pn87.pn, %467 ], [ %.pn84.pn, %459 ], [ %.pn82, %451 ], [ %.pn79.pn, %446 ], [ %.pn.pn, %438 ], [ %.pn110.pn, %377 ], [ %.pn108, %369 ], [ %.pn105.pn, %364 ], [ %.pn102.pn, %356 ], [ %.pn125.pn, %325 ], [ %.pn122.pn, %317 ], [ %.pn119.pn, %309 ], [ %.pn116.pn, %301 ], [ %.pn113.pn, %293 ], [ %.pn139.pn, %254 ], [ %.pn136.pn, %246 ], [ %.pn133.pn, %238 ], [ %.pn130.pn, %230 ], [ %.pn128, %222 ], [ %.pn148.pn, %188 ], [ %.pn145.pn, %180 ], [ %.pn142.pn, %172 ], [ %.pn154.pn, %145 ], [ %.pn151.pn, %137 ], [ %.pn157.pn, %116 ], [ %.pn160.pn, %101 ], [ %.pn163.pn173, %86 ], [ %.pn163, %85 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #5
  br label %514

514:                                              ; preds = %513, %73
  %.pn166.pn.pn.pn = phi { ptr, i32 } [ %.pn166.pn.pn, %513 ], [ %74, %73 ]
  resume { ptr, i32 } %.pn166.pn.pn.pn

515:                                              ; preds = %504, %79
  unreachable
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(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 #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 @_ZN7SGTELIB4itosB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #3

declare void @_ZN7SGTELIB4dtosB5cxx11Ed(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, double noundef) local_unnamed_addr #3

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

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }
attributes #6 = { 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, !7, i64 8}
!6 = !{!"_ZTSN7SGTELIB20Surrogate_ParametersE", !7, i64 8, !10, i64 12, !11, i64 16, !12, i64 20, !11, i64 24, !13, i64 32, !11, i64 40, !13, i64 48, !11, i64 56, !14, i64 60, !11, i64 64, !15, i64 72, !20, i64 128, !11, i64 132, !21, i64 136, !13, i64 144, !13, i64 152, !13, i64 160, !13, i64 168, !15, i64 176, !11, i64 232, !22, i64 236, !16, i64 240, !16, i64 272, !10, i64 304, !10, i64 308}
!7 = !{!"_ZTSN7SGTELIB7model_tE", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!"_ZTSN7SGTELIB14param_status_tE", !8, i64 0}
!12 = !{!"_ZTSN7SGTELIB8kernel_tE", !8, i64 0}
!13 = !{!"double", !8, i64 0}
!14 = !{!"_ZTSN7SGTELIB10distance_tE", !8, i64 0}
!15 = !{!"_ZTSN7SGTELIB6MatrixE", !16, i64 8, !10, i64 40, !10, i64 44, !18, i64 48}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !19, i64 8, !8, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !18, i64 0}
!18 = !{!"any pointer", !8, i64 0}
!19 = !{!"long", !8, i64 0}
!20 = !{!"_ZTSN7SGTELIB8weight_tE", !8, i64 0}
!21 = !{!"_ZTSN7SGTELIB13uncertainty_tE", !8, i64 0}
!22 = !{!"_ZTSN7SGTELIB8metric_tE", !8, i64 0}
!23 = !{!6, !14, i64 60}
!24 = !{!6, !10, i64 12}
!25 = !{!6, !13, i64 48}
!26 = !{!6, !12, i64 20}
!27 = !{!6, !13, i64 32}
!28 = !{!6, !22, i64 236}
!29 = !{!6, !20, i64 128}
!30 = !{!6, !21, i64 136}
!31 = !{!6, !13, i64 144}
!32 = !{!6, !13, i64 152}
!33 = !{!6, !13, i64 160}
!34 = !{!6, !13, i64 168}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,SROAPass,SimplifyCFGPass