; LLVM IR from sympiler/nasoq :: nasoq_driver.ll (Z10nasoq_demoiPPKc)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::map.44" = type { %"class.std::_Rb_tree.45" }
%"class.std::_Rb_tree.45" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"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 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"class.std::chrono::time_point" = type { %"class.std::chrono::duration" }
%"class.std::chrono::duration" = type { i64 }
%"class.std::chrono::duration.75" = type { double }
%"class.std::vector.76" = type { %"struct.std::_Vector_base.77" }
%"struct.std::_Vector_base.77" = type { %"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl" }
%"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl" = type { %"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl_data" }
%"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.nasoq::nasoq_config" = type { i32, i32, double, double }
%"struct.format::QPFormatConverter" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i32, ptr, ptr, ptr, ptr, ptr, i8, ptr, ptr, i32, double, double, i32, i32, i32, i32 }
%"struct.format::IEForm" = type { %"struct.format::Description", ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double, double }
%"struct.format::Description" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"struct.format::CSC" = type { i64, i64, i64, i32, i8, i8, ptr, ptr, ptr }
%"struct.format::Dense" = type { i64, i64, i64, ptr }
%"struct.nasoq::Nasoq" = type { %"class.std::__cxx11::basic_string", i32, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, double, double, double, double, double, double, double, double, double, i32, i32, i32, double, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, double, double, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::vector.65", ptr, i32, i32, i32, i32, i32, i32, i32, i32, ptr, double, double, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double, double }
%"class.std::vector.65" = type { %"struct.std::_Vector_base.66" }
%"struct.std::_Vector_base.66" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.nasoq::qp_info" = type { %"class.std::chrono::time_point", %"class.std::chrono::time_point", %"class.std::chrono::time_point", %"class.std::chrono::time_point", %"class.std::chrono::time_point", %"class.std::chrono::time_point", i8, %"class.std::chrono::duration.75", double, double, double, i32, i32, i32, i32 }
%"struct.nasoq::sympiler_CSC" = type { i64, i64, i64, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, i32, i32, i32 }
%"struct.format::SMP" = type { i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"struct.format::Description", ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double, ptr, ptr, double }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.85 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [398 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [2 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6format10parse_argsEiPPKcRSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_St4lessIS9_ESaISt4pairIKS9_S9_EEE(i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(48)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #3

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

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

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

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

88:                                               ; preds = %2
  br i1 %87, label %94, label %89

89:                                               ; preds = %88
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1028

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

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

95:                                               ; preds = %94
  %96 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %97 unwind label %120

97:                                               ; preds = %95
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %98 unwind label %120

98:                                               ; preds = %97
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #10
  %99 = call double @pow(double noundef 1.000000e+01, double noundef -9.000000e+00) #10
  store double %99, ptr %13, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #10
  %100 = load double, ptr %13, align 8, !tbaa !11
  store double %100, ptr %14, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  store double 0x3EB0C6F7A0B5ED8D, ptr %15, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  store i32 2, ptr %16, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #10
  store i32 2, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #10
  store double 1.000000e-15, ptr %18, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #10
  store i32 0, ptr %19, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #10
  store i8 0, ptr %20, align 1, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.85, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %101 unwind label %125

101:                                              ; preds = %98
  %102 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %103 unwind label %129

103:                                              ; preds = %101
  %104 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %21, i32 0, i32 0
  store ptr %102, ptr %104, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #10
  %105 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  %106 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %24, i32 0, i32 0
  store ptr %105, ptr %106, align 8
  %107 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %24) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  br i1 %107, label %108, label %160

108:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.85, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %109 unwind label %134

109:                                              ; preds = %108
  %110 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %111 unwind label %138

111:                                              ; preds = %109
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %112 unwind label %138

112:                                              ; preds = %111
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #10
  %113 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.137)
          to label %114 unwind label %143

114:                                              ; preds = %112
  br i1 %113, label %115, label %147

115:                                              ; preds = %114
  store i32 2, ptr %19, align 4, !tbaa !5
  br label %158

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

120:                                              ; preds = %97, %95
  %121 = landingpad { ptr, i32 }
          cleanup
  %122 = extractvalue { ptr, i32 } %121, 0
  store ptr %122, ptr %7, align 8
  %123 = extractvalue { ptr, i32 } %121, 1
  store i32 %123, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #10
  br label %124

124:                                              ; preds = %120, %116
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #10
  br label %1027

125:                                              ; preds = %98
  %126 = landingpad { ptr, i32 }
          cleanup
  %127 = extractvalue { ptr, i32 } %126, 0
  store ptr %127, ptr %7, align 8
  %128 = extractvalue { ptr, i32 } %126, 1
  store i32 %128, ptr %8, align 4
  br label %133

129:                                              ; preds = %101
  %130 = landingpad { ptr, i32 }
          cleanup
  %131 = extractvalue { ptr, i32 } %130, 0
  store ptr %131, ptr %7, align 8
  %132 = extractvalue { ptr, i32 } %130, 1
  store i32 %132, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  br label %133

133:                                              ; preds = %129, %125
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  br label %1026

134:                                              ; preds = %108
  %135 = landingpad { ptr, i32 }
          cleanup
  %136 = extractvalue { ptr, i32 } %135, 0
  store ptr %136, ptr %7, align 8
  %137 = extractvalue { ptr, i32 } %135, 1
  store i32 %137, ptr %8, align 4
  br label %142

138:                                              ; preds = %111, %109
  %139 = landingpad { ptr, i32 }
          cleanup
  %140 = extractvalue { ptr, i32 } %139, 0
  store ptr %140, ptr %7, align 8
  %141 = extractvalue { ptr, i32 } %139, 1
  store i32 %141, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  br label %142

142:                                              ; preds = %138, %134
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #10
  br label %159

143:                                              ; preds = %151, %147, %112
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %7, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #10
  br label %159

147:                                              ; preds = %114
  %148 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.138)
          to label %149 unwind label %143

149:                                              ; preds = %147
  br i1 %148, label %150, label %151

150:                                              ; preds = %149
  store i32 1, ptr %19, align 4, !tbaa !5
  br label %157

151:                                              ; preds = %149
  %152 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.139)
          to label %153 unwind label %143

153:                                              ; preds = %151
  br i1 %152, label %154, label %155

154:                                              ; preds = %153
  store i32 3, ptr %19, align 4, !tbaa !5
  br label %156

155:                                              ; preds = %153
  store i32 0, ptr %19, align 4, !tbaa !5
  br label %156

156:                                              ; preds = %155, %154
  br label %157

157:                                              ; preds = %156, %150
  br label %158

158:                                              ; preds = %157, %115
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #10
  br label %160

159:                                              ; preds = %143, %142
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #10
  br label %1026

160:                                              ; preds = %158, %103
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef @.str.92, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %161 unwind label %176

161:                                              ; preds = %160
  %162 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %163 unwind label %180

163:                                              ; preds = %161
  %164 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %28, i32 0, i32 0
  store ptr %162, ptr %164, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #10
  %165 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  %166 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %31, i32 0, i32 0
  store ptr %165, ptr %166, align 8
  %167 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #10
  br i1 %167, label %168, label %194

168:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef @.str.92, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %169 unwind label %185

169:                                              ; preds = %168
  %170 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %171 unwind label %189

171:                                              ; preds = %169
  %172 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef null, i32 noundef 10)
          to label %173 unwind label %189

173:                                              ; preds = %171
  %174 = sitofp i32 %172 to double
  %175 = call double @pow(double noundef 1.000000e+01, double noundef %174) #10
  store double %175, ptr %13, align 8, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #10
  br label %194

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

180:                                              ; preds = %161
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %7, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #10
  br label %184

184:                                              ; preds = %180, %176
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #10
  br label %1026

185:                                              ; preds = %168
  %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
  br label %193

189:                                              ; preds = %171, %169
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %7, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  br label %193

193:                                              ; preds = %189, %185
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #10
  br label %1026

194:                                              ; preds = %173, %163
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %195 unwind label %208

195:                                              ; preds = %194
  %196 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %197 unwind label %212

197:                                              ; preds = %195
  %198 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %34, i32 0, i32 0
  store ptr %196, ptr %198, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #10
  %199 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  %200 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %37, i32 0, i32 0
  store ptr %199, ptr %200, align 8
  %201 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %37) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  br i1 %201, label %202, label %226

202:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %203 unwind label %217

203:                                              ; preds = %202
  %204 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %205 unwind label %221

205:                                              ; preds = %203
  %206 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef null, i32 noundef 10)
          to label %207 unwind label %221

207:                                              ; preds = %205
  store i32 %206, ptr %16, align 4, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #10
  br label %226

208:                                              ; preds = %194
  %209 = landingpad { ptr, i32 }
          cleanup
  %210 = extractvalue { ptr, i32 } %209, 0
  store ptr %210, ptr %7, align 8
  %211 = extractvalue { ptr, i32 } %209, 1
  store i32 %211, ptr %8, align 4
  br label %216

212:                                              ; preds = %195
  %213 = landingpad { ptr, i32 }
          cleanup
  %214 = extractvalue { ptr, i32 } %213, 0
  store ptr %214, ptr %7, align 8
  %215 = extractvalue { ptr, i32 } %213, 1
  store i32 %215, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #10
  br label %216

216:                                              ; preds = %212, %208
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  br label %1026

217:                                              ; preds = %202
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %7, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %8, align 4
  br label %225

221:                                              ; preds = %205, %203
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %7, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  br label %225

225:                                              ; preds = %221, %217
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #10
  br label %1026

226:                                              ; preds = %207, %197
  %227 = load i32, ptr %16, align 4, !tbaa !5
  store i32 %227, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.94, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %228 unwind label %243

228:                                              ; preds = %226
  %229 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %230 unwind label %247

230:                                              ; preds = %228
  %231 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %40, i32 0, i32 0
  store ptr %229, ptr %231, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  %232 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  %233 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %43, i32 0, i32 0
  store ptr %232, ptr %233, align 8
  %234 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %43) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  br i1 %234, label %235, label %261

235:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.94, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %236 unwind label %252

236:                                              ; preds = %235
  %237 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %238 unwind label %256

238:                                              ; preds = %236
  %239 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %237, ptr noundef null, i32 noundef 10)
          to label %240 unwind label %256

240:                                              ; preds = %238
  %241 = sitofp i32 %239 to double
  %242 = call double @pow(double noundef 1.000000e+01, double noundef %241) #10
  store double %242, ptr %15, align 8, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #10
  br label %261

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

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

251:                                              ; preds = %247, %243
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  br label %1026

252:                                              ; preds = %235
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %7, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %8, align 4
  br label %260

256:                                              ; preds = %238, %236
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %7, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #10
  br label %260

260:                                              ; preds = %256, %252
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #10
  br label %1026

261:                                              ; preds = %240, %230
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %262 unwind label %277

262:                                              ; preds = %261
  %263 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %264 unwind label %281

264:                                              ; preds = %262
  %265 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %46, i32 0, i32 0
  store ptr %263, ptr %265, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  %266 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  %267 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %49, i32 0, i32 0
  store ptr %266, ptr %267, align 8
  %268 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %49) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  br i1 %268, label %269, label %295

269:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %270 unwind label %286

270:                                              ; preds = %269
  %271 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %272 unwind label %290

272:                                              ; preds = %270
  %273 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %271, ptr noundef null, i32 noundef 10)
          to label %274 unwind label %290

274:                                              ; preds = %272
  %275 = sitofp i32 %273 to double
  %276 = call double @pow(double noundef 1.000000e+01, double noundef %275) #10
  store double %276, ptr %18, align 8, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #10
  br label %295

277:                                              ; preds = %261
  %278 = landingpad { ptr, i32 }
          cleanup
  %279 = extractvalue { ptr, i32 } %278, 0
  store ptr %279, ptr %7, align 8
  %280 = extractvalue { ptr, i32 } %278, 1
  store i32 %280, ptr %8, align 4
  br label %285

281:                                              ; preds = %262
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #10
  br label %285

285:                                              ; preds = %281, %277
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  br label %1026

286:                                              ; preds = %269
  %287 = landingpad { ptr, i32 }
          cleanup
  %288 = extractvalue { ptr, i32 } %287, 0
  store ptr %288, ptr %7, align 8
  %289 = extractvalue { ptr, i32 } %287, 1
  store i32 %289, ptr %8, align 4
  br label %294

290:                                              ; preds = %272, %270
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #10
  br label %294

294:                                              ; preds = %290, %286
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #10
  br label %1026

295:                                              ; preds = %274, %264
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.99, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %296 unwind label %304

296:                                              ; preds = %295
  %297 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %298 unwind label %308

298:                                              ; preds = %296
  %299 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %52, i32 0, i32 0
  store ptr %297, ptr %299, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #10
  %300 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  %301 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %55, i32 0, i32 0
  store ptr %300, ptr %301, align 8
  %302 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(8) %55) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #10
  br i1 %302, label %303, label %313

303:                                              ; preds = %298
  store i8 1, ptr %20, align 1, !tbaa !13
  br label %313

304:                                              ; preds = %295
  %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 %312

308:                                              ; preds = %296
  %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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #10
  br label %312

312:                                              ; preds = %308, %304
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #10
  br label %1026

313:                                              ; preds = %303, %298
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #10
  %314 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 304) #11
          to label %315 unwind label %321

315:                                              ; preds = %313
  invoke void @_ZN6format17QPFormatConverterC2Ev(ptr noundef nonnull align 8 dereferenceable(304) %314)
          to label %316 unwind label %325

316:                                              ; preds = %315
  store ptr %314, ptr %56, align 8, !tbaa !9
  %317 = load ptr, ptr %56, align 8, !tbaa !9
  %318 = invoke noundef zeroext i1 @_ZN6format17QPFormatConverter8load_smpERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(304) %317, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %319 unwind label %321

319:                                              ; preds = %316
  br i1 %318, label %329, label %320

320:                                              ; preds = %319
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1024

321:                                              ; preds = %329, %316, %313
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %7, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %8, align 4
  br label %1025

325:                                              ; preds = %315
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %7, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %314, i64 noundef 304) #12
  br label %1025

329:                                              ; preds = %319
  %330 = load ptr, ptr %56, align 8, !tbaa !9
  %331 = invoke noundef zeroext i1 @_ZN6format17QPFormatConverter9smp_to_ieEv(ptr noundef nonnull align 8 dereferenceable(304) %330)
          to label %332 unwind label %321

332:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #10
  %333 = load ptr, ptr %56, align 8, !tbaa !9
  %334 = invoke noundef i64 @_ZN6format17QPFormatConverter20num_ineq_constraintsEv(ptr noundef nonnull align 8 dereferenceable(304) %333)
          to label %335 unwind label %507

335:                                              ; preds = %332
  %336 = trunc i64 %334 to i32
  store i32 %336, ptr %57, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  store i32 1, ptr %58, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #10
  %337 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 624) #11
          to label %338 unwind label %511

