; LLVM IR from gem5/gem5 :: src/systemc/tests/systemc/1666-2011-compliance/async_reset_port (main)

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%struct.Top = type { %"class.sc_core::sc_module", ptr, %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal" }
%"class.sc_core::sc_module" = type { %"class.sc_core::sc_object", %"class.sc_core::sc_process_host", %"class.sc_core::sc_sensitive", %"class.sc_core::sc_sensitive_pos", %"class.sc_core::sc_sensitive_neg", i8, ptr, i32, ptr, ptr }
%"class.sc_core::sc_object" = type { ptr, ptr, %"class.std::vector", %"class.std::vector.0", %"class.std::__cxx11::basic_string", ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" = type { 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.sc_core::sc_process_host" = type { ptr }
%"class.sc_core::sc_sensitive" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_pos" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_neg" = type { ptr, i32, ptr }
%"class.sc_core::sc_signal" = type { %"class.sc_core::sc_signal_inout_if", %"class.sc_core::sc_prim_channel", %"struct.sc_core::sc_writer_policy_check", ptr, i8, i64, ptr, i8, ptr, ptr }
%"class.sc_core::sc_signal_inout_if" = type { %"class.sc_core::sc_signal_in_if", %"class.sc_core::sc_signal_write_if" }
%"class.sc_core::sc_signal_in_if" = type { %"class.sc_core::sc_interface" }
%"class.sc_core::sc_interface" = type { ptr }
%"class.sc_core::sc_signal_write_if" = type { %"class.sc_core::sc_interface" }
%"class.sc_core::sc_prim_channel" = type { %"class.sc_core::sc_object", ptr, ptr }
%"struct.sc_core::sc_writer_policy_check" = type { %"struct.sc_core::sc_writer_policy_check_port", %"struct.sc_core::sc_writer_policy_check_write" }
%"struct.sc_core::sc_writer_policy_check_port" = type { ptr }
%"struct.sc_core::sc_writer_policy_check_write" = type { i8, ptr }
%"class.sc_core::sc_module_name" = type <{ ptr, ptr, ptr, ptr, i8, [7 x i8] }>
%struct.M = type <{ %"class.sc_core::sc_module", %"class.sc_core::sc_in", %"class.sc_core::sc_in", %"class.sc_core::sc_inout", %"class.sc_core::sc_out", %"class.sc_core::sc_in", %"class.sc_core::sc_inout", %"class.sc_core::sc_out", i32, [4 x i8], %"class.sc_core::sc_process_handle", %"class.sc_core::sc_process_handle", %"class.sc_core::sc_process_handle", %"class.sc_core::sc_process_handle", %"class.sc_core::sc_process_handle", %"class.sc_core::sc_process_handle", i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [4 x i8] }>
%"class.sc_core::sc_in" = type { %"class.sc_core::sc_port", ptr, ptr, ptr, ptr }
%"class.sc_core::sc_port" = type { %"class.sc_core::sc_port_b" }
%"class.sc_core::sc_port_b" = type { %"class.sc_core::sc_port_base", ptr, %"class.std::vector.8" }
%"class.sc_core::sc_port_base" = type { %"class.sc_core::sc_object", ptr }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.sc_core::sc_inout" = type { %"class.sc_core::sc_port.13", ptr, ptr, ptr, ptr, ptr }
%"class.sc_core::sc_port.13" = type { %"class.sc_core::sc_port_b.14" }
%"class.sc_core::sc_port_b.14" = type { %"class.sc_core::sc_port_base", ptr, %"class.std::vector.15" }
%"class.std::vector.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = type { %"struct.std::_Vector_base<sc_core::sc_signal_inout_if<bool> *, std::allocator<sc_core::sc_signal_inout_if<bool> *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_signal_inout_if<bool> *, std::allocator<sc_core::sc_signal_inout_if<bool> *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_signal_inout_if<bool> *, std::allocator<sc_core::sc_signal_inout_if<bool> *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_signal_inout_if<bool> *, std::allocator<sc_core::sc_signal_inout_if<bool> *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.sc_core::sc_out" = type { %"class.sc_core::sc_inout" }
%"class.sc_core::sc_process_handle" = type { ptr }

@.str = external hidden unnamed_addr constant [4 x i8], align 1
@_ZN7sc_core23SC_ID_ASSERTION_FAILED_E = external constant [0 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.40 = external hidden unnamed_addr constant [8 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local i32 @sc_main(i32 noundef %0, ptr noundef %1) #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca %struct.Top, align 8
  %6 = alloca %"class.sc_core::sc_module_name", align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  store i32 %0, ptr %3, align 4, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1808, ptr %5) #6
  call void @_ZN7sc_core14sc_module_nameC1EPKc(ptr noundef nonnull align 8 dereferenceable(33) %6, ptr noundef @.str)
  invoke void @_ZN3TopC2EN7sc_core14sc_module_nameE(ptr noundef nonnull align 8 dereferenceable(1808) %5, ptr noundef %6)
          to label %9 unwind label %387

9:                                                ; preds = %2
  call void @_ZN7sc_core14sc_module_nameD1Ev(ptr noundef nonnull align 8 dereferenceable(33) %6) #6
  invoke void @_ZN7sc_core8sc_startEv()
          to label %10 unwind label %391

10:                                               ; preds = %9
  %11 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %12 = load ptr, ptr %11, align 8, !tbaa !11
  %13 = getelementptr inbounds %struct.M, ptr %12, i32 0, i32 16
  %14 = load i32, ptr %13, align 8, !tbaa !43
  %15 = icmp ne i32 %14, 0
  br i1 %15, label %16, label %17

16:                                               ; preds = %10
  br label %19

17:                                               ; preds = %10
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.2, ptr noundef @.str.3, i32 noundef 332)
          to label %18 unwind label %391

18:                                               ; preds = %17
  br label %19

19:                                               ; preds = %18, %16
  %20 = phi i32 [ 0, %16 ], [ 0, %18 ]
  %21 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %22 = load ptr, ptr %21, align 8, !tbaa !11
  %23 = getelementptr inbounds %struct.M, ptr %22, i32 0, i32 17
  %24 = load i32, ptr %23, align 4, !tbaa !62
  %25 = icmp ne i32 %24, 0
  br i1 %25, label %26, label %27

26:                                               ; preds = %19
  br label %29

27:                                               ; preds = %19
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.4, ptr noundef @.str.3, i32 noundef 333)
          to label %28 unwind label %391

28:                                               ; preds = %27
  br label %29

29:                                               ; preds = %28, %26
  %30 = phi i32 [ 0, %26 ], [ 0, %28 ]
  %31 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %32 = load ptr, ptr %31, align 8, !tbaa !11
  %33 = getelementptr inbounds %struct.M, ptr %32, i32 0, i32 18
  %34 = load i32, ptr %33, align 8, !tbaa !63
  %35 = icmp ne i32 %34, 0
  br i1 %35, label %36, label %37

36:                                               ; preds = %29
  br label %39

37:                                               ; preds = %29
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.5, ptr noundef @.str.3, i32 noundef 334)
          to label %38 unwind label %391

38:                                               ; preds = %37
  br label %39

39:                                               ; preds = %38, %36
  %40 = phi i32 [ 0, %36 ], [ 0, %38 ]
  %41 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %42 = load ptr, ptr %41, align 8, !tbaa !11
  %43 = getelementptr inbounds %struct.M, ptr %42, i32 0, i32 19
  %44 = load i32, ptr %43, align 4, !tbaa !64
  %45 = icmp ne i32 %44, 0
  br i1 %45, label %46, label %47

46:                                               ; preds = %39
  br label %49

47:                                               ; preds = %39
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.6, ptr noundef @.str.3, i32 noundef 335)
          to label %48 unwind label %391

48:                                               ; preds = %47
  br label %49

49:                                               ; preds = %48, %46
  %50 = phi i32 [ 0, %46 ], [ 0, %48 ]
  %51 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %52 = load ptr, ptr %51, align 8, !tbaa !11
  %53 = getelementptr inbounds %struct.M, ptr %52, i32 0, i32 20
  %54 = load i32, ptr %53, align 8, !tbaa !65
  %55 = icmp ne i32 %54, 0
  br i1 %55, label %56, label %57

56:                                               ; preds = %49
  br label %59

57:                                               ; preds = %49
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.7, ptr noundef @.str.3, i32 noundef 336)
          to label %58 unwind label %391

58:                                               ; preds = %57
  br label %59

59:                                               ; preds = %58, %56
  %60 = phi i32 [ 0, %56 ], [ 0, %58 ]
  %61 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %62 = load ptr, ptr %61, align 8, !tbaa !11
  %63 = getelementptr inbounds %struct.M, ptr %62, i32 0, i32 21
  %64 = load i32, ptr %63, align 4, !tbaa !66
  %65 = icmp ne i32 %64, 0
  br i1 %65, label %66, label %67

66:                                               ; preds = %59
  br label %69

67:                                               ; preds = %59
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.8, ptr noundef @.str.3, i32 noundef 337)
          to label %68 unwind label %391

68:                                               ; preds = %67
  br label %69

69:                                               ; preds = %68, %66
  %70 = phi i32 [ 0, %66 ], [ 0, %68 ]
  %71 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %72 = load ptr, ptr %71, align 8, !tbaa !11
  %73 = getelementptr inbounds %struct.M, ptr %72, i32 0, i32 22
  %74 = load i32, ptr %73, align 8, !tbaa !67
  %75 = icmp ne i32 %74, 0
  br i1 %75, label %76, label %77

76:                                               ; preds = %69
  br label %79

77:                                               ; preds = %69
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.9, ptr noundef @.str.3, i32 noundef 338)
          to label %78 unwind label %391

78:                                               ; preds = %77
  br label %79

79:                                               ; preds = %78, %76
  %80 = phi i32 [ 0, %76 ], [ 0, %78 ]
  %81 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %82 = load ptr, ptr %81, align 8, !tbaa !11
  %83 = getelementptr inbounds %struct.M, ptr %82, i32 0, i32 23
  %84 = load i32, ptr %83, align 4, !tbaa !68
  %85 = icmp ne i32 %84, 0
  br i1 %85, label %86, label %87

86:                                               ; preds = %79
  br label %89

87:                                               ; preds = %79
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.10, ptr noundef @.str.3, i32 noundef 339)
          to label %88 unwind label %391

88:                                               ; preds = %87
  br label %89

89:                                               ; preds = %88, %86
  %90 = phi i32 [ 0, %86 ], [ 0, %88 ]
  %91 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %92 = load ptr, ptr %91, align 8, !tbaa !11
  %93 = getelementptr inbounds %struct.M, ptr %92, i32 0, i32 24
  %94 = load i32, ptr %93, align 8, !tbaa !69
  %95 = icmp ne i32 %94, 0
  br i1 %95, label %96, label %97

96:                                               ; preds = %89
  br label %99

97:                                               ; preds = %89
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.11, ptr noundef @.str.3, i32 noundef 340)
          to label %98 unwind label %391

98:                                               ; preds = %97
  br label %99

99:                                               ; preds = %98, %96
  %100 = phi i32 [ 0, %96 ], [ 0, %98 ]
  %101 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %102 = load ptr, ptr %101, align 8, !tbaa !11
  %103 = getelementptr inbounds %struct.M, ptr %102, i32 0, i32 25
  %104 = load i32, ptr %103, align 4, !tbaa !70
  %105 = icmp ne i32 %104, 0
  br i1 %105, label %106, label %107

106:                                              ; preds = %99
  br label %109

107:                                              ; preds = %99
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.12, ptr noundef @.str.3, i32 noundef 341)
          to label %108 unwind label %391

108:                                              ; preds = %107
  br label %109

109:                                              ; preds = %108, %106
  %110 = phi i32 [ 0, %106 ], [ 0, %108 ]
  %111 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %112 = load ptr, ptr %111, align 8, !tbaa !11
  %113 = getelementptr inbounds %struct.M, ptr %112, i32 0, i32 26
  %114 = load i32, ptr %113, align 8, !tbaa !71
  %115 = icmp ne i32 %114, 0
  br i1 %115, label %116, label %117

116:                                              ; preds = %109
  br label %119

117:                                              ; preds = %109
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.13, ptr noundef @.str.3, i32 noundef 342)
          to label %118 unwind label %391

118:                                              ; preds = %117
  br label %119

119:                                              ; preds = %118, %116
  %120 = phi i32 [ 0, %116 ], [ 0, %118 ]
  %121 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %122 = load ptr, ptr %121, align 8, !tbaa !11
  %123 = getelementptr inbounds %struct.M, ptr %122, i32 0, i32 27
  %124 = load i32, ptr %123, align 4, !tbaa !72
  %125 = icmp ne i32 %124, 0
  br i1 %125, label %126, label %127

126:                                              ; preds = %119
  br label %129

127:                                              ; preds = %119
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.14, ptr noundef @.str.3, i32 noundef 343)
          to label %128 unwind label %391

128:                                              ; preds = %127
  br label %129

129:                                              ; preds = %128, %126
  %130 = phi i32 [ 0, %126 ], [ 0, %128 ]
  %131 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %132 = load ptr, ptr %131, align 8, !tbaa !11
  %133 = getelementptr inbounds %struct.M, ptr %132, i32 0, i32 28
  %134 = load i32, ptr %133, align 8, !tbaa !73
  %135 = icmp ne i32 %134, 0
  br i1 %135, label %136, label %137

136:                                              ; preds = %129
  br label %139

137:                                              ; preds = %129
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.15, ptr noundef @.str.3, i32 noundef 344)
          to label %138 unwind label %391

138:                                              ; preds = %137
  br label %139

139:                                              ; preds = %138, %136
  %140 = phi i32 [ 0, %136 ], [ 0, %138 ]
  %141 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %142 = load ptr, ptr %141, align 8, !tbaa !11
  %143 = getelementptr inbounds %struct.M, ptr %142, i32 0, i32 29
  %144 = load i32, ptr %143, align 4, !tbaa !74
  %145 = icmp ne i32 %144, 0
  br i1 %145, label %146, label %147

146:                                              ; preds = %139
  br label %149

147:                                              ; preds = %139
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.16, ptr noundef @.str.3, i32 noundef 345)
          to label %148 unwind label %391

148:                                              ; preds = %147
  br label %149

149:                                              ; preds = %148, %146
  %150 = phi i32 [ 0, %146 ], [ 0, %148 ]
  %151 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %152 = load ptr, ptr %151, align 8, !tbaa !11
  %153 = getelementptr inbounds %struct.M, ptr %152, i32 0, i32 30
  %154 = load i32, ptr %153, align 8, !tbaa !75
  %155 = icmp ne i32 %154, 0
  br i1 %155, label %156, label %157

156:                                              ; preds = %149
  br label %159

157:                                              ; preds = %149
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 346)
          to label %158 unwind label %391

158:                                              ; preds = %157
  br label %159

159:                                              ; preds = %158, %156
  %160 = phi i32 [ 0, %156 ], [ 0, %158 ]
  %161 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %162 = load ptr, ptr %161, align 8, !tbaa !11
  %163 = getelementptr inbounds %struct.M, ptr %162, i32 0, i32 31
  %164 = load i32, ptr %163, align 4, !tbaa !76
  %165 = icmp ne i32 %164, 0
  br i1 %165, label %166, label %167

166:                                              ; preds = %159
  br label %169

167:                                              ; preds = %159
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 347)
          to label %168 unwind label %391

168:                                              ; preds = %167
  br label %169

169:                                              ; preds = %168, %166
  %170 = phi i32 [ 0, %166 ], [ 0, %168 ]
  %171 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %172 = load ptr, ptr %171, align 8, !tbaa !11
  %173 = getelementptr inbounds %struct.M, ptr %172, i32 0, i32 32
  %174 = load i32, ptr %173, align 8, !tbaa !77
  %175 = icmp ne i32 %174, 0
  br i1 %175, label %176, label %177

176:                                              ; preds = %169
  br label %179

177:                                              ; preds = %169
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.19, ptr noundef @.str.3, i32 noundef 348)
          to label %178 unwind label %391

178:                                              ; preds = %177
  br label %179

179:                                              ; preds = %178, %176
  %180 = phi i32 [ 0, %176 ], [ 0, %178 ]
  %181 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %182 = load ptr, ptr %181, align 8, !tbaa !11
  %183 = getelementptr inbounds %struct.M, ptr %182, i32 0, i32 33
  %184 = load i32, ptr %183, align 4, !tbaa !78
  %185 = icmp ne i32 %184, 0
  br i1 %185, label %186, label %187

186:                                              ; preds = %179
  br label %189

187:                                              ; preds = %179
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 349)
          to label %188 unwind label %391

188:                                              ; preds = %187
  br label %189

189:                                              ; preds = %188, %186
  %190 = phi i32 [ 0, %186 ], [ 0, %188 ]
  %191 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %192 = load ptr, ptr %191, align 8, !tbaa !11
  %193 = getelementptr inbounds %struct.M, ptr %192, i32 0, i32 34
  %194 = load i32, ptr %193, align 8, !tbaa !79
  %195 = icmp ne i32 %194, 0
  br i1 %195, label %196, label %197

196:                                              ; preds = %189
  br label %199

197:                                              ; preds = %189
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 350)
          to label %198 unwind label %391

198:                                              ; preds = %197
  br label %199

199:                                              ; preds = %198, %196
  %200 = phi i32 [ 0, %196 ], [ 0, %198 ]
  %201 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %202 = load ptr, ptr %201, align 8, !tbaa !11
  %203 = getelementptr inbounds %struct.M, ptr %202, i32 0, i32 35
  %204 = load i32, ptr %203, align 4, !tbaa !80
  %205 = icmp ne i32 %204, 0
  br i1 %205, label %206, label %207

206:                                              ; preds = %199
  br label %209

207:                                              ; preds = %199
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.22, ptr noundef @.str.3, i32 noundef 351)
          to label %208 unwind label %391

208:                                              ; preds = %207
  br label %209

209:                                              ; preds = %208, %206
  %210 = phi i32 [ 0, %206 ], [ 0, %208 ]
  %211 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %212 = load ptr, ptr %211, align 8, !tbaa !11
  %213 = getelementptr inbounds %struct.M, ptr %212, i32 0, i32 36
  %214 = load i32, ptr %213, align 8, !tbaa !81
  %215 = icmp ne i32 %214, 0
  br i1 %215, label %216, label %217

216:                                              ; preds = %209
  br label %219

217:                                              ; preds = %209
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 352)
          to label %218 unwind label %391

218:                                              ; preds = %217
  br label %219

219:                                              ; preds = %218, %216
  %220 = phi i32 [ 0, %216 ], [ 0, %218 ]
  %221 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %222 = load ptr, ptr %221, align 8, !tbaa !11
  %223 = getelementptr inbounds %struct.M, ptr %222, i32 0, i32 37
  %224 = load i32, ptr %223, align 4, !tbaa !82
  %225 = icmp ne i32 %224, 0
  br i1 %225, label %226, label %227

226:                                              ; preds = %219
  br label %229

227:                                              ; preds = %219
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.24, ptr noundef @.str.3, i32 noundef 353)
          to label %228 unwind label %391

228:                                              ; preds = %227
  br label %229

229:                                              ; preds = %228, %226
  %230 = phi i32 [ 0, %226 ], [ 0, %228 ]
  %231 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %232 = load ptr, ptr %231, align 8, !tbaa !11
  %233 = getelementptr inbounds %struct.M, ptr %232, i32 0, i32 38
  %234 = load i32, ptr %233, align 8, !tbaa !83
  %235 = icmp ne i32 %234, 0
  br i1 %235, label %236, label %237

236:                                              ; preds = %229
  br label %239

237:                                              ; preds = %229
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.25, ptr noundef @.str.3, i32 noundef 354)
          to label %238 unwind label %391

238:                                              ; preds = %237
  br label %239

239:                                              ; preds = %238, %236
  %240 = phi i32 [ 0, %236 ], [ 0, %238 ]
  %241 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %242 = load ptr, ptr %241, align 8, !tbaa !11
  %243 = getelementptr inbounds %struct.M, ptr %242, i32 0, i32 39
  %244 = load i32, ptr %243, align 4, !tbaa !84
  %245 = icmp ne i32 %244, 0
  br i1 %245, label %246, label %247

246:                                              ; preds = %239
  br label %249

247:                                              ; preds = %239
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.26, ptr noundef @.str.3, i32 noundef 355)
          to label %248 unwind label %391

248:                                              ; preds = %247
  br label %249

249:                                              ; preds = %248, %246
  %250 = phi i32 [ 0, %246 ], [ 0, %248 ]
  %251 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %252 = load ptr, ptr %251, align 8, !tbaa !11
  %253 = getelementptr inbounds %struct.M, ptr %252, i32 0, i32 40
  %254 = load i32, ptr %253, align 8, !tbaa !85
  %255 = icmp ne i32 %254, 0
  br i1 %255, label %256, label %257

256:                                              ; preds = %249
  br label %259

257:                                              ; preds = %249
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 356)
          to label %258 unwind label %391

258:                                              ; preds = %257
  br label %259

259:                                              ; preds = %258, %256
  %260 = phi i32 [ 0, %256 ], [ 0, %258 ]
  %261 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %262 = load ptr, ptr %261, align 8, !tbaa !11
  %263 = getelementptr inbounds %struct.M, ptr %262, i32 0, i32 41
  %264 = load i32, ptr %263, align 4, !tbaa !86
  %265 = icmp ne i32 %264, 0
  br i1 %265, label %266, label %267

266:                                              ; preds = %259
  br label %269

267:                                              ; preds = %259
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.28, ptr noundef @.str.3, i32 noundef 357)
          to label %268 unwind label %391

268:                                              ; preds = %267
  br label %269

269:                                              ; preds = %268, %266
  %270 = phi i32 [ 0, %266 ], [ 0, %268 ]
  %271 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %272 = load ptr, ptr %271, align 8, !tbaa !11
  %273 = getelementptr inbounds %struct.M, ptr %272, i32 0, i32 43
  %274 = load i32, ptr %273, align 4, !tbaa !87
  %275 = icmp ne i32 %274, 0
  br i1 %275, label %276, label %277

276:                                              ; preds = %269
  br label %279

277:                                              ; preds = %269
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 358)
          to label %278 unwind label %391

278:                                              ; preds = %277
  br label %279

279:                                              ; preds = %278, %276
  %280 = phi i32 [ 0, %276 ], [ 0, %278 ]
  %281 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %282 = load ptr, ptr %281, align 8, !tbaa !11
  %283 = getelementptr inbounds %struct.M, ptr %282, i32 0, i32 44
  %284 = load i32, ptr %283, align 8, !tbaa !88
  %285 = icmp ne i32 %284, 0
  br i1 %285, label %286, label %287

286:                                              ; preds = %279
  br label %289

287:                                              ; preds = %279
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 359)
          to label %288 unwind label %391

288:                                              ; preds = %287
  br label %289

289:                                              ; preds = %288, %286
  %290 = phi i32 [ 0, %286 ], [ 0, %288 ]
  %291 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %292 = load ptr, ptr %291, align 8, !tbaa !11
  %293 = getelementptr inbounds %struct.M, ptr %292, i32 0, i32 45
  %294 = load i32, ptr %293, align 4, !tbaa !89
  %295 = icmp ne i32 %294, 0
  br i1 %295, label %296, label %297

296:                                              ; preds = %289
  br label %299

297:                                              ; preds = %289
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 360)
          to label %298 unwind label %391

298:                                              ; preds = %297
  br label %299

299:                                              ; preds = %298, %296
  %300 = phi i32 [ 0, %296 ], [ 0, %298 ]
  %301 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %302 = load ptr, ptr %301, align 8, !tbaa !11
  %303 = getelementptr inbounds %struct.M, ptr %302, i32 0, i32 46
  %304 = load i32, ptr %303, align 8, !tbaa !90
  %305 = icmp ne i32 %304, 0
  br i1 %305, label %306, label %307

306:                                              ; preds = %299
  br label %309

307:                                              ; preds = %299
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 361)
          to label %308 unwind label %391

308:                                              ; preds = %307
  br label %309

309:                                              ; preds = %308, %306
  %310 = phi i32 [ 0, %306 ], [ 0, %308 ]
  %311 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %312 = load ptr, ptr %311, align 8, !tbaa !11
  %313 = getelementptr inbounds %struct.M, ptr %312, i32 0, i32 47
  %314 = load i32, ptr %313, align 4, !tbaa !91
  %315 = icmp ne i32 %314, 0
  br i1 %315, label %316, label %317

316:                                              ; preds = %309
  br label %319

317:                                              ; preds = %309
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 362)
          to label %318 unwind label %391

318:                                              ; preds = %317
  br label %319

319:                                              ; preds = %318, %316
  %320 = phi i32 [ 0, %316 ], [ 0, %318 ]
  %321 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %322 = load ptr, ptr %321, align 8, !tbaa !11
  %323 = getelementptr inbounds %struct.M, ptr %322, i32 0, i32 48
  %324 = load i32, ptr %323, align 8, !tbaa !92
  %325 = icmp ne i32 %324, 0
  br i1 %325, label %326, label %327

326:                                              ; preds = %319
  br label %329

327:                                              ; preds = %319
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 363)
          to label %328 unwind label %391

328:                                              ; preds = %327
  br label %329

329:                                              ; preds = %328, %326
  %330 = phi i32 [ 0, %326 ], [ 0, %328 ]
  %331 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %332 = load ptr, ptr %331, align 8, !tbaa !11
  %333 = getelementptr inbounds %struct.M, ptr %332, i32 0, i32 49
  %334 = load i32, ptr %333, align 4, !tbaa !93
  %335 = icmp ne i32 %334, 0
  br i1 %335, label %336, label %337

336:                                              ; preds = %329
  br label %339

337:                                              ; preds = %329
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.35, ptr noundef @.str.3, i32 noundef 364)
          to label %338 unwind label %391

338:                                              ; preds = %337
  br label %339

339:                                              ; preds = %338, %336
  %340 = phi i32 [ 0, %336 ], [ 0, %338 ]
  %341 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %342 = load ptr, ptr %341, align 8, !tbaa !11
  %343 = getelementptr inbounds %struct.M, ptr %342, i32 0, i32 50
  %344 = load i32, ptr %343, align 8, !tbaa !94
  %345 = icmp ne i32 %344, 0
  br i1 %345, label %346, label %347

346:                                              ; preds = %339
  br label %349

347:                                              ; preds = %339
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.36, ptr noundef @.str.3, i32 noundef 365)
          to label %348 unwind label %391

348:                                              ; preds = %347
  br label %349

349:                                              ; preds = %348, %346
  %350 = phi i32 [ 0, %346 ], [ 0, %348 ]
  %351 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %352 = load ptr, ptr %351, align 8, !tbaa !11
  %353 = getelementptr inbounds %struct.M, ptr %352, i32 0, i32 51
  %354 = load i32, ptr %353, align 4, !tbaa !95
  %355 = icmp ne i32 %354, 0
  br i1 %355, label %356, label %357

356:                                              ; preds = %349
  br label %359

357:                                              ; preds = %349
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.37, ptr noundef @.str.3, i32 noundef 366)
          to label %358 unwind label %391

358:                                              ; preds = %357
  br label %359

359:                                              ; preds = %358, %356
  %360 = phi i32 [ 0, %356 ], [ 0, %358 ]
  %361 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %362 = load ptr, ptr %361, align 8, !tbaa !11
  %363 = getelementptr inbounds %struct.M, ptr %362, i32 0, i32 52
  %364 = load i32, ptr %363, align 8, !tbaa !96
  %365 = icmp ne i32 %364, 0
  br i1 %365, label %366, label %367

366:                                              ; preds = %359
  br label %369

367:                                              ; preds = %359
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.38, ptr noundef @.str.3, i32 noundef 367)
          to label %368 unwind label %391

368:                                              ; preds = %367
  br label %369

369:                                              ; preds = %368, %366
  %370 = phi i32 [ 0, %366 ], [ 0, %368 ]
  %371 = getelementptr inbounds %struct.Top, ptr %5, i32 0, i32 1
  %372 = load ptr, ptr %371, align 8, !tbaa !11
  %373 = getelementptr inbounds %struct.M, ptr %372, i32 0, i32 53
  %374 = load i32, ptr %373, align 4, !tbaa !97
  %375 = icmp ne i32 %374, 0
  br i1 %375, label %376, label %377

376:                                              ; preds = %369
  br label %379

377:                                              ; preds = %369
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.39, ptr noundef @.str.3, i32 noundef 368)
          to label %378 unwind label %391

378:                                              ; preds = %377
  br label %379

379:                                              ; preds = %378, %376
  %380 = phi i32 [ 0, %376 ], [ 0, %378 ]
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %382 unwind label %391

382:                                              ; preds = %379
  %383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %381, ptr noundef @.str.40)
          to label %384 unwind label %391

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

386:                                              ; preds = %384
  call void @_ZN3TopD2Ev(ptr noundef nonnull align 8 dereferenceable(1808) %5) #6
  call void @llvm.lifetime.end.p0(i64 1808, ptr %5) #6
  ret i32 0

387:                                              ; preds = %2
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %7, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %8, align 4
  call void @_ZN7sc_core14sc_module_nameD1Ev(ptr noundef nonnull align 8 dereferenceable(33) %6) #6
  br label %395

391:                                              ; preds = %384, %382, %379, %377, %367, %357, %347, %337, %327, %317, %307, %297, %287, %277, %267, %257, %247, %237, %227, %217, %207, %197, %187, %177, %167, %157, %147, %137, %127, %117, %107, %97, %87, %77, %67, %57, %47, %37, %27, %17, %9
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %7, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %8, align 4
  call void @_ZN3TopD2Ev(ptr noundef nonnull align 8 dereferenceable(1808) %5) #6
  br label %395

395:                                              ; preds = %391, %387
  call void @llvm.lifetime.end.p0(i64 1808, ptr %5) #6
  br label %396

396:                                              ; preds = %395
  %397 = load ptr, ptr %7, align 8
  %398 = load i32, ptr %8, align 4
  %399 = insertvalue { ptr, i32 } poison, ptr %397, 0
  %400 = insertvalue { ptr, i32 } %399, i32 %398, 1
  resume { ptr, i32 } %400
}

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

declare void @_ZN7sc_core14sc_module_nameC1EPKc(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef) unnamed_addr #2

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

declare i32 @__gxx_personality_v0(...)

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

declare void @_ZN7sc_core8sc_startEv() #2

declare void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) #2

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3TopD2Ev(ptr noundef nonnull align 8 dereferenceable(1808)) unnamed_addr #5 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !10, i64 232}
!12 = !{!"_ZTS3Top", !13, i64 0, !10, i64 232, !34, i64 240, !34, i64 464, !34, i64 688, !34, i64 912, !34, i64 1136, !34, i64 1360, !34, i64 1584}
!13 = !{!"_ZTSN7sc_core9sc_moduleE", !14, i64 0, !26, i64 112, !27, i64 120, !29, i64 144, !31, i64 168, !33, i64 192, !10, i64 200, !6, i64 208, !10, i64 216, !10, i64 224}
!14 = !{!"_ZTSN7sc_core9sc_objectE", !10, i64 8, !15, i64 16, !19, i64 40, !23, i64 64, !10, i64 96, !10, i64 104}
!15 = !{!"_ZTSSt6vectorIPN7sc_core8sc_eventESaIS2_EE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!19 = !{!"_ZTSSt6vectorIPN7sc_core9sc_objectESaIS2_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !24, i64 0, !25, i64 8, !7, i64 16}
!24 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0}
!25 = !{!"long", !7, i64 0}
!26 = !{!"_ZTSN7sc_core15sc_process_hostE"}
!27 = !{!"_ZTSN7sc_core12sc_sensitiveE", !10, i64 0, !28, i64 8, !10, i64 16}
!28 = !{!"_ZTSN7sc_core12sc_sensitiveUt_E", !7, i64 0}
!29 = !{!"_ZTSN7sc_core16sc_sensitive_posE", !10, i64 0, !30, i64 8, !10, i64 16}
!30 = !{!"_ZTSN7sc_core16sc_sensitive_posUt_E", !7, i64 0}
!31 = !{!"_ZTSN7sc_core16sc_sensitive_negE", !10, i64 0, !32, i64 8, !10, i64 16}
!32 = !{!"_ZTSN7sc_core16sc_sensitive_negUt_E", !7, i64 0}
!33 = !{!"bool", !7, i64 0}
!34 = !{!"_ZTSN7sc_core9sc_signalIbLNS_16sc_writer_policyE0EEE", !35, i64 0, !38, i64 16, !39, i64 144, !10, i64 168, !33, i64 176, !42, i64 184, !10, i64 192, !33, i64 200, !10, i64 208, !10, i64 216}
!35 = !{!"_ZTSN7sc_core18sc_signal_inout_ifIbEE", !36, i64 0, !37, i64 8}
!36 = !{!"_ZTSN7sc_core15sc_signal_in_ifIbEE"}
!37 = !{!"_ZTSN7sc_core18sc_signal_write_ifIbEE"}
!38 = !{!"_ZTSN7sc_core15sc_prim_channelE", !14, i64 0, !10, i64 112, !10, i64 120}
!39 = !{!"_ZTSN7sc_core22sc_writer_policy_checkILNS_16sc_writer_policyE0EEE", !40, i64 0, !41, i64 8}
!40 = !{!"_ZTSN7sc_core27sc_writer_policy_check_portE", !10, i64 0}
!41 = !{!"_ZTSN7sc_core28sc_writer_policy_check_writeE", !33, i64 0, !10, i64 8}
!42 = !{!"long long", !7, i64 0}
!43 = !{!44, !6, i64 1608}
!44 = !{!"_ZTS1M", !13, i64 0, !45, i64 232, !45, i64 416, !53, i64 600, !60, i64 792, !45, i64 984, !53, i64 1168, !60, i64 1360, !6, i64 1552, !61, i64 1560, !61, i64 1568, !61, i64 1576, !61, i64 1584, !61, i64 1592, !61, i64 1600, !6, i64 1608, !6, i64 1612, !6, i64 1616, !6, i64 1620, !6, i64 1624, !6, i64 1628, !6, i64 1632, !6, i64 1636, !6, i64 1640, !6, i64 1644, !6, i64 1648, !6, i64 1652, !6, i64 1656, !6, i64 1660, !6, i64 1664, !6, i64 1668, !6, i64 1672, !6, i64 1676, !6, i64 1680, !6, i64 1684, !6, i64 1688, !6, i64 1692, !6, i64 1696, !6, i64 1700, !6, i64 1704, !6, i64 1708, !6, i64 1712, !6, i64 1716, !6, i64 1720, !6, i64 1724, !6, i64 1728, !6, i64 1732, !6, i64 1736, !6, i64 1740, !6, i64 1744, !6, i64 1748, !6, i64 1752, !6, i64 1756, !6, i64 1760}
!45 = !{!"_ZTSN7sc_core5sc_inIbEE", !46, i64 0, !10, i64 152, !10, i64 160, !10, i64 168, !10, i64 176}
!46 = !{!"_ZTSN7sc_core7sc_portINS_15sc_signal_in_ifIbEELi1ELNS_14sc_port_policyE0EEE", !47, i64 0}
!47 = !{!"_ZTSN7sc_core9sc_port_bINS_15sc_signal_in_ifIbEEEE", !48, i64 0, !10, i64 120, !49, i64 128}
!48 = !{!"_ZTSN7sc_core12sc_port_baseE", !14, i64 0, !10, i64 112}
!49 = !{!"_ZTSSt6vectorIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !50, i64 0}
!50 = !{!"_ZTSSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE12_Vector_implE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!53 = !{!"_ZTSN7sc_core8sc_inoutIbEE", !54, i64 0, !10, i64 152, !10, i64 160, !10, i64 168, !10, i64 176, !10, i64 184}
!54 = !{!"_ZTSN7sc_core7sc_portINS_18sc_signal_inout_ifIbEELi1ELNS_14sc_port_policyE0EEE", !55, i64 0}
!55 = !{!"_ZTSN7sc_core9sc_port_bINS_18sc_signal_inout_ifIbEEEE", !48, i64 0, !10, i64 120, !56, i64 128}
!56 = !{!"_ZTSSt6vectorIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE", !57, i64 0}
!57 = !{!"_ZTSSt12_Vector_baseIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE", !58, i64 0}
!58 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE12_Vector_implE", !59, i64 0}
!59 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!60 = !{!"_ZTSN7sc_core6sc_outIbEE", !53, i64 0}
!61 = !{!"_ZTSN7sc_core17sc_process_handleE", !10, i64 0}
!62 = !{!44, !6, i64 1612}
!63 = !{!44, !6, i64 1616}
!64 = !{!44, !6, i64 1620}
!65 = !{!44, !6, i64 1624}
!66 = !{!44, !6, i64 1628}
!67 = !{!44, !6, i64 1632}
!68 = !{!44, !6, i64 1636}
!69 = !{!44, !6, i64 1640}
!70 = !{!44, !6, i64 1644}
!71 = !{!44, !6, i64 1648}
!72 = !{!44, !6, i64 1652}
!73 = !{!44, !6, i64 1656}
!74 = !{!44, !6, i64 1660}
!75 = !{!44, !6, i64 1664}
!76 = !{!44, !6, i64 1668}
!77 = !{!44, !6, i64 1672}
!78 = !{!44, !6, i64 1676}
!79 = !{!44, !6, i64 1680}
!80 = !{!44, !6, i64 1684}
!81 = !{!44, !6, i64 1688}
!82 = !{!44, !6, i64 1692}
!83 = !{!44, !6, i64 1696}
!84 = !{!44, !6, i64 1700}
!85 = !{!44, !6, i64 1704}
!86 = !{!44, !6, i64 1708}
!87 = !{!44, !6, i64 1716}
!88 = !{!44, !6, i64 1720}
!89 = !{!44, !6, i64 1724}
!90 = !{!44, !6, i64 1728}
!91 = !{!44, !6, i64 1732}
!92 = !{!44, !6, i64 1736}
!93 = !{!44, !6, i64 1740}
!94 = !{!44, !6, i64 1744}
!95 = !{!44, !6, i64 1748}
!96 = !{!44, !6, i64 1752}
!97 = !{!44, !6, i64 1756}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%struct.Top = type { %"class.sc_core::sc_module", ptr, %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal", %"class.sc_core::sc_signal" }
%"class.sc_core::sc_module" = type { %"class.sc_core::sc_object", %"class.sc_core::sc_process_host", %"class.sc_core::sc_sensitive", %"class.sc_core::sc_sensitive_pos", %"class.sc_core::sc_sensitive_neg", i8, ptr, i32, ptr, ptr }
%"class.sc_core::sc_object" = type { ptr, ptr, %"class.std::vector", %"class.std::vector.0", %"class.std::__cxx11::basic_string", ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" = type { 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.sc_core::sc_process_host" = type { ptr }
%"class.sc_core::sc_sensitive" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_pos" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_neg" = type { ptr, i32, ptr }
%"class.sc_core::sc_signal" = type { %"class.sc_core::sc_signal_inout_if", %"class.sc_core::sc_prim_channel", %"struct.sc_core::sc_writer_policy_check", ptr, i8, i64, ptr, i8, ptr, ptr }
%"class.sc_core::sc_signal_inout_if" = type { %"class.sc_core::sc_signal_in_if", %"class.sc_core::sc_signal_write_if" }
%"class.sc_core::sc_signal_in_if" = type { %"class.sc_core::sc_interface" }
%"class.sc_core::sc_interface" = type { ptr }
%"class.sc_core::sc_signal_write_if" = type { %"class.sc_core::sc_interface" }
%"class.sc_core::sc_prim_channel" = type { %"class.sc_core::sc_object", ptr, ptr }
%"struct.sc_core::sc_writer_policy_check" = type { %"struct.sc_core::sc_writer_policy_check_port", %"struct.sc_core::sc_writer_policy_check_write" }
%"struct.sc_core::sc_writer_policy_check_port" = type { ptr }
%"struct.sc_core::sc_writer_policy_check_write" = type { i8, ptr }
%"class.sc_core::sc_module_name" = type <{ ptr, ptr, ptr, ptr, i8, [7 x i8] }>

@.str = external hidden unnamed_addr constant [4 x i8], align 1
@_ZN7sc_core23SC_ID_ASSERTION_FAILED_E = external constant [0 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.40 = external hidden unnamed_addr constant [8 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @sc_main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca %struct.Top, align 8
  %4 = alloca %"class.sc_core::sc_module_name", align 8
  call void @llvm.lifetime.start.p0(i64 1808, ptr nonnull %3) #6
  call void @_ZN7sc_core14sc_module_nameC1EPKc(ptr noundef nonnull align 8 dereferenceable(33) %4, ptr noundef nonnull @.str)
  invoke void @_ZN3TopC2EN7sc_core14sc_module_nameE(ptr noundef nonnull align 8 dereferenceable(1808) %3, ptr noundef nonnull %4)
          to label %5 unwind label %199

5:                                                ; preds = %2
  call void @_ZN7sc_core14sc_module_nameD1Ev(ptr noundef nonnull align 8 dereferenceable(33) %4) #6
  invoke void @_ZN7sc_core8sc_startEv()
          to label %6 unwind label %201

6:                                                ; preds = %5
  %7 = getelementptr inbounds i8, ptr %3, i64 232
  %8 = load ptr, ptr %7, align 8, !tbaa !5
  %9 = getelementptr inbounds i8, ptr %8, i64 1608
  %10 = load i32, ptr %9, align 8, !tbaa !41
  %.not = icmp eq i32 %10, 0
  br i1 %.not, label %11, label %12

11:                                               ; preds = %6
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, i32 noundef 332)
          to label %._crit_edge unwind label %201

._crit_edge:                                      ; preds = %11
  %.pre = load ptr, ptr %7, align 8, !tbaa !5
  br label %12

12:                                               ; preds = %._crit_edge, %6
  %13 = phi ptr [ %.pre, %._crit_edge ], [ %8, %6 ]
  %14 = getelementptr inbounds i8, ptr %13, i64 1612
  %15 = load i32, ptr %14, align 4, !tbaa !60
  %.not2 = icmp eq i32 %15, 0
  br i1 %.not2, label %16, label %17

16:                                               ; preds = %12
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.3, i32 noundef 333)
          to label %._crit_edge39 unwind label %201

._crit_edge39:                                    ; preds = %16
  %.pre40 = load ptr, ptr %7, align 8, !tbaa !5
  br label %17

17:                                               ; preds = %._crit_edge39, %12
  %18 = phi ptr [ %.pre40, %._crit_edge39 ], [ %13, %12 ]
  %19 = getelementptr inbounds i8, ptr %18, i64 1616
  %20 = load i32, ptr %19, align 8, !tbaa !61
  %.not3 = icmp eq i32 %20, 0
  br i1 %.not3, label %21, label %22

21:                                               ; preds = %17
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.3, i32 noundef 334)
          to label %._crit_edge41 unwind label %201

._crit_edge41:                                    ; preds = %21
  %.pre42 = load ptr, ptr %7, align 8, !tbaa !5
  br label %22

22:                                               ; preds = %._crit_edge41, %17
  %23 = phi ptr [ %.pre42, %._crit_edge41 ], [ %18, %17 ]
  %24 = getelementptr inbounds i8, ptr %23, i64 1620
  %25 = load i32, ptr %24, align 4, !tbaa !62
  %.not4 = icmp eq i32 %25, 0
  br i1 %.not4, label %26, label %27

26:                                               ; preds = %22
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.3, i32 noundef 335)
          to label %._crit_edge43 unwind label %201

._crit_edge43:                                    ; preds = %26
  %.pre44 = load ptr, ptr %7, align 8, !tbaa !5
  br label %27

27:                                               ; preds = %._crit_edge43, %22
  %28 = phi ptr [ %.pre44, %._crit_edge43 ], [ %23, %22 ]
  %29 = getelementptr inbounds i8, ptr %28, i64 1624
  %30 = load i32, ptr %29, align 8, !tbaa !63
  %.not5 = icmp eq i32 %30, 0
  br i1 %.not5, label %31, label %32

31:                                               ; preds = %27
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.3, i32 noundef 336)
          to label %._crit_edge45 unwind label %201

._crit_edge45:                                    ; preds = %31
  %.pre46 = load ptr, ptr %7, align 8, !tbaa !5
  br label %32

32:                                               ; preds = %._crit_edge45, %27
  %33 = phi ptr [ %.pre46, %._crit_edge45 ], [ %28, %27 ]
  %34 = getelementptr inbounds i8, ptr %33, i64 1628
  %35 = load i32, ptr %34, align 4, !tbaa !64
  %.not6 = icmp eq i32 %35, 0
  br i1 %.not6, label %36, label %37

36:                                               ; preds = %32
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.3, i32 noundef 337)
          to label %._crit_edge47 unwind label %201

._crit_edge47:                                    ; preds = %36
  %.pre48 = load ptr, ptr %7, align 8, !tbaa !5
  br label %37

37:                                               ; preds = %._crit_edge47, %32
  %38 = phi ptr [ %.pre48, %._crit_edge47 ], [ %33, %32 ]
  %39 = getelementptr inbounds i8, ptr %38, i64 1632
  %40 = load i32, ptr %39, align 8, !tbaa !65
  %.not7 = icmp eq i32 %40, 0
  br i1 %.not7, label %41, label %42

41:                                               ; preds = %37
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.3, i32 noundef 338)
          to label %._crit_edge49 unwind label %201

._crit_edge49:                                    ; preds = %41
  %.pre50 = load ptr, ptr %7, align 8, !tbaa !5
  br label %42

42:                                               ; preds = %._crit_edge49, %37
  %43 = phi ptr [ %.pre50, %._crit_edge49 ], [ %38, %37 ]
  %44 = getelementptr inbounds i8, ptr %43, i64 1636
  %45 = load i32, ptr %44, align 4, !tbaa !66
  %.not8 = icmp eq i32 %45, 0
  br i1 %.not8, label %46, label %47

46:                                               ; preds = %42
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.3, i32 noundef 339)
          to label %._crit_edge51 unwind label %201

._crit_edge51:                                    ; preds = %46
  %.pre52 = load ptr, ptr %7, align 8, !tbaa !5
  br label %47

47:                                               ; preds = %._crit_edge51, %42
  %48 = phi ptr [ %.pre52, %._crit_edge51 ], [ %43, %42 ]
  %49 = getelementptr inbounds i8, ptr %48, i64 1640
  %50 = load i32, ptr %49, align 8, !tbaa !67
  %.not9 = icmp eq i32 %50, 0
  br i1 %.not9, label %51, label %52

51:                                               ; preds = %47
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.3, i32 noundef 340)
          to label %._crit_edge53 unwind label %201

._crit_edge53:                                    ; preds = %51
  %.pre54 = load ptr, ptr %7, align 8, !tbaa !5
  br label %52

52:                                               ; preds = %._crit_edge53, %47
  %53 = phi ptr [ %.pre54, %._crit_edge53 ], [ %48, %47 ]
  %54 = getelementptr inbounds i8, ptr %53, i64 1644
  %55 = load i32, ptr %54, align 4, !tbaa !68
  %.not10 = icmp eq i32 %55, 0
  br i1 %.not10, label %56, label %57

56:                                               ; preds = %52
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.3, i32 noundef 341)
          to label %._crit_edge55 unwind label %201

._crit_edge55:                                    ; preds = %56
  %.pre56 = load ptr, ptr %7, align 8, !tbaa !5
  br label %57

57:                                               ; preds = %._crit_edge55, %52
  %58 = phi ptr [ %.pre56, %._crit_edge55 ], [ %53, %52 ]
  %59 = getelementptr inbounds i8, ptr %58, i64 1648
  %60 = load i32, ptr %59, align 8, !tbaa !69
  %.not11 = icmp eq i32 %60, 0
  br i1 %.not11, label %61, label %62

61:                                               ; preds = %57
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.3, i32 noundef 342)
          to label %._crit_edge57 unwind label %201

._crit_edge57:                                    ; preds = %61
  %.pre58 = load ptr, ptr %7, align 8, !tbaa !5
  br label %62

62:                                               ; preds = %._crit_edge57, %57
  %63 = phi ptr [ %.pre58, %._crit_edge57 ], [ %58, %57 ]
  %64 = getelementptr inbounds i8, ptr %63, i64 1652
  %65 = load i32, ptr %64, align 4, !tbaa !70
  %.not12 = icmp eq i32 %65, 0
  br i1 %.not12, label %66, label %67

66:                                               ; preds = %62
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.3, i32 noundef 343)
          to label %._crit_edge59 unwind label %201

._crit_edge59:                                    ; preds = %66
  %.pre60 = load ptr, ptr %7, align 8, !tbaa !5
  br label %67

67:                                               ; preds = %._crit_edge59, %62
  %68 = phi ptr [ %.pre60, %._crit_edge59 ], [ %63, %62 ]
  %69 = getelementptr inbounds i8, ptr %68, i64 1656
  %70 = load i32, ptr %69, align 8, !tbaa !71
  %.not13 = icmp eq i32 %70, 0
  br i1 %.not13, label %71, label %72

71:                                               ; preds = %67
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.3, i32 noundef 344)
          to label %._crit_edge61 unwind label %201

._crit_edge61:                                    ; preds = %71
  %.pre62 = load ptr, ptr %7, align 8, !tbaa !5
  br label %72

72:                                               ; preds = %._crit_edge61, %67
  %73 = phi ptr [ %.pre62, %._crit_edge61 ], [ %68, %67 ]
  %74 = getelementptr inbounds i8, ptr %73, i64 1660
  %75 = load i32, ptr %74, align 4, !tbaa !72
  %.not14 = icmp eq i32 %75, 0
  br i1 %.not14, label %76, label %77

76:                                               ; preds = %72
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.3, i32 noundef 345)
          to label %._crit_edge63 unwind label %201

._crit_edge63:                                    ; preds = %76
  %.pre64 = load ptr, ptr %7, align 8, !tbaa !5
  br label %77

77:                                               ; preds = %._crit_edge63, %72
  %78 = phi ptr [ %.pre64, %._crit_edge63 ], [ %73, %72 ]
  %79 = getelementptr inbounds i8, ptr %78, i64 1664
  %80 = load i32, ptr %79, align 8, !tbaa !73
  %.not15 = icmp eq i32 %80, 0
  br i1 %.not15, label %81, label %82

81:                                               ; preds = %77
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.3, i32 noundef 346)
          to label %._crit_edge65 unwind label %201

._crit_edge65:                                    ; preds = %81
  %.pre66 = load ptr, ptr %7, align 8, !tbaa !5
  br label %82

82:                                               ; preds = %._crit_edge65, %77
  %83 = phi ptr [ %.pre66, %._crit_edge65 ], [ %78, %77 ]
  %84 = getelementptr inbounds i8, ptr %83, i64 1668
  %85 = load i32, ptr %84, align 4, !tbaa !74
  %.not16 = icmp eq i32 %85, 0
  br i1 %.not16, label %86, label %87

86:                                               ; preds = %82
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.3, i32 noundef 347)
          to label %._crit_edge67 unwind label %201

._crit_edge67:                                    ; preds = %86
  %.pre68 = load ptr, ptr %7, align 8, !tbaa !5
  br label %87

87:                                               ; preds = %._crit_edge67, %82
  %88 = phi ptr [ %.pre68, %._crit_edge67 ], [ %83, %82 ]
  %89 = getelementptr inbounds i8, ptr %88, i64 1672
  %90 = load i32, ptr %89, align 8, !tbaa !75
  %.not17 = icmp eq i32 %90, 0
  br i1 %.not17, label %91, label %92

91:                                               ; preds = %87
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.3, i32 noundef 348)
          to label %._crit_edge69 unwind label %201

._crit_edge69:                                    ; preds = %91
  %.pre70 = load ptr, ptr %7, align 8, !tbaa !5
  br label %92

92:                                               ; preds = %._crit_edge69, %87
  %93 = phi ptr [ %.pre70, %._crit_edge69 ], [ %88, %87 ]
  %94 = getelementptr inbounds i8, ptr %93, i64 1676
  %95 = load i32, ptr %94, align 4, !tbaa !76
  %.not18 = icmp eq i32 %95, 0
  br i1 %.not18, label %96, label %97

96:                                               ; preds = %92
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 349)
          to label %._crit_edge71 unwind label %201

._crit_edge71:                                    ; preds = %96
  %.pre72 = load ptr, ptr %7, align 8, !tbaa !5
  br label %97

97:                                               ; preds = %._crit_edge71, %92
  %98 = phi ptr [ %.pre72, %._crit_edge71 ], [ %93, %92 ]
  %99 = getelementptr inbounds i8, ptr %98, i64 1680
  %100 = load i32, ptr %99, align 8, !tbaa !77
  %.not19 = icmp eq i32 %100, 0
  br i1 %.not19, label %101, label %102

101:                                              ; preds = %97
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 350)
          to label %._crit_edge73 unwind label %201

._crit_edge73:                                    ; preds = %101
  %.pre74 = load ptr, ptr %7, align 8, !tbaa !5
  br label %102

102:                                              ; preds = %._crit_edge73, %97
  %103 = phi ptr [ %.pre74, %._crit_edge73 ], [ %98, %97 ]
  %104 = getelementptr inbounds i8, ptr %103, i64 1684
  %105 = load i32, ptr %104, align 4, !tbaa !78
  %.not20 = icmp eq i32 %105, 0
  br i1 %.not20, label %106, label %107

106:                                              ; preds = %102
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.3, i32 noundef 351)
          to label %._crit_edge75 unwind label %201

._crit_edge75:                                    ; preds = %106
  %.pre76 = load ptr, ptr %7, align 8, !tbaa !5
  br label %107

107:                                              ; preds = %._crit_edge75, %102
  %108 = phi ptr [ %.pre76, %._crit_edge75 ], [ %103, %102 ]
  %109 = getelementptr inbounds i8, ptr %108, i64 1688
  %110 = load i32, ptr %109, align 8, !tbaa !79
  %.not21 = icmp eq i32 %110, 0
  br i1 %.not21, label %111, label %112

111:                                              ; preds = %107
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.3, i32 noundef 352)
          to label %._crit_edge77 unwind label %201

._crit_edge77:                                    ; preds = %111
  %.pre78 = load ptr, ptr %7, align 8, !tbaa !5
  br label %112

112:                                              ; preds = %._crit_edge77, %107
  %113 = phi ptr [ %.pre78, %._crit_edge77 ], [ %108, %107 ]
  %114 = getelementptr inbounds i8, ptr %113, i64 1692
  %115 = load i32, ptr %114, align 4, !tbaa !80
  %.not22 = icmp eq i32 %115, 0
  br i1 %.not22, label %116, label %117

116:                                              ; preds = %112
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.3, i32 noundef 353)
          to label %._crit_edge79 unwind label %201

._crit_edge79:                                    ; preds = %116
  %.pre80 = load ptr, ptr %7, align 8, !tbaa !5
  br label %117

117:                                              ; preds = %._crit_edge79, %112
  %118 = phi ptr [ %.pre80, %._crit_edge79 ], [ %113, %112 ]
  %119 = getelementptr inbounds i8, ptr %118, i64 1696
  %120 = load i32, ptr %119, align 8, !tbaa !81
  %.not23 = icmp eq i32 %120, 0
  br i1 %.not23, label %121, label %122

121:                                              ; preds = %117
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.3, i32 noundef 354)
          to label %._crit_edge81 unwind label %201

._crit_edge81:                                    ; preds = %121
  %.pre82 = load ptr, ptr %7, align 8, !tbaa !5
  br label %122

122:                                              ; preds = %._crit_edge81, %117
  %123 = phi ptr [ %.pre82, %._crit_edge81 ], [ %118, %117 ]
  %124 = getelementptr inbounds i8, ptr %123, i64 1700
  %125 = load i32, ptr %124, align 4, !tbaa !82
  %.not24 = icmp eq i32 %125, 0
  br i1 %.not24, label %126, label %127

126:                                              ; preds = %122
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 355)
          to label %._crit_edge83 unwind label %201

._crit_edge83:                                    ; preds = %126
  %.pre84 = load ptr, ptr %7, align 8, !tbaa !5
  br label %127

127:                                              ; preds = %._crit_edge83, %122
  %128 = phi ptr [ %.pre84, %._crit_edge83 ], [ %123, %122 ]
  %129 = getelementptr inbounds i8, ptr %128, i64 1704
  %130 = load i32, ptr %129, align 8, !tbaa !83
  %.not25 = icmp eq i32 %130, 0
  br i1 %.not25, label %131, label %132

131:                                              ; preds = %127
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.3, i32 noundef 356)
          to label %._crit_edge85 unwind label %201

._crit_edge85:                                    ; preds = %131
  %.pre86 = load ptr, ptr %7, align 8, !tbaa !5
  br label %132

132:                                              ; preds = %._crit_edge85, %127
  %133 = phi ptr [ %.pre86, %._crit_edge85 ], [ %128, %127 ]
  %134 = getelementptr inbounds i8, ptr %133, i64 1708
  %135 = load i32, ptr %134, align 4, !tbaa !84
  %.not26 = icmp eq i32 %135, 0
  br i1 %.not26, label %136, label %137

136:                                              ; preds = %132
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.3, i32 noundef 357)
          to label %._crit_edge87 unwind label %201

._crit_edge87:                                    ; preds = %136
  %.pre88 = load ptr, ptr %7, align 8, !tbaa !5
  br label %137

137:                                              ; preds = %._crit_edge87, %132
  %138 = phi ptr [ %.pre88, %._crit_edge87 ], [ %133, %132 ]
  %139 = getelementptr inbounds i8, ptr %138, i64 1716
  %140 = load i32, ptr %139, align 4, !tbaa !85
  %.not27 = icmp eq i32 %140, 0
  br i1 %.not27, label %141, label %142

141:                                              ; preds = %137
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 358)
          to label %._crit_edge89 unwind label %201

._crit_edge89:                                    ; preds = %141
  %.pre90 = load ptr, ptr %7, align 8, !tbaa !5
  br label %142

142:                                              ; preds = %._crit_edge89, %137
  %143 = phi ptr [ %.pre90, %._crit_edge89 ], [ %138, %137 ]
  %144 = getelementptr inbounds i8, ptr %143, i64 1720
  %145 = load i32, ptr %144, align 8, !tbaa !86
  %.not28 = icmp eq i32 %145, 0
  br i1 %.not28, label %146, label %147

146:                                              ; preds = %142
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.3, i32 noundef 359)
          to label %._crit_edge91 unwind label %201

._crit_edge91:                                    ; preds = %146
  %.pre92 = load ptr, ptr %7, align 8, !tbaa !5
  br label %147

147:                                              ; preds = %._crit_edge91, %142
  %148 = phi ptr [ %.pre92, %._crit_edge91 ], [ %143, %142 ]
  %149 = getelementptr inbounds i8, ptr %148, i64 1724
  %150 = load i32, ptr %149, align 4, !tbaa !87
  %.not29 = icmp eq i32 %150, 0
  br i1 %.not29, label %151, label %152

151:                                              ; preds = %147
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 360)
          to label %._crit_edge93 unwind label %201

._crit_edge93:                                    ; preds = %151
  %.pre94 = load ptr, ptr %7, align 8, !tbaa !5
  br label %152

152:                                              ; preds = %._crit_edge93, %147
  %153 = phi ptr [ %.pre94, %._crit_edge93 ], [ %148, %147 ]
  %154 = getelementptr inbounds i8, ptr %153, i64 1728
  %155 = load i32, ptr %154, align 8, !tbaa !88
  %.not30 = icmp eq i32 %155, 0
  br i1 %.not30, label %156, label %157

156:                                              ; preds = %152
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 361)
          to label %._crit_edge95 unwind label %201

._crit_edge95:                                    ; preds = %156
  %.pre96 = load ptr, ptr %7, align 8, !tbaa !5
  br label %157

157:                                              ; preds = %._crit_edge95, %152
  %158 = phi ptr [ %.pre96, %._crit_edge95 ], [ %153, %152 ]
  %159 = getelementptr inbounds i8, ptr %158, i64 1732
  %160 = load i32, ptr %159, align 4, !tbaa !89
  %.not31 = icmp eq i32 %160, 0
  br i1 %.not31, label %161, label %162

161:                                              ; preds = %157
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 362)
          to label %._crit_edge97 unwind label %201

._crit_edge97:                                    ; preds = %161
  %.pre98 = load ptr, ptr %7, align 8, !tbaa !5
  br label %162

162:                                              ; preds = %._crit_edge97, %157
  %163 = phi ptr [ %.pre98, %._crit_edge97 ], [ %158, %157 ]
  %164 = getelementptr inbounds i8, ptr %163, i64 1736
  %165 = load i32, ptr %164, align 8, !tbaa !90
  %.not32 = icmp eq i32 %165, 0
  br i1 %.not32, label %166, label %167

166:                                              ; preds = %162
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.3, i32 noundef 363)
          to label %._crit_edge99 unwind label %201

._crit_edge99:                                    ; preds = %166
  %.pre100 = load ptr, ptr %7, align 8, !tbaa !5
  br label %167

167:                                              ; preds = %._crit_edge99, %162
  %168 = phi ptr [ %.pre100, %._crit_edge99 ], [ %163, %162 ]
  %169 = getelementptr inbounds i8, ptr %168, i64 1740
  %170 = load i32, ptr %169, align 4, !tbaa !91
  %.not33 = icmp eq i32 %170, 0
  br i1 %.not33, label %171, label %172

171:                                              ; preds = %167
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.3, i32 noundef 364)
          to label %._crit_edge101 unwind label %201

._crit_edge101:                                   ; preds = %171
  %.pre102 = load ptr, ptr %7, align 8, !tbaa !5
  br label %172

172:                                              ; preds = %._crit_edge101, %167
  %173 = phi ptr [ %.pre102, %._crit_edge101 ], [ %168, %167 ]
  %174 = getelementptr inbounds i8, ptr %173, i64 1744
  %175 = load i32, ptr %174, align 8, !tbaa !92
  %.not34 = icmp eq i32 %175, 0
  br i1 %.not34, label %176, label %177

176:                                              ; preds = %172
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.3, i32 noundef 365)
          to label %._crit_edge103 unwind label %201

._crit_edge103:                                   ; preds = %176
  %.pre104 = load ptr, ptr %7, align 8, !tbaa !5
  br label %177

177:                                              ; preds = %._crit_edge103, %172
  %178 = phi ptr [ %.pre104, %._crit_edge103 ], [ %173, %172 ]
  %179 = getelementptr inbounds i8, ptr %178, i64 1748
  %180 = load i32, ptr %179, align 4, !tbaa !93
  %.not35 = icmp eq i32 %180, 0
  br i1 %.not35, label %181, label %182

181:                                              ; preds = %177
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.3, i32 noundef 366)
          to label %._crit_edge105 unwind label %201

._crit_edge105:                                   ; preds = %181
  %.pre106 = load ptr, ptr %7, align 8, !tbaa !5
  br label %182

182:                                              ; preds = %._crit_edge105, %177
  %183 = phi ptr [ %.pre106, %._crit_edge105 ], [ %178, %177 ]
  %184 = getelementptr inbounds i8, ptr %183, i64 1752
  %185 = load i32, ptr %184, align 8, !tbaa !94
  %.not36 = icmp eq i32 %185, 0
  br i1 %.not36, label %186, label %187

186:                                              ; preds = %182
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.3, i32 noundef 367)
          to label %._crit_edge107 unwind label %201

._crit_edge107:                                   ; preds = %186
  %.pre108 = load ptr, ptr %7, align 8, !tbaa !5
  br label %187

187:                                              ; preds = %._crit_edge107, %182
  %188 = phi ptr [ %.pre108, %._crit_edge107 ], [ %183, %182 ]
  %189 = getelementptr inbounds i8, ptr %188, i64 1756
  %190 = load i32, ptr %189, align 4, !tbaa !95
  %.not37 = icmp eq i32 %190, 0
  br i1 %.not37, label %191, label %192

191:                                              ; preds = %187
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.3, i32 noundef 368)
          to label %192 unwind label %201

192:                                              ; preds = %191, %187
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %194 unwind label %201

194:                                              ; preds = %192
  %195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %193, ptr noundef nonnull @.str.40)
          to label %196 unwind label %201

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

198:                                              ; preds = %196
  call void @_ZN3TopD2Ev(ptr noundef nonnull align 8 dereferenceable(1808) %3) #6
  call void @llvm.lifetime.end.p0(i64 1808, ptr nonnull %3) #6
  ret i32 0

199:                                              ; preds = %2
  %200 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7sc_core14sc_module_nameD1Ev(ptr noundef nonnull align 8 dereferenceable(33) %4) #6
  br label %203

201:                                              ; preds = %196, %194, %192, %191, %186, %181, %176, %171, %166, %161, %156, %151, %146, %141, %136, %131, %126, %121, %116, %111, %106, %101, %96, %91, %86, %81, %76, %71, %66, %61, %56, %51, %46, %41, %36, %31, %26, %21, %16, %11, %5
  %202 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN3TopD2Ev(ptr noundef nonnull align 8 dereferenceable(1808) %3) #6
  br label %203

203:                                              ; preds = %201, %199
  %.pn = phi { ptr, i32 } [ %202, %201 ], [ %200, %199 ]
  call void @llvm.lifetime.end.p0(i64 1808, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn
}

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

declare void @_ZN7sc_core14sc_module_nameC1EPKc(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef) unnamed_addr #2

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

declare i32 @__gxx_personality_v0(...)

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

declare void @_ZN7sc_core8sc_startEv() local_unnamed_addr #2

declare void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3TopD2Ev(ptr noundef nonnull align 8 dereferenceable(1808)) unnamed_addr #5 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !9, i64 232}
!6 = !{!"_ZTS3Top", !7, i64 0, !9, i64 232, !32, i64 240, !32, i64 464, !32, i64 688, !32, i64 912, !32, i64 1136, !32, i64 1360, !32, i64 1584}
!7 = !{!"_ZTSN7sc_core9sc_moduleE", !8, i64 0, !23, i64 112, !24, i64 120, !26, i64 144, !28, i64 168, !30, i64 192, !9, i64 200, !31, i64 208, !9, i64 216, !9, i64 224}
!8 = !{!"_ZTSN7sc_core9sc_objectE", !9, i64 8, !12, i64 16, !16, i64 40, !20, i64 64, !9, i64 96, !9, i64 104}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"_ZTSSt6vectorIPN7sc_core8sc_eventESaIS2_EE", !13, i64 0}
!13 = !{!"_ZTSSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE12_Vector_implE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!16 = !{!"_ZTSSt6vectorIPN7sc_core9sc_objectESaIS2_EE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!20 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !21, i64 0, !22, i64 8, !10, i64 16}
!21 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !9, i64 0}
!22 = !{!"long", !10, i64 0}
!23 = !{!"_ZTSN7sc_core15sc_process_hostE"}
!24 = !{!"_ZTSN7sc_core12sc_sensitiveE", !9, i64 0, !25, i64 8, !9, i64 16}
!25 = !{!"_ZTSN7sc_core12sc_sensitiveUt_E", !10, i64 0}
!26 = !{!"_ZTSN7sc_core16sc_sensitive_posE", !9, i64 0, !27, i64 8, !9, i64 16}
!27 = !{!"_ZTSN7sc_core16sc_sensitive_posUt_E", !10, i64 0}
!28 = !{!"_ZTSN7sc_core16sc_sensitive_negE", !9, i64 0, !29, i64 8, !9, i64 16}
!29 = !{!"_ZTSN7sc_core16sc_sensitive_negUt_E", !10, i64 0}
!30 = !{!"bool", !10, i64 0}
!31 = !{!"int", !10, i64 0}
!32 = !{!"_ZTSN7sc_core9sc_signalIbLNS_16sc_writer_policyE0EEE", !33, i64 0, !36, i64 16, !37, i64 144, !9, i64 168, !30, i64 176, !40, i64 184, !9, i64 192, !30, i64 200, !9, i64 208, !9, i64 216}
!33 = !{!"_ZTSN7sc_core18sc_signal_inout_ifIbEE", !34, i64 0, !35, i64 8}
!34 = !{!"_ZTSN7sc_core15sc_signal_in_ifIbEE"}
!35 = !{!"_ZTSN7sc_core18sc_signal_write_ifIbEE"}
!36 = !{!"_ZTSN7sc_core15sc_prim_channelE", !8, i64 0, !9, i64 112, !9, i64 120}
!37 = !{!"_ZTSN7sc_core22sc_writer_policy_checkILNS_16sc_writer_policyE0EEE", !38, i64 0, !39, i64 8}
!38 = !{!"_ZTSN7sc_core27sc_writer_policy_check_portE", !9, i64 0}
!39 = !{!"_ZTSN7sc_core28sc_writer_policy_check_writeE", !30, i64 0, !9, i64 8}
!40 = !{!"long long", !10, i64 0}
!41 = !{!42, !31, i64 1608}
!42 = !{!"_ZTS1M", !7, i64 0, !43, i64 232, !43, i64 416, !51, i64 600, !58, i64 792, !43, i64 984, !51, i64 1168, !58, i64 1360, !31, i64 1552, !59, i64 1560, !59, i64 1568, !59, i64 1576, !59, i64 1584, !59, i64 1592, !59, i64 1600, !31, i64 1608, !31, i64 1612, !31, i64 1616, !31, i64 1620, !31, i64 1624, !31, i64 1628, !31, i64 1632, !31, i64 1636, !31, i64 1640, !31, i64 1644, !31, i64 1648, !31, i64 1652, !31, i64 1656, !31, i64 1660, !31, i64 1664, !31, i64 1668, !31, i64 1672, !31, i64 1676, !31, i64 1680, !31, i64 1684, !31, i64 1688, !31, i64 1692, !31, i64 1696, !31, i64 1700, !31, i64 1704, !31, i64 1708, !31, i64 1712, !31, i64 1716, !31, i64 1720, !31, i64 1724, !31, i64 1728, !31, i64 1732, !31, i64 1736, !31, i64 1740, !31, i64 1744, !31, i64 1748, !31, i64 1752, !31, i64 1756, !31, i64 1760}
!43 = !{!"_ZTSN7sc_core5sc_inIbEE", !44, i64 0, !9, i64 152, !9, i64 160, !9, i64 168, !9, i64 176}
!44 = !{!"_ZTSN7sc_core7sc_portINS_15sc_signal_in_ifIbEELi1ELNS_14sc_port_policyE0EEE", !45, i64 0}
!45 = !{!"_ZTSN7sc_core9sc_port_bINS_15sc_signal_in_ifIbEEEE", !46, i64 0, !9, i64 120, !47, i64 128}
!46 = !{!"_ZTSN7sc_core12sc_port_baseE", !8, i64 0, !9, i64 112}
!47 = !{!"_ZTSSt6vectorIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !48, i64 0}
!48 = !{!"_ZTSSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !49, i64 0}
!49 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE12_Vector_implE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!51 = !{!"_ZTSN7sc_core8sc_inoutIbEE", !52, i64 0, !9, i64 152, !9, i64 160, !9, i64 168, !9, i64 176, !9, i64 184}
!52 = !{!"_ZTSN7sc_core7sc_portINS_18sc_signal_inout_ifIbEELi1ELNS_14sc_port_policyE0EEE", !53, i64 0}
!53 = !{!"_ZTSN7sc_core9sc_port_bINS_18sc_signal_inout_ifIbEEEE", !46, i64 0, !9, i64 120, !54, i64 128}
!54 = !{!"_ZTSSt6vectorIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE", !55, i64 0}
!55 = !{!"_ZTSSt12_Vector_baseIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE12_Vector_implE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core18sc_signal_inout_ifIbEESaIS3_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!58 = !{!"_ZTSN7sc_core6sc_outIbEE", !51, i64 0}
!59 = !{!"_ZTSN7sc_core17sc_process_handleE", !9, i64 0}
!60 = !{!42, !31, i64 1612}
!61 = !{!42, !31, i64 1616}
!62 = !{!42, !31, i64 1620}
!63 = !{!42, !31, i64 1624}
!64 = !{!42, !31, i64 1628}
!65 = !{!42, !31, i64 1632}
!66 = !{!42, !31, i64 1636}
!67 = !{!42, !31, i64 1640}
!68 = !{!42, !31, i64 1644}
!69 = !{!42, !31, i64 1648}
!70 = !{!42, !31, i64 1652}
!71 = !{!42, !31, i64 1656}
!72 = !{!42, !31, i64 1660}
!73 = !{!42, !31, i64 1664}
!74 = !{!42, !31, i64 1668}
!75 = !{!42, !31, i64 1672}
!76 = !{!42, !31, i64 1676}
!77 = !{!42, !31, i64 1680}
!78 = !{!42, !31, i64 1684}
!79 = !{!42, !31, i64 1688}
!80 = !{!42, !31, i64 1692}
!81 = !{!42, !31, i64 1696}
!82 = !{!42, !31, i64 1700}
!83 = !{!42, !31, i64 1704}
!84 = !{!42, !31, i64 1708}
!85 = !{!42, !31, i64 1716}
!86 = !{!42, !31, i64 1720}
!87 = !{!42, !31, i64 1724}
!88 = !{!42, !31, i64 1728}
!89 = !{!42, !31, i64 1732}
!90 = !{!42, !31, i64 1736}
!91 = !{!42, !31, i64 1740}
!92 = !{!42, !31, i64 1744}
!93 = !{!42, !31, i64 1748}
!94 = !{!42, !31, i64 1752}
!95 = !{!42, !31, i64 1756}


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