; LLVM IR from wichue/nethello :: src/core/press/PressModel.ll (ZN3chw10PressModel12prepare_exitEv)

; 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"

%"struct.chw::ConfigCmd" = type { i8, ptr, i32, i32, i16, i32, double, ptr, i32, i32, i32, i16, ptr, [6 x i8], 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 }
%"class.chw::LogContextCapture" = type { %"class.std::shared_ptr.9", ptr }
%"class.std::shared_ptr.9" = type { %"class.std::__shared_ptr.10" }
%"class.std::__shared_ptr.10" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"struct.std::_Setw" = type { i32 }
%"struct.std::_Setprecision" = type { i32 }
%"class.chw::PressModel" = type <{ %"class.chw::workmodel", %"class.std::shared_ptr.0", %"class.std::shared_ptr.3", %"class.std::shared_ptr.6", i8, [7 x i8], %"class.chw::Ticker", %"class.chw::Ticker", %"class.std::__cxx11::basic_string", i64, i64, i64, i32, i32, i64, i64, i64, i64, i8, [7 x i8] }>
%"class.chw::workmodel" = type { ptr, %"class.std::enable_shared_from_this", %"class.std::shared_ptr" }
%"class.std::enable_shared_from_this" = type { %"class.std::weak_ptr" }
%"class.std::weak_ptr" = type { %"class.std::__weak_ptr" }
%"class.std::__weak_ptr" = type { ptr, %"class.std::__weak_count" }
%"class.std::__weak_count" = type { ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.0" = type { %"class.std::__shared_ptr.1" }
%"class.std::__shared_ptr.1" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.3" = type { %"class.std::__shared_ptr.4" }
%"class.std::__shared_ptr.4" = type { ptr, %"class.std::__shared_count" }
%"class.std::shared_ptr.6" = type { %"class.std::__shared_ptr.7" }
%"class.std::__shared_ptr.7" = type { ptr, %"class.std::__shared_count" }
%"class.chw::Ticker" = type { i64, i64, i64, %"class.chw::LogContextCapture" }

@.str.1 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZN3chw10gConfigCmdE = external global %"struct.chw::ConfigCmd", align 8
@.str.5 = external hidden unnamed_addr constant [79 x i8], align 1
@__FUNCTION__._ZN3chw10PressModel12prepare_exitEv = external hidden unnamed_addr constant [13 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1

declare i32 @__gxx_personality_v0(...)

declare void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef) unnamed_addr #0

; Function Attrs: nounwind
declare void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

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

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

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

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

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

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

declare void @_ZN3chw13LoggerWrapper8printLogERNS_6LoggerEiPKcS4_iS4_z(ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ...) #0

declare noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv() #0

declare i32 @usleep(i32 noundef) #0

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN3chw10PressModel12prepare_exitEv(ptr noundef nonnull align 8 dereferenceable(289) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = alloca double, align 8
  %5 = alloca i64, align 8
  %6 = alloca double, align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.chw::LogContextCapture", align 8
  %12 = alloca %"struct.std::_Setw", align 4
  %13 = alloca %"struct.std::_Setprecision", align 4
  %14 = alloca %"struct.std::_Setw", align 4
  %15 = alloca %"struct.std::_Setprecision", align 4
  %16 = alloca i32, align 4
  %17 = alloca double, align 8
  %18 = alloca %"class.chw::LogContextCapture", align 8
  %19 = alloca %"struct.std::_Setw", align 4
  %20 = alloca %"struct.std::_Setprecision", align 4
  %21 = alloca %"struct.std::_Setw", align 4
  %22 = alloca %"struct.std::_Setprecision", align 4
  %23 = alloca %"struct.std::_Setprecision", align 4
  %24 = alloca %"class.chw::LogContextCapture", align 8
  %25 = alloca %"struct.std::_Setw", align 4
  %26 = alloca %"struct.std::_Setprecision", align 4
  %27 = alloca %"struct.std::_Setw", align 4
  %28 = alloca %"struct.std::_Setprecision", align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %29 = load ptr, ptr %2, align 8
  %30 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 4
  store i8 0, ptr %30, align 8, !tbaa !9
  %31 = call i32 @usleep(i32 noundef 100000)
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #7
  %32 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 7
  %33 = call noundef i64 @_ZNK3chw6Ticker11elapsedTimeEv(ptr noundef nonnull align 8 dereferenceable(48) %32)
  %34 = trunc i64 %33 to i32
  store i32 %34, ptr %3, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #7
  store double 0.000000e+00, ptr %4, align 8, !tbaa !35
  %35 = load i32, ptr %3, align 4, !tbaa !34
  %36 = icmp ugt i32 %35, 0
  br i1 %36, label %37, label %41

37:                                               ; preds = %1
  %38 = load i32, ptr %3, align 4, !tbaa !34
  %39 = uitofp i32 %38 to double
  %40 = fdiv double %39, 1.000000e+03
  store double %40, ptr %4, align 8, !tbaa !35
  br label %42

41:                                               ; preds = %1
  store double 1.000000e+00, ptr %4, align 8, !tbaa !35
  br label %42

42:                                               ; preds = %41, %37
  %43 = load double, ptr %4, align 8, !tbaa !35
  %44 = fcmp oeq double %43, 0.000000e+00
  br i1 %44, label %45, label %46

45:                                               ; preds = %42
  store double 1.000000e+00, ptr %4, align 8, !tbaa !35
  br label %46

46:                                               ; preds = %45, %42
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #7
  store i64 0, ptr %5, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #7
  store double 0.000000e+00, ptr %6, align 8, !tbaa !35
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %47 unwind label %68

47:                                               ; preds = %46
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #7
  %48 = load i8, ptr @_ZN3chw10gConfigCmdE, align 8, !tbaa !38
  %49 = sext i8 %48 to i32
  %50 = icmp eq i32 %49, 115
  br i1 %50, label %51, label %76

51:                                               ; preds = %47
  %52 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 1
  %53 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN3chw6ServerELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  %54 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 14
  %55 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 15
  %56 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 16
  %57 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 17
  %58 = load ptr, ptr %53, align 8, !tbaa !43
  %59 = getelementptr inbounds ptr, ptr %58, i64 3
  %60 = load ptr, ptr %59, align 8
  invoke void %60(ptr noundef nonnull align 8 dereferenceable(120) %53, ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %61 unwind label %72

61:                                               ; preds = %51
  %62 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 16
  %63 = load i64, ptr %62, align 8, !tbaa !45
  %64 = uitofp i64 %63 to double
  %65 = load double, ptr %4, align 8, !tbaa !35
  %66 = fdiv double %64, %65
  %67 = fptoui double %66 to i64
  store i64 %67, ptr %5, align 8, !tbaa !37
  br label %83

68:                                               ; preds = %46
  %69 = landingpad { ptr, i32 }
          cleanup
  %70 = extractvalue { ptr, i32 } %69, 0
  store ptr %70, ptr %9, align 8
  %71 = extractvalue { ptr, i32 } %69, 1
  store i32 %71, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #7
  br label %380

72:                                               ; preds = %87, %85, %83, %51
  %73 = landingpad { ptr, i32 }
          cleanup
  %74 = extractvalue { ptr, i32 } %73, 0
  store ptr %74, ptr %9, align 8
  %75 = extractvalue { ptr, i32 } %73, 1
  store i32 %75, ptr %10, align 4
  br label %379

76:                                               ; preds = %47
  %77 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 11
  %78 = load i64, ptr %77, align 8, !tbaa !46
  %79 = uitofp i64 %78 to double
  %80 = load double, ptr %4, align 8, !tbaa !35
  %81 = fdiv double %79, %80
  %82 = fptoui double %81 to i64
  store i64 %82, ptr %5, align 8, !tbaa !37
  br label %83

83:                                               ; preds = %76, %61
  %84 = load i64, ptr %5, align 8, !tbaa !37
  invoke void @_ZN3chw11speed_humanEmRdRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i64 noundef %84, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %85 unwind label %72

85:                                               ; preds = %83
  %86 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %87 unwind label %72

87:                                               ; preds = %85
  invoke void (ptr, i32, ptr, ptr, i32, ptr, ...) @_ZN3chw13LoggerWrapper8printLogERNS_6LoggerEiPKcS4_iS4_z(ptr noundef nonnull align 8 dereferenceable(144) %86, i32 noundef 1, ptr noundef @.str.5, ptr noundef @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 170, ptr noundef @.str.9)
          to label %88 unwind label %72

88:                                               ; preds = %87
  %89 = load i32, ptr getelementptr inbounds (%"struct.chw::ConfigCmd", ptr @_ZN3chw10gConfigCmdE, i32 0, i32 2), align 8, !tbaa !47
  %90 = icmp eq i32 %89, 0
  br i1 %90, label %91, label %160

91:                                               ; preds = %88
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #7
  %92 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %93 unwind label %131

93:                                               ; preds = %91
  invoke void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(144) %92, i32 noundef 2, ptr noundef @.str.5, ptr noundef @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 174, ptr noundef @.str.1)
          to label %94 unwind label %131

94:                                               ; preds = %93
  %95 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull @_ZSt4leftRSt8ios_base)
          to label %96 unwind label %135

96:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #7
  %97 = invoke i32 @_ZSt4setwi(i32 noundef 16)
          to label %98 unwind label %139

98:                                               ; preds = %96
  %99 = getelementptr inbounds %"struct.std::_Setw", ptr %12, i32 0, i32 0
  store i32 %97, ptr %99, align 4
  %100 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %95, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %101 unwind label %139

101:                                              ; preds = %98
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  %102 = invoke i32 @_ZSt12setprecisioni(i32 noundef 0)
          to label %103 unwind label %143

103:                                              ; preds = %101
  %104 = getelementptr inbounds %"struct.std::_Setprecision", ptr %13, i32 0, i32 0
  store i32 %102, ptr %104, align 4
  %105 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %106 unwind label %143

106:                                              ; preds = %103
  %107 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %105, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %108 unwind label %143

108:                                              ; preds = %106
  %109 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %107, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %110 unwind label %143

110:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  %111 = invoke i32 @_ZSt4setwi(i32 noundef 8)
          to label %112 unwind label %147

112:                                              ; preds = %110
  %113 = getelementptr inbounds %"struct.std::_Setw", ptr %14, i32 0, i32 0
  store i32 %111, ptr %113, align 4
  %114 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 4 dereferenceable(4) %14)
          to label %115 unwind label %147

115:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  %116 = invoke i32 @_ZSt12setprecisioni(i32 noundef 2)
          to label %117 unwind label %151

117:                                              ; preds = %115
  %118 = getelementptr inbounds %"struct.std::_Setprecision", ptr %15, i32 0, i32 0
  store i32 %116, ptr %118, align 4
  %119 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %120 unwind label %151

120:                                              ; preds = %117
  %121 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %119, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %122 unwind label %151

122:                                              ; preds = %120
  %123 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %124 unwind label %151

124:                                              ; preds = %122
  %125 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %126 unwind label %151

126:                                              ; preds = %124
  %127 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %128 unwind label %151

128:                                              ; preds = %126
  %129 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %127, ptr noundef nonnull align 1 dereferenceable(2) @.str.11)
          to label %130 unwind label %151

130:                                              ; preds = %128
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  br label %378

131:                                              ; preds = %93, %91
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %9, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %10, align 4
  br label %159

135:                                              ; preds = %94
  %136 = landingpad { ptr, i32 }
          cleanup
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %9, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %10, align 4
  br label %158

139:                                              ; preds = %98, %96
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %9, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %10, align 4
  br label %157

143:                                              ; preds = %108, %106, %103, %101
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %9, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %10, align 4
  br label %156

147:                                              ; preds = %112, %110
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %9, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %10, align 4
  br label %155

151:                                              ; preds = %128, %126, %124, %122, %120, %117, %115
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %9, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  br label %155

155:                                              ; preds = %151, %147
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  br label %156

156:                                              ; preds = %155, %143
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  br label %157

157:                                              ; preds = %156, %139
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  br label %158

158:                                              ; preds = %157, %135
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  br label %159

159:                                              ; preds = %158, %131
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  br label %379

160:                                              ; preds = %88
  %161 = load i8, ptr @_ZN3chw10gConfigCmdE, align 8, !tbaa !38
  %162 = sext i8 %161 to i32
  %163 = icmp eq i32 %162, 115
  br i1 %163, label %164, label %293

164:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  %165 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 15
  %166 = load i64, ptr %165, align 8, !tbaa !48
  %167 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 14
  %168 = load i64, ptr %167, align 8, !tbaa !49
  %169 = sub i64 %166, %168
  %170 = trunc i64 %169 to i32
  store i32 %170, ptr %16, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  store double 0.000000e+00, ptr %17, align 8, !tbaa !35
  %171 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 15
  %172 = load i64, ptr %171, align 8, !tbaa !48
  %173 = icmp ugt i64 %172, 0
  br i1 %173, label %174, label %182

174:                                              ; preds = %164
  %175 = load i32, ptr %16, align 4, !tbaa !34
  %176 = uitofp i32 %175 to double
  %177 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 15
  %178 = load i64, ptr %177, align 8, !tbaa !48
  %179 = uitofp i64 %178 to double
  %180 = fdiv double %176, %179
  %181 = fmul double %180, 1.000000e+02
  store double %181, ptr %17, align 8, !tbaa !35
  br label %182

182:                                              ; preds = %174, %164
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #7
  %183 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %184 unwind label %259

184:                                              ; preds = %182
  invoke void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(144) %183, i32 noundef 2, ptr noundef @.str.5, ptr noundef @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 187, ptr noundef @.str.1)
          to label %185 unwind label %259

185:                                              ; preds = %184
  %186 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull @_ZSt4leftRSt8ios_base)
          to label %187 unwind label %263

187:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  %188 = invoke i32 @_ZSt4setwi(i32 noundef 16)
          to label %189 unwind label %267

189:                                              ; preds = %187
  %190 = getelementptr inbounds %"struct.std::_Setw", ptr %19, i32 0, i32 0
  store i32 %188, ptr %190, align 4
  %191 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %186, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %192 unwind label %267

192:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #7
  %193 = invoke i32 @_ZSt12setprecisioni(i32 noundef 0)
          to label %194 unwind label %271

194:                                              ; preds = %192
  %195 = getelementptr inbounds %"struct.std::_Setprecision", ptr %20, i32 0, i32 0
  store i32 %193, ptr %195, align 4
  %196 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %191, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %197 unwind label %271

197:                                              ; preds = %194
  %198 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %196, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %199 unwind label %271

199:                                              ; preds = %197
  %200 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %198, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %201 unwind label %271

201:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #7
  %202 = invoke i32 @_ZSt4setwi(i32 noundef 8)
          to label %203 unwind label %275

203:                                              ; preds = %201
  %204 = getelementptr inbounds %"struct.std::_Setw", ptr %21, i32 0, i32 0
  store i32 %202, ptr %204, align 4
  %205 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %200, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %206 unwind label %275

206:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  %207 = invoke i32 @_ZSt12setprecisioni(i32 noundef 2)
          to label %208 unwind label %279

208:                                              ; preds = %206
  %209 = getelementptr inbounds %"struct.std::_Setprecision", ptr %22, i32 0, i32 0
  store i32 %207, ptr %209, align 4
  %210 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %205, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %211 unwind label %279

211:                                              ; preds = %208
  %212 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %210, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %213 unwind label %279

213:                                              ; preds = %211
  %214 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %212, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %215 unwind label %279

215:                                              ; preds = %213
  %216 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %214, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %217 unwind label %279

217:                                              ; preds = %215
  %218 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %216, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %219 unwind label %279

219:                                              ; preds = %217
  %220 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %218, ptr noundef nonnull align 1 dereferenceable(2) @.str.11)
          to label %221 unwind label %279

221:                                              ; preds = %219
  %222 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA7_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %220, ptr noundef nonnull align 1 dereferenceable(7) @.str.12)
          to label %223 unwind label %279

223:                                              ; preds = %221
  %224 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 8
  %225 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %222, ptr noundef nonnull align 8 dereferenceable(32) %224)
          to label %226 unwind label %279

226:                                              ; preds = %223
  %227 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA6_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %225, ptr noundef nonnull align 1 dereferenceable(6) @.str.13)
          to label %228 unwind label %279

228:                                              ; preds = %226
  %229 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 14
  %230 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %227, ptr noundef nonnull align 8 dereferenceable(8) %229)
          to label %231 unwind label %279

231:                                              ; preds = %228
  %232 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA8_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %230, ptr noundef nonnull align 1 dereferenceable(8) @.str.14)
          to label %233 unwind label %279

233:                                              ; preds = %231
  %234 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 16
  %235 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %232, ptr noundef nonnull align 8 dereferenceable(8) %234)
          to label %236 unwind label %279

236:                                              ; preds = %233
  %237 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA6_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %235, ptr noundef nonnull align 1 dereferenceable(6) @.str.15)
          to label %238 unwind label %279

238:                                              ; preds = %236
  %239 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 15
  %240 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %237, ptr noundef nonnull align 8 dereferenceable(8) %239)
          to label %241 unwind label %279

241:                                              ; preds = %238
  %242 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA7_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %240, ptr noundef nonnull align 1 dereferenceable(7) @.str.16)
          to label %243 unwind label %279

243:                                              ; preds = %241
  %244 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRjEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %242, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %245 unwind label %279

245:                                              ; preds = %243
  %246 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %244, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %247 unwind label %279

247:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #7
  %248 = invoke i32 @_ZSt12setprecisioni(i32 noundef 2)
          to label %249 unwind label %283

249:                                              ; preds = %247
  %250 = getelementptr inbounds %"struct.std::_Setprecision", ptr %23, i32 0, i32 0
  store i32 %248, ptr %250, align 4
  %251 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %246, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %252 unwind label %283

252:                                              ; preds = %249
  %253 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %251, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %254 unwind label %283

254:                                              ; preds = %252
  %255 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %253, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %256 unwind label %283

256:                                              ; preds = %254
  %257 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA3_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %255, ptr noundef nonnull align 1 dereferenceable(3) @.str.17)
          to label %258 unwind label %283

258:                                              ; preds = %256
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  br label %377

259:                                              ; preds = %184, %182
  %260 = landingpad { ptr, i32 }
          cleanup
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %9, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %10, align 4
  br label %292

263:                                              ; preds = %185
  %264 = landingpad { ptr, i32 }
          cleanup
  %265 = extractvalue { ptr, i32 } %264, 0
  store ptr %265, ptr %9, align 8
  %266 = extractvalue { ptr, i32 } %264, 1
  store i32 %266, ptr %10, align 4
  br label %291

267:                                              ; preds = %189, %187
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %9, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %10, align 4
  br label %290

271:                                              ; preds = %199, %197, %194, %192
  %272 = landingpad { ptr, i32 }
          cleanup
  %273 = extractvalue { ptr, i32 } %272, 0
  store ptr %273, ptr %9, align 8
  %274 = extractvalue { ptr, i32 } %272, 1
  store i32 %274, ptr %10, align 4
  br label %289

275:                                              ; preds = %203, %201
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %9, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %10, align 4
  br label %288

279:                                              ; preds = %245, %243, %241, %238, %236, %233, %231, %228, %226, %223, %221, %219, %217, %215, %213, %211, %208, %206
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %9, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %10, align 4
  br label %287

283:                                              ; preds = %256, %254, %252, %249, %247
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %9, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  br label %287

287:                                              ; preds = %283, %279
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %288

288:                                              ; preds = %287, %275
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  br label %289

289:                                              ; preds = %288, %271
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  br label %290

290:                                              ; preds = %289, %267
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  br label %291

291:                                              ; preds = %290, %263
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  br label %292

292:                                              ; preds = %291, %259
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  br label %379

293:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #7
  %294 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %295 unwind label %348

295:                                              ; preds = %293
  invoke void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(144) %294, i32 noundef 2, ptr noundef @.str.5, ptr noundef @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 195, ptr noundef @.str.1)
          to label %296 unwind label %348

296:                                              ; preds = %295
  %297 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull @_ZSt4leftRSt8ios_base)
          to label %298 unwind label %352

298:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  %299 = invoke i32 @_ZSt4setwi(i32 noundef 16)
          to label %300 unwind label %356

300:                                              ; preds = %298
  %301 = getelementptr inbounds %"struct.std::_Setw", ptr %25, i32 0, i32 0
  store i32 %299, ptr %301, align 4
  %302 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %297, ptr noundef nonnull align 4 dereferenceable(4) %25)
          to label %303 unwind label %356

303:                                              ; preds = %300
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  %304 = invoke i32 @_ZSt12setprecisioni(i32 noundef 0)
          to label %305 unwind label %360

305:                                              ; preds = %303
  %306 = getelementptr inbounds %"struct.std::_Setprecision", ptr %26, i32 0, i32 0
  store i32 %304, ptr %306, align 4
  %307 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %302, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %308 unwind label %360

308:                                              ; preds = %305
  %309 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %307, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %310 unwind label %360

310:                                              ; preds = %308
  %311 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %309, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %312 unwind label %360

312:                                              ; preds = %310
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  %313 = invoke i32 @_ZSt4setwi(i32 noundef 8)
          to label %314 unwind label %364

314:                                              ; preds = %312
  %315 = getelementptr inbounds %"struct.std::_Setw", ptr %27, i32 0, i32 0
  store i32 %313, ptr %315, align 4
  %316 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %311, ptr noundef nonnull align 4 dereferenceable(4) %27)
          to label %317 unwind label %364

317:                                              ; preds = %314
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  %318 = invoke i32 @_ZSt12setprecisioni(i32 noundef 2)
          to label %319 unwind label %368

319:                                              ; preds = %317
  %320 = getelementptr inbounds %"struct.std::_Setprecision", ptr %28, i32 0, i32 0
  store i32 %318, ptr %320, align 4
  %321 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %316, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %322 unwind label %368

322:                                              ; preds = %319
  %323 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %321, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %324 unwind label %368

324:                                              ; preds = %322
  %325 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %323, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %326 unwind label %368

326:                                              ; preds = %324
  %327 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %325, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %328 unwind label %368

328:                                              ; preds = %326
  %329 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %327, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %330 unwind label %368

330:                                              ; preds = %328
  %331 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %329, ptr noundef nonnull align 1 dereferenceable(2) @.str.11)
          to label %332 unwind label %368

332:                                              ; preds = %330
  %333 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA7_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %331, ptr noundef nonnull align 1 dereferenceable(7) @.str.12)
          to label %334 unwind label %368

334:                                              ; preds = %332
  %335 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 8
  %336 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %333, ptr noundef nonnull align 8 dereferenceable(32) %335)
          to label %337 unwind label %368

337:                                              ; preds = %334
  %338 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA6_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %336, ptr noundef nonnull align 1 dereferenceable(6) @.str.13)
          to label %339 unwind label %368

339:                                              ; preds = %337
  %340 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 9
  %341 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %338, ptr noundef nonnull align 8 dereferenceable(8) %340)
          to label %342 unwind label %368

342:                                              ; preds = %339
  %343 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA8_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %341, ptr noundef nonnull align 1 dereferenceable(8) @.str.14)
          to label %344 unwind label %368

344:                                              ; preds = %342
  %345 = getelementptr inbounds %"class.chw::PressModel", ptr %29, i32 0, i32 11
  %346 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %343, ptr noundef nonnull align 8 dereferenceable(8) %345)
          to label %347 unwind label %368

347:                                              ; preds = %344
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  br label %377

348:                                              ; preds = %295, %293
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %9, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %10, align 4
  br label %376

352:                                              ; preds = %296
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %9, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %10, align 4
  br label %375

356:                                              ; preds = %300, %298
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %9, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %10, align 4
  br label %374

360:                                              ; preds = %310, %308, %305, %303
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %9, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %10, align 4
  br label %373

364:                                              ; preds = %314, %312
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %9, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %10, align 4
  br label %372

368:                                              ; preds = %344, %342, %339, %337, %334, %332, %330, %328, %326, %324, %322, %319, %317
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %9, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  br label %372

372:                                              ; preds = %368, %364
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br label %373

373:                                              ; preds = %372, %360
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  br label %374

374:                                              ; preds = %373, %356
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  br label %375

375:                                              ; preds = %374, %352
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  br label %376

376:                                              ; preds = %375, %348
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  br label %379

377:                                              ; preds = %347, %258
  br label %378

378:                                              ; preds = %377, %130
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  ret void

379:                                              ; preds = %376, %292, %159, %72
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %380

380:                                              ; preds = %379, %68
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  br label %381

381:                                              ; preds = %380
  %382 = load ptr, ptr %9, align 8
  %383 = load i32, ptr %10, align 4
  %384 = insertvalue { ptr, i32 } poison, ptr %382, 0
  %385 = insertvalue { ptr, i32 } %384, i32 %383, 1
  resume { ptr, i32 } %385
}

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

declare void @_ZN3chw11speed_humanEmRdRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i64 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #0

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt4setwi(i32 noundef) #6

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt12setprecisioni(i32 noundef) #6

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

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !25, i64 88}
!10 = !{!"_ZTSN3chw10PressModelE", !11, i64 0, !19, i64 40, !21, i64 56, !23, i64 72, !25, i64 88, !26, i64 96, !26, i64 144, !31, i64 192, !27, i64 224, !27, i64 232, !27, i64 240, !33, i64 248, !33, i64 252, !27, i64 256, !27, i64 264, !27, i64 272, !27, i64 280, !25, i64 288}
!11 = !{!"_ZTSN3chw9workmodelE", !12, i64 8, !16, i64 24}
!12 = !{!"_ZTSSt23enable_shared_from_thisIN3chw9workmodelEE", !13, i64 0}
!13 = !{!"_ZTSSt8weak_ptrIN3chw9workmodelEE", !14, i64 0}
!14 = !{!"_ZTSSt10__weak_ptrIN3chw9workmodelELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !15, i64 8}
!15 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!16 = !{!"_ZTSSt10shared_ptrIN3chw9EventLoopEE", !17, i64 0}
!17 = !{!"_ZTSSt12__shared_ptrIN3chw9EventLoopELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !18, i64 8}
!18 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!19 = !{!"_ZTSSt10shared_ptrIN3chw6ServerEE", !20, i64 0}
!20 = !{!"_ZTSSt12__shared_ptrIN3chw6ServerELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !18, i64 8}
!21 = !{!"_ZTSSt10shared_ptrIN3chw6ClientEE", !22, i64 0}
!22 = !{!"_ZTSSt12__shared_ptrIN3chw6ClientELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !18, i64 8}
!23 = !{!"_ZTSSt10shared_ptrIN3chw5TimerEE", !24, i64 0}
!24 = !{!"_ZTSSt12__shared_ptrIN3chw5TimerELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !18, i64 8}
!25 = !{!"bool", !7, i64 0}
!26 = !{!"_ZTSN3chw6TickerE", !27, i64 0, !27, i64 8, !27, i64 16, !28, i64 24}
!27 = !{!"long", !7, i64 0}
!28 = !{!"_ZTSN3chw17LogContextCaptureE", !29, i64 0, !6, i64 16}
!29 = !{!"_ZTSSt10shared_ptrIN3chw10LogContextEE", !30, i64 0}
!30 = !{!"_ZTSSt12__shared_ptrIN3chw10LogContextELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !18, i64 8}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !32, i64 0, !27, i64 8, !7, i64 16}
!32 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!33 = !{!"int", !7, i64 0}
!34 = !{!33, !33, i64 0}
!35 = !{!36, !36, i64 0}
!36 = !{!"double", !7, i64 0}
!37 = !{!27, !27, i64 0}
!38 = !{!39, !7, i64 0}
!39 = !{!"_ZTSN3chw9ConfigCmdE", !7, i64 0, !6, i64 8, !40, i64 16, !33, i64 20, !41, i64 24, !33, i64 28, !36, i64 32, !6, i64 40, !33, i64 48, !33, i64 52, !42, i64 56, !41, i64 60, !6, i64 64, !7, i64 72, !6, i64 80, !6, i64 88, !6, i64 96}
!40 = !{!"_ZTSN3chw7SockNum8SockTypeE", !7, i64 0}
!41 = !{!"short", !7, i64 0}
!42 = !{!"_ZTSN3chw9WorkModelE", !7, i64 0}
!43 = !{!44, !44, i64 0}
!44 = !{!"vtable pointer", !8, i64 0}
!45 = !{!10, !27, i64 272}
!46 = !{!10, !27, i64 240}
!47 = !{!39, !40, i64 16}
!48 = !{!10, !27, i64 264}
!49 = !{!10, !27, i64 256}


; 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"

%"struct.chw::ConfigCmd" = type { i8, ptr, i32, i32, i16, i32, double, ptr, i32, i32, i32, i16, ptr, [6 x i8], 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 }
%"class.chw::LogContextCapture" = type { %"class.std::shared_ptr.9", ptr }
%"class.std::shared_ptr.9" = type { %"class.std::__shared_ptr.10" }
%"class.std::__shared_ptr.10" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"struct.std::_Setw" = type { i32 }
%"struct.std::_Setprecision" = type { i32 }

@.str.1 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZN3chw10gConfigCmdE = external local_unnamed_addr global %"struct.chw::ConfigCmd", align 8
@.str.5 = external hidden unnamed_addr constant [79 x i8], align 1
@__FUNCTION__._ZN3chw10PressModel12prepare_exitEv = external hidden unnamed_addr constant [13 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1

declare i32 @__gxx_personality_v0(...)

declare void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef) unnamed_addr #0

; Function Attrs: nounwind
declare void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1

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

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

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

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

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

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

declare void @_ZN3chw13LoggerWrapper8printLogERNS_6LoggerEiPKcS4_iS4_z(ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ...) local_unnamed_addr #0

declare noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv() local_unnamed_addr #0

declare i32 @usleep(i32 noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN3chw10PressModel12prepare_exitEv(ptr noundef nonnull align 8 dereferenceable(289) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca double, align 8
  %3 = alloca double, align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator", align 1
  %6 = alloca %"class.chw::LogContextCapture", align 8
  %7 = alloca %"struct.std::_Setw", align 4
  %8 = alloca %"struct.std::_Setprecision", align 4
  %9 = alloca %"struct.std::_Setw", align 4
  %10 = alloca %"struct.std::_Setprecision", align 4
  %11 = alloca i32, align 4
  %12 = alloca double, align 8
  %13 = alloca %"class.chw::LogContextCapture", align 8
  %14 = alloca %"struct.std::_Setw", align 4
  %15 = alloca %"struct.std::_Setprecision", align 4
  %16 = alloca %"struct.std::_Setw", align 4
  %17 = alloca %"struct.std::_Setprecision", align 4
  %18 = alloca %"struct.std::_Setprecision", align 4
  %19 = alloca %"class.chw::LogContextCapture", align 8
  %20 = alloca %"struct.std::_Setw", align 4
  %21 = alloca %"struct.std::_Setprecision", align 4
  %22 = alloca %"struct.std::_Setw", align 4
  %23 = alloca %"struct.std::_Setprecision", align 4
  %24 = getelementptr inbounds i8, ptr %0, i64 88
  store i8 0, ptr %24, align 8, !tbaa !5
  %25 = tail call i32 @usleep(i32 noundef 100000)
  %26 = getelementptr inbounds i8, ptr %0, i64 144
  %27 = tail call noundef i64 @_ZNK3chw6Ticker11elapsedTimeEv(ptr noundef nonnull align 8 dereferenceable(48) %26)
  %28 = trunc i64 %27 to i32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #7
  %.not = icmp eq i32 %28, 0
  %29 = uitofp i32 %28 to double
  %30 = fdiv double %29, 1.000000e+03
  %storemerge = select i1 %.not, double 1.000000e+00, double %30
  %31 = fcmp oeq double %storemerge, 0.000000e+00
  %storemerge28 = select i1 %31, double 1.000000e+00, double %storemerge
  store double %storemerge28, ptr %2, align 8, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #7
  store double 0.000000e+00, ptr %3, align 8, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %32 unwind label %50

32:                                               ; preds = %1
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  %33 = load i8, ptr @_ZN3chw10gConfigCmdE, align 8, !tbaa !35
  %34 = icmp eq i8 %33, 115
  br i1 %34, label %35, label %54

35:                                               ; preds = %32
  %36 = getelementptr inbounds i8, ptr %0, i64 40
  %37 = call noundef ptr @_ZNKSt19__shared_ptr_accessIN3chw6ServerELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  %38 = getelementptr inbounds i8, ptr %0, i64 256
  %39 = getelementptr inbounds i8, ptr %0, i64 264
  %40 = getelementptr inbounds i8, ptr %0, i64 272
  %41 = getelementptr inbounds i8, ptr %0, i64 280
  %42 = load ptr, ptr %37, align 8, !tbaa !40
  %43 = getelementptr inbounds i8, ptr %42, i64 24
  %44 = load ptr, ptr %43, align 8
  invoke void %44(ptr noundef nonnull align 8 dereferenceable(120) %37, ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %45 unwind label %52

45:                                               ; preds = %35
  %46 = load i64, ptr %40, align 8, !tbaa !42
  %47 = uitofp i64 %46 to double
  %48 = load double, ptr %2, align 8, !tbaa !33
  %49 = fdiv double %47, %48
  br label %60

50:                                               ; preds = %1
  %51 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  br label %280

52:                                               ; preds = %63, %61, %60, %35
  %53 = landingpad { ptr, i32 }
          cleanup
  br label %279

54:                                               ; preds = %32
  %55 = getelementptr inbounds i8, ptr %0, i64 240
  %56 = load i64, ptr %55, align 8, !tbaa !43
  %57 = uitofp i64 %56 to double
  %58 = load double, ptr %2, align 8, !tbaa !33
  %59 = fdiv double %57, %58
  br label %60

60:                                               ; preds = %54, %45
  %.025.in = phi double [ %49, %45 ], [ %59, %54 ]
  %.025 = fptoui double %.025.in to i64
  invoke void @_ZN3chw11speed_humanEmRdRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i64 noundef %.025, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %61 unwind label %52

61:                                               ; preds = %60
  %62 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %63 unwind label %52

63:                                               ; preds = %61
  invoke void (ptr, i32, ptr, ptr, i32, ptr, ...) @_ZN3chw13LoggerWrapper8printLogERNS_6LoggerEiPKcS4_iS4_z(ptr noundef nonnull align 8 dereferenceable(144) %62, i32 noundef 1, ptr noundef nonnull @.str.5, ptr noundef nonnull @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 170, ptr noundef nonnull @.str.9)
          to label %64 unwind label %52

64:                                               ; preds = %63
  %65 = load i32, ptr getelementptr inbounds (i8, ptr @_ZN3chw10gConfigCmdE, i64 16), align 8, !tbaa !44
  %66 = icmp eq i32 %65, 0
  br i1 %66, label %67, label %116

67:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  %68 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %69 unwind label %99

69:                                               ; preds = %67
  invoke void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(144) %68, i32 noundef 2, ptr noundef nonnull @.str.5, ptr noundef nonnull @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 174, ptr noundef nonnull @.str.1)
          to label %70 unwind label %99

70:                                               ; preds = %69
  %71 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull @_ZSt4leftRSt8ios_base)
          to label %72 unwind label %101

72:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #7
  %73 = call i32 @_ZSt4setwi(i32 noundef 16)
  store i32 %73, ptr %7, align 4
  %74 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %71, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %75 unwind label %103

75:                                               ; preds = %72
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  %76 = call i32 @_ZSt12setprecisioni(i32 noundef 0)
  store i32 %76, ptr %8, align 4
  %77 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %78 unwind label %105

78:                                               ; preds = %75
  %79 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %80 unwind label %105

80:                                               ; preds = %78
  %81 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %79, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %82 unwind label %105

82:                                               ; preds = %80
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #7
  %83 = call i32 @_ZSt4setwi(i32 noundef 8)
  store i32 %83, ptr %9, align 4
  %84 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %85 unwind label %107

85:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #7
  %86 = call i32 @_ZSt12setprecisioni(i32 noundef 2)
  store i32 %86, ptr %10, align 4
  %87 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %88 unwind label %109

88:                                               ; preds = %85
  %89 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %90 unwind label %109

90:                                               ; preds = %88
  %91 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %89, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %92 unwind label %109

92:                                               ; preds = %90
  %93 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %94 unwind label %109

94:                                               ; preds = %92
  %95 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %96 unwind label %109

96:                                               ; preds = %94
  %97 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %95, ptr noundef nonnull align 1 dereferenceable(2) @.str.11)
          to label %98 unwind label %109

98:                                               ; preds = %96
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #7
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  br label %278

99:                                               ; preds = %69, %67
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %115

101:                                              ; preds = %70
  %102 = landingpad { ptr, i32 }
          cleanup
  br label %114

103:                                              ; preds = %72
  %104 = landingpad { ptr, i32 }
          cleanup
  br label %113

105:                                              ; preds = %80, %78, %75
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %112

107:                                              ; preds = %82
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %111

109:                                              ; preds = %96, %94, %92, %90, %88, %85
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  br label %111

111:                                              ; preds = %109, %107
  %.pn42 = phi { ptr, i32 } [ %110, %109 ], [ %108, %107 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #7
  br label %112

112:                                              ; preds = %111, %105
  %.pn42.pn = phi { ptr, i32 } [ %.pn42, %111 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  br label %113

113:                                              ; preds = %112, %103
  %.pn42.pn.pn = phi { ptr, i32 } [ %.pn42.pn, %112 ], [ %104, %103 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #7
  br label %114

114:                                              ; preds = %113, %101
  %.pn42.pn.pn.pn = phi { ptr, i32 } [ %.pn42.pn.pn, %113 ], [ %102, %101 ]
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  br label %115

115:                                              ; preds = %114, %99
  %.pn42.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn42.pn.pn.pn, %114 ], [ %100, %99 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  br label %279

116:                                              ; preds = %64
  %117 = load i8, ptr @_ZN3chw10gConfigCmdE, align 8, !tbaa !35
  %118 = icmp eq i8 %117, 115
  br i1 %118, label %119, label %214

119:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #7
  %120 = getelementptr inbounds i8, ptr %0, i64 264
  %121 = load i64, ptr %120, align 8, !tbaa !45
  %122 = getelementptr inbounds i8, ptr %0, i64 256
  %123 = load i64, ptr %122, align 8, !tbaa !46
  %124 = sub i64 %121, %123
  %125 = trunc i64 %124 to i32
  store i32 %125, ptr %11, align 4, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  %.not34 = icmp eq i64 %121, 0
  %126 = uitofp i32 %125 to double
  %127 = uitofp i64 %121 to double
  %128 = fdiv double %126, %127
  %129 = fmul double %128, 1.000000e+02
  %storemerge50 = select i1 %.not34, double 0.000000e+00, double %129
  store double %storemerge50, ptr %12, align 8, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #7
  %130 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %131 unwind label %194

131:                                              ; preds = %119
  invoke void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(144) %130, i32 noundef 2, ptr noundef nonnull @.str.5, ptr noundef nonnull @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 187, ptr noundef nonnull @.str.1)
          to label %132 unwind label %194

132:                                              ; preds = %131
  %133 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull @_ZSt4leftRSt8ios_base)
          to label %134 unwind label %196

134:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #7
  %135 = call i32 @_ZSt4setwi(i32 noundef 16)
  store i32 %135, ptr %14, align 4
  %136 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %133, ptr noundef nonnull align 4 dereferenceable(4) %14)
          to label %137 unwind label %198

137:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  %138 = call i32 @_ZSt12setprecisioni(i32 noundef 0)
  store i32 %138, ptr %15, align 4
  %139 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %140 unwind label %200

140:                                              ; preds = %137
  %141 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %139, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %142 unwind label %200

142:                                              ; preds = %140
  %143 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %141, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %144 unwind label %200

144:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #7
  %145 = call i32 @_ZSt4setwi(i32 noundef 8)
  store i32 %145, ptr %16, align 4
  %146 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %143, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %147 unwind label %202

147:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #7
  %148 = call i32 @_ZSt12setprecisioni(i32 noundef 2)
  store i32 %148, ptr %17, align 4
  %149 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %146, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %150 unwind label %204

150:                                              ; preds = %147
  %151 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %149, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %152 unwind label %204

152:                                              ; preds = %150
  %153 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %151, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %154 unwind label %204

154:                                              ; preds = %152
  %155 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %153, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %156 unwind label %204

156:                                              ; preds = %154
  %157 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %155, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %158 unwind label %204

158:                                              ; preds = %156
  %159 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %157, ptr noundef nonnull align 1 dereferenceable(2) @.str.11)
          to label %160 unwind label %204

160:                                              ; preds = %158
  %161 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA7_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %159, ptr noundef nonnull align 1 dereferenceable(7) @.str.12)
          to label %162 unwind label %204

162:                                              ; preds = %160
  %163 = getelementptr inbounds i8, ptr %0, i64 192
  %164 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %161, ptr noundef nonnull align 8 dereferenceable(32) %163)
          to label %165 unwind label %204

165:                                              ; preds = %162
  %166 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA6_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %164, ptr noundef nonnull align 1 dereferenceable(6) @.str.13)
          to label %167 unwind label %204

167:                                              ; preds = %165
  %168 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %166, ptr noundef nonnull align 8 dereferenceable(8) %122)
          to label %169 unwind label %204

169:                                              ; preds = %167
  %170 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA8_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %168, ptr noundef nonnull align 1 dereferenceable(8) @.str.14)
          to label %171 unwind label %204

171:                                              ; preds = %169
  %172 = getelementptr inbounds i8, ptr %0, i64 272
  %173 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %170, ptr noundef nonnull align 8 dereferenceable(8) %172)
          to label %174 unwind label %204

174:                                              ; preds = %171
  %175 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA6_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %173, ptr noundef nonnull align 1 dereferenceable(6) @.str.15)
          to label %176 unwind label %204

176:                                              ; preds = %174
  %177 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %175, ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %178 unwind label %204

178:                                              ; preds = %176
  %179 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA7_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %177, ptr noundef nonnull align 1 dereferenceable(7) @.str.16)
          to label %180 unwind label %204

180:                                              ; preds = %178
  %181 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRjEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %179, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %182 unwind label %204

182:                                              ; preds = %180
  %183 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %181, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %184 unwind label %204

184:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #7
  %185 = call i32 @_ZSt12setprecisioni(i32 noundef 2)
  store i32 %185, ptr %18, align 4
  %186 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %183, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %187 unwind label %206

187:                                              ; preds = %184
  %188 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %186, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %189 unwind label %206

189:                                              ; preds = %187
  %190 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %188, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %191 unwind label %206

191:                                              ; preds = %189
  %192 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA3_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %190, ptr noundef nonnull align 1 dereferenceable(3) @.str.17)
          to label %193 unwind label %206

193:                                              ; preds = %191
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #7
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #7
  br label %278

194:                                              ; preds = %131, %119
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %213

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

198:                                              ; preds = %134
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %211

200:                                              ; preds = %142, %140, %137
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %210

202:                                              ; preds = %144
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %209

204:                                              ; preds = %182, %180, %178, %176, %174, %171, %169, %167, %165, %162, %160, %158, %156, %154, %152, %150, %147
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %208

206:                                              ; preds = %191, %189, %187, %184
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  br label %208

208:                                              ; preds = %206, %204
  %.pn35 = phi { ptr, i32 } [ %207, %206 ], [ %205, %204 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #7
  br label %209

209:                                              ; preds = %208, %202
  %.pn35.pn = phi { ptr, i32 } [ %.pn35, %208 ], [ %203, %202 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  br label %210

210:                                              ; preds = %209, %200
  %.pn35.pn.pn = phi { ptr, i32 } [ %.pn35.pn, %209 ], [ %201, %200 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  br label %211

211:                                              ; preds = %210, %198
  %.pn35.pn.pn.pn = phi { ptr, i32 } [ %.pn35.pn.pn, %210 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #7
  br label %212

212:                                              ; preds = %211, %196
  %.pn35.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn35.pn.pn.pn, %211 ], [ %197, %196 ]
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  br label %213

213:                                              ; preds = %212, %194
  %.pn35.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn35.pn.pn.pn.pn, %212 ], [ %195, %194 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #7
  br label %279

214:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #7
  %215 = invoke noundef nonnull align 8 dereferenceable(144) ptr @_ZN3chw9getLoggerEv()
          to label %216 unwind label %261

216:                                              ; preds = %214
  invoke void @_ZN3chw17LogContextCaptureC1ERNS_6LoggerENS_8LogLevelEPKcS5_iS5_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(144) %215, i32 noundef 2, ptr noundef nonnull @.str.5, ptr noundef nonnull @__FUNCTION__._ZN3chw10PressModel12prepare_exitEv, i32 noundef 195, ptr noundef nonnull @.str.1)
          to label %217 unwind label %261

217:                                              ; preds = %216
  %218 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull @_ZSt4leftRSt8ios_base)
          to label %219 unwind label %263

219:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #7
  %220 = call i32 @_ZSt4setwi(i32 noundef 16)
  store i32 %220, ptr %20, align 4
  %221 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %218, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %222 unwind label %265

222:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #7
  %223 = call i32 @_ZSt12setprecisioni(i32 noundef 0)
  store i32 %223, ptr %21, align 4
  %224 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %221, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %225 unwind label %267

225:                                              ; preds = %222
  %226 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %224, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %227 unwind label %267

227:                                              ; preds = %225
  %228 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %226, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %229 unwind label %267

229:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #7
  %230 = call i32 @_ZSt4setwi(i32 noundef 8)
  store i32 %230, ptr %22, align 4
  %231 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt5_SetwEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %228, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %232 unwind label %269

232:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #7
  %233 = call i32 @_ZSt12setprecisioni(i32 noundef 2)
  store i32 %233, ptr %23, align 4
  %234 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsISt13_SetprecisionEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %231, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %235 unwind label %271

235:                                              ; preds = %232
  %236 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRFRSt8ios_baseS3_EEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %234, ptr noundef nonnull @_ZSt5fixedRSt8ios_base)
          to label %237 unwind label %271

237:                                              ; preds = %235
  %238 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRdEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %236, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %239 unwind label %271

239:                                              ; preds = %237
  %240 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %238, ptr noundef nonnull align 1 dereferenceable(2) @.str.10)
          to label %241 unwind label %271

241:                                              ; preds = %239
  %242 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %240, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %243 unwind label %271

243:                                              ; preds = %241
  %244 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA2_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %242, ptr noundef nonnull align 1 dereferenceable(2) @.str.11)
          to label %245 unwind label %271

245:                                              ; preds = %243
  %246 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA7_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %244, ptr noundef nonnull align 1 dereferenceable(7) @.str.12)
          to label %247 unwind label %271

247:                                              ; preds = %245
  %248 = getelementptr inbounds i8, ptr %0, i64 192
  %249 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %246, ptr noundef nonnull align 8 dereferenceable(32) %248)
          to label %250 unwind label %271

250:                                              ; preds = %247
  %251 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA6_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %249, ptr noundef nonnull align 1 dereferenceable(6) @.str.13)
          to label %252 unwind label %271

252:                                              ; preds = %250
  %253 = getelementptr inbounds i8, ptr %0, i64 224
  %254 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %251, ptr noundef nonnull align 8 dereferenceable(8) %253)
          to label %255 unwind label %271

255:                                              ; preds = %252
  %256 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRA8_KcEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %254, ptr noundef nonnull align 1 dereferenceable(8) @.str.14)
          to label %257 unwind label %271

257:                                              ; preds = %255
  %258 = getelementptr inbounds i8, ptr %0, i64 240
  %259 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3chw17LogContextCapturelsIRmEERS0_OT_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(8) %258)
          to label %260 unwind label %271

260:                                              ; preds = %257
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  br label %278

261:                                              ; preds = %216, %214
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %277

263:                                              ; preds = %217
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %276

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

267:                                              ; preds = %227, %225, %222
  %268 = landingpad { ptr, i32 }
          cleanup
  br label %274

269:                                              ; preds = %229
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %273

271:                                              ; preds = %257, %255, %252, %250, %247, %245, %243, %241, %239, %237, %235, %232
  %272 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  br label %273

273:                                              ; preds = %271, %269
  %.pn = phi { ptr, i32 } [ %272, %271 ], [ %270, %269 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #7
  br label %274

274:                                              ; preds = %273, %267
  %.pn.pn = phi { ptr, i32 } [ %.pn, %273 ], [ %268, %267 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  br label %275

275:                                              ; preds = %274, %265
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %274 ], [ %266, %265 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  br label %276

276:                                              ; preds = %275, %263
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %275 ], [ %264, %263 ]
  call void @_ZN3chw17LogContextCaptureD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #7
  br label %277

277:                                              ; preds = %276, %261
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %276 ], [ %262, %261 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #7
  br label %279

278:                                              ; preds = %193, %260, %98
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #7
  ret void

279:                                              ; preds = %277, %213, %115, %52
  %.pn42.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn42.pn.pn.pn.pn, %115 ], [ %.pn35.pn.pn.pn.pn.pn, %213 ], [ %.pn.pn.pn.pn.pn, %277 ], [ %53, %52 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br label %280

280:                                              ; preds = %279, %50
  %.pn42.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn42.pn.pn.pn.pn.pn, %279 ], [ %51, %50 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn42.pn.pn.pn.pn.pn.pn
}

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

declare void @_ZN3chw11speed_humanEmRdRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i64 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt4setwi(i32 noundef) local_unnamed_addr #6

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt12setprecisioni(i32 noundef) local_unnamed_addr #6

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

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

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

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

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

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

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

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

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

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

attributes #0 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { 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 #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 #7 = { 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, !24, i64 88}
!6 = !{!"_ZTSN3chw10PressModelE", !7, i64 0, !18, i64 40, !20, i64 56, !22, i64 72, !24, i64 88, !25, i64 96, !25, i64 144, !30, i64 192, !26, i64 224, !26, i64 232, !26, i64 240, !32, i64 248, !32, i64 252, !26, i64 256, !26, i64 264, !26, i64 272, !26, i64 280, !24, i64 288}
!7 = !{!"_ZTSN3chw9workmodelE", !8, i64 8, !15, i64 24}
!8 = !{!"_ZTSSt23enable_shared_from_thisIN3chw9workmodelEE", !9, i64 0}
!9 = !{!"_ZTSSt8weak_ptrIN3chw9workmodelEE", !10, i64 0}
!10 = !{!"_ZTSSt10__weak_ptrIN3chw9workmodelELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !14, i64 8}
!11 = !{!"any pointer", !12, i64 0}
!12 = !{!"omnipotent char", !13, i64 0}
!13 = !{!"Simple C++ TBAA"}
!14 = !{!"_ZTSSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0}
!15 = !{!"_ZTSSt10shared_ptrIN3chw9EventLoopEE", !16, i64 0}
!16 = !{!"_ZTSSt12__shared_ptrIN3chw9EventLoopELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !17, i64 8}
!17 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0}
!18 = !{!"_ZTSSt10shared_ptrIN3chw6ServerEE", !19, i64 0}
!19 = !{!"_ZTSSt12__shared_ptrIN3chw6ServerELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !17, i64 8}
!20 = !{!"_ZTSSt10shared_ptrIN3chw6ClientEE", !21, i64 0}
!21 = !{!"_ZTSSt12__shared_ptrIN3chw6ClientELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !17, i64 8}
!22 = !{!"_ZTSSt10shared_ptrIN3chw5TimerEE", !23, i64 0}
!23 = !{!"_ZTSSt12__shared_ptrIN3chw5TimerELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !17, i64 8}
!24 = !{!"bool", !12, i64 0}
!25 = !{!"_ZTSN3chw6TickerE", !26, i64 0, !26, i64 8, !26, i64 16, !27, i64 24}
!26 = !{!"long", !12, i64 0}
!27 = !{!"_ZTSN3chw17LogContextCaptureE", !28, i64 0, !11, i64 16}
!28 = !{!"_ZTSSt10shared_ptrIN3chw10LogContextEE", !29, i64 0}
!29 = !{!"_ZTSSt12__shared_ptrIN3chw10LogContextELN9__gnu_cxx12_Lock_policyE2EE", !11, i64 0, !17, i64 8}
!30 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !31, i64 0, !26, i64 8, !12, i64 16}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !11, i64 0}
!32 = !{!"int", !12, i64 0}
!33 = !{!34, !34, i64 0}
!34 = !{!"double", !12, i64 0}
!35 = !{!36, !12, i64 0}
!36 = !{!"_ZTSN3chw9ConfigCmdE", !12, i64 0, !11, i64 8, !37, i64 16, !32, i64 20, !38, i64 24, !32, i64 28, !34, i64 32, !11, i64 40, !32, i64 48, !32, i64 52, !39, i64 56, !38, i64 60, !11, i64 64, !12, i64 72, !11, i64 80, !11, i64 88, !11, i64 96}
!37 = !{!"_ZTSN3chw7SockNum8SockTypeE", !12, i64 0}
!38 = !{!"short", !12, i64 0}
!39 = !{!"_ZTSN3chw9WorkModelE", !12, i64 0}
!40 = !{!41, !41, i64 0}
!41 = !{!"vtable pointer", !13, i64 0}
!42 = !{!6, !26, i64 272}
!43 = !{!6, !26, i64 240}
!44 = !{!36, !37, i64 16}
!45 = !{!6, !26, i64 264}
!46 = !{!6, !26, i64 256}
!47 = !{!32, !32, i64 0}


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