338:                                              ; preds = %335
  %339 = load ptr, ptr %56, align 8, !tbaa !9
  %340 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %339, i32 0, i32 10
  %341 = load ptr, ptr %340, align 8, !tbaa !15
  %342 = getelementptr inbounds %"struct.format::IEForm", ptr %341, i32 0, i32 10
  %343 = load ptr, ptr %342, align 8, !tbaa !20
  %344 = getelementptr inbounds %"struct.format::CSC", ptr %343, i32 0, i32 1
  %345 = load i64, ptr %344, align 8, !tbaa !23
  %346 = load ptr, ptr %56, align 8, !tbaa !9
  %347 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %346, i32 0, i32 10
  %348 = load ptr, ptr %347, align 8, !tbaa !15
  %349 = getelementptr inbounds %"struct.format::IEForm", ptr %348, i32 0, i32 10
  %350 = load ptr, ptr %349, align 8, !tbaa !20
  %351 = getelementptr inbounds %"struct.format::CSC", ptr %350, i32 0, i32 6
  %352 = load ptr, ptr %351, align 8, !tbaa !25
  %353 = load ptr, ptr %56, align 8, !tbaa !9
  %354 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %353, i32 0, i32 10
  %355 = load ptr, ptr %354, align 8, !tbaa !15
  %356 = getelementptr inbounds %"struct.format::IEForm", ptr %355, i32 0, i32 10
  %357 = load ptr, ptr %356, align 8, !tbaa !20
  %358 = getelementptr inbounds %"struct.format::CSC", ptr %357, i32 0, i32 7
  %359 = load ptr, ptr %358, align 8, !tbaa !26
  %360 = load ptr, ptr %56, align 8, !tbaa !9
  %361 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %360, i32 0, i32 10
  %362 = load ptr, ptr %361, align 8, !tbaa !15
  %363 = getelementptr inbounds %"struct.format::IEForm", ptr %362, i32 0, i32 10
  %364 = load ptr, ptr %363, align 8, !tbaa !20
  %365 = getelementptr inbounds %"struct.format::CSC", ptr %364, i32 0, i32 8
  %366 = load ptr, ptr %365, align 8, !tbaa !27
  %367 = load ptr, ptr %56, align 8, !tbaa !9
  %368 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %367, i32 0, i32 10
  %369 = load ptr, ptr %368, align 8, !tbaa !15
  %370 = getelementptr inbounds %"struct.format::IEForm", ptr %369, i32 0, i32 7
  %371 = load ptr, ptr %370, align 8, !tbaa !28
  %372 = getelementptr inbounds %"struct.format::Dense", ptr %371, i32 0, i32 3
  %373 = load ptr, ptr %372, align 8, !tbaa !29
  %374 = load ptr, ptr %56, align 8, !tbaa !9
  %375 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %374, i32 0, i32 10
  %376 = load ptr, ptr %375, align 8, !tbaa !15
  %377 = getelementptr inbounds %"struct.format::IEForm", ptr %376, i32 0, i32 1
  %378 = load ptr, ptr %377, align 8, !tbaa !31
  %379 = getelementptr inbounds %"struct.format::CSC", ptr %378, i32 0, i32 0
  %380 = load i64, ptr %379, align 8, !tbaa !32
  %381 = load ptr, ptr %56, align 8, !tbaa !9
  %382 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %381, i32 0, i32 10
  %383 = load ptr, ptr %382, align 8, !tbaa !15
  %384 = getelementptr inbounds %"struct.format::IEForm", ptr %383, i32 0, i32 1
  %385 = load ptr, ptr %384, align 8, !tbaa !31
  %386 = getelementptr inbounds %"struct.format::CSC", ptr %385, i32 0, i32 1
  %387 = load i64, ptr %386, align 8, !tbaa !23
  %388 = load ptr, ptr %56, align 8, !tbaa !9
  %389 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %388, i32 0, i32 10
  %390 = load ptr, ptr %389, align 8, !tbaa !15
  %391 = getelementptr inbounds %"struct.format::IEForm", ptr %390, i32 0, i32 1
  %392 = load ptr, ptr %391, align 8, !tbaa !31
  %393 = getelementptr inbounds %"struct.format::CSC", ptr %392, i32 0, i32 6
  %394 = load ptr, ptr %393, align 8, !tbaa !25
  %395 = load ptr, ptr %56, align 8, !tbaa !9
  %396 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %395, i32 0, i32 10
  %397 = load ptr, ptr %396, align 8, !tbaa !15
  %398 = getelementptr inbounds %"struct.format::IEForm", ptr %397, i32 0, i32 1
  %399 = load ptr, ptr %398, align 8, !tbaa !31
  %400 = getelementptr inbounds %"struct.format::CSC", ptr %399, i32 0, i32 7
  %401 = load ptr, ptr %400, align 8, !tbaa !26
  %402 = load ptr, ptr %56, align 8, !tbaa !9
  %403 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %402, i32 0, i32 10
  %404 = load ptr, ptr %403, align 8, !tbaa !15
  %405 = getelementptr inbounds %"struct.format::IEForm", ptr %404, i32 0, i32 1
  %406 = load ptr, ptr %405, align 8, !tbaa !31
  %407 = getelementptr inbounds %"struct.format::CSC", ptr %406, i32 0, i32 8
  %408 = load ptr, ptr %407, align 8, !tbaa !27
  %409 = load ptr, ptr %56, align 8, !tbaa !9
  %410 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %409, i32 0, i32 10
  %411 = load ptr, ptr %410, align 8, !tbaa !15
  %412 = getelementptr inbounds %"struct.format::IEForm", ptr %411, i32 0, i32 5
  %413 = load ptr, ptr %412, align 8, !tbaa !33
  %414 = icmp ne ptr %413, null
  br i1 %414, label %415, label %423

415:                                              ; preds = %338
  %416 = load ptr, ptr %56, align 8, !tbaa !9
  %417 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %416, i32 0, i32 10
  %418 = load ptr, ptr %417, align 8, !tbaa !15
  %419 = getelementptr inbounds %"struct.format::IEForm", ptr %418, i32 0, i32 5
  %420 = load ptr, ptr %419, align 8, !tbaa !33
  %421 = getelementptr inbounds %"struct.format::Dense", ptr %420, i32 0, i32 3
  %422 = load ptr, ptr %421, align 8, !tbaa !29
  br label %424

423:                                              ; preds = %338
  br label %424

424:                                              ; preds = %423, %415
  %425 = phi ptr [ %422, %415 ], [ null, %423 ]
  %426 = load ptr, ptr %56, align 8, !tbaa !9
  %427 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %426, i32 0, i32 10
  %428 = load ptr, ptr %427, align 8, !tbaa !15
  %429 = getelementptr inbounds %"struct.format::IEForm", ptr %428, i32 0, i32 2
  %430 = load ptr, ptr %429, align 8, !tbaa !34
  %431 = getelementptr inbounds %"struct.format::CSC", ptr %430, i32 0, i32 0
  %432 = load i64, ptr %431, align 8, !tbaa !32
  %433 = load ptr, ptr %56, align 8, !tbaa !9
  %434 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %433, i32 0, i32 10
  %435 = load ptr, ptr %434, align 8, !tbaa !15
  %436 = getelementptr inbounds %"struct.format::IEForm", ptr %435, i32 0, i32 2
  %437 = load ptr, ptr %436, align 8, !tbaa !34
  %438 = getelementptr inbounds %"struct.format::CSC", ptr %437, i32 0, i32 1
  %439 = load i64, ptr %438, align 8, !tbaa !23
  %440 = load ptr, ptr %56, align 8, !tbaa !9
  %441 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %440, i32 0, i32 10
  %442 = load ptr, ptr %441, align 8, !tbaa !15
  %443 = getelementptr inbounds %"struct.format::IEForm", ptr %442, i32 0, i32 2
  %444 = load ptr, ptr %443, align 8, !tbaa !34
  %445 = getelementptr inbounds %"struct.format::CSC", ptr %444, i32 0, i32 6
  %446 = load ptr, ptr %445, align 8, !tbaa !25
  %447 = load ptr, ptr %56, align 8, !tbaa !9
  %448 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %447, i32 0, i32 10
  %449 = load ptr, ptr %448, align 8, !tbaa !15
  %450 = getelementptr inbounds %"struct.format::IEForm", ptr %449, i32 0, i32 2
  %451 = load ptr, ptr %450, align 8, !tbaa !34
  %452 = getelementptr inbounds %"struct.format::CSC", ptr %451, i32 0, i32 7
  %453 = load ptr, ptr %452, align 8, !tbaa !26
  %454 = load ptr, ptr %56, align 8, !tbaa !9
  %455 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %454, i32 0, i32 10
  %456 = load ptr, ptr %455, align 8, !tbaa !15
  %457 = getelementptr inbounds %"struct.format::IEForm", ptr %456, i32 0, i32 2
  %458 = load ptr, ptr %457, align 8, !tbaa !34
  %459 = getelementptr inbounds %"struct.format::CSC", ptr %458, i32 0, i32 8
  %460 = load ptr, ptr %459, align 8, !tbaa !27
  %461 = load ptr, ptr %56, align 8, !tbaa !9
  %462 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %461, i32 0, i32 10
  %463 = load ptr, ptr %462, align 8, !tbaa !15
  %464 = getelementptr inbounds %"struct.format::IEForm", ptr %463, i32 0, i32 6
  %465 = load ptr, ptr %464, align 8, !tbaa !35
  %466 = icmp ne ptr %465, null
  br i1 %466, label %467, label %475

467:                                              ; preds = %424
  %468 = load ptr, ptr %56, align 8, !tbaa !9
  %469 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %468, i32 0, i32 10
  %470 = load ptr, ptr %469, align 8, !tbaa !15
  %471 = getelementptr inbounds %"struct.format::IEForm", ptr %470, i32 0, i32 6
  %472 = load ptr, ptr %471, align 8, !tbaa !35
  %473 = getelementptr inbounds %"struct.format::Dense", ptr %472, i32 0, i32 3
  %474 = load ptr, ptr %473, align 8, !tbaa !29
  br label %476

475:                                              ; preds = %424
  br label %476

476:                                              ; preds = %475, %467
  %477 = phi ptr [ %474, %467 ], [ null, %475 ]
  invoke void @_ZN5nasoq5NasoqC1EmPiS1_PdS2_mmS1_S1_S2_S2_mmS1_S1_S2_S2_(ptr noundef nonnull align 8 dereferenceable(624) %337, i64 noundef %345, ptr noundef %352, ptr noundef %359, ptr noundef %366, ptr noundef %373, i64 noundef %380, i64 noundef %387, ptr noundef %394, ptr noundef %401, ptr noundef %408, ptr noundef %425, i64 noundef %432, i64 noundef %439, ptr noundef %446, ptr noundef %453, ptr noundef %460, ptr noundef %477)
          to label %478 unwind label %515

478:                                              ; preds = %476
  store ptr %337, ptr %59, align 8, !tbaa !9
  %479 = load double, ptr %13, align 8, !tbaa !11
  %480 = load ptr, ptr %59, align 8, !tbaa !9
  %481 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %480, i32 0, i32 14
  store double %479, ptr %481, align 8, !tbaa !36
  %482 = load double, ptr %15, align 8, !tbaa !11
  %483 = load ptr, ptr %59, align 8, !tbaa !9
  %484 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %483, i32 0, i32 16
  store double %482, ptr %484, align 8, !tbaa !44
  %485 = load i32, ptr %16, align 4, !tbaa !5
  %486 = load ptr, ptr %59, align 8, !tbaa !9
  %487 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %486, i32 0, i32 25
  store i32 %485, ptr %487, align 8, !tbaa !45
  %488 = load double, ptr %18, align 8, !tbaa !11
  %489 = load ptr, ptr %59, align 8, !tbaa !9
  %490 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %489, i32 0, i32 26
  store double %488, ptr %490, align 8, !tbaa !46
  %491 = load ptr, ptr %59, align 8, !tbaa !9
  %492 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %491, i32 0, i32 59
  store i32 200000, ptr %492, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  %493 = load i32, ptr %19, align 4, !tbaa !5
  %494 = icmp eq i32 %493, 0
  br i1 %494, label %501, label %495

495:                                              ; preds = %478
  %496 = load i32, ptr %19, align 4, !tbaa !5
  %497 = icmp eq i32 %496, 1
  br i1 %497, label %501, label %498

498:                                              ; preds = %495
  %499 = load i32, ptr %19, align 4, !tbaa !5
  %500 = icmp eq i32 %499, 3
  br i1 %500, label %501, label %541

501:                                              ; preds = %498, %495, %478
  %502 = load i32, ptr %19, align 4, !tbaa !5
  %503 = icmp eq i32 %502, 0
  br i1 %503, label %504, label %519

504:                                              ; preds = %501
  %505 = load ptr, ptr %59, align 8, !tbaa !9
  %506 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %505, i32 0, i32 68
  store i32 0, ptr %506, align 8, !tbaa !48
  br label %533

507:                                              ; preds = %332
  %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 %1023

511:                                              ; preds = %335
  %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 %1022

515:                                              ; preds = %476
  %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 @_ZdlPvm(ptr noundef %337, i64 noundef 624) #12
  br label %1022

519:                                              ; preds = %501
  %520 = load i32, ptr %19, align 4, !tbaa !5
  %521 = icmp eq i32 %520, 1
  br i1 %521, label %522, label %525

522:                                              ; preds = %519
  %523 = load ptr, ptr %59, align 8, !tbaa !9
  %524 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %523, i32 0, i32 68
  store i32 1, ptr %524, align 8, !tbaa !48
  br label %532

525:                                              ; preds = %519
  %526 = load i32, ptr %19, align 4, !tbaa !5
  %527 = icmp eq i32 %526, 3
  br i1 %527, label %528, label %531

528:                                              ; preds = %525
  %529 = load ptr, ptr %59, align 8, !tbaa !9
  %530 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %529, i32 0, i32 68
  store i32 3, ptr %530, align 8, !tbaa !48
  br label %531

531:                                              ; preds = %528, %525
  br label %532

532:                                              ; preds = %531, %522
  br label %533

533:                                              ; preds = %532, %504
  %534 = load ptr, ptr %59, align 8, !tbaa !9
  %535 = invoke noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624) %534)
          to label %536 unwind label %537

536:                                              ; preds = %533
  store i32 %535, ptr %60, align 4, !tbaa !5
  br label %941

537:                                              ; preds = %941, %533
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %7, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %8, align 4
  br label %1021

541:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #10
  invoke void @_ZNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %542 unwind label %571

542:                                              ; preds = %541
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #10
  invoke void @_ZNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %543 unwind label %575

543:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #10
  %544 = call i64 @_ZNSt6chrono3_V212system_clock3nowEv() #10
  %545 = getelementptr inbounds %"class.std::chrono::time_point", ptr %64, i32 0, i32 0
  %546 = getelementptr inbounds %"class.std::chrono::duration", ptr %545, i32 0, i32 0
  store i64 %544, ptr %546, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %61, ptr align 8 %64, i64 8, i1 false), !tbaa.struct !49
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #10
  %547 = load ptr, ptr %59, align 8, !tbaa !9
  %548 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %547, i32 0, i32 71
  %549 = load ptr, ptr %548, align 8, !tbaa !51
  %550 = getelementptr inbounds %"struct.nasoq::qp_info", ptr %549, i32 0, i32 8
  %551 = load double, ptr %550, align 8, !tbaa !52
  store double %551, ptr %65, align 8, !tbaa !11
  %552 = load ptr, ptr %59, align 8, !tbaa !9
  %553 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %552, i32 0, i32 68
  store i32 3, ptr %553, align 8, !tbaa !48
  %554 = load ptr, ptr %59, align 8, !tbaa !9
  %555 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %554, i32 0, i32 59
  store i32 200000, ptr %555, align 8, !tbaa !47
  %556 = load i32, ptr %57, align 4, !tbaa !5
  %557 = icmp sge i32 %556, 10000
  br i1 %557, label %558, label %579

558:                                              ; preds = %543
  %559 = load ptr, ptr %59, align 8, !tbaa !9
  %560 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %559, i32 0, i32 23
  store i32 9, ptr %560, align 8, !tbaa !57
  %561 = load ptr, ptr %59, align 8, !tbaa !9
  %562 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %561, i32 0, i32 24
  store i32 9, ptr %562, align 4, !tbaa !58
  %563 = call double @pow(double noundef 1.000000e+01, double noundef -1.100000e+01) #10
  %564 = load ptr, ptr %59, align 8, !tbaa !9
  %565 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %564, i32 0, i32 15
  store double %563, ptr %565, align 8, !tbaa !59
  %566 = load ptr, ptr %59, align 8, !tbaa !9
  %567 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %566, i32 0, i32 14
  store double %563, ptr %567, align 8, !tbaa !36
  %568 = call double @pow(double noundef 1.000000e+01, double noundef -2.000000e+01) #10
  %569 = load ptr, ptr %59, align 8, !tbaa !9
  %570 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %569, i32 0, i32 26
  store double %568, ptr %570, align 8, !tbaa !46
  br label %593

571:                                              ; preds = %541
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %7, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %8, align 4
  br label %940

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

579:                                              ; preds = %543
  %580 = load double, ptr %15, align 8, !tbaa !11
  %581 = load ptr, ptr %59, align 8, !tbaa !9
  %582 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %581, i32 0, i32 23
  %583 = load ptr, ptr %59, align 8, !tbaa !9
  %584 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %583, i32 0, i32 24
  call void @_Z12get_num_iterdRiS_(double noundef %580, ptr noundef nonnull align 4 dereferenceable(4) %582, ptr noundef nonnull align 4 dereferenceable(4) %584)
  %585 = call double @pow(double noundef 1.000000e+01, double noundef -9.000000e+00) #10
  %586 = load ptr, ptr %59, align 8, !tbaa !9
  %587 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %586, i32 0, i32 15
  store double %585, ptr %587, align 8, !tbaa !59
  %588 = load ptr, ptr %59, align 8, !tbaa !9
  %589 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %588, i32 0, i32 14
  store double %585, ptr %589, align 8, !tbaa !36
  %590 = call double @pow(double noundef 1.000000e+01, double noundef -1.500000e+01) #10
  %591 = load ptr, ptr %59, align 8, !tbaa !9
  %592 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %591, i32 0, i32 26
  store double %590, ptr %592, align 8, !tbaa !46
  br label %593

593:                                              ; preds = %579, %558
  %594 = load ptr, ptr %59, align 8, !tbaa !9
  %595 = invoke noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624) %594)
          to label %596 unwind label %615

596:                                              ; preds = %593
  store i32 %595, ptr %60, align 4, !tbaa !5
  %597 = load i32, ptr %60, align 4, !tbaa !5
  %598 = icmp ne i32 %597, 1
  br i1 %598, label %599, label %934

599:                                              ; preds = %596
  %600 = load ptr, ptr %59, align 8, !tbaa !9
  %601 = icmp eq ptr %600, null
  br i1 %601, label %603, label %602

602:                                              ; preds = %599
  call void @_ZN5nasoq5NasoqD1Ev(ptr noundef nonnull align 8 dereferenceable(624) %600) #10
  call void @_ZdlPvm(ptr noundef %600, i64 noundef 624) #12
  br label %603

603:                                              ; preds = %602, %599
  call void @llvm.lifetime.start.p0(i64 24, ptr %66) #10
  call void @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  %604 = load double, ptr %15, align 8, !tbaa !11
  call void @_Z12get_num_iterdRiS_(double noundef %604, ptr noundef nonnull align 4 dereferenceable(4) %67, ptr noundef nonnull align 4 dereferenceable(4) %68)
  %605 = load i32, ptr %57, align 4, !tbaa !5
  %606 = icmp sge i32 %605, 10000
  br i1 %606, label %607, label %623

607:                                              ; preds = %603
  call void @llvm.lifetime.start.p0(i64 24, ptr %69) #10
  %608 = load i32, ptr %67, align 4, !tbaa !5
  %609 = load i32, ptr %68, align 4, !tbaa !5
  %610 = call double @pow(double noundef 1.000000e+01, double noundef -9.000000e+00) #10
  %611 = call double @pow(double noundef 1.000000e+01, double noundef -1.500000e+01) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %69, i32 noundef %608, i32 noundef %609, double noundef %610, double noundef %611)
          to label %612 unwind label %619

612:                                              ; preds = %607
  %613 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %69)
          to label %614 unwind label %619

614:                                              ; preds = %612
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #10
  br label %623

615:                                              ; preds = %593
  %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 %938

619:                                              ; preds = %612, %607
  %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 @llvm.lifetime.end.p0(i64 24, ptr %69) #10
  br label %933

623:                                              ; preds = %614, %603
  call void @llvm.lifetime.start.p0(i64 24, ptr %70) #10
  %624 = call double @pow(double noundef 1.000000e+01, double noundef -1.300000e+01) #10
  %625 = call double @pow(double noundef 1.000000e+01, double noundef -1.500000e+01) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %70, i32 noundef 2, i32 noundef 2, double noundef %624, double noundef %625)
          to label %626 unwind label %662

626:                                              ; preds = %623
  %627 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %70)
          to label %628 unwind label %662

628:                                              ; preds = %626
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %71) #10
  %629 = load i32, ptr %67, align 4, !tbaa !5
  %630 = load i32, ptr %68, align 4, !tbaa !5
  %631 = call double @pow(double noundef 1.000000e+01, double noundef -7.000000e+00) #10
  %632 = call double @pow(double noundef 1.000000e+01, double noundef -1.500000e+01) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %71, i32 noundef %629, i32 noundef %630, double noundef %631, double noundef %632)
          to label %633 unwind label %666

633:                                              ; preds = %628
  %634 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %635 unwind label %666

635:                                              ; preds = %633
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %72) #10
  %636 = call double @pow(double noundef 1.000000e+01, double noundef -1.000000e+01) #10
  %637 = call double @pow(double noundef 1.000000e+01, double noundef -1.500000e+01) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %72, i32 noundef 3, i32 noundef 3, double noundef %636, double noundef %637)
          to label %638 unwind label %670

638:                                              ; preds = %635
  %639 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %72)
          to label %640 unwind label %670

640:                                              ; preds = %638
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %73) #10
  %641 = call double @pow(double noundef 1.000000e+01, double noundef -1.000000e+01) #10
  %642 = call double @pow(double noundef 1.000000e+01, double noundef -1.700000e+01) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %73, i32 noundef 3, i32 noundef 3, double noundef %641, double noundef %642)
          to label %643 unwind label %674

643:                                              ; preds = %640
  %644 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %73)
          to label %645 unwind label %674

645:                                              ; preds = %643
  call void @llvm.lifetime.end.p0(i64 24, ptr %73) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %74) #10
  %646 = call double @pow(double noundef 1.000000e+01, double noundef -1.100000e+01) #10
  %647 = call double @pow(double noundef 1.000000e+01, double noundef -1.700000e+01) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %74, i32 noundef 3, i32 noundef 3, double noundef %646, double noundef %647)
          to label %648 unwind label %678

648:                                              ; preds = %645
  %649 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %74)
          to label %650 unwind label %678

650:                                              ; preds = %648
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %75) #10
  %651 = call double @pow(double noundef 1.000000e+01, double noundef -1.100000e+01) #10
  %652 = call double @pow(double noundef 1.000000e+01, double noundef -1.700000e+01) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %75, i32 noundef 2, i32 noundef 2, double noundef %651, double noundef %652)
          to label %653 unwind label %682

653:                                              ; preds = %650
  %654 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %75)
          to label %655 unwind label %682

655:                                              ; preds = %653
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #10
  store i32 0, ptr %76, align 4, !tbaa !5
  br label %656

656:                                              ; preds = %906, %655
  %657 = load i32, ptr %76, align 4, !tbaa !5
  %658 = sext i32 %657 to i64
  %659 = call noundef i64 @_ZNKSt6vectorIN5nasoq12nasoq_configESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %66) #10
  %660 = icmp ult i64 %658, %659
  br i1 %660, label %686, label %661

661:                                              ; preds = %656
  store i32 2, ptr %9, align 4
  br label %910

662:                                              ; preds = %626, %623
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %7, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #10
  br label %933

666:                                              ; preds = %633, %628
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %7, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #10
  br label %933

670:                                              ; preds = %638, %635
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %7, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #10
  br label %933

674:                                              ; preds = %643, %640
  %675 = landingpad { ptr, i32 }
          cleanup
  %676 = extractvalue { ptr, i32 } %675, 0
  store ptr %676, ptr %7, align 8
  %677 = extractvalue { ptr, i32 } %675, 1
  store i32 %677, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %73) #10
  br label %933

678:                                              ; preds = %648, %645
  %679 = landingpad { ptr, i32 }
          cleanup
  %680 = extractvalue { ptr, i32 } %679, 0
  store ptr %680, ptr %7, align 8
  %681 = extractvalue { ptr, i32 } %679, 1
  store i32 %681, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #10
  br label %933

682:                                              ; preds = %653, %650
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %7, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #10
  br label %933

686:                                              ; preds = %656
  call void @llvm.lifetime.start.p0(i64 24, ptr %77) #10
  %687 = load i32, ptr %76, align 4, !tbaa !5
  %688 = sext i32 %687 to i64
  %689 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %688) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %77, ptr align 8 %689, i64 24, i1 false), !tbaa.struct !60
  %690 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 624) #11
          to label %691 unwind label %880

691:                                              ; preds = %686
  %692 = load ptr, ptr %56, align 8, !tbaa !9
  %693 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %692, i32 0, i32 10
  %694 = load ptr, ptr %693, align 8, !tbaa !15
  %695 = getelementptr inbounds %"struct.format::IEForm", ptr %694, i32 0, i32 10
  %696 = load ptr, ptr %695, align 8, !tbaa !20
  %697 = getelementptr inbounds %"struct.format::CSC", ptr %696, i32 0, i32 1
  %698 = load i64, ptr %697, align 8, !tbaa !23
  %699 = load ptr, ptr %56, align 8, !tbaa !9
  %700 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %699, i32 0, i32 10
  %701 = load ptr, ptr %700, align 8, !tbaa !15
  %702 = getelementptr inbounds %"struct.format::IEForm", ptr %701, i32 0, i32 10
  %703 = load ptr, ptr %702, align 8, !tbaa !20
  %704 = getelementptr inbounds %"struct.format::CSC", ptr %703, i32 0, i32 6
  %705 = load ptr, ptr %704, align 8, !tbaa !25
  %706 = load ptr, ptr %56, align 8, !tbaa !9
  %707 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %706, i32 0, i32 10
  %708 = load ptr, ptr %707, align 8, !tbaa !15
  %709 = getelementptr inbounds %"struct.format::IEForm", ptr %708, i32 0, i32 10
  %710 = load ptr, ptr %709, align 8, !tbaa !20
  %711 = getelementptr inbounds %"struct.format::CSC", ptr %710, i32 0, i32 7
  %712 = load ptr, ptr %711, align 8, !tbaa !26
  %713 = load ptr, ptr %56, align 8, !tbaa !9
  %714 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %713, i32 0, i32 10
  %715 = load ptr, ptr %714, align 8, !tbaa !15
  %716 = getelementptr inbounds %"struct.format::IEForm", ptr %715, i32 0, i32 10
  %717 = load ptr, ptr %716, align 8, !tbaa !20
  %718 = getelementptr inbounds %"struct.format::CSC", ptr %717, i32 0, i32 8
  %719 = load ptr, ptr %718, align 8, !tbaa !27
  %720 = load ptr, ptr %56, align 8, !tbaa !9
  %721 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %720, i32 0, i32 10
  %722 = load ptr, ptr %721, align 8, !tbaa !15
  %723 = getelementptr inbounds %"struct.format::IEForm", ptr %722, i32 0, i32 7
  %724 = load ptr, ptr %723, align 8, !tbaa !28
  %725 = getelementptr inbounds %"struct.format::Dense", ptr %724, i32 0, i32 3
  %726 = load ptr, ptr %725, align 8, !tbaa !29
  %727 = load ptr, ptr %56, align 8, !tbaa !9
  %728 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %727, i32 0, i32 10
  %729 = load ptr, ptr %728, align 8, !tbaa !15
  %730 = getelementptr inbounds %"struct.format::IEForm", ptr %729, i32 0, i32 1
  %731 = load ptr, ptr %730, align 8, !tbaa !31
  %732 = getelementptr inbounds %"struct.format::CSC", ptr %731, i32 0, i32 0
  %733 = load i64, ptr %732, align 8, !tbaa !32
  %734 = load ptr, ptr %56, align 8, !tbaa !9
  %735 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %734, i32 0, i32 10
  %736 = load ptr, ptr %735, align 8, !tbaa !15
  %737 = getelementptr inbounds %"struct.format::IEForm", ptr %736, i32 0, i32 1
  %738 = load ptr, ptr %737, align 8, !tbaa !31
  %739 = getelementptr inbounds %"struct.format::CSC", ptr %738, i32 0, i32 1
  %740 = load i64, ptr %739, align 8, !tbaa !23
  %741 = load ptr, ptr %56, align 8, !tbaa !9
  %742 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %741, i32 0, i32 10
  %743 = load ptr, ptr %742, align 8, !tbaa !15
  %744 = getelementptr inbounds %"struct.format::IEForm", ptr %743, i32 0, i32 1
  %745 = load ptr, ptr %744, align 8, !tbaa !31
  %746 = getelementptr inbounds %"struct.format::CSC", ptr %745, i32 0, i32 6
  %747 = load ptr, ptr %746, align 8, !tbaa !25
  %748 = load ptr, ptr %56, align 8, !tbaa !9
  %749 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %748, i32 0, i32 10
  %750 = load ptr, ptr %749, align 8, !tbaa !15
  %751 = getelementptr inbounds %"struct.format::IEForm", ptr %750, i32 0, i32 1
  %752 = load ptr, ptr %751, align 8, !tbaa !31
  %753 = getelementptr inbounds %"struct.format::CSC", ptr %752, i32 0, i32 7
  %754 = load ptr, ptr %753, align 8, !tbaa !26
  %755 = load ptr, ptr %56, align 8, !tbaa !9
  %756 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %755, i32 0, i32 10
  %757 = load ptr, ptr %756, align 8, !tbaa !15
  %758 = getelementptr inbounds %"struct.format::IEForm", ptr %757, i32 0, i32 1
  %759 = load ptr, ptr %758, align 8, !tbaa !31
  %760 = getelementptr inbounds %"struct.format::CSC", ptr %759, i32 0, i32 8
  %761 = load ptr, ptr %760, align 8, !tbaa !27
  %762 = load ptr, ptr %56, align 8, !tbaa !9
  %763 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %762, i32 0, i32 10
  %764 = load ptr, ptr %763, align 8, !tbaa !15
  %765 = getelementptr inbounds %"struct.format::IEForm", ptr %764, i32 0, i32 5
  %766 = load ptr, ptr %765, align 8, !tbaa !33
  %767 = icmp ne ptr %766, null
  br i1 %767, label %768, label %776

768:                                              ; preds = %691
  %769 = load ptr, ptr %56, align 8, !tbaa !9
  %770 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %769, i32 0, i32 10
  %771 = load ptr, ptr %770, align 8, !tbaa !15
  %772 = getelementptr inbounds %"struct.format::IEForm", ptr %771, i32 0, i32 5
  %773 = load ptr, ptr %772, align 8, !tbaa !33
  %774 = getelementptr inbounds %"struct.format::Dense", ptr %773, i32 0, i32 3
  %775 = load ptr, ptr %774, align 8, !tbaa !29
  br label %777

776:                                              ; preds = %691
  br label %777

777:                                              ; preds = %776, %768
  %778 = phi ptr [ %775, %768 ], [ null, %776 ]
  %779 = load ptr, ptr %56, align 8, !tbaa !9
  %780 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %779, i32 0, i32 10
  %781 = load ptr, ptr %780, align 8, !tbaa !15
  %782 = getelementptr inbounds %"struct.format::IEForm", ptr %781, i32 0, i32 2
  %783 = load ptr, ptr %782, align 8, !tbaa !34
  %784 = getelementptr inbounds %"struct.format::CSC", ptr %783, i32 0, i32 0
  %785 = load i64, ptr %784, align 8, !tbaa !32
  %786 = load ptr, ptr %56, align 8, !tbaa !9
  %787 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %786, i32 0, i32 10
  %788 = load ptr, ptr %787, align 8, !tbaa !15
  %789 = getelementptr inbounds %"struct.format::IEForm", ptr %788, i32 0, i32 2
  %790 = load ptr, ptr %789, align 8, !tbaa !34
  %791 = getelementptr inbounds %"struct.format::CSC", ptr %790, i32 0, i32 1
  %792 = load i64, ptr %791, align 8, !tbaa !23
  %793 = load ptr, ptr %56, align 8, !tbaa !9
  %794 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %793, i32 0, i32 10
  %795 = load ptr, ptr %794, align 8, !tbaa !15
  %796 = getelementptr inbounds %"struct.format::IEForm", ptr %795, i32 0, i32 2
  %797 = load ptr, ptr %796, align 8, !tbaa !34
  %798 = getelementptr inbounds %"struct.format::CSC", ptr %797, i32 0, i32 6
  %799 = load ptr, ptr %798, align 8, !tbaa !25
  %800 = load ptr, ptr %56, align 8, !tbaa !9
  %801 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %800, i32 0, i32 10
  %802 = load ptr, ptr %801, align 8, !tbaa !15
  %803 = getelementptr inbounds %"struct.format::IEForm", ptr %802, i32 0, i32 2
  %804 = load ptr, ptr %803, align 8, !tbaa !34
  %805 = getelementptr inbounds %"struct.format::CSC", ptr %804, i32 0, i32 7
  %806 = load ptr, ptr %805, align 8, !tbaa !26
  %807 = load ptr, ptr %56, align 8, !tbaa !9
  %808 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %807, i32 0, i32 10
  %809 = load ptr, ptr %808, align 8, !tbaa !15
  %810 = getelementptr inbounds %"struct.format::IEForm", ptr %809, i32 0, i32 2
  %811 = load ptr, ptr %810, align 8, !tbaa !34
  %812 = getelementptr inbounds %"struct.format::CSC", ptr %811, i32 0, i32 8
  %813 = load ptr, ptr %812, align 8, !tbaa !27
  %814 = load ptr, ptr %56, align 8, !tbaa !9
  %815 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %814, i32 0, i32 10
  %816 = load ptr, ptr %815, align 8, !tbaa !15
  %817 = getelementptr inbounds %"struct.format::IEForm", ptr %816, i32 0, i32 6
  %818 = load ptr, ptr %817, align 8, !tbaa !35
  %819 = icmp ne ptr %818, null
  br i1 %819, label %820, label %828

820:                                              ; preds = %777
  %821 = load ptr, ptr %56, align 8, !tbaa !9
  %822 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %821, i32 0, i32 10
  %823 = load ptr, ptr %822, align 8, !tbaa !15
  %824 = getelementptr inbounds %"struct.format::IEForm", ptr %823, i32 0, i32 6
  %825 = load ptr, ptr %824, align 8, !tbaa !35
  %826 = getelementptr inbounds %"struct.format::Dense", ptr %825, i32 0, i32 3
  %827 = load ptr, ptr %826, align 8, !tbaa !29
  br label %829

828:                                              ; preds = %777
  br label %829

829:                                              ; preds = %828, %820
  %830 = phi ptr [ %827, %820 ], [ null, %828 ]
  invoke void @_ZN5nasoq5NasoqC1EmPiS1_PdS2_mmS1_S1_S2_S2_mmS1_S1_S2_S2_(ptr noundef nonnull align 8 dereferenceable(624) %690, i64 noundef %698, ptr noundef %705, ptr noundef %712, ptr noundef %719, ptr noundef %726, i64 noundef %733, i64 noundef %740, ptr noundef %747, ptr noundef %754, ptr noundef %761, ptr noundef %778, i64 noundef %785, i64 noundef %792, ptr noundef %799, ptr noundef %806, ptr noundef %813, ptr noundef %830)
          to label %831 unwind label %884

831:                                              ; preds = %829
  store ptr %690, ptr %59, align 8, !tbaa !9
  %832 = load ptr, ptr %59, align 8, !tbaa !9
  %833 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %832, i32 0, i32 68
  store i32 3, ptr %833, align 8, !tbaa !48
  %834 = getelementptr inbounds %"struct.nasoq::nasoq_config", ptr %77, i32 0, i32 2
  %835 = load double, ptr %834, align 8, !tbaa !61
  %836 = load ptr, ptr %59, align 8, !tbaa !9
  %837 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %836, i32 0, i32 14
  store double %835, ptr %837, align 8, !tbaa !36
  %838 = load ptr, ptr %59, align 8, !tbaa !9
  %839 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %838, i32 0, i32 64
  store i32 1, ptr %839, align 4, !tbaa !63
  %840 = load double, ptr %15, align 8, !tbaa !11
  %841 = load ptr, ptr %59, align 8, !tbaa !9
  %842 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %841, i32 0, i32 16
  store double %840, ptr %842, align 8, !tbaa !44
  %843 = load double, ptr %15, align 8, !tbaa !11
  %844 = load ptr, ptr %59, align 8, !tbaa !9
  %845 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %844, i32 0, i32 17
  store double %843, ptr %845, align 8, !tbaa !64
  %846 = load ptr, ptr %59, align 8, !tbaa !9
  %847 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %846, i32 0, i32 38
  store i32 0, ptr %847, align 8, !tbaa !65
  %848 = getelementptr inbounds %"struct.nasoq::nasoq_config", ptr %77, i32 0, i32 2
  %849 = load double, ptr %848, align 8, !tbaa !61
  %850 = load ptr, ptr %59, align 8, !tbaa !9
  %851 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %850, i32 0, i32 15
  store double %849, ptr %851, align 8, !tbaa !59
  %852 = getelementptr inbounds %"struct.nasoq::nasoq_config", ptr %77, i32 0, i32 0
  %853 = load i32, ptr %852, align 8, !tbaa !66
  %854 = load ptr, ptr %59, align 8, !tbaa !9
  %855 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %854, i32 0, i32 23
  store i32 %853, ptr %855, align 8, !tbaa !57
  %856 = getelementptr inbounds %"struct.nasoq::nasoq_config", ptr %77, i32 0, i32 1
  %857 = load i32, ptr %856, align 4, !tbaa !67
  %858 = load ptr, ptr %59, align 8, !tbaa !9
  %859 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %858, i32 0, i32 24
  store i32 %857, ptr %859, align 4, !tbaa !58
  %860 = getelementptr inbounds %"struct.nasoq::nasoq_config", ptr %77, i32 0, i32 3
  %861 = load double, ptr %860, align 8, !tbaa !68
  %862 = load ptr, ptr %59, align 8, !tbaa !9
  %863 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %862, i32 0, i32 26
  store double %861, ptr %863, align 8, !tbaa !46
  %864 = load ptr, ptr %59, align 8, !tbaa !9
  %865 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %864, i32 0, i32 59
  store i32 200000, ptr %865, align 8, !tbaa !47
  %866 = load ptr, ptr %59, align 8, !tbaa !9
  %867 = invoke noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624) %866)
          to label %868 unwind label %880

868:                                              ; preds = %831
  store i32 %867, ptr %60, align 4, !tbaa !5
  %869 = load i32, ptr %76, align 4, !tbaa !5
  %870 = sext i32 %869 to i64
  %871 = call noundef i64 @_ZNKSt6vectorIN5nasoq12nasoq_configESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %66) #10
  %872 = sub i64 %871, 1
  %873 = icmp eq i64 %870, %872
  br i1 %873, label %874, label %888

874:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #10
  %875 = call i64 @_ZNSt6chrono3_V212system_clock3nowEv() #10
  %876 = getelementptr inbounds %"class.std::chrono::time_point", ptr %78, i32 0, i32 0
  %877 = getelementptr inbounds %"class.std::chrono::duration", ptr %876, i32 0, i32 0
  store i64 %875, ptr %877, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %62, ptr align 8 %78, i64 8, i1 false), !tbaa.struct !49
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  %878 = load ptr, ptr %59, align 8, !tbaa !9
  %879 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %878, i32 0, i32 68
  store i32 2, ptr %879, align 8, !tbaa !48
  store i32 2, ptr %9, align 4
  br label %903

880:                                              ; preds = %831, %686
  %881 = landingpad { ptr, i32 }
          cleanup
  %882 = extractvalue { ptr, i32 } %881, 0
  store ptr %882, ptr %7, align 8
  %883 = extractvalue { ptr, i32 } %881, 1
  store i32 %883, ptr %8, align 4
  br label %909

884:                                              ; preds = %829
  %885 = landingpad { ptr, i32 }
          cleanup
  %886 = extractvalue { ptr, i32 } %885, 0
  store ptr %886, ptr %7, align 8
  %887 = extractvalue { ptr, i32 } %885, 1
  store i32 %887, ptr %8, align 4
  call void @_ZdlPvm(ptr noundef %690, i64 noundef 624) #12
  br label %909

888:                                              ; preds = %868
  %889 = load i32, ptr %60, align 4, !tbaa !5
  %890 = icmp ne i32 %889, 1
  br i1 %890, label %891, label %896

891:                                              ; preds = %888
  %892 = load ptr, ptr %59, align 8, !tbaa !9
  %893 = icmp eq ptr %892, null
  br i1 %893, label %895, label %894

894:                                              ; preds = %891
  call void @_ZN5nasoq5NasoqD1Ev(ptr noundef nonnull align 8 dereferenceable(624) %892) #10
  call void @_ZdlPvm(ptr noundef %892, i64 noundef 624) #12
  br label %895

895:                                              ; preds = %894, %891
  br label %902

896:                                              ; preds = %888
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #10
  %897 = call i64 @_ZNSt6chrono3_V212system_clock3nowEv() #10
  %898 = getelementptr inbounds %"class.std::chrono::time_point", ptr %79, i32 0, i32 0
  %899 = getelementptr inbounds %"class.std::chrono::duration", ptr %898, i32 0, i32 0
  store i64 %897, ptr %899, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %62, ptr align 8 %79, i64 8, i1 false), !tbaa.struct !49
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  %900 = load ptr, ptr %59, align 8, !tbaa !9
  %901 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %900, i32 0, i32 68
  store i32 2, ptr %901, align 8, !tbaa !48
  store i32 2, ptr %9, align 4
  br label %903

902:                                              ; preds = %895
  store i32 0, ptr %9, align 4
  br label %903

903:                                              ; preds = %902, %896, %874
  call void @llvm.lifetime.end.p0(i64 24, ptr %77) #10
  %904 = load i32, ptr %9, align 4
  switch i32 %904, label %910 [
    i32 0, label %905
  ]

905:                                              ; preds = %903
  br label %906

906:                                              ; preds = %905
  %907 = load i32, ptr %76, align 4, !tbaa !5
  %908 = add nsw i32 %907, 1
  store i32 %908, ptr %76, align 4, !tbaa !5
  br label %656, !llvm.loop !69

909:                                              ; preds = %884, %880
  call void @llvm.lifetime.end.p0(i64 24, ptr %77) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %933

910:                                              ; preds = %903, %661
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %911

911:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #10
  %912 = invoke i64 @_ZNSt6chronomiINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEES6_EENSt11common_typeIJT0_T1_EE4typeERKNS_10time_pointIT_S8_EERKNSC_ISD_S9_EE(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %913 unwind label %925

913:                                              ; preds = %911
  %914 = getelementptr inbounds %"class.std::chrono::duration", ptr %81, i32 0, i32 0
  store i64 %912, ptr %914, align 8
  invoke void @_ZNSt6chrono8durationIdSt5ratioILl1ELl1EEEC2IlS1_ILl1ELl1000000000EEvEERKNS0_IT_T0_EE(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %915 unwind label %925

915:                                              ; preds = %913
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %63, ptr align 8 %80, i64 8, i1 false), !tbaa.struct !71
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  %916 = invoke noundef double @_ZNKSt6chrono8durationIdSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %917 unwind label %929

917:                                              ; preds = %915
  %918 = load double, ptr %65, align 8, !tbaa !11
  %919 = fadd double %918, %916
  store double %919, ptr %65, align 8, !tbaa !11
  %920 = load double, ptr %65, align 8, !tbaa !11
  %921 = load ptr, ptr %59, align 8, !tbaa !9
  %922 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %921, i32 0, i32 71
  %923 = load ptr, ptr %922, align 8, !tbaa !51
  %924 = getelementptr inbounds %"struct.nasoq::qp_info", ptr %923, i32 0, i32 8
  store double %920, ptr %924, align 8, !tbaa !52
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  call void @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %66) #10
  br label %937

925:                                              ; preds = %913, %911
  %926 = landingpad { ptr, i32 }
          cleanup
  %927 = extractvalue { ptr, i32 } %926, 0
  store ptr %927, ptr %7, align 8
  %928 = extractvalue { ptr, i32 } %926, 1
  store i32 %928, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  br label %933

929:                                              ; preds = %915
  %930 = landingpad { ptr, i32 }
          cleanup
  %931 = extractvalue { ptr, i32 } %930, 0
  store ptr %931, ptr %7, align 8
  %932 = extractvalue { ptr, i32 } %930, 1
  store i32 %932, ptr %8, align 4
  br label %933

933:                                              ; preds = %929, %925, %909, %682, %678, %674, %670, %666, %662, %619
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  call void @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %66) #10
  br label %938

934:                                              ; preds = %596
  %935 = load ptr, ptr %59, align 8, !tbaa !9
  %936 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %935, i32 0, i32 68
  store i32 2, ptr %936, align 8, !tbaa !48
  br label %937

937:                                              ; preds = %934, %917
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #10
  br label %941

938:                                              ; preds = %933, %615
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  br label %939

939:                                              ; preds = %938, %575
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #10
  br label %940

940:                                              ; preds = %939, %571
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #10
  br label %1021

941:                                              ; preds = %937, %536
  %942 = load ptr, ptr %59, align 8, !tbaa !9
  invoke void @_ZN5nasoq5Nasoq18detect_solver_nameEv(ptr noundef nonnull align 8 dereferenceable(624) %942)
          to label %943 unwind label %537

943:                                              ; preds = %941
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.140, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %944 unwind label %960

944:                                              ; preds = %943
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #10
  %945 = load ptr, ptr %59, align 8, !tbaa !9
  %946 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %945, i32 0, i32 4
  %947 = load ptr, ptr %946, align 8, !tbaa !72
  %948 = getelementptr inbounds %"struct.nasoq::sympiler_CSC", ptr %947, i32 0, i32 1
  %949 = load i64, ptr %948, align 8, !tbaa !73
  invoke void @_ZNSt7__cxx119to_stringEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, i64 noundef %949)
          to label %950 unwind label %964

950:                                              ; preds = %944
  %951 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %952 unwind label %968

952:                                              ; preds = %950
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #10
  %953 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.141)
          to label %954 unwind label %973

954:                                              ; preds = %952
  %955 = load i8, ptr %20, align 1, !tbaa !13, !range !75, !noundef !76
  %956 = trunc i8 %955 to i1
  br i1 %956, label %957, label %977

957:                                              ; preds = %954
  %958 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.142)
          to label %959 unwind label %973

959:                                              ; preds = %957
  br label %977

960:                                              ; preds = %943
  %961 = landingpad { ptr, i32 }
          cleanup
  %962 = extractvalue { ptr, i32 } %961, 0
  store ptr %962, ptr %7, align 8
  %963 = extractvalue { ptr, i32 } %961, 1
  store i32 %963, ptr %8, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #10
  br label %1020

964:                                              ; preds = %944
  %965 = landingpad { ptr, i32 }
          cleanup
  %966 = extractvalue { ptr, i32 } %965, 0
  store ptr %966, ptr %7, align 8
  %967 = extractvalue { ptr, i32 } %965, 1
  store i32 %967, ptr %8, align 4
  br label %972

968:                                              ; preds = %950
  %969 = landingpad { ptr, i32 }
          cleanup
  %970 = extractvalue { ptr, i32 } %969, 0
  store ptr %970, ptr %7, align 8
  %971 = extractvalue { ptr, i32 } %969, 1
  store i32 %971, ptr %8, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #10
  br label %972

972:                                              ; preds = %968, %964
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #10
  br label %1019

973:                                              ; preds = %1008, %1001, %999, %992, %990, %988, %985, %983, %981, %977, %957, %952
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %7, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %8, align 4
  br label %1019

977:                                              ; preds = %959, %954
  %978 = load ptr, ptr %59, align 8, !tbaa !9
  %979 = getelementptr inbounds %"struct.nasoq::Nasoq", ptr %978, i32 0, i32 0
  %980 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %979)
          to label %981 unwind label %973

981:                                              ; preds = %977
  %982 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %980, ptr noundef @.str.143)
          to label %983 unwind label %973

983:                                              ; preds = %981
  %984 = load ptr, ptr %56, align 8, !tbaa !9
  invoke void @_ZN6format17QPFormatConverter9print_logEv(ptr noundef nonnull align 8 dereferenceable(304) %984)
          to label %985 unwind label %973

985:                                              ; preds = %983
  %986 = load i32, ptr %58, align 4, !tbaa !5
  %987 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %986)
          to label %988 unwind label %973

988:                                              ; preds = %985
  %989 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %987, ptr noundef @.str.143)
          to label %990 unwind label %973

990:                                              ; preds = %988
  %991 = load ptr, ptr %59, align 8, !tbaa !9
  invoke void @_ZN5nasoq5Nasoq9print_logEv(ptr noundef nonnull align 8 dereferenceable(624) %991)
          to label %992 unwind label %973

992:                                              ; preds = %990
  %993 = load ptr, ptr %56, align 8, !tbaa !9
  %994 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %993, i32 0, i32 26
  %995 = load ptr, ptr %994, align 8, !tbaa !77
  %996 = getelementptr inbounds %"struct.format::SMP", ptr %995, i32 0, i32 3
  %997 = getelementptr inbounds %"struct.format::Description", ptr %996, i32 0, i32 7
  %998 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %997)
          to label %999 unwind label %973

999:                                              ; preds = %992
  %1000 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %998, ptr noundef @.str.143)
          to label %1001 unwind label %973

1001:                                             ; preds = %999
  %1002 = load ptr, ptr %56, align 8, !tbaa !9
  %1003 = getelementptr inbounds %"struct.format::QPFormatConverter", ptr %1002, i32 0, i32 26
  %1004 = load ptr, ptr %1003, align 8, !tbaa !77
  %1005 = getelementptr inbounds %"struct.format::SMP", ptr %1004, i32 0, i32 3
  %1006 = getelementptr inbounds %"struct.format::Description", ptr %1005, i32 0, i32 1
  %1007 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %1006)
          to label %1008 unwind label %973

1008:                                             ; preds = %1001
  %1009 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1007, ptr noundef @.str.143)
          to label %1010 unwind label %973

1010:                                             ; preds = %1008
  %1011 = load ptr, ptr %59, align 8, !tbaa !9
  %1012 = icmp eq ptr %1011, null
  br i1 %1012, label %1014, label %1013

1013:                                             ; preds = %1010
  call void @_ZN5nasoq5NasoqD1Ev(ptr noundef nonnull align 8 dereferenceable(624) %1011) #10
  call void @_ZdlPvm(ptr noundef %1011, i64 noundef 624) #12
  br label %1014

1014:                                             ; preds = %1013, %1010
  %1015 = load ptr, ptr %56, align 8, !tbaa !9
  %1016 = icmp eq ptr %1015, null
  br i1 %1016, label %1018, label %1017

1017:                                             ; preds = %1014
  call void @_ZN6format17QPFormatConverterD2Ev(ptr noundef nonnull align 8 dereferenceable(304) %1015) #10
  call void @_ZdlPvm(ptr noundef %1015, i64 noundef 304) #12
  br label %1018

1018:                                             ; preds = %1017, %1014
  store i32 0, ptr %3, align 4
  store i32 1, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %1024

1019:                                             ; preds = %973, %972
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #10
  br label %1020

1020:                                             ; preds = %1019, %960
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #10
  br label %1021

1021:                                             ; preds = %1020, %940, %537
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %1022

1022:                                             ; preds = %1021, %515, %511
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %1023

1023:                                             ; preds = %1022, %507
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %1025

1024:                                             ; preds = %1018, %320
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #10
  br label %1028

1025:                                             ; preds = %1023, %325, %321
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #10
  br label %1026

1026:                                             ; preds = %1025, %312, %294, %285, %260, %251, %225, %216, %193, %184, %159, %133
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #10
  br label %1027

1027:                                             ; preds = %1026, %124
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #10
  br label %1030

1028:                                             ; preds = %1024, %89
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr %6) #10
  %1029 = load i32, ptr %3, align 4
  ret i32 %1029

1030:                                             ; preds = %1027, %90
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %6) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr %6) #10
  br label %1031

1031:                                             ; preds = %1030
  %1032 = load ptr, ptr %7, align 8
  %1033 = load i32, ptr %8, align 4
  %1034 = insertvalue { ptr, i32 } poison, ptr %1032, 0
  %1035 = insertvalue { ptr, i32 } %1034, i32 %1033, 1
  resume { ptr, i32 } %1035
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_Z12get_num_iterdRiS_(double noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #1

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

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

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

; Function Attrs: nounwind
declare double @pow(double noundef, double noundef) #8

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6format17QPFormatConverterC2Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6format17QPFormatConverter8load_smpERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6format17QPFormatConverter9smp_to_ieEv(ptr noundef nonnull align 8 dereferenceable(304)) #2 align 2

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

declare void @_ZN5nasoq5NasoqC1EmPiS1_PdS2_mmS1_S1_S2_S2_mmS1_S1_S2_S2_(ptr noundef nonnull align 8 dereferenceable(624), i64 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) unnamed_addr #9

declare noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624)) #9

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

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

; Function Attrs: nounwind
declare void @_ZN5nasoq5NasoqD1Ev(ptr noundef nonnull align 8 dereferenceable(624)) unnamed_addr #8

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

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

declare void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef, double noundef, double noundef) unnamed_addr #9

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

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

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

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

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

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

declare void @_ZN5nasoq5Nasoq18detect_solver_nameEv(ptr noundef nonnull align 8 dereferenceable(624)) #9

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) #3

; 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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6format17QPFormatConverter9print_logEv(ptr noundef nonnull align 8 dereferenceable(304)) #2 align 2

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #9

declare void @_ZN5nasoq5Nasoq9print_logEv(ptr noundef nonnull align 8 dereferenceable(624)) #9

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { builtin allocsize(0) }
attributes #12 = { builtin nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"double", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = !{!16, !10, i64 128}
!16 = !{!"_ZTSN6format17QPFormatConverterE", !17, i64 0, !17, i64 32, !14, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !14, i64 120, !10, i64 128, !10, i64 136, !10, i64 144, !10, i64 152, !10, i64 160, !10, i64 168, !10, i64 176, !10, i64 184, !14, i64 192, !6, i64 196, !10, i64 200, !10, i64 208, !10, i64 216, !10, i64 224, !10, i64 232, !14, i64 240, !10, i64 248, !10, i64 256, !6, i64 264, !12, i64 272, !12, i64 280, !6, i64 288, !6, i64 292, !6, i64 296, !6, i64 300}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !18, i64 0, !19, i64 8, !7, i64 16}
!18 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0}
!19 = !{!"long", !7, i64 0}
!20 = !{!21, !10, i64 328}
!21 = !{!"_ZTSN6format6IEFormE", !22, i64 0, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !10, i64 296, !10, i64 304, !10, i64 312, !10, i64 320, !10, i64 328, !10, i64 336, !12, i64 344, !12, i64 352}
!22 = !{!"_ZTSN6format11DescriptionE", !17, i64 0, !17, i64 32, !17, i64 64, !17, i64 96, !17, i64 128, !17, i64 160, !17, i64 192, !17, i64 224}
!23 = !{!24, !19, i64 8}
!24 = !{!"_ZTSN6format3CSCE", !19, i64 0, !19, i64 8, !19, i64 16, !6, i64 24, !14, i64 28, !14, i64 29, !10, i64 32, !10, i64 40, !10, i64 48}
!25 = !{!24, !10, i64 32}
!26 = !{!24, !10, i64 40}
!27 = !{!24, !10, i64 48}
!28 = !{!21, !10, i64 304}
!29 = !{!30, !10, i64 24}
!30 = !{!"_ZTSN6format5DenseE", !19, i64 0, !19, i64 8, !19, i64 16, !10, i64 24}
!31 = !{!21, !10, i64 256}
!32 = !{!24, !19, i64 0}
!33 = !{!21, !10, i64 288}
!34 = !{!21, !10, i64 264}
!35 = !{!21, !10, i64 296}
!36 = !{!37, !12, i64 128}
!37 = !{!"_ZTSN5nasoq5NasoqE", !17, i64 0, !6, i64 32, !6, i64 36, !6, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !6, i64 120, !12, i64 128, !12, i64 136, !12, i64 144, !12, i64 152, !12, i64 160, !12, i64 168, !12, i64 176, !12, i64 184, !12, i64 192, !6, i64 200, !6, i64 204, !6, i64 208, !12, i64 216, !10, i64 224, !10, i64 232, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !10, i64 296, !19, i64 304, !6, i64 312, !10, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !12, i64 368, !12, i64 376, !10, i64 384, !10, i64 392, !10, i64 400, !10, i64 408, !10, i64 416, !10, i64 424, !10, i64 432, !10, i64 440, !38, i64 448, !10, i64 472, !6, i64 480, !6, i64 484, !6, i64 488, !6, i64 492, !6, i64 496, !6, i64 500, !6, i64 504, !6, i64 508, !10, i64 512, !12, i64 520, !12, i64 528, !42, i64 536, !43, i64 540, !10, i64 544, !10, i64 552, !10, i64 560, !10, i64 568, !10, i64 576, !10, i64 584, !10, i64 592, !10, i64 600, !12, i64 608, !12, i64 616}
!38 = !{!"_ZTSSt6vectorIiSaIiEE", !39, i64 0}
!39 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!42 = !{!"_ZTSN5nasoq10nasoq_modeE", !7, i64 0}
!43 = !{!"_ZTSN5nasoq12nasoq_statusE", !7, i64 0}
!44 = !{!37, !12, i64 144}
!45 = !{!37, !6, i64 208}
!46 = !{!37, !12, i64 216}
!47 = !{!37, !6, i64 488}
!48 = !{!37, !42, i64 536}
!49 = !{i64 0, i64 8, !50}
!50 = !{!19, !19, i64 0}
!51 = !{!37, !10, i64 552}
!52 = !{!53, !12, i64 64}
!53 = !{!"_ZTSN5nasoq7qp_infoE", !54, i64 0, !54, i64 8, !54, i64 16, !54, i64 24, !54, i64 32, !54, i64 40, !14, i64 48, !56, i64 56, !12, i64 64, !12, i64 72, !12, i64 80, !6, i64 88, !6, i64 92, !6, i64 96, !6, i64 100}
!54 = !{!"_ZTSNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEE", !55, i64 0}
!55 = !{!"_ZTSNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE", !19, i64 0}
!56 = !{!"_ZTSNSt6chrono8durationIdSt5ratioILl1ELl1EEEE", !12, i64 0}
!57 = !{!37, !6, i64 200}
!58 = !{!37, !6, i64 204}
!59 = !{!37, !12, i64 136}
!60 = !{i64 0, i64 4, !5, i64 4, i64 4, !5, i64 8, i64 8, !11, i64 16, i64 8, !11}
!61 = !{!62, !12, i64 8}
!62 = !{!"_ZTSN5nasoq12nasoq_configE", !6, i64 0, !6, i64 4, !12, i64 8, !12, i64 16}
!63 = !{!37, !6, i64 508}
!64 = !{!37, !12, i64 152}
!65 = !{!37, !6, i64 312}
!66 = !{!62, !6, i64 0}
!67 = !{!62, !6, i64 4}
!68 = !{!62, !12, i64 16}
!69 = distinct !{!69, !70}
!70 = !{!"llvm.loop.mustprogress"}
!71 = !{i64 0, i64 8, !11}
!72 = !{!37, !10, i64 48}
!73 = !{!74, !19, i64 8}
!74 = !{!"_ZTSN5nasoq12sympiler_CSCE", !19, i64 0, !19, i64 8, !19, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !6, i64 64, !6, i64 68, !6, i64 72, !6, i64 76, !6, i64 80, !6, i64 84}
!75 = !{i8 0, i8 2}
!76 = !{}
!77 = !{!16, !10, i64 248}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::map.44" = type { %"class.std::_Rb_tree.45" }
%"class.std::_Rb_tree.45" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"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 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"class.std::chrono::time_point" = type { %"class.std::chrono::duration" }
%"class.std::chrono::duration" = type { i64 }
%"class.std::chrono::duration.75" = type { double }
%"class.std::vector.76" = type { %"struct.std::_Vector_base.77" }
%"struct.std::_Vector_base.77" = type { %"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl" }
%"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl" = type { %"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl_data" }
%"struct.std::_Vector_base<nasoq::nasoq_config, std::allocator<nasoq::nasoq_config>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.nasoq::nasoq_config" = type { i32, i32, double, double }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.85 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [398 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [2 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6format10parse_argsEiPPKcRSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_St4lessIS9_ESaISt4pairIKS9_S9_EEE(i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef range(i32 -1, 1) i32 @_Z10nasoq_demoiPPKc(i32 noundef %0, ptr noundef %1) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::map.44", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::allocator", align 1
  %7 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator", align 1
  %35 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %42 = alloca %"class.std::chrono::time_point", align 8
  %43 = alloca %"class.std::chrono::time_point", align 8
  %44 = alloca %"class.std::chrono::duration.75", align 8
  %45 = alloca %"class.std::vector.76", align 8
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca %"struct.nasoq::nasoq_config", align 8
  %49 = alloca %"struct.nasoq::nasoq_config", align 8
  %50 = alloca %"struct.nasoq::nasoq_config", align 8
  %51 = alloca %"struct.nasoq::nasoq_config", align 8
  %52 = alloca %"struct.nasoq::nasoq_config", align 8
  %53 = alloca %"struct.nasoq::nasoq_config", align 8
  %54 = alloca %"struct.nasoq::nasoq_config", align 8
  %55 = alloca %"class.std::chrono::duration.75", align 8
  %56 = alloca %"class.std::chrono::duration", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::allocator", align 1
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %3) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  %60 = invoke noundef zeroext i1 @_ZN6format10parse_argsEiPPKcRSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_St4lessIS9_ESaISt4pairIKS9_S9_EEE(i32 noundef %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(48) %3)
          to label %61 unwind label %62

61:                                               ; preds = %2
  br i1 %60, label %64, label %499

62:                                               ; preds = %2
  %63 = landingpad { ptr, i32 }
          cleanup
  br label %500

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

65:                                               ; preds = %64
  %66 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %67 unwind label %82

67:                                               ; preds = %65
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %68 unwind label %82

68:                                               ; preds = %67
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.85, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %69 unwind label %85

69:                                               ; preds = %68
  %70 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %71 unwind label %87

71:                                               ; preds = %69
  store ptr %70, ptr %7, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #10
  %72 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  store ptr %72, ptr %10, align 8
  %73 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  br i1 %73, label %74, label %100

74:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.85, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %75 unwind label %90

75:                                               ; preds = %74
  %76 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %77 unwind label %92

77:                                               ; preds = %75
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %78 unwind label %92

78:                                               ; preds = %77
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #10
  %79 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.137)
  br i1 %79, label %99, label %95

80:                                               ; preds = %64
  %81 = landingpad { ptr, i32 }
          cleanup
  br label %84

82:                                               ; preds = %67, %65
  %83 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #10
  br label %84

84:                                               ; preds = %82, %80
  %.pn = phi { ptr, i32 } [ %83, %82 ], [ %81, %80 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #10
  br label %498

85:                                               ; preds = %68
  %86 = landingpad { ptr, i32 }
          cleanup
  br label %89

87:                                               ; preds = %69
  %88 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  br label %89

89:                                               ; preds = %87, %85
  %.pn177 = phi { ptr, i32 } [ %88, %87 ], [ %86, %85 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  br label %497

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

92:                                               ; preds = %77, %75
  %93 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #10
  br label %94

94:                                               ; preds = %92, %90
  %.pn179 = phi { ptr, i32 } [ %93, %92 ], [ %91, %90 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #10
  br label %497

95:                                               ; preds = %78
  %96 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.138)
  br i1 %96, label %99, label %97

97:                                               ; preds = %95
  %98 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.139)
  %. = select i1 %98, i32 3, i32 0
  br label %99

99:                                               ; preds = %97, %95, %78
  %.0168 = phi i32 [ 2, %78 ], [ 1, %95 ], [ %., %97 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #10
  br label %100

100:                                              ; preds = %99, %71
  %.1169 = phi i32 [ %.0168, %99 ], [ 0, %71 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.92, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %101 unwind label %114

101:                                              ; preds = %100
  %102 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %103 unwind label %116

103:                                              ; preds = %101
  store ptr %102, ptr %14, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #10
  %104 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  store ptr %104, ptr %17, align 8
  %105 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #10
  br i1 %105, label %106, label %124

106:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.92, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %107 unwind label %119

107:                                              ; preds = %106
  %108 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %109 unwind label %121

109:                                              ; preds = %107
  %110 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef null, i32 noundef 10)
          to label %111 unwind label %121

111:                                              ; preds = %109
  %112 = sitofp i32 %110 to double
  %113 = call double @pow(double noundef 1.000000e+01, double noundef %112) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #10
  br label %124

114:                                              ; preds = %100
  %115 = landingpad { ptr, i32 }
          cleanup
  br label %118

116:                                              ; preds = %101
  %117 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #10
  br label %118

118:                                              ; preds = %116, %114
  %.pn181 = phi { ptr, i32 } [ %117, %116 ], [ %115, %114 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #10
  br label %497

119:                                              ; preds = %106
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %123

121:                                              ; preds = %109, %107
  %122 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  br label %123

123:                                              ; preds = %121, %119
  %.pn183 = phi { ptr, i32 } [ %122, %121 ], [ %120, %119 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #10
  br label %497

124:                                              ; preds = %111, %103
  %.0159 = phi double [ %113, %111 ], [ 1.000000e-09, %103 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %125 unwind label %136

125:                                              ; preds = %124
  %126 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %127 unwind label %138

127:                                              ; preds = %125
  store ptr %126, ptr %20, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #10
  %128 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  store ptr %128, ptr %23, align 8
  %129 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #10
  br i1 %129, label %130, label %146

130:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %131 unwind label %141

131:                                              ; preds = %130
  %132 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %133 unwind label %143

133:                                              ; preds = %131
  %134 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef null, i32 noundef 10)
          to label %135 unwind label %143

135:                                              ; preds = %133
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #10
  br label %146

136:                                              ; preds = %124
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %140

138:                                              ; preds = %125
  %139 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #10
  br label %140

140:                                              ; preds = %138, %136
  %.pn185 = phi { ptr, i32 } [ %139, %138 ], [ %137, %136 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #10
  br label %497

141:                                              ; preds = %130
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %145

143:                                              ; preds = %133, %131
  %144 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  br label %145

145:                                              ; preds = %143, %141
  %.pn187 = phi { ptr, i32 } [ %144, %143 ], [ %142, %141 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #10
  br label %497

146:                                              ; preds = %135, %127
  %.0162 = phi i32 [ %134, %135 ], [ 2, %127 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.94, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %147 unwind label %160

147:                                              ; preds = %146
  %148 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %149 unwind label %162

149:                                              ; preds = %147
  store ptr %148, ptr %26, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #10
  %150 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  store ptr %150, ptr %29, align 8
  %151 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %29) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #10
  br i1 %151, label %152, label %170

152:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.94, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %153 unwind label %165

153:                                              ; preds = %152
  %154 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %155 unwind label %167

155:                                              ; preds = %153
  %156 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef null, i32 noundef 10)
          to label %157 unwind label %167

157:                                              ; preds = %155
  %158 = sitofp i32 %156 to double
  %159 = call double @pow(double noundef 1.000000e+01, double noundef %158) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #10
  br label %170

160:                                              ; preds = %146
  %161 = landingpad { ptr, i32 }
          cleanup
  br label %164

162:                                              ; preds = %147
  %163 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #10
  br label %164

164:                                              ; preds = %162, %160
  %.pn189 = phi { ptr, i32 } [ %163, %162 ], [ %161, %160 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #10
  br label %497

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

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

169:                                              ; preds = %167, %165
  %.pn191 = phi { ptr, i32 } [ %168, %167 ], [ %166, %165 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #10
  br label %497

170:                                              ; preds = %157, %149
  %.0160 = phi double [ %159, %157 ], [ 0x3EB0C6F7A0B5ED8D, %149 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %171 unwind label %184

171:                                              ; preds = %170
  %172 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %173 unwind label %186

173:                                              ; preds = %171
  store ptr %172, ptr %32, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #10
  %174 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  store ptr %174, ptr %35, align 8
  %175 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %35) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #10
  br i1 %175, label %176, label %194

176:                                              ; preds = %173
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %177 unwind label %189

177:                                              ; preds = %176
  %178 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %179 unwind label %191

179:                                              ; preds = %177
  %180 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %178, ptr noundef null, i32 noundef 10)
          to label %181 unwind label %191

181:                                              ; preds = %179
  %182 = sitofp i32 %180 to double
  %183 = call double @pow(double noundef 1.000000e+01, double noundef %182) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #10
  br label %194

184:                                              ; preds = %170
  %185 = landingpad { ptr, i32 }
          cleanup
  br label %188

186:                                              ; preds = %171
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #10
  br label %188

188:                                              ; preds = %186, %184
  %.pn193 = phi { ptr, i32 } [ %187, %186 ], [ %185, %184 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #10
  br label %497

189:                                              ; preds = %176
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %193

191:                                              ; preds = %179, %177
  %192 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #10
  br label %193

193:                                              ; preds = %191, %189
  %.pn195 = phi { ptr, i32 } [ %192, %191 ], [ %190, %189 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #10
  br label %497

194:                                              ; preds = %181, %173
  %.0167 = phi double [ %183, %181 ], [ 1.000000e-15, %173 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.99, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %195 unwind label %201

195:                                              ; preds = %194
  %196 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %197 unwind label %203

197:                                              ; preds = %195
  store ptr %196, ptr %38, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #10
  %198 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  store ptr %198, ptr %41, align 8
  %199 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #10
  %200 = invoke noalias noundef nonnull dereferenceable(304) ptr @_Znwm(i64 noundef 304) #11
          to label %206 unwind label %210

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

203:                                              ; preds = %195
  %204 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #10
  br label %205

205:                                              ; preds = %203, %201
  %.pn197 = phi { ptr, i32 } [ %204, %203 ], [ %202, %201 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #10
  br label %497

206:                                              ; preds = %197
  invoke void @_ZN6format17QPFormatConverterC2Ev(ptr noundef nonnull align 8 dereferenceable(304) %200)
          to label %207 unwind label %212

207:                                              ; preds = %206
  %208 = invoke noundef zeroext i1 @_ZN6format17QPFormatConverter8load_smpERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(304) %200, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %209 unwind label %210

209:                                              ; preds = %207
  br i1 %208, label %214, label %496

210:                                              ; preds = %214, %207, %197
  %211 = landingpad { ptr, i32 }
          cleanup
  br label %497

212:                                              ; preds = %206
  %213 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %200, i64 noundef 304) #12
  br label %497

214:                                              ; preds = %209
  %215 = invoke noundef zeroext i1 @_ZN6format17QPFormatConverter9smp_to_ieEv(ptr noundef nonnull align 8 dereferenceable(304) %200)
          to label %216 unwind label %210

216:                                              ; preds = %214
  %217 = invoke noundef i64 @_ZN6format17QPFormatConverter20num_ineq_constraintsEv(ptr noundef nonnull align 8 dereferenceable(304) %200)
          to label %218 unwind label %280

218:                                              ; preds = %216
  %219 = trunc i64 %217 to i32
  %220 = invoke noalias noundef nonnull dereferenceable(624) ptr @_Znwm(i64 noundef 624) #11
          to label %221 unwind label %282

221:                                              ; preds = %218
  %222 = getelementptr inbounds i8, ptr %200, i64 128
  %223 = load ptr, ptr %222, align 8, !tbaa !5
  %224 = getelementptr inbounds i8, ptr %223, i64 328
  %225 = load ptr, ptr %224, align 8, !tbaa !16
  %226 = getelementptr inbounds i8, ptr %225, i64 8
  %227 = load i64, ptr %226, align 8, !tbaa !19
  %228 = getelementptr inbounds i8, ptr %225, i64 32
  %229 = load ptr, ptr %228, align 8, !tbaa !21
  %230 = getelementptr inbounds i8, ptr %225, i64 40
  %231 = load ptr, ptr %230, align 8, !tbaa !22
  %232 = getelementptr inbounds i8, ptr %225, i64 48
  %233 = load ptr, ptr %232, align 8, !tbaa !23
  %234 = getelementptr inbounds i8, ptr %223, i64 304
  %235 = load ptr, ptr %234, align 8, !tbaa !24
  %236 = getelementptr inbounds i8, ptr %235, i64 24
  %237 = load ptr, ptr %236, align 8, !tbaa !25
  %238 = getelementptr inbounds i8, ptr %223, i64 256
  %239 = load ptr, ptr %238, align 8, !tbaa !27
  %240 = load i64, ptr %239, align 8, !tbaa !28
  %241 = getelementptr inbounds i8, ptr %239, i64 8
  %242 = load i64, ptr %241, align 8, !tbaa !19
  %243 = getelementptr inbounds i8, ptr %239, i64 32
  %244 = load ptr, ptr %243, align 8, !tbaa !21
  %245 = getelementptr inbounds i8, ptr %239, i64 40
  %246 = load ptr, ptr %245, align 8, !tbaa !22
  %247 = getelementptr inbounds i8, ptr %239, i64 48
  %248 = load ptr, ptr %247, align 8, !tbaa !23
  %249 = getelementptr inbounds i8, ptr %223, i64 288
  %250 = load ptr, ptr %249, align 8, !tbaa !29
  %.not = icmp eq ptr %250, null
  br i1 %.not, label %254, label %251

251:                                              ; preds = %221
  %252 = getelementptr inbounds i8, ptr %250, i64 24
  %253 = load ptr, ptr %252, align 8, !tbaa !25
  br label %254

254:                                              ; preds = %221, %251
  %255 = phi ptr [ %253, %251 ], [ null, %221 ]
  %256 = getelementptr inbounds i8, ptr %223, i64 264
  %257 = load ptr, ptr %256, align 8, !tbaa !30
  %258 = load i64, ptr %257, align 8, !tbaa !28
  %259 = getelementptr inbounds i8, ptr %257, i64 8
  %260 = load i64, ptr %259, align 8, !tbaa !19
  %261 = getelementptr inbounds i8, ptr %257, i64 32
  %262 = load ptr, ptr %261, align 8, !tbaa !21
  %263 = getelementptr inbounds i8, ptr %257, i64 40
  %264 = load ptr, ptr %263, align 8, !tbaa !22
  %265 = getelementptr inbounds i8, ptr %257, i64 48
  %266 = load ptr, ptr %265, align 8, !tbaa !23
  %267 = getelementptr inbounds i8, ptr %223, i64 296
  %268 = load ptr, ptr %267, align 8, !tbaa !31
  %.not199 = icmp eq ptr %268, null
  br i1 %.not199, label %272, label %269

269:                                              ; preds = %254
  %270 = getelementptr inbounds i8, ptr %268, i64 24
  %271 = load ptr, ptr %270, align 8, !tbaa !25
  br label %272

272:                                              ; preds = %254, %269
  %273 = phi ptr [ %271, %269 ], [ null, %254 ]
  invoke void @_ZN5nasoq5NasoqC1EmPiS1_PdS2_mmS1_S1_S2_S2_mmS1_S1_S2_S2_(ptr noundef nonnull align 8 dereferenceable(624) %220, i64 noundef %227, ptr noundef %229, ptr noundef %231, ptr noundef %233, ptr noundef %237, i64 noundef %240, i64 noundef %242, ptr noundef %244, ptr noundef %246, ptr noundef %248, ptr noundef %255, i64 noundef %258, i64 noundef %260, ptr noundef %262, ptr noundef %264, ptr noundef %266, ptr noundef %273)
          to label %274 unwind label %284

274:                                              ; preds = %272
  %275 = getelementptr inbounds i8, ptr %220, i64 128
  store double %.0159, ptr %275, align 8, !tbaa !32
  %276 = getelementptr inbounds i8, ptr %220, i64 144
  store double %.0160, ptr %276, align 8, !tbaa !40
  %277 = getelementptr inbounds i8, ptr %220, i64 208
  store i32 %.0162, ptr %277, align 8, !tbaa !41
  %278 = getelementptr inbounds i8, ptr %220, i64 216
  store double %.0167, ptr %278, align 8, !tbaa !42
  %279 = getelementptr inbounds i8, ptr %220, i64 488
  store i32 200000, ptr %279, align 8, !tbaa !43
  switch i32 %.1169, label %291 [
    i32 0, label %286
    i32 1, label %286
    i32 3, label %286
  ]

280:                                              ; preds = %216
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %497

282:                                              ; preds = %218
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %497

284:                                              ; preds = %272
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %220, i64 noundef 624) #12
  br label %497

286:                                              ; preds = %274, %274, %274
  %287 = getelementptr inbounds i8, ptr %220, i64 536
  store i32 %.1169, ptr %287, align 8, !tbaa !44
  %288 = invoke noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624) %220)
          to label %447 unwind label %289

289:                                              ; preds = %447, %286
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %497

291:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #10
  call void @_ZNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #10
  call void @_ZNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #10
  %292 = call i64 @_ZNSt6chrono3_V212system_clock3nowEv() #10
  store i64 %292, ptr %42, align 8, !tbaa !45
  %293 = getelementptr inbounds i8, ptr %220, i64 552
  %294 = load ptr, ptr %293, align 8, !tbaa !46
  %295 = getelementptr inbounds i8, ptr %294, i64 64
  %296 = load double, ptr %295, align 8, !tbaa !47
  %297 = getelementptr inbounds i8, ptr %220, i64 536
  store i32 3, ptr %297, align 8, !tbaa !44
  store i32 200000, ptr %279, align 8, !tbaa !43
  %298 = icmp sgt i32 %219, 9999
  %299 = getelementptr inbounds i8, ptr %220, i64 200
  br i1 %298, label %300, label %302

300:                                              ; preds = %291
  store i32 9, ptr %299, align 8, !tbaa !52
  %301 = getelementptr inbounds i8, ptr %220, i64 204
  store i32 9, ptr %301, align 4, !tbaa !53
  br label %304

302:                                              ; preds = %291
  %303 = getelementptr inbounds i8, ptr %220, i64 204
  call void @_Z12get_num_iterdRiS_(double noundef %.0160, ptr noundef nonnull align 4 dereferenceable(4) %299, ptr noundef nonnull align 4 dereferenceable(4) %303)
  br label %304

304:                                              ; preds = %302, %300
  %.sink = phi double [ 0x3DA5FD7FE1796495, %300 ], [ 1.000000e-09, %302 ]
  %storemerge = phi double [ 0x3BC79CA10C924223, %300 ], [ 1.000000e-15, %302 ]
  %305 = getelementptr inbounds i8, ptr %220, i64 136
  store double %.sink, ptr %305, align 8
  store double %.sink, ptr %275, align 8, !tbaa !32
  store double %storemerge, ptr %278, align 8, !tbaa !42
  %306 = invoke noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624) %220)
          to label %307 unwind label %315

307:                                              ; preds = %304
  %.not201 = icmp eq i32 %306, 1
  br i1 %.not201, label %444, label %308

308:                                              ; preds = %307
  call void @_ZN5nasoq5NasoqD1Ev(ptr noundef nonnull align 8 dereferenceable(624) %220) #10
  call void @_ZdlPvm(ptr noundef nonnull %220, i64 noundef 624) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #10
  call void @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #10
  call void @_Z12get_num_iterdRiS_(double noundef %.0160, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 4 dereferenceable(4) %47)
  br i1 %298, label %309, label %319

309:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #10
  %310 = load i32, ptr %46, align 4, !tbaa !54
  %311 = load i32, ptr %47, align 4, !tbaa !54
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %48, i32 noundef %310, i32 noundef %311, double noundef 1.000000e-09, double noundef 1.000000e-15)
          to label %312 unwind label %317

312:                                              ; preds = %309
  %313 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %48)
          to label %314 unwind label %317

314:                                              ; preds = %312
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #10
  br label %319

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

317:                                              ; preds = %312, %309
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #10
  br label %443

319:                                              ; preds = %314, %308
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %49, i32 noundef 2, i32 noundef 2, double noundef 1.000000e-13, double noundef 1.000000e-15)
          to label %320 unwind label %341

320:                                              ; preds = %319
  %321 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %322 unwind label %341

322:                                              ; preds = %320
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %50) #10
  %323 = load i32, ptr %46, align 4, !tbaa !54
  %324 = load i32, ptr %47, align 4, !tbaa !54
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %50, i32 noundef %323, i32 noundef %324, double noundef 0x3E7AD7F29ABCAF48, double noundef 1.000000e-15)
          to label %325 unwind label %343

325:                                              ; preds = %322
  %326 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %50)
          to label %327 unwind label %343

327:                                              ; preds = %325
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 3, i32 noundef 3, double noundef 1.000000e-10, double noundef 1.000000e-15)
          to label %328 unwind label %345

328:                                              ; preds = %327
  %329 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %330 unwind label %345

330:                                              ; preds = %328
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 3, i32 noundef 3, double noundef 1.000000e-10, double noundef 1.000000e-17)
          to label %331 unwind label %347

331:                                              ; preds = %330
  %332 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %333 unwind label %347

333:                                              ; preds = %331
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 3, i32 noundef 3, double noundef 0x3DA5FD7FE1796495, double noundef 1.000000e-17)
          to label %334 unwind label %349

334:                                              ; preds = %333
  %335 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %53)
          to label %336 unwind label %349

336:                                              ; preds = %334
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #10
  invoke void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24) %54, i32 noundef 2, i32 noundef 2, double noundef 0x3DA5FD7FE1796495, double noundef 1.000000e-17)
          to label %337 unwind label %351

337:                                              ; preds = %336
  %338 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %339 unwind label %351

339:                                              ; preds = %337
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #10
  %340 = call noundef i64 @_ZNKSt6vectorIN5nasoq12nasoq_configESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  %.not233 = icmp eq i64 %340, 0
  br i1 %.not233, label %.critedge, label %.lr.ph

341:                                              ; preds = %320, %319
  %342 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #10
  br label %443

343:                                              ; preds = %325, %322
  %344 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #10
  br label %443

345:                                              ; preds = %328, %327
  %346 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #10
  br label %443

347:                                              ; preds = %331, %330
  %348 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #10
  br label %443

349:                                              ; preds = %334, %333
  %350 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #10
  br label %443

351:                                              ; preds = %337, %336
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #10
  br label %443

.lr.ph:                                           ; preds = %339, %428
  %indvars.iv = phi i64 [ %indvars.iv.next, %428 ], [ 0, %339 ]
  %353 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef %indvars.iv) #10
  %354 = load <2 x i32>, ptr %353, align 8, !tbaa !54
  %.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %353, i64 8
  %.sroa.6.0.copyload = load double, ptr %.sroa.6.0..sroa_idx, align 8, !tbaa !55
  %.sroa.8.0..sroa_idx = getelementptr inbounds i8, ptr %353, i64 16
  %.sroa.8.0.copyload = load double, ptr %.sroa.8.0..sroa_idx, align 8, !tbaa !55
  %355 = invoke noalias noundef nonnull dereferenceable(624) ptr @_Znwm(i64 noundef 624) #11
          to label %356 unwind label %424

356:                                              ; preds = %.lr.ph
  %357 = load ptr, ptr %222, align 8, !tbaa !5
  %358 = getelementptr inbounds i8, ptr %357, i64 328
  %359 = load ptr, ptr %358, align 8, !tbaa !16
  %360 = getelementptr inbounds i8, ptr %359, i64 8
  %361 = load i64, ptr %360, align 8, !tbaa !19
  %362 = getelementptr inbounds i8, ptr %359, i64 32
  %363 = load ptr, ptr %362, align 8, !tbaa !21
  %364 = getelementptr inbounds i8, ptr %359, i64 40
  %365 = load ptr, ptr %364, align 8, !tbaa !22
  %366 = getelementptr inbounds i8, ptr %359, i64 48
  %367 = load ptr, ptr %366, align 8, !tbaa !23
  %368 = getelementptr inbounds i8, ptr %357, i64 304
  %369 = load ptr, ptr %368, align 8, !tbaa !24
  %370 = getelementptr inbounds i8, ptr %369, i64 24
  %371 = load ptr, ptr %370, align 8, !tbaa !25
  %372 = getelementptr inbounds i8, ptr %357, i64 256
  %373 = load ptr, ptr %372, align 8, !tbaa !27
  %374 = load i64, ptr %373, align 8, !tbaa !28
  %375 = getelementptr inbounds i8, ptr %373, i64 8
  %376 = load i64, ptr %375, align 8, !tbaa !19
  %377 = getelementptr inbounds i8, ptr %373, i64 32
  %378 = load ptr, ptr %377, align 8, !tbaa !21
  %379 = getelementptr inbounds i8, ptr %373, i64 40
  %380 = load ptr, ptr %379, align 8, !tbaa !22
  %381 = getelementptr inbounds i8, ptr %373, i64 48
  %382 = load ptr, ptr %381, align 8, !tbaa !23
  %383 = getelementptr inbounds i8, ptr %357, i64 288
  %384 = load ptr, ptr %383, align 8, !tbaa !29
  %.not202 = icmp eq ptr %384, null
  br i1 %.not202, label %388, label %385

385:                                              ; preds = %356
  %386 = getelementptr inbounds i8, ptr %384, i64 24
  %387 = load ptr, ptr %386, align 8, !tbaa !25
  br label %388

388:                                              ; preds = %356, %385
  %389 = phi ptr [ %387, %385 ], [ null, %356 ]
  %390 = getelementptr inbounds i8, ptr %357, i64 264
  %391 = load ptr, ptr %390, align 8, !tbaa !30
  %392 = load i64, ptr %391, align 8, !tbaa !28
  %393 = getelementptr inbounds i8, ptr %391, i64 8
  %394 = load i64, ptr %393, align 8, !tbaa !19
  %395 = getelementptr inbounds i8, ptr %391, i64 32
  %396 = load ptr, ptr %395, align 8, !tbaa !21
  %397 = getelementptr inbounds i8, ptr %391, i64 40
  %398 = load ptr, ptr %397, align 8, !tbaa !22
  %399 = getelementptr inbounds i8, ptr %391, i64 48
  %400 = load ptr, ptr %399, align 8, !tbaa !23
  %401 = getelementptr inbounds i8, ptr %357, i64 296
  %402 = load ptr, ptr %401, align 8, !tbaa !31
  %.not203 = icmp eq ptr %402, null
  br i1 %.not203, label %406, label %403

403:                                              ; preds = %388
  %404 = getelementptr inbounds i8, ptr %402, i64 24
  %405 = load ptr, ptr %404, align 8, !tbaa !25
  br label %406

406:                                              ; preds = %388, %403
  %407 = phi ptr [ %405, %403 ], [ null, %388 ]
  invoke void @_ZN5nasoq5NasoqC1EmPiS1_PdS2_mmS1_S1_S2_S2_mmS1_S1_S2_S2_(ptr noundef nonnull align 8 dereferenceable(624) %355, i64 noundef %361, ptr noundef %363, ptr noundef %365, ptr noundef %367, ptr noundef %371, i64 noundef %374, i64 noundef %376, ptr noundef %378, ptr noundef %380, ptr noundef %382, ptr noundef %389, i64 noundef %392, i64 noundef %394, ptr noundef %396, ptr noundef %398, ptr noundef %400, ptr noundef %407)
          to label %408 unwind label %426

408:                                              ; preds = %406
  %409 = getelementptr inbounds i8, ptr %355, i64 536
  store i32 3, ptr %409, align 8, !tbaa !44
  %410 = getelementptr inbounds i8, ptr %355, i64 128
  store double %.sroa.6.0.copyload, ptr %410, align 8, !tbaa !32
  %411 = getelementptr inbounds i8, ptr %355, i64 508
  store i32 1, ptr %411, align 4, !tbaa !56
  %412 = getelementptr inbounds i8, ptr %355, i64 144
  store double %.0160, ptr %412, align 8, !tbaa !40
  %413 = getelementptr inbounds i8, ptr %355, i64 152
  store double %.0160, ptr %413, align 8, !tbaa !57
  %414 = getelementptr inbounds i8, ptr %355, i64 312
  store i32 0, ptr %414, align 8, !tbaa !58
  %415 = getelementptr inbounds i8, ptr %355, i64 136
  store double %.sroa.6.0.copyload, ptr %415, align 8, !tbaa !59
  %416 = getelementptr inbounds i8, ptr %355, i64 200
  store <2 x i32> %354, ptr %416, align 8, !tbaa !54
  %417 = getelementptr inbounds i8, ptr %355, i64 216
  store double %.sroa.8.0.copyload, ptr %417, align 8, !tbaa !42
  %418 = getelementptr inbounds i8, ptr %355, i64 488
  store i32 200000, ptr %418, align 8, !tbaa !43
  %419 = invoke noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624) %355)
          to label %420 unwind label %424

420:                                              ; preds = %408
  %421 = call noundef i64 @_ZNKSt6vectorIN5nasoq12nasoq_configESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  %422 = add i64 %421, -1
  %423 = icmp eq i64 %422, %indvars.iv
  %.not206 = icmp eq i32 %419, 1
  %or.cond = or i1 %423, %.not206
  br i1 %or.cond, label %.critedge.sink.split, label %428

424:                                              ; preds = %408, %.lr.ph
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %443

426:                                              ; preds = %406
  %427 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %355, i64 noundef 624) #12
  br label %443

428:                                              ; preds = %420
  call void @_ZN5nasoq5NasoqD1Ev(ptr noundef nonnull align 8 dereferenceable(624) %355) #10
  call void @_ZdlPvm(ptr noundef nonnull %355, i64 noundef 624) #12
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %429 = call noundef i64 @_ZNKSt6vectorIN5nasoq12nasoq_configESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  %430 = icmp ugt i64 %429, %indvars.iv.next
  br i1 %430, label %.lr.ph, label %.critedge, !llvm.loop !60

.critedge.sink.split:                             ; preds = %420
  %431 = call i64 @_ZNSt6chrono3_V212system_clock3nowEv() #10
  %.sink248 = getelementptr inbounds i8, ptr %355, i64 536
  store i64 %431, ptr %43, align 8, !tbaa !45
  store i32 2, ptr %.sink248, align 8, !tbaa !44
  br label %.critedge

.critedge:                                        ; preds = %428, %.critedge.sink.split, %339
  %.1164 = phi ptr [ %220, %339 ], [ %355, %.critedge.sink.split ], [ %355, %428 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #10
  %432 = invoke i64 @_ZNSt6chronomiINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEES6_EENSt11common_typeIJT0_T1_EE4typeERKNS_10time_pointIT_S8_EERKNSC_ISD_S9_EE(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %433 unwind label %441

433:                                              ; preds = %.critedge
  store i64 %432, ptr %56, align 8
  invoke void @_ZNSt6chrono8durationIdSt5ratioILl1ELl1EEEC2IlS1_ILl1ELl1000000000EEvEERKNS0_IT_T0_EE(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %434 unwind label %441

434:                                              ; preds = %433
  %435 = load i64, ptr %55, align 8, !tbaa !55
  store i64 %435, ptr %44, align 8, !tbaa !55
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #10
  %436 = call noundef double @_ZNKSt6chrono8durationIdSt5ratioILl1ELl1EEE5countEv(ptr noundef nonnull align 8 dereferenceable(8) %44)
  %437 = fadd double %296, %436
  %438 = getelementptr inbounds i8, ptr %.1164, i64 552
  %439 = load ptr, ptr %438, align 8, !tbaa !46
  %440 = getelementptr inbounds i8, ptr %439, i64 64
  store double %437, ptr %440, align 8, !tbaa !47
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #10
  call void @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #10
  br label %445

441:                                              ; preds = %433, %.critedge
  %442 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #10
  br label %443

443:                                              ; preds = %424, %426, %441, %351, %349, %347, %345, %343, %341, %317
  %.pn207 = phi { ptr, i32 } [ %442, %441 ], [ %352, %351 ], [ %350, %349 ], [ %348, %347 ], [ %346, %345 ], [ %344, %343 ], [ %342, %341 ], [ %318, %317 ], [ %425, %424 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #10
  call void @_ZNSt6vectorIN5nasoq12nasoq_configESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #10
  br label %446

444:                                              ; preds = %307
  store i32 2, ptr %297, align 8, !tbaa !44
  br label %445

445:                                              ; preds = %444, %434
  %.2165 = phi ptr [ %.1164, %434 ], [ %220, %444 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #10
  br label %447

446:                                              ; preds = %443, %315
  %.pn207.pn = phi { ptr, i32 } [ %.pn207, %443 ], [ %316, %315 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #10
  br label %497

447:                                              ; preds = %286, %445
  %.3166 = phi ptr [ %.2165, %445 ], [ %220, %286 ]
  invoke void @_ZN5nasoq5Nasoq18detect_solver_nameEv(ptr noundef nonnull align 8 dereferenceable(624) %.3166)
          to label %448 unwind label %289

448:                                              ; preds = %447
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.140, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %449 unwind label %461

449:                                              ; preds = %448
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #10
  %450 = getelementptr inbounds i8, ptr %.3166, i64 48
  %451 = load ptr, ptr %450, align 8, !tbaa !62
  %452 = getelementptr inbounds i8, ptr %451, i64 8
  %453 = load i64, ptr %452, align 8, !tbaa !63
  invoke void @_ZNSt7__cxx119to_stringEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, i64 noundef %453)
          to label %454 unwind label %463

454:                                              ; preds = %449
  %455 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %456 unwind label %465

456:                                              ; preds = %454
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #10
  %457 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.141)
          to label %458 unwind label %468

458:                                              ; preds = %456
  br i1 %199, label %459, label %470

459:                                              ; preds = %458
  %460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.142)
          to label %470 unwind label %468

461:                                              ; preds = %448
  %462 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #10
  br label %495

463:                                              ; preds = %449
  %464 = landingpad { ptr, i32 }
          cleanup
  br label %467

465:                                              ; preds = %454
  %466 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #10
  br label %467

467:                                              ; preds = %465, %463
  %.pn210 = phi { ptr, i32 } [ %466, %465 ], [ %464, %463 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #10
  br label %494

468:                                              ; preds = %491, %487, %485, %480, %479, %477, %475, %474, %472, %470, %459, %456
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %494

470:                                              ; preds = %459, %458
  %471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %.3166)
          to label %472 unwind label %468

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

474:                                              ; preds = %472
  invoke void @_ZN6format17QPFormatConverter9print_logEv(ptr noundef nonnull align 8 dereferenceable(304) %200)
          to label %475 unwind label %468

475:                                              ; preds = %474
  %476 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 1)
          to label %477 unwind label %468

477:                                              ; preds = %475
  %478 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %476, ptr noundef nonnull @.str.143)
          to label %479 unwind label %468

479:                                              ; preds = %477
  invoke void @_ZN5nasoq5Nasoq9print_logEv(ptr noundef nonnull align 8 dereferenceable(624) %.3166)
          to label %480 unwind label %468

480:                                              ; preds = %479
  %481 = getelementptr inbounds i8, ptr %200, i64 248
  %482 = load ptr, ptr %481, align 8, !tbaa !65
  %483 = getelementptr inbounds i8, ptr %482, i64 296
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %483)
          to label %485 unwind label %468

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

487:                                              ; preds = %485
  %488 = load ptr, ptr %481, align 8, !tbaa !65
  %489 = getelementptr inbounds i8, ptr %488, i64 104
  %490 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %489)
          to label %491 unwind label %468

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

493:                                              ; preds = %491
  call void @_ZN5nasoq5NasoqD1Ev(ptr noundef nonnull align 8 dereferenceable(624) %.3166) #10
  call void @_ZdlPvm(ptr noundef nonnull %.3166, i64 noundef 624) #12
  call void @_ZN6format17QPFormatConverterD2Ev(ptr noundef nonnull align 8 dereferenceable(304) %200) #10
  call void @_ZdlPvm(ptr noundef nonnull %200, i64 noundef 304) #12
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #10
  br label %496

494:                                              ; preds = %468, %467
  %.pn212 = phi { ptr, i32 } [ %469, %468 ], [ %.pn210, %467 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #10
  br label %495

495:                                              ; preds = %494, %461
  %.pn212.pn = phi { ptr, i32 } [ %.pn212, %494 ], [ %462, %461 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #10
  br label %497

496:                                              ; preds = %209, %493
  %.0 = phi i32 [ 0, %493 ], [ -1, %209 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #10
  br label %499

497:                                              ; preds = %210, %212, %282, %284, %495, %446, %289, %280, %205, %193, %188, %169, %164, %145, %140, %123, %118, %94, %89
  %.pn212.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn197, %205 ], [ %.pn195, %193 ], [ %.pn193, %188 ], [ %.pn191, %169 ], [ %.pn189, %164 ], [ %.pn187, %145 ], [ %.pn185, %140 ], [ %.pn183, %123 ], [ %.pn181, %118 ], [ %.pn179, %94 ], [ %.pn177, %89 ], [ %211, %210 ], [ %213, %212 ], [ %281, %280 ], [ %285, %284 ], [ %283, %282 ], [ %.pn212.pn, %495 ], [ %290, %289 ], [ %.pn207.pn, %446 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  br label %498

498:                                              ; preds = %497, %84
  %.pn212.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn.pn.pn.pn.pn, %497 ], [ %.pn, %84 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #10
  br label %500

499:                                              ; preds = %61, %496
  %.1 = phi i32 [ %.0, %496 ], [ -1, %61 ]
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) #10
  ret i32 %.1

500:                                              ; preds = %498, %62
  %.pn212.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn212.pn.pn.pn.pn.pn.pn.pn, %498 ], [ %63, %62 ]
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %3) #10
  resume { ptr, i32 } %.pn212.pn.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_Z12get_num_iterdRiS_(double noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1

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

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @pow(double noundef, double noundef) local_unnamed_addr #7

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6format17QPFormatConverterC2Ev(ptr noundef nonnull align 8 dereferenceable(304)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6format17QPFormatConverter8load_smpERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(304), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6format17QPFormatConverter9smp_to_ieEv(ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #2 align 2

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

declare void @_ZN5nasoq5NasoqC1EmPiS1_PdS2_mmS1_S1_S2_S2_mmS1_S1_S2_S2_(ptr noundef nonnull align 8 dereferenceable(624), i64 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) unnamed_addr #8

declare noundef i32 @_ZN5nasoq5Nasoq5solveEv(ptr noundef nonnull align 8 dereferenceable(624)) local_unnamed_addr #8

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

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

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

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

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

declare void @_ZN5nasoq12nasoq_configC1Eiidd(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef, double noundef, double noundef) unnamed_addr #8

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

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

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

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

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

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

declare void @_ZN5nasoq5Nasoq18detect_solver_nameEv(ptr noundef nonnull align 8 dereferenceable(624)) local_unnamed_addr #8

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef) local_unnamed_addr #3

; 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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6format17QPFormatConverter9print_logEv(ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #2 align 2

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #8

declare void @_ZN5nasoq5Nasoq9print_logEv(ptr noundef nonnull align 8 dereferenceable(624)) local_unnamed_addr #8

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

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { mustprogress nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { builtin allocsize(0) }
attributes #12 = { builtin nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !9, i64 128}
!6 = !{!"_ZTSN6format17QPFormatConverterE", !7, i64 0, !7, i64 32, !13, i64 64, !9, i64 72, !9, i64 80, !9, i64 88, !9, i64 96, !9, i64 104, !9, i64 112, !13, i64 120, !9, i64 128, !9, i64 136, !9, i64 144, !9, i64 152, !9, i64 160, !9, i64 168, !9, i64 176, !9, i64 184, !13, i64 192, !14, i64 196, !9, i64 200, !9, i64 208, !9, i64 216, !9, i64 224, !9, i64 232, !13, i64 240, !9, i64 248, !9, i64 256, !14, i64 264, !15, i64 272, !15, i64 280, !14, i64 288, !14, i64 292, !14, i64 296, !14, i64 300}
!7 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !8, i64 0, !12, i64 8, !10, i64 16}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"long", !10, i64 0}
!13 = !{!"bool", !10, i64 0}
!14 = !{!"int", !10, i64 0}
!15 = !{!"double", !10, i64 0}
!16 = !{!17, !9, i64 328}
!17 = !{!"_ZTSN6format6IEFormE", !18, i64 0, !9, i64 256, !9, i64 264, !9, i64 272, !9, i64 280, !9, i64 288, !9, i64 296, !9, i64 304, !9, i64 312, !9, i64 320, !9, i64 328, !9, i64 336, !15, i64 344, !15, i64 352}
!18 = !{!"_ZTSN6format11DescriptionE", !7, i64 0, !7, i64 32, !7, i64 64, !7, i64 96, !7, i64 128, !7, i64 160, !7, i64 192, !7, i64 224}
!19 = !{!20, !12, i64 8}
!20 = !{!"_ZTSN6format3CSCE", !12, i64 0, !12, i64 8, !12, i64 16, !14, i64 24, !13, i64 28, !13, i64 29, !9, i64 32, !9, i64 40, !9, i64 48}
!21 = !{!20, !9, i64 32}
!22 = !{!20, !9, i64 40}
!23 = !{!20, !9, i64 48}
!24 = !{!17, !9, i64 304}
!25 = !{!26, !9, i64 24}
!26 = !{!"_ZTSN6format5DenseE", !12, i64 0, !12, i64 8, !12, i64 16, !9, i64 24}
!27 = !{!17, !9, i64 256}
!28 = !{!20, !12, i64 0}
!29 = !{!17, !9, i64 288}
!30 = !{!17, !9, i64 264}
!31 = !{!17, !9, i64 296}
!32 = !{!33, !15, i64 128}
!33 = !{!"_ZTSN5nasoq5NasoqE", !7, i64 0, !14, i64 32, !14, i64 36, !14, i64 40, !9, i64 48, !9, i64 56, !9, i64 64, !9, i64 72, !9, i64 80, !9, i64 88, !9, i64 96, !9, i64 104, !9, i64 112, !14, i64 120, !15, i64 128, !15, i64 136, !15, i64 144, !15, i64 152, !15, i64 160, !15, i64 168, !15, i64 176, !15, i64 184, !15, i64 192, !14, i64 200, !14, i64 204, !14, i64 208, !15, i64 216, !9, i64 224, !9, i64 232, !9, i64 240, !9, i64 248, !9, i64 256, !9, i64 264, !9, i64 272, !9, i64 280, !9, i64 288, !9, i64 296, !12, i64 304, !14, i64 312, !9, i64 320, !9, i64 328, !9, i64 336, !9, i64 344, !9, i64 352, !9, i64 360, !15, i64 368, !15, i64 376, !9, i64 384, !9, i64 392, !9, i64 400, !9, i64 408, !9, i64 416, !9, i64 424, !9, i64 432, !9, i64 440, !34, i64 448, !9, i64 472, !14, i64 480, !14, i64 484, !14, i64 488, !14, i64 492, !14, i64 496, !14, i64 500, !14, i64 504, !14, i64 508, !9, i64 512, !15, i64 520, !15, i64 528, !38, i64 536, !39, i64 540, !9, i64 544, !9, i64 552, !9, i64 560, !9, i64 568, !9, i64 576, !9, i64 584, !9, i64 592, !9, i64 600, !15, i64 608, !15, i64 616}
!34 = !{!"_ZTSSt6vectorIiSaIiEE", !35, i64 0}
!35 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !37, i64 0}
!37 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!38 = !{!"_ZTSN5nasoq10nasoq_modeE", !10, i64 0}
!39 = !{!"_ZTSN5nasoq12nasoq_statusE", !10, i64 0}
!40 = !{!33, !15, i64 144}
!41 = !{!33, !14, i64 208}
!42 = !{!33, !15, i64 216}
!43 = !{!33, !14, i64 488}
!44 = !{!33, !38, i64 536}
!45 = !{!12, !12, i64 0}
!46 = !{!33, !9, i64 552}
!47 = !{!48, !15, i64 64}
!48 = !{!"_ZTSN5nasoq7qp_infoE", !49, i64 0, !49, i64 8, !49, i64 16, !49, i64 24, !49, i64 32, !49, i64 40, !13, i64 48, !51, i64 56, !15, i64 64, !15, i64 72, !15, i64 80, !14, i64 88, !14, i64 92, !14, i64 96, !14, i64 100}
!49 = !{!"_ZTSNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEE", !50, i64 0}
!50 = !{!"_ZTSNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE", !12, i64 0}
!51 = !{!"_ZTSNSt6chrono8durationIdSt5ratioILl1ELl1EEEE", !15, i64 0}
!52 = !{!33, !14, i64 200}
!53 = !{!33, !14, i64 204}
!54 = !{!14, !14, i64 0}
!55 = !{!15, !15, i64 0}
!56 = !{!33, !14, i64 508}
!57 = !{!33, !15, i64 152}
!58 = !{!33, !14, i64 312}
!59 = !{!33, !15, i64 136}
!60 = distinct !{!60, !61}
!61 = !{!"llvm.loop.mustprogress"}
!62 = !{!33, !9, i64 48}
!63 = !{!64, !12, i64 8}
!64 = !{!"_ZTSN5nasoq12sympiler_CSCE", !12, i64 0, !12, i64 8, !12, i64 16, !9, i64 24, !9, i64 32, !9, i64 40, !9, i64 48, !9, i64 56, !14, i64 64, !14, i64 68, !14, i64 72, !14, i64 76, !14, i64 80, !14, i64 84}
!65 = !{!6, !9, i64 248}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MergedLoadStoreMotionPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass