; LLVM IR from gem5/gem5 :: src/systemc/tests/systemc/examples/aes (aes)

; 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.sc_dt::sc_uint" = type { %"class.sc_dt::sc_uint_base" }
%"class.sc_dt::sc_uint_base" = type { %"class.sc_dt::sc_value_base", i64, i32, i32 }
%"class.sc_dt::sc_value_base" = type { ptr }

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN11AES_Decrypt5dmulbEN5sc_dt7sc_uintILi8EEE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_uint") align 8 %0, ptr noundef nonnull align 8 dereferenceable(6512) %1, ptr noundef %2) #0 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i1, align 1
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %10 = load ptr, ptr %5, align 8
  store i1 false, ptr %7, align 1
  call void @_ZN5sc_dt7sc_uintILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0)
  %11 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %12 unwind label %214

12:                                               ; preds = %3
  %13 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %14 unwind label %214

14:                                               ; preds = %12
  %15 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %16 unwind label %214

16:                                               ; preds = %14
  %17 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %18 unwind label %214

18:                                               ; preds = %16
  %19 = xor i64 %13, %17
  %20 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 0)
          to label %21 unwind label %214

21:                                               ; preds = %18
  %22 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %20)
          to label %23 unwind label %214

23:                                               ; preds = %21
  %24 = xor i64 %19, %22
  %25 = icmp ne i64 %24, 0
  %26 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 0)
          to label %27 unwind label %214

27:                                               ; preds = %23
  %28 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %26, i1 noundef zeroext %25)
          to label %29 unwind label %214

29:                                               ; preds = %27
  %30 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %31 unwind label %214

31:                                               ; preds = %29
  %32 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %33 unwind label %214

33:                                               ; preds = %31
  %34 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %35 unwind label %214

35:                                               ; preds = %33
  %36 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %37 unwind label %214

37:                                               ; preds = %35
  %38 = xor i64 %32, %36
  %39 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 0)
          to label %40 unwind label %214

40:                                               ; preds = %37
  %41 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %39)
          to label %42 unwind label %214

42:                                               ; preds = %40
  %43 = xor i64 %38, %41
  %44 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %45 unwind label %214

45:                                               ; preds = %42
  %46 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %47 unwind label %214

47:                                               ; preds = %45
  %48 = xor i64 %43, %46
  %49 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 1)
          to label %50 unwind label %214

50:                                               ; preds = %47
  %51 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %52 unwind label %214

52:                                               ; preds = %50
  %53 = xor i64 %48, %51
  %54 = icmp ne i64 %53, 0
  %55 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 1)
          to label %56 unwind label %214

56:                                               ; preds = %52
  %57 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %55, i1 noundef zeroext %54)
          to label %58 unwind label %214

58:                                               ; preds = %56
  %59 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %60 unwind label %214

60:                                               ; preds = %58
  %61 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %59)
          to label %62 unwind label %214

62:                                               ; preds = %60
  %63 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %64 unwind label %214

64:                                               ; preds = %62
  %65 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %63)
          to label %66 unwind label %214

66:                                               ; preds = %64
  %67 = xor i64 %61, %65
  %68 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 1)
          to label %69 unwind label %214

69:                                               ; preds = %66
  %70 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %68)
          to label %71 unwind label %214

71:                                               ; preds = %69
  %72 = xor i64 %67, %70
  %73 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 2)
          to label %74 unwind label %214

74:                                               ; preds = %71
  %75 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %73)
          to label %76 unwind label %214

76:                                               ; preds = %74
  %77 = xor i64 %72, %75
  %78 = icmp ne i64 %77, 0
  %79 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 2)
          to label %80 unwind label %214

80:                                               ; preds = %76
  %81 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %79, i1 noundef zeroext %78)
          to label %82 unwind label %214

82:                                               ; preds = %80
  %83 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 0)
          to label %84 unwind label %214

84:                                               ; preds = %82
  %85 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %83)
          to label %86 unwind label %214

86:                                               ; preds = %84
  %87 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %88 unwind label %214

88:                                               ; preds = %86
  %89 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %90 unwind label %214

90:                                               ; preds = %88
  %91 = xor i64 %85, %89
  %92 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 2)
          to label %93 unwind label %214

93:                                               ; preds = %90
  %94 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %92)
          to label %95 unwind label %214

95:                                               ; preds = %93
  %96 = xor i64 %91, %94
  %97 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 3)
          to label %98 unwind label %214

98:                                               ; preds = %95
  %99 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %97)
          to label %100 unwind label %214

100:                                              ; preds = %98
  %101 = xor i64 %96, %99
  %102 = icmp ne i64 %101, 0
  %103 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 3)
          to label %104 unwind label %214

104:                                              ; preds = %100
  %105 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %103, i1 noundef zeroext %102)
          to label %106 unwind label %214

106:                                              ; preds = %104
  %107 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 1)
          to label %108 unwind label %214

108:                                              ; preds = %106
  %109 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %107)
          to label %110 unwind label %214

110:                                              ; preds = %108
  %111 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %112 unwind label %214

112:                                              ; preds = %110
  %113 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %111)
          to label %114 unwind label %214

114:                                              ; preds = %112
  %115 = xor i64 %109, %113
  %116 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %117 unwind label %214

117:                                              ; preds = %114
  %118 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %116)
          to label %119 unwind label %214

119:                                              ; preds = %117
  %120 = xor i64 %115, %118
  %121 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 3)
          to label %122 unwind label %214

122:                                              ; preds = %119
  %123 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %121)
          to label %124 unwind label %214

124:                                              ; preds = %122
  %125 = xor i64 %120, %123
  %126 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %127 unwind label %214

127:                                              ; preds = %124
  %128 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %126)
          to label %129 unwind label %214

129:                                              ; preds = %127
  %130 = xor i64 %125, %128
  %131 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 4)
          to label %132 unwind label %214

132:                                              ; preds = %129
  %133 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %131)
          to label %134 unwind label %214

134:                                              ; preds = %132
  %135 = xor i64 %130, %133
  %136 = icmp ne i64 %135, 0
  %137 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 4)
          to label %138 unwind label %214

138:                                              ; preds = %134
  %139 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %137, i1 noundef zeroext %136)
          to label %140 unwind label %214

140:                                              ; preds = %138
  %141 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %142 unwind label %214

142:                                              ; preds = %140
  %143 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %141)
          to label %144 unwind label %214

144:                                              ; preds = %142
  %145 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 2)
          to label %146 unwind label %214

146:                                              ; preds = %144
  %147 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %145)
          to label %148 unwind label %214

148:                                              ; preds = %146
  %149 = xor i64 %143, %147
  %150 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %151 unwind label %214

151:                                              ; preds = %148
  %152 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %150)
          to label %153 unwind label %214

153:                                              ; preds = %151
  %154 = xor i64 %149, %152
  %155 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 4)
          to label %156 unwind label %214

156:                                              ; preds = %153
  %157 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %155)
          to label %158 unwind label %214

158:                                              ; preds = %156
  %159 = xor i64 %154, %157
  %160 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %161 unwind label %214

161:                                              ; preds = %158
  %162 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %160)
          to label %163 unwind label %214

163:                                              ; preds = %161
  %164 = xor i64 %159, %162
  %165 = icmp ne i64 %164, 0
  %166 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 5)
          to label %167 unwind label %214

167:                                              ; preds = %163
  %168 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %166, i1 noundef zeroext %165)
          to label %169 unwind label %214

169:                                              ; preds = %167
  %170 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %171 unwind label %214

171:                                              ; preds = %169
  %172 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %170)
          to label %173 unwind label %214

173:                                              ; preds = %171
  %174 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 3)
          to label %175 unwind label %214

175:                                              ; preds = %173
  %176 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %174)
          to label %177 unwind label %214

177:                                              ; preds = %175
  %178 = xor i64 %172, %176
  %179 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %180 unwind label %214

180:                                              ; preds = %177
  %181 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %179)
          to label %182 unwind label %214

182:                                              ; preds = %180
  %183 = xor i64 %178, %181
  %184 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %185 unwind label %214

185:                                              ; preds = %182
  %186 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %184)
          to label %187 unwind label %214

187:                                              ; preds = %185
  %188 = xor i64 %183, %186
  %189 = icmp ne i64 %188, 0
  %190 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 6)
          to label %191 unwind label %214

