; LLVM IR from o0o0o0o0o0o0o/image-processing-from-scratch :: ImageMatting/Eigen/blas (complex_double)

; 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.Eigen::Map.204" = type { %"class.Eigen::MapBase.205", %"class.Eigen::OuterStride" }
%"class.Eigen::MapBase.205" = type { %"class.Eigen::MapBase.206" }
%"class.Eigen::MapBase.206" = type { ptr, %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic" }
%"class.Eigen::internal::variable_if_dynamic" = type { i64 }
%"class.Eigen::OuterStride" = type { %"class.Eigen::Stride.base", [7 x i8] }
%"class.Eigen::Stride.base" = type <{ %"class.Eigen::internal::variable_if_dynamic", i8 }>
%"class.Eigen::Map.130" = type { %"class.Eigen::MapBase.131", %"class.Eigen::OuterStride" }
%"class.Eigen::MapBase.131" = type { ptr, %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic" }
%"class.Eigen::Transpose.224" = type { %"class.Eigen::Map.130" }
%"class.Eigen::CwiseBinaryOp.261" = type <{ [8 x i8], %"class.Eigen::CwiseNullaryOp.248", %"class.Eigen::Map.130", [8 x i8] }>
%"class.Eigen::CwiseNullaryOp.248" = type { %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic", %"struct.Eigen::internal::scalar_constant_op" }
%"struct.Eigen::internal::scalar_constant_op" = type { %"class.std::complex" }
%"class.std::complex" = type { { double, double } }
%"class.Eigen::TriangularView.268" = type { %"class.Eigen::Map.204" }
%"class.Eigen::TriangularView.272" = type { %"class.Eigen::Map.204" }
%"class.Eigen::Product.276" = type { %"class.Eigen::CwiseBinaryOp.261", %"class.Eigen::Transpose.224" }
%"class.Eigen::Product.283" = type { %"class.Eigen::CwiseBinaryOp.290", %"class.Eigen::Map.130" }
%"class.Eigen::CwiseBinaryOp.290" = type <{ [8 x i8], %"class.Eigen::CwiseNullaryOp.296", %"class.Eigen::Transpose.224", [8 x i8] }>
%"class.Eigen::CwiseNullaryOp.296" = type { %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic", %"struct.Eigen::internal::scalar_constant_op" }

@.str.18 = external hidden unnamed_addr constant [7 x i8], align 1

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #3

declare i32 @xerbla_(ptr noundef, ptr noundef, i32 noundef) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZSteqIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Map.204") align 8, ptr noundef, i32 noundef, i32 noundef, i32 noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Map.130") align 8, ptr noundef, i32 noundef, i32 noundef, i32 noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Transpose.224") align 8, ptr noundef nonnull align 1 dereferenceable(1)) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEESD_E4typeEKSM_EEE4typeERKS8_RKNS_10MatrixBaseISM_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.261") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(1)) #5

; Function Attrs: mustprogress uwtable
define dso_local i32 @zsyrk_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9) #6 {
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca %"class.std::complex", align 8
  %25 = alloca %"class.std::complex", align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::complex", align 8
  %31 = alloca %"class.std::complex", align 8
  %32 = alloca %"class.Eigen::TriangularView.268", align 8
  %33 = alloca %"class.Eigen::Map.204", align 8
  %34 = alloca %"class.Eigen::TriangularView.268", align 8
  %35 = alloca %"class.Eigen::Map.204", align 8
  %36 = alloca %"class.std::complex", align 8
  %37 = alloca %"class.Eigen::TriangularView.272", align 8
  %38 = alloca %"class.Eigen::Map.204", align 8
  %39 = alloca %"class.Eigen::TriangularView.272", align 8
  %40 = alloca %"class.Eigen::Map.204", align 8
  %41 = alloca %"class.Eigen::Product.276", align 8
  %42 = alloca %"class.Eigen::CwiseBinaryOp.261", align 8
  %43 = alloca %"class.Eigen::Map.130", align 8
  %44 = alloca %"class.Eigen::Transpose.224", align 8
  %45 = alloca %"class.Eigen::Map.130", align 8
  %46 = alloca %"class.Eigen::TriangularView.268", align 8
  %47 = alloca %"class.Eigen::Map.204", align 8
  %48 = alloca %"class.Eigen::Product.283", align 8
  %49 = alloca %"class.Eigen::CwiseBinaryOp.290", align 8
  %50 = alloca %"class.Eigen::Transpose.224", align 8
  %51 = alloca %"class.Eigen::Map.130", align 8
  %52 = alloca %"class.Eigen::Map.130", align 8
  %53 = alloca %"class.Eigen::TriangularView.268", align 8
  %54 = alloca %"class.Eigen::Map.204", align 8
  %55 = alloca %"class.Eigen::Product.276", align 8
  %56 = alloca %"class.Eigen::CwiseBinaryOp.261", align 8
  %57 = alloca %"class.Eigen::Map.130", align 8
  %58 = alloca %"class.Eigen::Transpose.224", align 8
  %59 = alloca %"class.Eigen::Map.130", align 8
  %60 = alloca %"class.Eigen::TriangularView.272", align 8
  %61 = alloca %"class.Eigen::Map.204", align 8
  %62 = alloca %"class.Eigen::Product.283", align 8
  %63 = alloca %"class.Eigen::CwiseBinaryOp.290", align 8
  %64 = alloca %"class.Eigen::Transpose.224", align 8
  %65 = alloca %"class.Eigen::Map.130", align 8
  %66 = alloca %"class.Eigen::Map.130", align 8
  %67 = alloca %"class.Eigen::TriangularView.272", align 8
  %68 = alloca %"class.Eigen::Map.204", align 8
  store ptr %0, ptr %12, align 8, !tbaa !5
  store ptr %1, ptr %13, align 8, !tbaa !5
  store ptr %2, ptr %14, align 8, !tbaa !5
  store ptr %3, ptr %15, align 8, !tbaa !5
  store ptr %4, ptr %16, align 8, !tbaa !5
  store ptr %5, ptr %17, align 8, !tbaa !5
  store ptr %6, ptr %18, align 8, !tbaa !5
  store ptr %7, ptr %19, align 8, !tbaa !5
  store ptr %8, ptr %20, align 8, !tbaa !5
  store ptr %9, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %69 = load ptr, ptr %17, align 8, !tbaa !5
  store ptr %69, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %70 = load ptr, ptr %20, align 8, !tbaa !5
  store ptr %70, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #7
  %71 = load ptr, ptr %16, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %24, ptr align 8 %71, i64 16, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #7
  %72 = load ptr, ptr %19, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %25, ptr align 8 %72, i64 16, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  store i32 0, ptr %26, align 4, !tbaa !11
  %73 = load ptr, ptr %12, align 8, !tbaa !5
  %74 = load i8, ptr %73, align 1, !tbaa !10
  %75 = sext i8 %74 to i32
  %76 = icmp eq i32 %75, 85
  br i1 %76, label %82, label %77

77:                                               ; preds = %10
  %78 = load ptr, ptr %12, align 8, !tbaa !5
  %79 = load i8, ptr %78, align 1, !tbaa !10
  %80 = sext i8 %79 to i32
  %81 = icmp eq i32 %80, 117
  br i1 %81, label %82, label %83

82:                                               ; preds = %77, %10
  br label %97

83:                                               ; preds = %77
  %84 = load ptr, ptr %12, align 8, !tbaa !5
  %85 = load i8, ptr %84, align 1, !tbaa !10
  %86 = sext i8 %85 to i32
  %87 = icmp eq i32 %86, 76
  br i1 %87, label %93, label %88

88:                                               ; preds = %83
  %89 = load ptr, ptr %12, align 8, !tbaa !5
  %90 = load i8, ptr %89, align 1, !tbaa !10
  %91 = sext i8 %90 to i32
  %92 = icmp eq i32 %91, 108
  br label %93

93:                                               ; preds = %88, %83
  %94 = phi i1 [ true, %83 ], [ %92, %88 ]
  %95 = zext i1 %94 to i64
  %96 = select i1 %94, i32 1, i32 255
  br label %97

97:                                               ; preds = %93, %82
  %98 = phi i32 [ 0, %82 ], [ %96, %93 ]
  %99 = icmp eq i32 %98, 255
  br i1 %99, label %100, label %101

100:                                              ; preds = %97
  store i32 1, ptr %26, align 4, !tbaa !11
  br label %260

101:                                              ; preds = %97
  %102 = load ptr, ptr %13, align 8, !tbaa !5
  %103 = load i8, ptr %102, align 1, !tbaa !10
  %104 = sext i8 %103 to i32
  %105 = icmp eq i32 %104, 78
  br i1 %105, label %111, label %106

106:                                              ; preds = %101
  %107 = load ptr, ptr %13, align 8, !tbaa !5
  %108 = load i8, ptr %107, align 1, !tbaa !10
  %109 = sext i8 %108 to i32
  %110 = icmp eq i32 %109, 110
  br i1 %110, label %111, label %112

111:                                              ; preds = %106, %101
  br label %139

112:                                              ; preds = %106
  %113 = load ptr, ptr %13, align 8, !tbaa !5
  %114 = load i8, ptr %113, align 1, !tbaa !10
  %115 = sext i8 %114 to i32
  %116 = icmp eq i32 %115, 84
  br i1 %116, label %122, label %117

117:                                              ; preds = %112
  %118 = load ptr, ptr %13, align 8, !tbaa !5
  %119 = load i8, ptr %118, align 1, !tbaa !10
  %120 = sext i8 %119 to i32
  %121 = icmp eq i32 %120, 116
  br i1 %121, label %122, label %123

122:                                              ; preds = %117, %112
  br label %137

123:                                              ; preds = %117
  %124 = load ptr, ptr %13, align 8, !tbaa !5
  %125 = load i8, ptr %124, align 1, !tbaa !10
  %126 = sext i8 %125 to i32
  %127 = icmp eq i32 %126, 67
  br i1 %127, label %133, label %128

128:                                              ; preds = %123
  %129 = load ptr, ptr %13, align 8, !tbaa !5
  %130 = load i8, ptr %129, align 1, !tbaa !10
  %131 = sext i8 %130 to i32
  %132 = icmp eq i32 %131, 99
  br label %133

133:                                              ; preds = %128, %123
  %134 = phi i1 [ true, %123 ], [ %132, %128 ]
  %135 = zext i1 %134 to i64
  %136 = select i1 %134, i32 2, i32 255
  br label %137

137:                                              ; preds = %133, %122
  %138 = phi i32 [ 1, %122 ], [ %136, %133 ]
  br label %139

139:                                              ; preds = %137, %111
  %140 = phi i32 [ 0, %111 ], [ %138, %137 ]
  %141 = icmp eq i32 %140, 255
  br i1 %141, label %183, label %142

142:                                              ; preds = %139
  %143 = load ptr, ptr %13, align 8, !tbaa !5
  %144 = load i8, ptr %143, align 1, !tbaa !10
  %145 = sext i8 %144 to i32
  %146 = icmp eq i32 %145, 78
  br i1 %146, label %152, label %147

147:                                              ; preds = %142
  %148 = load ptr, ptr %13, align 8, !tbaa !5
  %149 = load i8, ptr %148, align 1, !tbaa !10
  %150 = sext i8 %149 to i32
  %151 = icmp eq i32 %150, 110
  br i1 %151, label %152, label %153

152:                                              ; preds = %147, %142
  br label %180

153:                                              ; preds = %147
  %154 = load ptr, ptr %13, align 8, !tbaa !5
  %155 = load i8, ptr %154, align 1, !tbaa !10
  %156 = sext i8 %155 to i32
  %157 = icmp eq i32 %156, 84
  br i1 %157, label %163, label %158

158:                                              ; preds = %153
  %159 = load ptr, ptr %13, align 8, !tbaa !5
  %160 = load i8, ptr %159, align 1, !tbaa !10
  %161 = sext i8 %160 to i32
  %162 = icmp eq i32 %161, 116
  br i1 %162, label %163, label %164

163:                                              ; preds = %158, %153
  br label %178

164:                                              ; preds = %158
  %165 = load ptr, ptr %13, align 8, !tbaa !5
  %166 = load i8, ptr %165, align 1, !tbaa !10
  %167 = sext i8 %166 to i32
  %168 = icmp eq i32 %167, 67
  br i1 %168, label %174, label %169

169:                                              ; preds = %164
  %170 = load ptr, ptr %13, align 8, !tbaa !5
  %171 = load i8, ptr %170, align 1, !tbaa !10
  %172 = sext i8 %171 to i32
  %173 = icmp eq i32 %172, 99
  br label %174

174:                                              ; preds = %169, %164
  %175 = phi i1 [ true, %164 ], [ %173, %169 ]
  %176 = zext i1 %175 to i64
  %177 = select i1 %175, i32 2, i32 255
  br label %178

178:                                              ; preds = %174, %163
  %179 = phi i32 [ 1, %163 ], [ %177, %174 ]
  br label %180

180:                                              ; preds = %178, %152
  %181 = phi i32 [ 0, %152 ], [ %179, %178 ]
  %182 = icmp eq i32 %181, 2
  br i1 %182, label %183, label %184

183:                                              ; preds = %180, %139
  store i32 2, ptr %26, align 4, !tbaa !11
  br label %259

184:                                              ; preds = %180
  %185 = load ptr, ptr %14, align 8, !tbaa !5
  %186 = load i32, ptr %185, align 4, !tbaa !11
  %187 = icmp slt i32 %186, 0
  br i1 %187, label %188, label %189

188:                                              ; preds = %184
  store i32 3, ptr %26, align 4, !tbaa !11
  br label %258

189:                                              ; preds = %184
  %190 = load ptr, ptr %15, align 8, !tbaa !5
  %191 = load i32, ptr %190, align 4, !tbaa !11
  %192 = icmp slt i32 %191, 0
  br i1 %192, label %193, label %194

193:                                              ; preds = %189
  store i32 4, ptr %26, align 4, !tbaa !11
  br label %257

194:                                              ; preds = %189
  %195 = load ptr, ptr %18, align 8, !tbaa !5
  %196 = load i32, ptr %195, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 1, ptr %27, align 4, !tbaa !11
  %197 = load ptr, ptr %13, align 8, !tbaa !5
  %198 = load i8, ptr %197, align 1, !tbaa !10
  %199 = sext i8 %198 to i32
  %200 = icmp eq i32 %199, 78
  br i1 %200, label %206, label %201

201:                                              ; preds = %194
  %202 = load ptr, ptr %13, align 8, !tbaa !5
  %203 = load i8, ptr %202, align 1, !tbaa !10
  %204 = sext i8 %203 to i32
  %205 = icmp eq i32 %204, 110
  br i1 %205, label %206, label %207

206:                                              ; preds = %201, %194
  br label %234

207:                                              ; preds = %201
  %208 = load ptr, ptr %13, align 8, !tbaa !5
  %209 = load i8, ptr %208, align 1, !tbaa !10
  %210 = sext i8 %209 to i32
  %211 = icmp eq i32 %210, 84
  br i1 %211, label %217, label %212

212:                                              ; preds = %207
  %213 = load ptr, ptr %13, align 8, !tbaa !5
  %214 = load i8, ptr %213, align 1, !tbaa !10
  %215 = sext i8 %214 to i32
  %216 = icmp eq i32 %215, 116
  br i1 %216, label %217, label %218

217:                                              ; preds = %212, %207
  br label %232

218:                                              ; preds = %212
  %219 = load ptr, ptr %13, align 8, !tbaa !5
  %220 = load i8, ptr %219, align 1, !tbaa !10
  %221 = sext i8 %220 to i32
  %222 = icmp eq i32 %221, 67
  br i1 %222, label %228, label %223

223:                                              ; preds = %218
  %224 = load ptr, ptr %13, align 8, !tbaa !5
  %225 = load i8, ptr %224, align 1, !tbaa !10
  %226 = sext i8 %225 to i32
  %227 = icmp eq i32 %226, 99
  br label %228

228:                                              ; preds = %223, %218
  %229 = phi i1 [ true, %218 ], [ %227, %223 ]
  %230 = zext i1 %229 to i64
  %231 = select i1 %229, i32 2, i32 255
  br label %232

232:                                              ; preds = %228, %217
  %233 = phi i32 [ 1, %217 ], [ %231, %228 ]
  br label %234

234:                                              ; preds = %232, %206
  %235 = phi i32 [ 0, %206 ], [ %233, %232 ]
  %236 = icmp eq i32 %235, 0
  br i1 %236, label %237, label %239

237:                                              ; preds = %234
  %238 = load ptr, ptr %14, align 8, !tbaa !5
  br label %241

239:                                              ; preds = %234
  %240 = load ptr, ptr %15, align 8, !tbaa !5
  br label %241

241:                                              ; preds = %239, %237
  %242 = phi ptr [ %238, %237 ], [ %240, %239 ]
  %243 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(4) %242)
  %244 = load i32, ptr %243, align 4, !tbaa !11
  %245 = icmp slt i32 %196, %244
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br i1 %245, label %246, label %247

246:                                              ; preds = %241
  store i32 7, ptr %26, align 4, !tbaa !11
  br label %256

247:                                              ; preds = %241
  %248 = load ptr, ptr %21, align 8, !tbaa !5
  %249 = load i32, ptr %248, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  store i32 1, ptr %28, align 4, !tbaa !11
  %250 = load ptr, ptr %14, align 8, !tbaa !5
  %251 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(4) %250)
  %252 = load i32, ptr %251, align 4, !tbaa !11
  %253 = icmp slt i32 %249, %252
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  br i1 %253, label %254, label %255

254:                                              ; preds = %247
  store i32 10, ptr %26, align 4, !tbaa !11
  br label %255

255:                                              ; preds = %254, %247
  br label %256

256:                                              ; preds = %255, %246
  br label %257

257:                                              ; preds = %256, %193
  br label %258

258:                                              ; preds = %257, %188
  br label %259

259:                                              ; preds = %258, %183
  br label %260

260:                                              ; preds = %259, %100
  %261 = load i32, ptr %26, align 4, !tbaa !11
  %262 = icmp ne i32 %261, 0
  br i1 %262, label %263, label %265

263:                                              ; preds = %260
  %264 = call i32 @xerbla_(ptr noundef @.str.18, ptr noundef %26, i32 noundef 6)
  store i32 %264, ptr %11, align 4
  store i32 1, ptr %29, align 4
  br label %552

265:                                              ; preds = %260
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #7
  call void @_ZNSt7complexIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %30, double noundef 1.000000e+00, double noundef 0.000000e+00)
  %266 = call noundef zeroext i1 @_ZStneIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(16) %30)
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  br i1 %266, label %267, label %338

267:                                              ; preds = %265
  %268 = load ptr, ptr %12, align 8, !tbaa !5
  %269 = load i8, ptr %268, align 1, !tbaa !10
  %270 = sext i8 %269 to i32
  %271 = icmp eq i32 %270, 85
  br i1 %271, label %277, label %272

272:                                              ; preds = %267
  %273 = load ptr, ptr %12, align 8, !tbaa !5
  %274 = load i8, ptr %273, align 1, !tbaa !10
  %275 = sext i8 %274 to i32
  %276 = icmp eq i32 %275, 117
  br i1 %276, label %277, label %278

277:                                              ; preds = %272, %267
  br label %292

278:                                              ; preds = %272
  %279 = load ptr, ptr %12, align 8, !tbaa !5
  %280 = load i8, ptr %279, align 1, !tbaa !10
  %281 = sext i8 %280 to i32
  %282 = icmp eq i32 %281, 76
  br i1 %282, label %288, label %283

283:                                              ; preds = %278
  %284 = load ptr, ptr %12, align 8, !tbaa !5
  %285 = load i8, ptr %284, align 1, !tbaa !10
  %286 = sext i8 %285 to i32
  %287 = icmp eq i32 %286, 108
  br label %288

288:                                              ; preds = %283, %278
  %289 = phi i1 [ true, %278 ], [ %287, %283 ]
  %290 = zext i1 %289 to i64
  %291 = select i1 %289, i32 1, i32 255
  br label %292

292:                                              ; preds = %288, %277
  %293 = phi i32 [ 0, %277 ], [ %291, %288 ]
  %294 = icmp eq i32 %293, 0
  br i1 %294, label %295, label %316

295:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #7
  call void @_ZNSt7complexIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %31, double noundef 0.000000e+00, double noundef 0.000000e+00)
  %296 = call noundef zeroext i1 @_ZSteqIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(16) %31)
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #7
  br i1 %296, label %297, label %306

297:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 40, ptr %32) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %33) #7
  %298 = load ptr, ptr %23, align 8, !tbaa !5
  %299 = load ptr, ptr %14, align 8, !tbaa !5
  %300 = load i32, ptr %299, align 4, !tbaa !11
  %301 = load ptr, ptr %14, align 8, !tbaa !5
  %302 = load i32, ptr %301, align 4, !tbaa !11
  %303 = load ptr, ptr %21, align 8, !tbaa !5
  %304 = load i32, ptr %303, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %33, ptr noundef %298, i32 noundef %300, i32 noundef %302, i32 noundef %304)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.268") align 8 %32, ptr noundef nonnull align 1 dereferenceable(1) %33)
  %305 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %32)
  call void @llvm.lifetime.end.p0(i64 40, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #7
  br label %315

306:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 40, ptr %34) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %35) #7
  %307 = load ptr, ptr %23, align 8, !tbaa !5
  %308 = load ptr, ptr %14, align 8, !tbaa !5
  %309 = load i32, ptr %308, align 4, !tbaa !11
  %310 = load ptr, ptr %14, align 8, !tbaa !5
  %311 = load i32, ptr %310, align 4, !tbaa !11
  %312 = load ptr, ptr %21, align 8, !tbaa !5
  %313 = load i32, ptr %312, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %35, ptr noundef %307, i32 noundef %309, i32 noundef %311, i32 noundef %313)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.268") align 8 %34, ptr noundef nonnull align 1 dereferenceable(1) %35)
  %314 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1) %34, ptr noundef nonnull align 8 dereferenceable(16) %25)
  call void @llvm.lifetime.end.p0(i64 40, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %34) #7
  br label %315

315:                                              ; preds = %306, %297
  br label %337

316:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #7
  call void @_ZNSt7complexIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %36, double noundef 0.000000e+00, double noundef 0.000000e+00)
  %317 = call noundef zeroext i1 @_ZSteqIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef nonnull align 8 dereferenceable(16) %36)
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #7
  br i1 %317, label %318, label %327

318:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 40, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %38) #7
  %319 = load ptr, ptr %23, align 8, !tbaa !5
  %320 = load ptr, ptr %14, align 8, !tbaa !5
  %321 = load i32, ptr %320, align 4, !tbaa !11
  %322 = load ptr, ptr %14, align 8, !tbaa !5
  %323 = load i32, ptr %322, align 4, !tbaa !11
  %324 = load ptr, ptr %21, align 8, !tbaa !5
  %325 = load i32, ptr %324, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %38, ptr noundef %319, i32 noundef %321, i32 noundef %323, i32 noundef %325)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.272") align 8 %37, ptr noundef nonnull align 1 dereferenceable(1) %38)
  %326 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %37)
  call void @llvm.lifetime.end.p0(i64 40, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %37) #7
  br label %336

327:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 40, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %40) #7
  %328 = load ptr, ptr %23, align 8, !tbaa !5
  %329 = load ptr, ptr %14, align 8, !tbaa !5
  %330 = load i32, ptr %329, align 4, !tbaa !11
  %331 = load ptr, ptr %14, align 8, !tbaa !5
  %332 = load i32, ptr %331, align 4, !tbaa !11
  %333 = load ptr, ptr %21, align 8, !tbaa !5
  %334 = load i32, ptr %333, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %40, ptr noundef %328, i32 noundef %330, i32 noundef %332, i32 noundef %334)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.272") align 8 %39, ptr noundef nonnull align 1 dereferenceable(1) %40)
  %335 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1) %39, ptr noundef nonnull align 8 dereferenceable(16) %25)
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %39) #7
  br label %336

336:                                              ; preds = %327, %318
  br label %337

337:                                              ; preds = %336, %315
  br label %338

338:                                              ; preds = %337, %265
  %339 = load ptr, ptr %14, align 8, !tbaa !5
  %340 = load i32, ptr %339, align 4, !tbaa !11
  %341 = icmp eq i32 %340, 0
  br i1 %341, label %346, label %342

342:                                              ; preds = %338
  %343 = load ptr, ptr %15, align 8, !tbaa !5
  %344 = load i32, ptr %343, align 4, !tbaa !11
  %345 = icmp eq i32 %344, 0
  br i1 %345, label %346, label %347

346:                                              ; preds = %342, %338
  store i32 0, ptr %11, align 4
  store i32 1, ptr %29, align 4
  br label %552

347:                                              ; preds = %342
  %348 = load ptr, ptr %12, align 8, !tbaa !5
  %349 = load i8, ptr %348, align 1, !tbaa !10
  %350 = sext i8 %349 to i32
  %351 = icmp eq i32 %350, 85
  br i1 %351, label %357, label %352

352:                                              ; preds = %347
  %353 = load ptr, ptr %12, align 8, !tbaa !5
  %354 = load i8, ptr %353, align 1, !tbaa !10
  %355 = sext i8 %354 to i32
  %356 = icmp eq i32 %355, 117
  br i1 %356, label %357, label %358

357:                                              ; preds = %352, %347
  br label %372

358:                                              ; preds = %352
  %359 = load ptr, ptr %12, align 8, !tbaa !5
  %360 = load i8, ptr %359, align 1, !tbaa !10
  %361 = sext i8 %360 to i32
  %362 = icmp eq i32 %361, 76
  br i1 %362, label %368, label %363

363:                                              ; preds = %358
  %364 = load ptr, ptr %12, align 8, !tbaa !5
  %365 = load i8, ptr %364, align 1, !tbaa !10
  %366 = sext i8 %365 to i32
  %367 = icmp eq i32 %366, 108
  br label %368

368:                                              ; preds = %363, %358
  %369 = phi i1 [ true, %358 ], [ %367, %363 ]
  %370 = zext i1 %369 to i64
  %371 = select i1 %369, i32 1, i32 255
  br label %372

372:                                              ; preds = %368, %357
  %373 = phi i32 [ 0, %357 ], [ %371, %368 ]
  %374 = icmp eq i32 %373, 0
  br i1 %374, label %375, label %463

375:                                              ; preds = %372
  %376 = load ptr, ptr %13, align 8, !tbaa !5
  %377 = load i8, ptr %376, align 1, !tbaa !10
  %378 = sext i8 %377 to i32
  %379 = icmp eq i32 %378, 78
  br i1 %379, label %385, label %380

380:                                              ; preds = %375
  %381 = load ptr, ptr %13, align 8, !tbaa !5
  %382 = load i8, ptr %381, align 1, !tbaa !10
  %383 = sext i8 %382 to i32
  %384 = icmp eq i32 %383, 110
  br i1 %384, label %385, label %386

385:                                              ; preds = %380, %375
  br label %413

386:                                              ; preds = %380
  %387 = load ptr, ptr %13, align 8, !tbaa !5
  %388 = load i8, ptr %387, align 1, !tbaa !10
  %389 = sext i8 %388 to i32
  %390 = icmp eq i32 %389, 84
  br i1 %390, label %396, label %391

391:                                              ; preds = %386
  %392 = load ptr, ptr %13, align 8, !tbaa !5
  %393 = load i8, ptr %392, align 1, !tbaa !10
  %394 = sext i8 %393 to i32
  %395 = icmp eq i32 %394, 116
  br i1 %395, label %396, label %397

396:                                              ; preds = %391, %386
  br label %411

397:                                              ; preds = %391
  %398 = load ptr, ptr %13, align 8, !tbaa !5
  %399 = load i8, ptr %398, align 1, !tbaa !10
  %400 = sext i8 %399 to i32
  %401 = icmp eq i32 %400, 67
  br i1 %401, label %407, label %402

402:                                              ; preds = %397
  %403 = load ptr, ptr %13, align 8, !tbaa !5
  %404 = load i8, ptr %403, align 1, !tbaa !10
  %405 = sext i8 %404 to i32
  %406 = icmp eq i32 %405, 99
  br label %407

407:                                              ; preds = %402, %397
  %408 = phi i1 [ true, %397 ], [ %406, %402 ]
  %409 = zext i1 %408 to i64
  %410 = select i1 %408, i32 2, i32 255
  br label %411

411:                                              ; preds = %407, %396
  %412 = phi i32 [ 1, %396 ], [ %410, %407 ]
  br label %413

413:                                              ; preds = %411, %385
  %414 = phi i32 [ 0, %385 ], [ %412, %411 ]
  %415 = icmp eq i32 %414, 0
  br i1 %415, label %416, label %439

416:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 128, ptr %41) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr %42) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %43) #7
  %417 = load ptr, ptr %22, align 8, !tbaa !5
  %418 = load ptr, ptr %14, align 8, !tbaa !5
  %419 = load i32, ptr %418, align 4, !tbaa !11
  %420 = load ptr, ptr %15, align 8, !tbaa !5
  %421 = load i32, ptr %420, align 4, !tbaa !11
  %422 = load ptr, ptr %18, align 8, !tbaa !5
  %423 = load i32, ptr %422, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %43, ptr noundef %417, i32 noundef %419, i32 noundef %421, i32 noundef %423)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEESD_E4typeEKSM_EEE4typeERKS8_RKNS_10MatrixBaseISM_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.261") align 8 %42, ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 1 dereferenceable(1) %43)
  call void @llvm.lifetime.start.p0(i64 40, ptr %44) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %45) #7
  %424 = load ptr, ptr %22, align 8, !tbaa !5
  %425 = load ptr, ptr %14, align 8, !tbaa !5
  %426 = load i32, ptr %425, align 4, !tbaa !11
  %427 = load ptr, ptr %15, align 8, !tbaa !5
  %428 = load i32, ptr %427, align 4, !tbaa !11
  %429 = load ptr, ptr %18, align 8, !tbaa !5
  %430 = load i32, ptr %429, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %45, ptr noundef %424, i32 noundef %426, i32 noundef %428, i32 noundef %430)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind writable sret(%"class.Eigen::Transpose.224") align 8 %44, ptr noundef nonnull align 1 dereferenceable(1) %45)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi0ELin1ELin1EEEEEKNS_3MapISC_Li0ENS_11OuterStrideILin1EEEEEEEEmlINS_9TransposeISI_EEEEKNS_7ProductISK_T_Li0EEERKNS0_ISQ_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.276") align 8 %41, ptr noundef nonnull align 1 dereferenceable(1) %42, ptr noundef nonnull align 1 dereferenceable(1) %44)
  call void @llvm.lifetime.start.p0(i64 40, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %47) #7
  %431 = load ptr, ptr %23, align 8, !tbaa !5
  %432 = load ptr, ptr %14, align 8, !tbaa !5
  %433 = load i32, ptr %432, align 4, !tbaa !11
  %434 = load ptr, ptr %14, align 8, !tbaa !5
  %435 = load i32, ptr %434, align 4, !tbaa !11
  %436 = load ptr, ptr %21, align 8, !tbaa !5
  %437 = load i32, ptr %436, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %47, ptr noundef %431, i32 noundef %433, i32 noundef %435, i32 noundef %437)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.268") align 8 %46, ptr noundef nonnull align 1 dereferenceable(1) %47)
  %438 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKS5_EEKNS1_ISK_Li0ES7_EEEENS_9TransposeISN_EELi0EEEEERNS_14TriangularViewIS8_Lj2EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %46, ptr noundef nonnull align 1 dereferenceable(1) %41)
  call void @llvm.lifetime.end.p0(i64 40, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr %41) #7
  br label %462

439:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 128, ptr %48) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr %49) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %51) #7
  %440 = load ptr, ptr %22, align 8, !tbaa !5
  %441 = load ptr, ptr %15, align 8, !tbaa !5
  %442 = load i32, ptr %441, align 4, !tbaa !11
  %443 = load ptr, ptr %14, align 8, !tbaa !5
  %444 = load i32, ptr %443, align 4, !tbaa !11
  %445 = load ptr, ptr %18, align 8, !tbaa !5
  %446 = load i32, ptr %445, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %51, ptr noundef %440, i32 noundef %442, i32 noundef %444, i32 noundef %446)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind writable sret(%"class.Eigen::Transpose.224") align 8 %50, ptr noundef nonnull align 1 dereferenceable(1) %51)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_9TransposeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEESD_E4typeEKSO_EEE4typeERKS8_RKNS_10MatrixBaseISO_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.290") align 8 %49, ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 1 dereferenceable(1) %50)
  call void @llvm.lifetime.start.p0(i64 40, ptr %52) #7
  %447 = load ptr, ptr %22, align 8, !tbaa !5
  %448 = load ptr, ptr %15, align 8, !tbaa !5
  %449 = load i32, ptr %448, align 4, !tbaa !11
  %450 = load ptr, ptr %14, align 8, !tbaa !5
  %451 = load i32, ptr %450, align 4, !tbaa !11
  %452 = load ptr, ptr %18, align 8, !tbaa !5
  %453 = load i32, ptr %452, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %52, ptr noundef %447, i32 noundef %449, i32 noundef %451, i32 noundef %453)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS_3MapIKNSA_IS5_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEEEEEmlISL_EEKNS_7ProductISO_T_Li0EEERKNS0_ISS_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.283") align 8 %48, ptr noundef nonnull align 1 dereferenceable(1) %49, ptr noundef nonnull align 1 dereferenceable(1) %52)
  call void @llvm.lifetime.start.p0(i64 40, ptr %53) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %54) #7
  %454 = load ptr, ptr %23, align 8, !tbaa !5
  %455 = load ptr, ptr %14, align 8, !tbaa !5
  %456 = load i32, ptr %455, align 4, !tbaa !11
  %457 = load ptr, ptr %14, align 8, !tbaa !5
  %458 = load i32, ptr %457, align 4, !tbaa !11
  %459 = load ptr, ptr %21, align 8, !tbaa !5
  %460 = load i32, ptr %459, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %54, ptr noundef %454, i32 noundef %456, i32 noundef %458, i32 noundef %460)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.268") align 8 %53, ptr noundef nonnull align 1 dereferenceable(1) %54)
  %461 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKNS2_IS4_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS1_IKS5_Li0ES7_EEEEEESQ_Li0EEEEERNS_14TriangularViewIS8_Lj2EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %53, ptr noundef nonnull align 1 dereferenceable(1) %48)
  call void @llvm.lifetime.end.p0(i64 40, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr %48) #7
  br label %462

462:                                              ; preds = %439, %416
  br label %551

463:                                              ; preds = %372
  %464 = load ptr, ptr %13, align 8, !tbaa !5
  %465 = load i8, ptr %464, align 1, !tbaa !10
  %466 = sext i8 %465 to i32
  %467 = icmp eq i32 %466, 78
  br i1 %467, label %473, label %468

468:                                              ; preds = %463
  %469 = load ptr, ptr %13, align 8, !tbaa !5
  %470 = load i8, ptr %469, align 1, !tbaa !10
  %471 = sext i8 %470 to i32
  %472 = icmp eq i32 %471, 110
  br i1 %472, label %473, label %474

473:                                              ; preds = %468, %463
  br label %501

474:                                              ; preds = %468
  %475 = load ptr, ptr %13, align 8, !tbaa !5
  %476 = load i8, ptr %475, align 1, !tbaa !10
  %477 = sext i8 %476 to i32
  %478 = icmp eq i32 %477, 84
  br i1 %478, label %484, label %479

479:                                              ; preds = %474
  %480 = load ptr, ptr %13, align 8, !tbaa !5
  %481 = load i8, ptr %480, align 1, !tbaa !10
  %482 = sext i8 %481 to i32
  %483 = icmp eq i32 %482, 116
  br i1 %483, label %484, label %485

484:                                              ; preds = %479, %474
  br label %499

485:                                              ; preds = %479
  %486 = load ptr, ptr %13, align 8, !tbaa !5
  %487 = load i8, ptr %486, align 1, !tbaa !10
  %488 = sext i8 %487 to i32
  %489 = icmp eq i32 %488, 67
  br i1 %489, label %495, label %490

490:                                              ; preds = %485
  %491 = load ptr, ptr %13, align 8, !tbaa !5
  %492 = load i8, ptr %491, align 1, !tbaa !10
  %493 = sext i8 %492 to i32
  %494 = icmp eq i32 %493, 99
  br label %495

495:                                              ; preds = %490, %485
  %496 = phi i1 [ true, %485 ], [ %494, %490 ]
  %497 = zext i1 %496 to i64
  %498 = select i1 %496, i32 2, i32 255
  br label %499

499:                                              ; preds = %495, %484
  %500 = phi i32 [ 1, %484 ], [ %498, %495 ]
  br label %501

501:                                              ; preds = %499, %473
  %502 = phi i32 [ 0, %473 ], [ %500, %499 ]
  %503 = icmp eq i32 %502, 0
  br i1 %503, label %504, label %527

504:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 128, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %57) #7
  %505 = load ptr, ptr %22, align 8, !tbaa !5
  %506 = load ptr, ptr %14, align 8, !tbaa !5
  %507 = load i32, ptr %506, align 4, !tbaa !11
  %508 = load ptr, ptr %15, align 8, !tbaa !5
  %509 = load i32, ptr %508, align 4, !tbaa !11
  %510 = load ptr, ptr %18, align 8, !tbaa !5
  %511 = load i32, ptr %510, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %57, ptr noundef %505, i32 noundef %507, i32 noundef %509, i32 noundef %511)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEESD_E4typeEKSM_EEE4typeERKS8_RKNS_10MatrixBaseISM_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.261") align 8 %56, ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 1 dereferenceable(1) %57)
  call void @llvm.lifetime.start.p0(i64 40, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %59) #7
  %512 = load ptr, ptr %22, align 8, !tbaa !5
  %513 = load ptr, ptr %14, align 8, !tbaa !5
  %514 = load i32, ptr %513, align 4, !tbaa !11
  %515 = load ptr, ptr %15, align 8, !tbaa !5
  %516 = load i32, ptr %515, align 4, !tbaa !11
  %517 = load ptr, ptr %18, align 8, !tbaa !5
  %518 = load i32, ptr %517, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %59, ptr noundef %512, i32 noundef %514, i32 noundef %516, i32 noundef %518)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind writable sret(%"class.Eigen::Transpose.224") align 8 %58, ptr noundef nonnull align 1 dereferenceable(1) %59)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi0ELin1ELin1EEEEEKNS_3MapISC_Li0ENS_11OuterStrideILin1EEEEEEEEmlINS_9TransposeISI_EEEEKNS_7ProductISK_T_Li0EEERKNS0_ISQ_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.276") align 8 %55, ptr noundef nonnull align 1 dereferenceable(1) %56, ptr noundef nonnull align 1 dereferenceable(1) %58)
  call void @llvm.lifetime.start.p0(i64 40, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %61) #7
  %519 = load ptr, ptr %23, align 8, !tbaa !5
  %520 = load ptr, ptr %14, align 8, !tbaa !5
  %521 = load i32, ptr %520, align 4, !tbaa !11
  %522 = load ptr, ptr %14, align 8, !tbaa !5
  %523 = load i32, ptr %522, align 4, !tbaa !11
  %524 = load ptr, ptr %21, align 8, !tbaa !5
  %525 = load i32, ptr %524, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %61, ptr noundef %519, i32 noundef %521, i32 noundef %523, i32 noundef %525)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.272") align 8 %60, ptr noundef nonnull align 1 dereferenceable(1) %61)
  %526 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKS5_EEKNS1_ISK_Li0ES7_EEEENS_9TransposeISN_EELi0EEEEERNS_14TriangularViewIS8_Lj1EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %60, ptr noundef nonnull align 1 dereferenceable(1) %55)
  call void @llvm.lifetime.end.p0(i64 40, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr %55) #7
  br label %550

527:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 128, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %65) #7
  %528 = load ptr, ptr %22, align 8, !tbaa !5
  %529 = load ptr, ptr %15, align 8, !tbaa !5
  %530 = load i32, ptr %529, align 4, !tbaa !11
  %531 = load ptr, ptr %14, align 8, !tbaa !5
  %532 = load i32, ptr %531, align 4, !tbaa !11
  %533 = load ptr, ptr %18, align 8, !tbaa !5
  %534 = load i32, ptr %533, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %65, ptr noundef %528, i32 noundef %530, i32 noundef %532, i32 noundef %534)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind writable sret(%"class.Eigen::Transpose.224") align 8 %64, ptr noundef nonnull align 1 dereferenceable(1) %65)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_9TransposeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEESD_E4typeEKSO_EEE4typeERKS8_RKNS_10MatrixBaseISO_EE(ptr dead_on_unwind writable sret(%"class.Eigen::CwiseBinaryOp.290") align 8 %63, ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 1 dereferenceable(1) %64)
  call void @llvm.lifetime.start.p0(i64 40, ptr %66) #7
  %535 = load ptr, ptr %22, align 8, !tbaa !5
  %536 = load ptr, ptr %15, align 8, !tbaa !5
  %537 = load i32, ptr %536, align 4, !tbaa !11
  %538 = load ptr, ptr %14, align 8, !tbaa !5
  %539 = load i32, ptr %538, align 4, !tbaa !11
  %540 = load ptr, ptr %18, align 8, !tbaa !5
  %541 = load i32, ptr %540, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.130") align 8 %66, ptr noundef %535, i32 noundef %537, i32 noundef %539, i32 noundef %541)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS_3MapIKNSA_IS5_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEEEEEmlISL_EEKNS_7ProductISO_T_Li0EEERKNS0_ISS_EE(ptr dead_on_unwind writable sret(%"class.Eigen::Product.283") align 8 %62, ptr noundef nonnull align 1 dereferenceable(1) %63, ptr noundef nonnull align 1 dereferenceable(1) %66)
  call void @llvm.lifetime.start.p0(i64 40, ptr %67) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %68) #7
  %542 = load ptr, ptr %23, align 8, !tbaa !5
  %543 = load ptr, ptr %14, align 8, !tbaa !5
  %544 = load i32, ptr %543, align 4, !tbaa !11
  %545 = load ptr, ptr %14, align 8, !tbaa !5
  %546 = load i32, ptr %545, align 4, !tbaa !11
  %547 = load ptr, ptr %21, align 8, !tbaa !5
  %548 = load i32, ptr %547, align 4, !tbaa !11
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind writable sret(%"class.Eigen::Map.204") align 8 %68, ptr noundef %542, i32 noundef %544, i32 noundef %546, i32 noundef %548)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind writable sret(%"class.Eigen::TriangularView.272") align 8 %67, ptr noundef nonnull align 1 dereferenceable(1) %68)
  %549 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKNS2_IS4_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS1_IKS5_Li0ES7_EEEEEESQ_Li0EEEEERNS_14TriangularViewIS8_Lj1EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %67, ptr noundef nonnull align 1 dereferenceable(1) %62)
  call void @llvm.lifetime.end.p0(i64 40, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr %62) #7
  br label %550

550:                                              ; preds = %527, %504
  br label %551

551:                                              ; preds = %550, %462
  store i32 0, ptr %11, align 4
  store i32 1, ptr %29, align 4
  br label %552

552:                                              ; preds = %551, %346, %263
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  %553 = load i32, ptr %11, align 4
  ret i32 %553
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TriangularView.268") align 8, ptr noundef nonnull align 1 dereferenceable(1)) #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1)) #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TriangularView.272") align 8, ptr noundef nonnull align 1 dereferenceable(1)) #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1)) #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(16)) #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi0ELin1ELin1EEEEEKNS_3MapISC_Li0ENS_11OuterStrideILin1EEEEEEEEmlINS_9TransposeISI_EEEEKNS_7ProductISK_T_Li0EEERKNS0_ISQ_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.276") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_9TransposeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEESD_E4typeEKSO_EEE4typeERKS8_RKNS_10MatrixBaseISO_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.290") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(1)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS_3MapIKNSA_IS5_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEEEEEmlISL_EEKNS_7ProductISO_T_Li0EEERKNS0_ISS_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.283") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #5 align 2

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

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

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

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

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

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


; 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.Eigen::Map.204" = type { %"class.Eigen::MapBase.205", %"class.Eigen::OuterStride" }
%"class.Eigen::MapBase.205" = type { %"class.Eigen::MapBase.206" }
%"class.Eigen::MapBase.206" = type { ptr, %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic" }
%"class.Eigen::internal::variable_if_dynamic" = type { i64 }
%"class.Eigen::OuterStride" = type { %"class.Eigen::Stride.base", [7 x i8] }
%"class.Eigen::Stride.base" = type <{ %"class.Eigen::internal::variable_if_dynamic", i8 }>
%"class.Eigen::Map.130" = type { %"class.Eigen::MapBase.131", %"class.Eigen::OuterStride" }
%"class.Eigen::MapBase.131" = type { ptr, %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic" }
%"class.Eigen::Transpose.224" = type { %"class.Eigen::Map.130" }
%"class.Eigen::CwiseBinaryOp.261" = type <{ [8 x i8], %"class.Eigen::CwiseNullaryOp.248", %"class.Eigen::Map.130", [8 x i8] }>
%"class.Eigen::CwiseNullaryOp.248" = type { %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic", %"struct.Eigen::internal::scalar_constant_op" }
%"struct.Eigen::internal::scalar_constant_op" = type { %"class.std::complex" }
%"class.std::complex" = type { { double, double } }
%"class.Eigen::TriangularView.268" = type { %"class.Eigen::Map.204" }
%"class.Eigen::TriangularView.272" = type { %"class.Eigen::Map.204" }
%"class.Eigen::Product.276" = type { %"class.Eigen::CwiseBinaryOp.261", %"class.Eigen::Transpose.224" }
%"class.Eigen::Product.283" = type { %"class.Eigen::CwiseBinaryOp.290", %"class.Eigen::Map.130" }
%"class.Eigen::CwiseBinaryOp.290" = type <{ [8 x i8], %"class.Eigen::CwiseNullaryOp.296", %"class.Eigen::Transpose.224", [8 x i8] }>
%"class.Eigen::CwiseNullaryOp.296" = type { %"class.Eigen::internal::variable_if_dynamic", %"class.Eigen::internal::variable_if_dynamic", %"struct.Eigen::internal::scalar_constant_op" }

@.str.18 = external hidden unnamed_addr constant [7 x i8], align 1

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

declare i32 @xerbla_(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZSteqIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Map.204") align 8, ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Map.130") align 8, ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Transpose.224") align 8, ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEESD_E4typeEKSM_EEE4typeERKS8_RKNS_10MatrixBaseISM_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.261") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
define dso_local i32 @zsyrk_(ptr nocapture noundef readonly %0, ptr nocapture noundef readonly %1, ptr noundef %2, ptr noundef %3, ptr nocapture noundef readonly %4, ptr noundef %5, ptr nocapture noundef readonly %6, ptr nocapture noundef readonly %7, ptr noundef %8, ptr nocapture noundef readonly %9) local_unnamed_addr #6 {
  %11 = alloca %"class.std::complex", align 8
  %12 = alloca %"class.std::complex", align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca %"class.std::complex", align 8
  %17 = alloca %"class.std::complex", align 8
  %18 = alloca %"class.Eigen::TriangularView.268", align 8
  %19 = alloca %"class.Eigen::Map.204", align 8
  %20 = alloca %"class.Eigen::TriangularView.268", align 8
  %21 = alloca %"class.Eigen::Map.204", align 8
  %22 = alloca %"class.std::complex", align 8
  %23 = alloca %"class.Eigen::TriangularView.272", align 8
  %24 = alloca %"class.Eigen::Map.204", align 8
  %25 = alloca %"class.Eigen::TriangularView.272", align 8
  %26 = alloca %"class.Eigen::Map.204", align 8
  %27 = alloca %"class.Eigen::Product.276", align 8
  %28 = alloca %"class.Eigen::CwiseBinaryOp.261", align 8
  %29 = alloca %"class.Eigen::Map.130", align 8
  %30 = alloca %"class.Eigen::Transpose.224", align 8
  %31 = alloca %"class.Eigen::Map.130", align 8
  %32 = alloca %"class.Eigen::TriangularView.268", align 8
  %33 = alloca %"class.Eigen::Map.204", align 8
  %34 = alloca %"class.Eigen::Product.283", align 8
  %35 = alloca %"class.Eigen::CwiseBinaryOp.290", align 8
  %36 = alloca %"class.Eigen::Transpose.224", align 8
  %37 = alloca %"class.Eigen::Map.130", align 8
  %38 = alloca %"class.Eigen::Map.130", align 8
  %39 = alloca %"class.Eigen::TriangularView.268", align 8
  %40 = alloca %"class.Eigen::Map.204", align 8
  %41 = alloca %"class.Eigen::Product.276", align 8
  %42 = alloca %"class.Eigen::CwiseBinaryOp.261", align 8
  %43 = alloca %"class.Eigen::Map.130", align 8
  %44 = alloca %"class.Eigen::Transpose.224", align 8
  %45 = alloca %"class.Eigen::Map.130", align 8
  %46 = alloca %"class.Eigen::TriangularView.272", align 8
  %47 = alloca %"class.Eigen::Map.204", align 8
  %48 = alloca %"class.Eigen::Product.283", align 8
  %49 = alloca %"class.Eigen::CwiseBinaryOp.290", align 8
  %50 = alloca %"class.Eigen::Transpose.224", align 8
  %51 = alloca %"class.Eigen::Map.130", align 8
  %52 = alloca %"class.Eigen::Map.130", align 8
  %53 = alloca %"class.Eigen::TriangularView.272", align 8
  %54 = alloca %"class.Eigen::Map.204", align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #7
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 8 dereferenceable(16) %4, i64 16, i1 false), !tbaa.struct !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %7, i64 16, i1 false), !tbaa.struct !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #7
  store i32 0, ptr %13, align 4, !tbaa !9
  %55 = load i8, ptr %0, align 1, !tbaa !6
  switch i8 %55, label %56 [
    i8 85, label %57
    i8 117, label %57
    i8 76, label %57
    i8 108, label %57
  ]

56:                                               ; preds = %10
  store i32 1, ptr %13, align 4, !tbaa !9
  br label %.thread149

57:                                               ; preds = %10, %10, %10, %10
  %58 = load i8, ptr %1, align 1, !tbaa !6
  switch i8 %58, label %switch.edge129 [
    i8 116, label %.critedge
    i8 84, label %.critedge
    i8 110, label %.critedge
    i8 78, label %.critedge
  ]

switch.edge129:                                   ; preds = %57
  store i32 2, ptr %13, align 4, !tbaa !9
  br label %.thread149

.critedge:                                        ; preds = %57, %57, %57, %57
  %59 = load i32, ptr %2, align 4, !tbaa !9
  %60 = icmp slt i32 %59, 0
  br i1 %60, label %61, label %62

61:                                               ; preds = %.critedge
  store i32 3, ptr %13, align 4, !tbaa !9
  br label %.thread149

62:                                               ; preds = %.critedge
  %63 = load i32, ptr %3, align 4, !tbaa !9
  %64 = icmp slt i32 %63, 0
  br i1 %64, label %65, label %66

65:                                               ; preds = %62
  store i32 4, ptr %13, align 4, !tbaa !9
  br label %.thread149

66:                                               ; preds = %62
  %67 = load i32, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #7
  store i32 1, ptr %14, align 4, !tbaa !9
  switch i8 %58, label %68 [
    i8 78, label %69
    i8 110, label %69
    i8 84, label %.fold.split130
    i8 116, label %.fold.split131
  ]

68:                                               ; preds = %66
  br label %69

.fold.split130:                                   ; preds = %66
  br label %69

.fold.split131:                                   ; preds = %66
  br label %69

69:                                               ; preds = %66, %66, %.fold.split131, %.fold.split130, %68
  %70 = phi ptr [ %2, %66 ], [ %3, %68 ], [ %2, %66 ], [ %3, %.fold.split130 ], [ %3, %.fold.split131 ]
  %71 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %70)
  %72 = load i32, ptr %71, align 4, !tbaa !9
  %73 = icmp slt i32 %67, %72
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #7
  br i1 %73, label %74, label %75

74:                                               ; preds = %69
  store i32 7, ptr %13, align 4, !tbaa !9
  br label %.thread149

75:                                               ; preds = %69
  %76 = load i32, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  store i32 1, ptr %15, align 4, !tbaa !9
  %77 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 4 dereferenceable(4) %2)
  %78 = load i32, ptr %77, align 4, !tbaa !9
  %79 = icmp slt i32 %76, %78
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  br i1 %79, label %80, label %82

80:                                               ; preds = %75
  store i32 10, ptr %13, align 4, !tbaa !9
  br label %.thread149

.thread149:                                       ; preds = %56, %61, %74, %80, %65, %switch.edge129
  %81 = call i32 @xerbla_(ptr noundef nonnull @.str.18, ptr noundef nonnull %13, i32 noundef 6)
  br label %144

82:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #7
  call void @_ZNSt7complexIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %16, double noundef 1.000000e+00, double noundef 0.000000e+00)
  %83 = call noundef zeroext i1 @_ZStneIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %16)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  br i1 %83, label %84, label %105

84:                                               ; preds = %82
  %85 = load i8, ptr %0, align 1, !tbaa !6
  switch i8 %85, label %.critedge133 [
    i8 85, label %87
    i8 117, label %87
  ]

.critedge133:                                     ; preds = %84
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #7
  call void @_ZNSt7complexIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %22, double noundef 0.000000e+00, double noundef 0.000000e+00)
  %86 = call noundef zeroext i1 @_ZSteqIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %22)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  br i1 %86, label %97, label %101

87:                                               ; preds = %84, %84
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  call void @_ZNSt7complexIdEC2Edd(ptr noundef nonnull align 8 dereferenceable(16) %17, double noundef 0.000000e+00, double noundef 0.000000e+00)
  %88 = call noundef zeroext i1 @_ZSteqIdEbRKSt7complexIT_ES4_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(16) %17)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  br i1 %88, label %89, label %93

89:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %19) #7
  %90 = load i32, ptr %2, align 4, !tbaa !9
  %91 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %19, ptr noundef %8, i32 noundef %90, i32 noundef %90, i32 noundef %91)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.268") align 8 %18, ptr noundef nonnull align 1 dereferenceable(1) %19)
  %92 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %18)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #7
  br label %105

93:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21) #7
  %94 = load i32, ptr %2, align 4, !tbaa !9
  %95 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %21, ptr noundef %8, i32 noundef %94, i32 noundef %94, i32 noundef %95)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.268") align 8 %20, ptr noundef nonnull align 1 dereferenceable(1) %21)
  %96 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1) %20, ptr noundef nonnull align 8 dereferenceable(16) %12)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %20) #7
  br label %105

97:                                               ; preds = %.critedge133
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %24) #7
  %98 = load i32, ptr %2, align 4, !tbaa !9
  %99 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %24, ptr noundef %8, i32 noundef %98, i32 noundef %98, i32 noundef %99)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.272") align 8 %23, ptr noundef nonnull align 1 dereferenceable(1) %24)
  %100 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1) %23)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #7
  br label %105

101:                                              ; preds = %.critedge133
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %26) #7
  %102 = load i32, ptr %2, align 4, !tbaa !9
  %103 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %26, ptr noundef %8, i32 noundef %102, i32 noundef %102, i32 noundef %103)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.272") align 8 %25, ptr noundef nonnull align 1 dereferenceable(1) %26)
  %104 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1) %25, ptr noundef nonnull align 8 dereferenceable(16) %12)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #7
  br label %105

105:                                              ; preds = %93, %89, %101, %97, %82
  %106 = load i32, ptr %2, align 4, !tbaa !9
  %107 = icmp eq i32 %106, 0
  br i1 %107, label %144, label %108

108:                                              ; preds = %105
  %109 = load i32, ptr %3, align 4, !tbaa !9
  %110 = icmp eq i32 %109, 0
  br i1 %110, label %144, label %111

111:                                              ; preds = %108
  %112 = load i8, ptr %0, align 1, !tbaa !6
  switch i8 %112, label %.critedge135 [
    i8 85, label %114
    i8 117, label %114
  ]

.critedge135:                                     ; preds = %111
  %113 = load i8, ptr %1, align 1, !tbaa !6
  switch i8 %113, label %.fold.split140 [
    i8 78, label %.critedge143
    i8 110, label %.critedge143
  ]

114:                                              ; preds = %111, %111
  %115 = load i8, ptr %1, align 1, !tbaa !6
  switch i8 %115, label %.fold.split136 [
    i8 78, label %.critedge139
    i8 110, label %.critedge139
  ]

.critedge139:                                     ; preds = %114, %114
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %29) #7
  %116 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %29, ptr noundef %5, i32 noundef %106, i32 noundef %109, i32 noundef %116)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEESD_E4typeEKSM_EEE4typeERKS8_RKNS_10MatrixBaseISM_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.261") align 8 %28, ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 1 dereferenceable(1) %29)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %31) #7
  %117 = load i32, ptr %2, align 4, !tbaa !9
  %118 = load i32, ptr %3, align 4, !tbaa !9
  %119 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %31, ptr noundef %5, i32 noundef %117, i32 noundef %118, i32 noundef %119)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Transpose.224") align 8 %30, ptr noundef nonnull align 1 dereferenceable(1) %31)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi0ELin1ELin1EEEEEKNS_3MapISC_Li0ENS_11OuterStrideILin1EEEEEEEEmlINS_9TransposeISI_EEEEKNS_7ProductISK_T_Li0EEERKNS0_ISQ_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.276") align 8 %27, ptr noundef nonnull align 1 dereferenceable(1) %28, ptr noundef nonnull align 1 dereferenceable(1) %30)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %33) #7
  %120 = load i32, ptr %2, align 4, !tbaa !9
  %121 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %33, ptr noundef %8, i32 noundef %120, i32 noundef %120, i32 noundef %121)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.268") align 8 %32, ptr noundef nonnull align 1 dereferenceable(1) %33)
  %122 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKS5_EEKNS1_ISK_Li0ES7_EEEENS_9TransposeISN_EELi0EEEEERNS_14TriangularViewIS8_Lj2EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %32, ptr noundef nonnull align 1 dereferenceable(1) %27)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %27) #7
  br label %144

.fold.split136:                                   ; preds = %114
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %37) #7
  %123 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %37, ptr noundef %5, i32 noundef %109, i32 noundef %106, i32 noundef %123)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Transpose.224") align 8 %36, ptr noundef nonnull align 1 dereferenceable(1) %37)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_9TransposeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEESD_E4typeEKSO_EEE4typeERKS8_RKNS_10MatrixBaseISO_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.290") align 8 %35, ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 1 dereferenceable(1) %36)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %38) #7
  %124 = load i32, ptr %3, align 4, !tbaa !9
  %125 = load i32, ptr %2, align 4, !tbaa !9
  %126 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %38, ptr noundef %5, i32 noundef %124, i32 noundef %125, i32 noundef %126)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS_3MapIKNSA_IS5_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEEEEEmlISL_EEKNS_7ProductISO_T_Li0EEERKNS0_ISS_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.283") align 8 %34, ptr noundef nonnull align 1 dereferenceable(1) %35, ptr noundef nonnull align 1 dereferenceable(1) %38)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %40) #7
  %127 = load i32, ptr %2, align 4, !tbaa !9
  %128 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %40, ptr noundef %8, i32 noundef %127, i32 noundef %127, i32 noundef %128)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.268") align 8 %39, ptr noundef nonnull align 1 dereferenceable(1) %40)
  %129 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKNS2_IS4_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS1_IKS5_Li0ES7_EEEEEESQ_Li0EEEEERNS_14TriangularViewIS8_Lj2EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %39, ptr noundef nonnull align 1 dereferenceable(1) %34)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %34) #7
  br label %144

.critedge143:                                     ; preds = %.critedge135, %.critedge135
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %43) #7
  %130 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %43, ptr noundef %5, i32 noundef %106, i32 noundef %109, i32 noundef %130)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEESD_E4typeEKSM_EEE4typeERKS8_RKNS_10MatrixBaseISM_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.261") align 8 %42, ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 1 dereferenceable(1) %43)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %45) #7
  %131 = load i32, ptr %2, align 4, !tbaa !9
  %132 = load i32, ptr %3, align 4, !tbaa !9
  %133 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %45, ptr noundef %5, i32 noundef %131, i32 noundef %132, i32 noundef %133)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Transpose.224") align 8 %44, ptr noundef nonnull align 1 dereferenceable(1) %45)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi0ELin1ELin1EEEEEKNS_3MapISC_Li0ENS_11OuterStrideILin1EEEEEEEEmlINS_9TransposeISI_EEEEKNS_7ProductISK_T_Li0EEERKNS0_ISQ_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.276") align 8 %41, ptr noundef nonnull align 1 dereferenceable(1) %42, ptr noundef nonnull align 1 dereferenceable(1) %44)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %46) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %47) #7
  %134 = load i32, ptr %2, align 4, !tbaa !9
  %135 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %47, ptr noundef %8, i32 noundef %134, i32 noundef %134, i32 noundef %135)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.272") align 8 %46, ptr noundef nonnull align 1 dereferenceable(1) %47)
  %136 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKS5_EEKNS1_ISK_Li0ES7_EEEENS_9TransposeISN_EELi0EEEEERNS_14TriangularViewIS8_Lj1EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %46, ptr noundef nonnull align 1 dereferenceable(1) %41)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %41) #7
  br label %144

.fold.split140:                                   ; preds = %.critedge135
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %51) #7
  %137 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %51, ptr noundef %5, i32 noundef %109, i32 noundef %106, i32 noundef %137)
  call void @_ZN5Eigen9DenseBaseINS_3MapIKNS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE9transposeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Transpose.224") align 8 %50, ptr noundef nonnull align 1 dereferenceable(1) %51)
  call void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_9TransposeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEESD_E4typeEKSO_EEE4typeERKS8_RKNS_10MatrixBaseISO_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::CwiseBinaryOp.290") align 8 %49, ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 1 dereferenceable(1) %50)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %52) #7
  %138 = load i32, ptr %3, align 4, !tbaa !9
  %139 = load i32, ptr %2, align 4, !tbaa !9
  %140 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapIKNS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPKS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.130") align 8 %52, ptr noundef %5, i32 noundef %138, i32 noundef %139, i32 noundef %140)
  call void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS_3MapIKNSA_IS5_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEEEEEmlISL_EEKNS_7ProductISO_T_Li0EEERKNS0_ISS_EE(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Product.283") align 8 %48, ptr noundef nonnull align 1 dereferenceable(1) %49, ptr noundef nonnull align 1 dereferenceable(1) %52)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %54) #7
  %141 = load i32, ptr %2, align 4, !tbaa !9
  %142 = load i32, ptr %9, align 4, !tbaa !9
  call void @_Z6matrixISt7complexIdEEN5Eigen3MapINS2_6MatrixIT_Lin1ELin1ELi0ELin1ELin1EEELi0ENS2_11OuterStrideILin1EEEEEPS5_iii(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::Map.204") align 8 %54, ptr noundef %8, i32 noundef %141, i32 noundef %141, i32 noundef %142)
  call void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TriangularView.272") align 8 %53, ptr noundef nonnull align 1 dereferenceable(1) %54)
  %143 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEpLINS_7ProductINS_13CwiseBinaryOpINS_8internal17scalar_product_opIS4_S4_EEKNS_14CwiseNullaryOpINSE_18scalar_constant_opIS4_EEKNS2_IS4_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS1_IKS5_Li0ES7_EEEEEESQ_Li0EEEEERNS_14TriangularViewIS8_Lj1EEERKNS_9DenseBaseIT_EE(ptr noundef nonnull align 1 dereferenceable(1) %53, ptr noundef nonnull align 1 dereferenceable(1) %48)
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %48) #7
  br label %144

144:                                              ; preds = %.fold.split136, %.critedge139, %.fold.split140, %.critedge143, %105, %108, %.thread149
  %.0 = phi i32 [ %81, %.thread149 ], [ 0, %108 ], [ 0, %105 ], [ 0, %.critedge143 ], [ 0, %.fold.split140 ], [ 0, %.critedge139 ], [ 0, %.fold.split136 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  ret i32 %.0
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj2EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TriangularView.268") align 8, ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj2ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5Eigen10MatrixBaseINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEE14triangularViewILj1EEENS9_24TriangularViewReturnTypeIXT_EE4TypeEv(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TriangularView.272") align 8, ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEE7setZeroEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen18TriangularViewImplINS_3MapINS_6MatrixISt7complexIdELin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEELj1ENS_5DenseEEmLERKS4_(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi0ELin1ELin1EEEEEKNS_3MapISC_Li0ENS_11OuterStrideILin1EEEEEEEEmlINS_9TransposeISI_EEEEKNS_7ProductISK_T_Li0EEERKNS0_ISQ_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.276") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5EigenmlISt7complexIdEEENS_8internal9enable_ifILb1EKNS_13CwiseBinaryOpINS3_17scalar_product_opINS3_18promote_scalar_argIS2_T_Xsr5Eigen8internal14has_ReturnTypeINS_20ScalarBinaryOpTraitsIS8_S2_NS6_IS8_S2_EEEEEE5valueEE4typeES2_EEKNS3_19plain_constant_typeINS_9TransposeINS_3MapIKNS_6MatrixIS2_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEESD_E4typeEKSO_EEE4typeERKS8_RKNS_10MatrixBaseISO_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::CwiseBinaryOp.290") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10MatrixBaseINS_13CwiseBinaryOpINS_8internal17scalar_product_opISt7complexIdES5_EEKNS_14CwiseNullaryOpINS2_18scalar_constant_opIS5_EEKNS_6MatrixIS5_Lin1ELin1ELi1ELin1ELin1EEEEEKNS_9TransposeINS_3MapIKNSA_IS5_Lin1ELin1ELi0ELin1ELin1EEELi0ENS_11OuterStrideILin1EEEEEEEEEEmlISL_EEKNS_7ProductISO_T_Li0EEERKNS0_ISS_EE(ptr dead_on_unwind noalias writable sret(%"class.Eigen::Product.283") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #5 align 2

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

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

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

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

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

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


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