191:                                              ; preds = %187
  %192 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %190, i1 noundef zeroext %189)
          to label %193 unwind label %214

193:                                              ; preds = %191
  %194 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 4)
          to label %195 unwind label %214

195:                                              ; preds = %193
  %196 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %194)
          to label %197 unwind label %214

197:                                              ; preds = %195
  %198 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %199 unwind label %214

199:                                              ; preds = %197
  %200 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %198)
          to label %201 unwind label %214

201:                                              ; preds = %199
  %202 = xor i64 %196, %200
  %203 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %204 unwind label %214

204:                                              ; preds = %201
  %205 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %203)
          to label %206 unwind label %214

206:                                              ; preds = %204
  %207 = xor i64 %202, %205
  %208 = icmp ne i64 %207, 0
  %209 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 7)
          to label %210 unwind label %214

210:                                              ; preds = %206
  %211 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %209, i1 noundef zeroext %208)
          to label %212 unwind label %214

212:                                              ; preds = %210
  store i1 true, ptr %7, align 1
  %213 = load i1, ptr %7, align 1
  br i1 %213, label %219, label %218

214:                                              ; preds = %210, %206, %204, %201, %199, %197, %195, %193, %191, %187, %185, %182, %180, %177, %175, %173, %171, %169, %167, %163, %161, %158, %156, %153, %151, %148, %146, %144, %142, %140, %138, %134, %132, %129, %127, %124, %122, %119, %117, %114, %112, %110, %108, %106, %104, %100, %98, %95, %93, %90, %88, %86, %84, %82, %80, %76, %74, %71, %69, %66, %64, %62, %60, %58, %56, %52, %50, %47, %45, %42, %40, %37, %35, %33, %31, %29, %27, %23, %21, %18, %16, %14, %12, %3
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %8, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %9, align 4
  call void @_ZN5sc_dt13sc_value_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #3
  br label %220

218:                                              ; preds = %212
  call void @_ZN5sc_dt13sc_value_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #3
  br label %219

219:                                              ; preds = %218, %212
  ret void

220:                                              ; preds = %214
  %221 = load ptr, ptr %8, align 8
  %222 = load i32, ptr %9, align 4
  %223 = insertvalue { ptr, i32 } poison, ptr %221, 0
  %224 = insertvalue { ptr, i32 } %223, i32 %222, 1
  resume { ptr, i32 } %224
}

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

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

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 = { 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 #2 = { 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 #3 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}


; 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.sc_dt::sc_uint" = type { %"class.sc_dt::sc_uint_base" }
%"class.sc_dt::sc_uint_base" = type { %"class.sc_dt::sc_value_base", i64, i32, i32 }
%"class.sc_dt::sc_value_base" = type { ptr }

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN11AES_Decrypt5dmulbEN5sc_dt7sc_uintILi8EEE(ptr dead_on_unwind noalias nonnull writable sret(%"class.sc_dt::sc_uint") align 8 %0, ptr nocapture noundef nonnull readnone align 8 dereferenceable(6512) %1, ptr noundef %2) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  tail call void @_ZN5sc_dt7sc_uintILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0)
  %4 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %5 unwind label %197

5:                                                ; preds = %3
  %6 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %7 unwind label %197

7:                                                ; preds = %5
  %8 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %9 unwind label %197

9:                                                ; preds = %7
  %10 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %11 unwind label %197

11:                                               ; preds = %9
  %12 = xor i64 %10, %6
  %13 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 0)
          to label %14 unwind label %197

14:                                               ; preds = %11
  %15 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %16 unwind label %197

16:                                               ; preds = %14
  %17 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 0)
          to label %18 unwind label %197

18:                                               ; preds = %16
  %19 = icmp ne i64 %12, %15
  %20 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %17, i1 noundef zeroext %19)
          to label %21 unwind label %197

21:                                               ; preds = %18
  %22 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %23 unwind label %197

23:                                               ; preds = %21
  %24 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %25 unwind label %197

25:                                               ; preds = %23
  %26 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %27 unwind label %197

27:                                               ; preds = %25
  %28 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %29 unwind label %197

29:                                               ; preds = %27
  %30 = xor i64 %28, %24
  %31 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 0)
          to label %32 unwind label %197

32:                                               ; preds = %29
  %33 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %31)
          to label %34 unwind label %197

34:                                               ; preds = %32
  %35 = xor i64 %30, %33
  %36 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %37 unwind label %197

37:                                               ; preds = %34
  %38 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %39 unwind label %197

39:                                               ; preds = %37
  %40 = xor i64 %35, %38
  %41 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 1)
          to label %42 unwind label %197

42:                                               ; preds = %39
  %43 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %44 unwind label %197

44:                                               ; preds = %42
  %45 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 1)
          to label %46 unwind label %197

46:                                               ; preds = %44
  %47 = icmp ne i64 %40, %43
  %48 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %45, i1 noundef zeroext %47)
          to label %49 unwind label %197

49:                                               ; preds = %46
  %50 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %51 unwind label %197

51:                                               ; preds = %49
  %52 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %50)
          to label %53 unwind label %197

53:                                               ; preds = %51
  %54 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %55 unwind label %197

55:                                               ; preds = %53
  %56 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %57 unwind label %197

57:                                               ; preds = %55
  %58 = xor i64 %56, %52
  %59 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 1)
          to label %60 unwind label %197

60:                                               ; preds = %57
  %61 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %59)
          to label %62 unwind label %197

62:                                               ; preds = %60
  %63 = xor i64 %58, %61
  %64 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 2)
          to label %65 unwind label %197

65:                                               ; preds = %62
  %66 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %64)
          to label %67 unwind label %197

67:                                               ; preds = %65
  %68 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 2)
          to label %69 unwind label %197

69:                                               ; preds = %67
  %70 = icmp ne i64 %63, %66
  %71 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %68, i1 noundef zeroext %70)
          to label %72 unwind label %197

72:                                               ; preds = %69
  %73 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 0)
          to label %74 unwind label %197

74:                                               ; preds = %72
  %75 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %73)
          to label %76 unwind label %197

76:                                               ; preds = %74
  %77 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %78 unwind label %197

78:                                               ; preds = %76
  %79 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %77)
          to label %80 unwind label %197

80:                                               ; preds = %78
  %81 = xor i64 %79, %75
  %82 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 2)
          to label %83 unwind label %197

83:                                               ; preds = %80
  %84 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %82)
          to label %85 unwind label %197

85:                                               ; preds = %83
  %86 = xor i64 %81, %84
  %87 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 3)
          to label %88 unwind label %197

88:                                               ; preds = %85
  %89 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %90 unwind label %197

90:                                               ; preds = %88
  %91 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 3)
          to label %92 unwind label %197

92:                                               ; preds = %90
  %93 = icmp ne i64 %86, %89
  %94 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %91, i1 noundef zeroext %93)
          to label %95 unwind label %197

95:                                               ; preds = %92
  %96 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 1)
          to label %97 unwind label %197

97:                                               ; preds = %95
  %98 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %96)
          to label %99 unwind label %197

99:                                               ; preds = %97
  %100 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %101 unwind label %197

101:                                              ; preds = %99
  %102 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %100)
          to label %103 unwind label %197

103:                                              ; preds = %101
  %104 = xor i64 %102, %98
  %105 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %106 unwind label %197

106:                                              ; preds = %103
  %107 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %105)
          to label %108 unwind label %197

108:                                              ; preds = %106
  %109 = xor i64 %104, %107
  %110 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 3)
          to label %111 unwind label %197

111:                                              ; preds = %108
  %112 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %110)
          to label %113 unwind label %197

113:                                              ; preds = %111
  %114 = xor i64 %109, %112
  %115 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %116 unwind label %197

116:                                              ; preds = %113
  %117 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %115)
          to label %118 unwind label %197

118:                                              ; preds = %116
  %119 = xor i64 %114, %117
  %120 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 4)
          to label %121 unwind label %197

121:                                              ; preds = %118
  %122 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %120)
          to label %123 unwind label %197

123:                                              ; preds = %121
  %124 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 4)
          to label %125 unwind label %197

125:                                              ; preds = %123
  %126 = icmp ne i64 %119, %122
  %127 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %124, i1 noundef zeroext %126)
          to label %128 unwind label %197

128:                                              ; preds = %125
  %129 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %130 unwind label %197

130:                                              ; preds = %128
  %131 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %129)
          to label %132 unwind label %197

132:                                              ; preds = %130
  %133 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 2)
          to label %134 unwind label %197

134:                                              ; preds = %132
  %135 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %133)
          to label %136 unwind label %197

136:                                              ; preds = %134
  %137 = xor i64 %135, %131
  %138 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %139 unwind label %197

139:                                              ; preds = %136
  %140 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %138)
          to label %141 unwind label %197

141:                                              ; preds = %139
  %142 = xor i64 %137, %140
  %143 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 4)
          to label %144 unwind label %197

144:                                              ; preds = %141
  %145 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %143)
          to label %146 unwind label %197

146:                                              ; preds = %144
  %147 = xor i64 %142, %145
  %148 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %149 unwind label %197

149:                                              ; preds = %146
  %150 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %148)
          to label %151 unwind label %197

151:                                              ; preds = %149
  %152 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 5)
          to label %153 unwind label %197

153:                                              ; preds = %151
  %154 = icmp ne i64 %147, %150
  %155 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %152, i1 noundef zeroext %154)
          to label %156 unwind label %197

156:                                              ; preds = %153
  %157 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %158 unwind label %197

158:                                              ; preds = %156
  %159 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %157)
          to label %160 unwind label %197

160:                                              ; preds = %158
  %161 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 3)
          to label %162 unwind label %197

162:                                              ; preds = %160
  %163 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %161)
          to label %164 unwind label %197

164:                                              ; preds = %162
  %165 = xor i64 %163, %159
  %166 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 5)
          to label %167 unwind label %197

167:                                              ; preds = %164
  %168 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %166)
          to label %169 unwind label %197

169:                                              ; preds = %167
  %170 = xor i64 %165, %168
  %171 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %172 unwind label %197

172:                                              ; preds = %169
  %173 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %171)
          to label %174 unwind label %197

174:                                              ; preds = %172
  %175 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 6)
          to label %176 unwind label %197

176:                                              ; preds = %174
  %177 = icmp ne i64 %170, %173
  %178 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %175, i1 noundef zeroext %177)
          to label %179 unwind label %197

179:                                              ; preds = %176
  %180 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 4)
          to label %181 unwind label %197

181:                                              ; preds = %179
  %182 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %180)
          to label %183 unwind label %197

183:                                              ; preds = %181
  %184 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 6)
          to label %185 unwind label %197

185:                                              ; preds = %183
  %186 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %184)
          to label %187 unwind label %197

187:                                              ; preds = %185
  %188 = xor i64 %186, %182
  %189 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef 7)
          to label %190 unwind label %197

190:                                              ; preds = %187
  %191 = invoke noundef i64 @_ZNK5sc_dt16sc_uint_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %189)
          to label %192 unwind label %197

192:                                              ; preds = %190
  %193 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt12sc_uint_baseixEi(ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef 7)
          to label %194 unwind label %197

194:                                              ; preds = %192
  %195 = icmp ne i64 %188, %191
  %196 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt14sc_uint_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %193, i1 noundef zeroext %195)
          to label %199 unwind label %197

197:                                              ; preds = %194, %192, %190, %187, %185, %183, %181, %179, %176, %174, %172, %169, %167, %164, %162, %160, %158, %156, %153, %151, %149, %146, %144, %141, %139, %136, %134, %132, %130, %128, %125, %123, %121, %118, %116, %113, %111, %108, %106, %103, %101, %99, %97, %95, %92, %90, %88, %85, %83, %80, %78, %76, %74, %72, %69, %67, %65, %62, %60, %57, %55, %53, %51, %49, %46, %44, %42, %39, %37, %34, %32, %29, %27, %25, %23, %21, %18, %16, %14, %11, %9, %7, %5, %3
  %198 = landingpad { ptr, i32 }
          cleanup
  tail call void @_ZN5sc_dt13sc_value_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #3
  resume { ptr, i32 } %198

199:                                              ; preds = %194
  ret void
}

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

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

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 = { 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 #2 = { 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 #3 = { 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)"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InstCombinePass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass