; LLVM IR from moarseniy/CudaFEMproject :: FEMproject/fem_utils/src (cpu_fem_utils)

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

%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.7" }
%"struct.std::_Head_base.7" = type { ptr }
%class.ElementsData = type { ptr, i64, i64, i64, i64, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, %struct.CGMData, ptr, ptr, ptr }
%struct.CGMData = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.MechanicalParams = type { float, float, float, float, float, float, float, float, float }

declare i32 @__gxx_personality_v0(...)

; 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 nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #1

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

declare void @_ZNK6Matrix6getRowEm(ptr dead_on_unwind writable sret(%"class.std::unique_ptr") align 8, ptr noundef nonnull align 8 dereferenceable(49), i64 noundef) #2

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49), i64 noundef, i64 noundef) #2

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

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49), i64 noundef) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt3absf(float noundef) #4

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN16CPU_ElementsData16calculateMlocalsEbRK16MechanicalParams(ptr noundef nonnull align 8 dereferenceable(336) %0, i1 noundef zeroext %1, ptr noundef nonnull align 4 dereferenceable(36) %2) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca i8, align 1
  %6 = alloca ptr, align 8
  %7 = alloca i64, align 8
  %8 = alloca %"class.std::unique_ptr", align 8
  %9 = alloca %"class.std::unique_ptr", align 8
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca float, align 4
  %13 = alloca float, align 4
  %14 = alloca float, align 4
  store ptr %0, ptr %4, align 8, !tbaa !5
  %15 = zext i1 %1 to i8
  store i8 %15, ptr %5, align 1, !tbaa !9
  store ptr %2, ptr %6, align 8, !tbaa !5
  %16 = load ptr, ptr %4, align 8
  %17 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %18 = trunc i8 %17 to i1
  br i1 %18, label %19, label %31

19:                                               ; preds = %3
  %20 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 33
  %21 = load ptr, ptr %20, align 8, !tbaa !13
  %22 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 2
  %23 = load i64, ptr %22, align 8, !tbaa !18
  %24 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %25 = load i64, ptr %24, align 8, !tbaa !19
  %26 = sub i64 %25, 1
  %27 = mul i64 6, %26
  %28 = load ptr, ptr %21, align 8, !tbaa !20
  %29 = getelementptr inbounds ptr, ptr %28, i64 26
  %30 = load ptr, ptr %29, align 8
  call void %30(ptr noundef nonnull align 8 dereferenceable(49) %21, i64 noundef %23, i64 noundef %27)
  br label %48

31:                                               ; preds = %3
  %32 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 33
  %33 = load ptr, ptr %32, align 8, !tbaa !13
  %34 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 2
  %35 = load i64, ptr %34, align 8, !tbaa !18
  %36 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %37 = load i64, ptr %36, align 8, !tbaa !19
  %38 = sub i64 %37, 1
  %39 = mul i64 6, %38
  %40 = mul i64 %39, 6
  %41 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %42 = load i64, ptr %41, align 8, !tbaa !19
  %43 = sub i64 %42, 1
  %44 = mul i64 %40, %43
  %45 = load ptr, ptr %33, align 8, !tbaa !20
  %46 = getelementptr inbounds ptr, ptr %45, i64 26
  %47 = load ptr, ptr %46, align 8
  call void %47(ptr noundef nonnull align 8 dereferenceable(49) %33, i64 noundef %35, i64 noundef %44)
  br label %48

48:                                               ; preds = %31, %19
  %49 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 33
  %50 = load ptr, ptr %49, align 8, !tbaa !13
  %51 = load ptr, ptr %50, align 8, !tbaa !20
  %52 = getelementptr inbounds ptr, ptr %51, i64 29
  %53 = load ptr, ptr %52, align 8
  call void %53(ptr noundef nonnull align 8 dereferenceable(49) %50, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #6
  store i64 0, ptr %7, align 8, !tbaa !22
  br label %54

54:                                               ; preds = %624, %48
  %55 = load i64, ptr %7, align 8, !tbaa !22
  %56 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 2
  %57 = load i64, ptr %56, align 8, !tbaa !18
  %58 = icmp ult i64 %55, %57
  br i1 %58, label %60, label %59

59:                                               ; preds = %54
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  br label %629

60:                                               ; preds = %54
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #6
  %61 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 33
  %62 = load ptr, ptr %61, align 8, !tbaa !13
  %63 = load i64, ptr %7, align 8, !tbaa !22
  call void @_ZNK6Matrix6getRowEm(ptr dead_on_unwind writable sret(%"class.std::unique_ptr") align 8 %8, ptr noundef nonnull align 8 dereferenceable(49) %62, i64 noundef %63)
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #6
  %64 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 30
  %65 = load ptr, ptr %64, align 8, !tbaa !23
  %66 = load i64, ptr %7, align 8, !tbaa !22
  invoke void @_ZNK6Matrix6getRowEm(ptr dead_on_unwind writable sret(%"class.std::unique_ptr") align 8 %9, ptr noundef nonnull align 8 dereferenceable(49) %65, i64 noundef %66)
          to label %67 unwind label %162

67:                                               ; preds = %60
  %68 = call noundef ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %69 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %70 = load i64, ptr %69, align 8, !tbaa !19
  %71 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %72 = load i64, ptr %71, align 8, !tbaa !19
  %73 = add i64 %72, 1
  %74 = load ptr, ptr %68, align 8, !tbaa !20
  %75 = getelementptr inbounds ptr, ptr %74, i64 26
  %76 = load ptr, ptr %75, align 8
  invoke void %76(ptr noundef nonnull align 8 dereferenceable(49) %68, i64 noundef %70, i64 noundef %73)
          to label %77 unwind label %166

77:                                               ; preds = %67
  %78 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %79 = load i64, ptr %78, align 8, !tbaa !19
  %80 = icmp eq i64 %79, 2
  br i1 %80, label %81, label %284

81:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  %82 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %83 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %82, i64 noundef 0)
          to label %84 unwind label %170

84:                                               ; preds = %81
  %85 = load float, ptr %83, align 4, !tbaa !24
  %86 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %87 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %86, i64 noundef 2)
          to label %88 unwind label %170

88:                                               ; preds = %84
  %89 = load float, ptr %87, align 4, !tbaa !24
  %90 = fsub float %85, %89
  %91 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %92 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %91, i64 noundef 4)
          to label %93 unwind label %170

93:                                               ; preds = %88
  %94 = load float, ptr %92, align 4, !tbaa !24
  %95 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %96 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %95, i64 noundef 5)
          to label %97 unwind label %170

97:                                               ; preds = %93
  %98 = load float, ptr %96, align 4, !tbaa !24
  %99 = fsub float %94, %98
  %100 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %101 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %100, i64 noundef 1)
          to label %102 unwind label %170

102:                                              ; preds = %97
  %103 = load float, ptr %101, align 4, !tbaa !24
  %104 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %105 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %104, i64 noundef 2)
          to label %106 unwind label %170

106:                                              ; preds = %102
  %107 = load float, ptr %105, align 4, !tbaa !24
  %108 = fsub float %103, %107
  %109 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %110 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %109, i64 noundef 3)
          to label %111 unwind label %170

111:                                              ; preds = %106
  %112 = load float, ptr %110, align 4, !tbaa !24
  %113 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  %114 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %113, i64 noundef 5)
          to label %115 unwind label %170

115:                                              ; preds = %111
  %116 = load float, ptr %114, align 4, !tbaa !24
  %117 = fsub float %112, %116
  %118 = fmul float %108, %117
  %119 = fneg float %118
  %120 = call float @llvm.fmuladd.f32(float %90, float %99, float %119)
  %121 = invoke noundef float @_ZSt3absf(float noundef %120)
          to label %122 unwind label %170

122:                                              ; preds = %115
  %123 = fmul float 5.000000e-01, %121
  store float %123, ptr %12, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  %124 = load ptr, ptr %6, align 8, !tbaa !5
  %125 = getelementptr inbounds %struct.MechanicalParams, ptr %124, i32 0, i32 2
  %126 = load float, ptr %125, align 4, !tbaa !26
  %127 = load float, ptr %12, align 4, !tbaa !24
  %128 = fmul float %126, %127
  store float %128, ptr %13, align 4, !tbaa !24
  %129 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %130 = trunc i8 %129 to i1
  br i1 %130, label %131, label %178

131:                                              ; preds = %122
  %132 = load float, ptr %13, align 4, !tbaa !24
  %133 = fdiv float %132, 3.000000e+00
  %134 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %135 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %134, i64 noundef 0)
          to label %136 unwind label %174

136:                                              ; preds = %131
  store float %133, ptr %135, align 4, !tbaa !24
  %137 = load float, ptr %13, align 4, !tbaa !24
  %138 = fdiv float %137, 3.000000e+00
  %139 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %140 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %139, i64 noundef 1)
          to label %141 unwind label %174

141:                                              ; preds = %136
  store float %138, ptr %140, align 4, !tbaa !24
  %142 = load float, ptr %13, align 4, !tbaa !24
  %143 = fdiv float %142, 3.000000e+00
  %144 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %145 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %144, i64 noundef 2)
          to label %146 unwind label %174

146:                                              ; preds = %141
  store float %143, ptr %145, align 4, !tbaa !24
  %147 = load float, ptr %13, align 4, !tbaa !24
  %148 = fdiv float %147, 3.000000e+00
  %149 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %150 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %149, i64 noundef 3)
          to label %151 unwind label %174

151:                                              ; preds = %146
  store float %148, ptr %150, align 4, !tbaa !24
  %152 = load float, ptr %13, align 4, !tbaa !24
  %153 = fdiv float %152, 3.000000e+00
  %154 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %155 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %154, i64 noundef 4)
          to label %156 unwind label %174

156:                                              ; preds = %151
  store float %153, ptr %155, align 4, !tbaa !24
  %157 = load float, ptr %13, align 4, !tbaa !24
  %158 = fdiv float %157, 3.000000e+00
  %159 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %160 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %159, i64 noundef 5)
          to label %161 unwind label %174

161:                                              ; preds = %156
  store float %158, ptr %160, align 4, !tbaa !24
  br label %282

162:                                              ; preds = %60
  %163 = landingpad { ptr, i32 }
          cleanup
  %164 = extractvalue { ptr, i32 } %163, 0
  store ptr %164, ptr %10, align 8
  %165 = extractvalue { ptr, i32 } %163, 1
  store i32 %165, ptr %11, align 4
  br label %628

166:                                              ; preds = %67
  %167 = landingpad { ptr, i32 }
          cleanup
  %168 = extractvalue { ptr, i32 } %167, 0
  store ptr %168, ptr %10, align 8
  %169 = extractvalue { ptr, i32 } %167, 1
  store i32 %169, ptr %11, align 4
  br label %627

170:                                              ; preds = %115, %111, %106, %102, %97, %93, %88, %84, %81
  %171 = landingpad { ptr, i32 }
          cleanup
  %172 = extractvalue { ptr, i32 } %171, 0
  store ptr %172, ptr %10, align 8
  %173 = extractvalue { ptr, i32 } %171, 1
  store i32 %173, ptr %11, align 4
  br label %283

174:                                              ; preds = %276, %271, %266, %261, %256, %251, %246, %241, %236, %231, %226, %221, %216, %211, %206, %201, %196, %191, %178, %156, %151, %146, %141, %136, %131
  %175 = landingpad { ptr, i32 }
          cleanup
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %10, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  br label %283

178:                                              ; preds = %122
  %179 = call noundef ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %180 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %181 = load i64, ptr %180, align 8, !tbaa !19
  %182 = sub i64 %181, 1
  %183 = mul i64 6, %182
  %184 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %185 = load i64, ptr %184, align 8, !tbaa !19
  %186 = sub i64 %185, 1
  %187 = mul i64 6, %186
  %188 = load ptr, ptr %179, align 8, !tbaa !20
  %189 = getelementptr inbounds ptr, ptr %188, i64 26
  %190 = load ptr, ptr %189, align 8
  invoke void %190(ptr noundef nonnull align 8 dereferenceable(49) %179, i64 noundef %183, i64 noundef %187)
          to label %191 unwind label %174

191:                                              ; preds = %178
  %192 = load float, ptr %13, align 4, !tbaa !24
  %193 = fdiv float %192, 6.000000e+00
  %194 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %195 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %194, i64 noundef 0, i64 noundef 0)
          to label %196 unwind label %174

196:                                              ; preds = %191
  store float %193, ptr %195, align 4, !tbaa !24
  %197 = load float, ptr %13, align 4, !tbaa !24
  %198 = fdiv float %197, 6.000000e+00
  %199 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %200 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %199, i64 noundef 1, i64 noundef 1)
          to label %201 unwind label %174

201:                                              ; preds = %196
  store float %198, ptr %200, align 4, !tbaa !24
  %202 = load float, ptr %13, align 4, !tbaa !24
  %203 = fdiv float %202, 6.000000e+00
  %204 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %205 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %204, i64 noundef 2, i64 noundef 2)
          to label %206 unwind label %174

206:                                              ; preds = %201
  store float %203, ptr %205, align 4, !tbaa !24
  %207 = load float, ptr %13, align 4, !tbaa !24
  %208 = fdiv float %207, 6.000000e+00
  %209 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %210 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %209, i64 noundef 3, i64 noundef 3)
          to label %211 unwind label %174

211:                                              ; preds = %206
  store float %208, ptr %210, align 4, !tbaa !24
  %212 = load float, ptr %13, align 4, !tbaa !24
  %213 = fdiv float %212, 6.000000e+00
  %214 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %215 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %214, i64 noundef 4, i64 noundef 4)
          to label %216 unwind label %174

216:                                              ; preds = %211
  store float %213, ptr %215, align 4, !tbaa !24
  %217 = load float, ptr %13, align 4, !tbaa !24
  %218 = fdiv float %217, 6.000000e+00
  %219 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %220 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %219, i64 noundef 5, i64 noundef 5)
          to label %221 unwind label %174

221:                                              ; preds = %216
  store float %218, ptr %220, align 4, !tbaa !24
  %222 = load float, ptr %13, align 4, !tbaa !24
  %223 = fdiv float %222, 1.200000e+01
  %224 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %225 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %224, i64 noundef 2, i64 noundef 0)
          to label %226 unwind label %174

226:                                              ; preds = %221
  store float %223, ptr %225, align 4, !tbaa !24
  %227 = load float, ptr %13, align 4, !tbaa !24
  %228 = fdiv float %227, 1.200000e+01
  %229 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %230 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %229, i64 noundef 3, i64 noundef 1)
          to label %231 unwind label %174

231:                                              ; preds = %226
  store float %228, ptr %230, align 4, !tbaa !24
  %232 = load float, ptr %13, align 4, !tbaa !24
  %233 = fdiv float %232, 1.200000e+01
  %234 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %235 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %234, i64 noundef 4, i64 noundef 0)
          to label %236 unwind label %174

236:                                              ; preds = %231
  store float %233, ptr %235, align 4, !tbaa !24
  %237 = load float, ptr %13, align 4, !tbaa !24
  %238 = fdiv float %237, 1.200000e+01
  %239 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %240 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %239, i64 noundef 5, i64 noundef 1)
          to label %241 unwind label %174

241:                                              ; preds = %236
  store float %238, ptr %240, align 4, !tbaa !24
  %242 = load float, ptr %13, align 4, !tbaa !24
  %243 = fdiv float %242, 1.200000e+01
  %244 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %245 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %244, i64 noundef 4, i64 noundef 2)
          to label %246 unwind label %174

246:                                              ; preds = %241
  store float %243, ptr %245, align 4, !tbaa !24
  %247 = load float, ptr %13, align 4, !tbaa !24
  %248 = fdiv float %247, 1.200000e+01
  %249 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %250 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %249, i64 noundef 5, i64 noundef 3)
          to label %251 unwind label %174

251:                                              ; preds = %246
  store float %248, ptr %250, align 4, !tbaa !24
  %252 = load float, ptr %13, align 4, !tbaa !24
  %253 = fdiv float %252, 1.200000e+01
  %254 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %255 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %254, i64 noundef 0, i64 noundef 2)
          to label %256 unwind label %174

256:                                              ; preds = %251
  store float %253, ptr %255, align 4, !tbaa !24
  %257 = load float, ptr %13, align 4, !tbaa !24
  %258 = fdiv float %257, 1.200000e+01
  %259 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %260 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %259, i64 noundef 1, i64 noundef 3)
          to label %261 unwind label %174

261:                                              ; preds = %256
  store float %258, ptr %260, align 4, !tbaa !24
  %262 = load float, ptr %13, align 4, !tbaa !24
  %263 = fdiv float %262, 1.200000e+01
  %264 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %265 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %264, i64 noundef 0, i64 noundef 4)
          to label %266 unwind label %174

266:                                              ; preds = %261
  store float %263, ptr %265, align 4, !tbaa !24
  %267 = load float, ptr %13, align 4, !tbaa !24
  %268 = fdiv float %267, 1.200000e+01
  %269 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %270 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %269, i64 noundef 1, i64 noundef 5)
          to label %271 unwind label %174

271:                                              ; preds = %266
  store float %268, ptr %270, align 4, !tbaa !24
  %272 = load float, ptr %13, align 4, !tbaa !24
  %273 = fdiv float %272, 1.200000e+01
  %274 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %275 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %274, i64 noundef 2, i64 noundef 4)
          to label %276 unwind label %174

276:                                              ; preds = %271
  store float %273, ptr %275, align 4, !tbaa !24
  %277 = load float, ptr %13, align 4, !tbaa !24
  %278 = fdiv float %277, 1.200000e+01
  %279 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %280 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %279, i64 noundef 3, i64 noundef 5)
          to label %281 unwind label %174

281:                                              ; preds = %276
  store float %278, ptr %280, align 4, !tbaa !24
  br label %282

282:                                              ; preds = %281, %161
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  br label %623

283:                                              ; preds = %174, %170
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  br label %627

284:                                              ; preds = %77
  %285 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %286 = load i64, ptr %285, align 8, !tbaa !19
  %287 = icmp eq i64 %286, 3
  br i1 %287, label %288, label %622

288:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  %289 = load ptr, ptr %6, align 8, !tbaa !5
  %290 = getelementptr inbounds %struct.MechanicalParams, ptr %289, i32 0, i32 2
  %291 = load float, ptr %290, align 4, !tbaa !26
  %292 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 28
  %293 = load ptr, ptr %292, align 8, !tbaa !28
  %294 = load i64, ptr %7, align 8, !tbaa !22
  %295 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %293, i64 noundef %294)
          to label %296 unwind label %363

296:                                              ; preds = %288
  %297 = load float, ptr %295, align 4, !tbaa !24
  %298 = fmul float %291, %297
  %299 = fdiv float %298, 6.000000e+00
  store float %299, ptr %14, align 4, !tbaa !24
  %300 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %301 = trunc i8 %300 to i1
  br i1 %301, label %302, label %367

302:                                              ; preds = %296
  %303 = load float, ptr %14, align 4, !tbaa !24
  %304 = fdiv float %303, 1.200000e+01
  %305 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %306 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %305, i64 noundef 0)
          to label %307 unwind label %363

307:                                              ; preds = %302
  store float %304, ptr %306, align 4, !tbaa !24
  %308 = load float, ptr %14, align 4, !tbaa !24
  %309 = fdiv float %308, 1.200000e+01
  %310 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %311 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %310, i64 noundef 1)
          to label %312 unwind label %363

312:                                              ; preds = %307
  store float %309, ptr %311, align 4, !tbaa !24
  %313 = load float, ptr %14, align 4, !tbaa !24
  %314 = fdiv float %313, 1.200000e+01
  %315 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %316 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %315, i64 noundef 2)
          to label %317 unwind label %363

317:                                              ; preds = %312
  store float %314, ptr %316, align 4, !tbaa !24
  %318 = load float, ptr %14, align 4, !tbaa !24
  %319 = fdiv float %318, 1.200000e+01
  %320 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %321 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %320, i64 noundef 3)
          to label %322 unwind label %363

322:                                              ; preds = %317
  store float %319, ptr %321, align 4, !tbaa !24
  %323 = load float, ptr %14, align 4, !tbaa !24
  %324 = fdiv float %323, 1.200000e+01
  %325 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %326 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %325, i64 noundef 4)
          to label %327 unwind label %363

327:                                              ; preds = %322
  store float %324, ptr %326, align 4, !tbaa !24
  %328 = load float, ptr %14, align 4, !tbaa !24
  %329 = fdiv float %328, 1.200000e+01
  %330 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %331 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %330, i64 noundef 5)
          to label %332 unwind label %363

332:                                              ; preds = %327
  store float %329, ptr %331, align 4, !tbaa !24
  %333 = load float, ptr %14, align 4, !tbaa !24
  %334 = fdiv float %333, 1.200000e+01
  %335 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %336 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %335, i64 noundef 6)
          to label %337 unwind label %363

337:                                              ; preds = %332
  store float %334, ptr %336, align 4, !tbaa !24
  %338 = load float, ptr %14, align 4, !tbaa !24
  %339 = fdiv float %338, 1.200000e+01
  %340 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %341 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %340, i64 noundef 7)
          to label %342 unwind label %363

342:                                              ; preds = %337
  store float %339, ptr %341, align 4, !tbaa !24
  %343 = load float, ptr %14, align 4, !tbaa !24
  %344 = fdiv float %343, 1.200000e+01
  %345 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %346 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %345, i64 noundef 8)
          to label %347 unwind label %363

347:                                              ; preds = %342
  store float %344, ptr %346, align 4, !tbaa !24
  %348 = load float, ptr %14, align 4, !tbaa !24
  %349 = fdiv float %348, 1.200000e+01
  %350 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %351 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %350, i64 noundef 9)
          to label %352 unwind label %363

352:                                              ; preds = %347
  store float %349, ptr %351, align 4, !tbaa !24
  %353 = load float, ptr %14, align 4, !tbaa !24
  %354 = fdiv float %353, 1.200000e+01
  %355 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %356 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %355, i64 noundef 10)
          to label %357 unwind label %363

357:                                              ; preds = %352
  store float %354, ptr %356, align 4, !tbaa !24
  %358 = load float, ptr %14, align 4, !tbaa !24
  %359 = fdiv float %358, 1.200000e+01
  %360 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %361 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %360, i64 noundef 11)
          to label %362 unwind label %363

362:                                              ; preds = %357
  store float %359, ptr %361, align 4, !tbaa !24
  br label %621

363:                                              ; preds = %615, %610, %605, %600, %595, %590, %585, %580, %575, %570, %565, %560, %555, %550, %545, %540, %535, %530, %525, %520, %515, %510, %505, %500, %495, %490, %485, %480, %475, %470, %465, %460, %455, %450, %445, %440, %435, %430, %425, %420, %415, %410, %405, %400, %395, %390, %385, %380, %367, %357, %352, %347, %342, %337, %332, %327, %322, %317, %312, %307, %302, %288
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %10, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  br label %627

367:                                              ; preds = %296
  %368 = call noundef ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %369 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %370 = load i64, ptr %369, align 8, !tbaa !19
  %371 = sub i64 %370, 1
  %372 = mul i64 6, %371
  %373 = getelementptr inbounds %class.ElementsData, ptr %16, i32 0, i32 1
  %374 = load i64, ptr %373, align 8, !tbaa !19
  %375 = sub i64 %374, 1
  %376 = mul i64 6, %375
  %377 = load ptr, ptr %368, align 8, !tbaa !20
  %378 = getelementptr inbounds ptr, ptr %377, i64 26
  %379 = load ptr, ptr %378, align 8
  invoke void %379(ptr noundef nonnull align 8 dereferenceable(49) %368, i64 noundef %372, i64 noundef %376)
          to label %380 unwind label %363

380:                                              ; preds = %367
  %381 = load float, ptr %14, align 4, !tbaa !24
  %382 = fdiv float %381, 2.400000e+01
  %383 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %384 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %383, i64 noundef 0, i64 noundef 0)
          to label %385 unwind label %363

385:                                              ; preds = %380
  store float %382, ptr %384, align 4, !tbaa !24
  %386 = load float, ptr %14, align 4, !tbaa !24
  %387 = fdiv float %386, 2.400000e+01
  %388 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %389 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %388, i64 noundef 1, i64 noundef 1)
          to label %390 unwind label %363

390:                                              ; preds = %385
  store float %387, ptr %389, align 4, !tbaa !24
  %391 = load float, ptr %14, align 4, !tbaa !24
  %392 = fdiv float %391, 2.400000e+01
  %393 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %394 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %393, i64 noundef 2, i64 noundef 2)
          to label %395 unwind label %363

395:                                              ; preds = %390
  store float %392, ptr %394, align 4, !tbaa !24
  %396 = load float, ptr %14, align 4, !tbaa !24
  %397 = fdiv float %396, 2.400000e+01
  %398 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %399 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %398, i64 noundef 3, i64 noundef 3)
          to label %400 unwind label %363

400:                                              ; preds = %395
  store float %397, ptr %399, align 4, !tbaa !24
  %401 = load float, ptr %14, align 4, !tbaa !24
  %402 = fdiv float %401, 2.400000e+01
  %403 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %404 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %403, i64 noundef 4, i64 noundef 4)
          to label %405 unwind label %363

405:                                              ; preds = %400
  store float %402, ptr %404, align 4, !tbaa !24
  %406 = load float, ptr %14, align 4, !tbaa !24
  %407 = fdiv float %406, 2.400000e+01
  %408 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %409 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %408, i64 noundef 5, i64 noundef 5)
          to label %410 unwind label %363

410:                                              ; preds = %405
  store float %407, ptr %409, align 4, !tbaa !24
  %411 = load float, ptr %14, align 4, !tbaa !24
  %412 = fdiv float %411, 2.400000e+01
  %413 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %414 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %413, i64 noundef 6, i64 noundef 6)
          to label %415 unwind label %363

415:                                              ; preds = %410
  store float %412, ptr %414, align 4, !tbaa !24
  %416 = load float, ptr %14, align 4, !tbaa !24
  %417 = fdiv float %416, 2.400000e+01
  %418 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %419 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %418, i64 noundef 7, i64 noundef 7)
          to label %420 unwind label %363

420:                                              ; preds = %415
  store float %417, ptr %419, align 4, !tbaa !24
  %421 = load float, ptr %14, align 4, !tbaa !24
  %422 = fdiv float %421, 2.400000e+01
  %423 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %424 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %423, i64 noundef 8, i64 noundef 8)
          to label %425 unwind label %363

425:                                              ; preds = %420
  store float %422, ptr %424, align 4, !tbaa !24
  %426 = load float, ptr %14, align 4, !tbaa !24
  %427 = fdiv float %426, 2.400000e+01
  %428 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %429 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %428, i64 noundef 9, i64 noundef 9)
          to label %430 unwind label %363

430:                                              ; preds = %425
  store float %427, ptr %429, align 4, !tbaa !24
  %431 = load float, ptr %14, align 4, !tbaa !24
  %432 = fdiv float %431, 2.400000e+01
  %433 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %434 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %433, i64 noundef 10, i64 noundef 10)
          to label %435 unwind label %363

435:                                              ; preds = %430
  store float %432, ptr %434, align 4, !tbaa !24
  %436 = load float, ptr %14, align 4, !tbaa !24
  %437 = fdiv float %436, 2.400000e+01
  %438 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %439 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %438, i64 noundef 11, i64 noundef 11)
          to label %440 unwind label %363

440:                                              ; preds = %435
  store float %437, ptr %439, align 4, !tbaa !24
  %441 = load float, ptr %14, align 4, !tbaa !24
  %442 = fdiv float %441, 4.800000e+01
  %443 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %444 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %443, i64 noundef 3, i64 noundef 0)
          to label %445 unwind label %363

445:                                              ; preds = %440
  store float %442, ptr %444, align 4, !tbaa !24
  %446 = load float, ptr %14, align 4, !tbaa !24
  %447 = fdiv float %446, 4.800000e+01
  %448 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %449 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %448, i64 noundef 4, i64 noundef 1)
          to label %450 unwind label %363

450:                                              ; preds = %445
  store float %447, ptr %449, align 4, !tbaa !24
  %451 = load float, ptr %14, align 4, !tbaa !24
  %452 = fdiv float %451, 4.800000e+01
  %453 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %454 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %453, i64 noundef 5, i64 noundef 2)
          to label %455 unwind label %363

455:                                              ; preds = %450
  store float %452, ptr %454, align 4, !tbaa !24
  %456 = load float, ptr %14, align 4, !tbaa !24
  %457 = fdiv float %456, 4.800000e+01
  %458 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %459 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %458, i64 noundef 6, i64 noundef 0)
          to label %460 unwind label %363

460:                                              ; preds = %455
  store float %457, ptr %459, align 4, !tbaa !24
  %461 = load float, ptr %14, align 4, !tbaa !24
  %462 = fdiv float %461, 4.800000e+01
  %463 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %464 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %463, i64 noundef 7, i64 noundef 1)
          to label %465 unwind label %363

465:                                              ; preds = %460
  store float %462, ptr %464, align 4, !tbaa !24
  %466 = load float, ptr %14, align 4, !tbaa !24
  %467 = fdiv float %466, 4.800000e+01
  %468 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %469 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %468, i64 noundef 8, i64 noundef 2)
          to label %470 unwind label %363

470:                                              ; preds = %465
  store float %467, ptr %469, align 4, !tbaa !24
  %471 = load float, ptr %14, align 4, !tbaa !24
  %472 = fdiv float %471, 4.800000e+01
  %473 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %474 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %473, i64 noundef 9, i64 noundef 0)
          to label %475 unwind label %363

475:                                              ; preds = %470
  store float %472, ptr %474, align 4, !tbaa !24
  %476 = load float, ptr %14, align 4, !tbaa !24
  %477 = fdiv float %476, 4.800000e+01
  %478 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %479 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %478, i64 noundef 10, i64 noundef 1)
          to label %480 unwind label %363

480:                                              ; preds = %475
  store float %477, ptr %479, align 4, !tbaa !24
  %481 = load float, ptr %14, align 4, !tbaa !24
  %482 = fdiv float %481, 4.800000e+01
  %483 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %484 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %483, i64 noundef 11, i64 noundef 2)
          to label %485 unwind label %363

485:                                              ; preds = %480
  store float %482, ptr %484, align 4, !tbaa !24
  %486 = load float, ptr %14, align 4, !tbaa !24
  %487 = fdiv float %486, 4.800000e+01
  %488 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %489 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %488, i64 noundef 6, i64 noundef 3)
          to label %490 unwind label %363

490:                                              ; preds = %485
  store float %487, ptr %489, align 4, !tbaa !24
  %491 = load float, ptr %14, align 4, !tbaa !24
  %492 = fdiv float %491, 4.800000e+01
  %493 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %494 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %493, i64 noundef 7, i64 noundef 4)
          to label %495 unwind label %363

495:                                              ; preds = %490
  store float %492, ptr %494, align 4, !tbaa !24
  %496 = load float, ptr %14, align 4, !tbaa !24
  %497 = fdiv float %496, 4.800000e+01
  %498 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %499 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %498, i64 noundef 8, i64 noundef 5)
          to label %500 unwind label %363

500:                                              ; preds = %495
  store float %497, ptr %499, align 4, !tbaa !24
  %501 = load float, ptr %14, align 4, !tbaa !24
  %502 = fdiv float %501, 4.800000e+01
  %503 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %504 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %503, i64 noundef 9, i64 noundef 3)
          to label %505 unwind label %363

505:                                              ; preds = %500
  store float %502, ptr %504, align 4, !tbaa !24
  %506 = load float, ptr %14, align 4, !tbaa !24
  %507 = fdiv float %506, 4.800000e+01
  %508 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %509 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %508, i64 noundef 10, i64 noundef 4)
          to label %510 unwind label %363

510:                                              ; preds = %505
  store float %507, ptr %509, align 4, !tbaa !24
  %511 = load float, ptr %14, align 4, !tbaa !24
  %512 = fdiv float %511, 4.800000e+01
  %513 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %514 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %513, i64 noundef 11, i64 noundef 5)
          to label %515 unwind label %363

515:                                              ; preds = %510
  store float %512, ptr %514, align 4, !tbaa !24
  %516 = load float, ptr %14, align 4, !tbaa !24
  %517 = fdiv float %516, 4.800000e+01
  %518 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %519 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %518, i64 noundef 0, i64 noundef 3)
          to label %520 unwind label %363

520:                                              ; preds = %515
  store float %517, ptr %519, align 4, !tbaa !24
  %521 = load float, ptr %14, align 4, !tbaa !24
  %522 = fdiv float %521, 4.800000e+01
  %523 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %524 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %523, i64 noundef 1, i64 noundef 4)
          to label %525 unwind label %363

525:                                              ; preds = %520
  store float %522, ptr %524, align 4, !tbaa !24
  %526 = load float, ptr %14, align 4, !tbaa !24
  %527 = fdiv float %526, 4.800000e+01
  %528 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %529 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %528, i64 noundef 2, i64 noundef 5)
          to label %530 unwind label %363

530:                                              ; preds = %525
  store float %527, ptr %529, align 4, !tbaa !24
  %531 = load float, ptr %14, align 4, !tbaa !24
  %532 = fdiv float %531, 4.800000e+01
  %533 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %534 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %533, i64 noundef 9, i64 noundef 6)
          to label %535 unwind label %363

535:                                              ; preds = %530
  store float %532, ptr %534, align 4, !tbaa !24
  %536 = load float, ptr %14, align 4, !tbaa !24
  %537 = fdiv float %536, 4.800000e+01
  %538 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %539 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %538, i64 noundef 10, i64 noundef 7)
          to label %540 unwind label %363

540:                                              ; preds = %535
  store float %537, ptr %539, align 4, !tbaa !24
  %541 = load float, ptr %14, align 4, !tbaa !24
  %542 = fdiv float %541, 4.800000e+01
  %543 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %544 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %543, i64 noundef 11, i64 noundef 8)
          to label %545 unwind label %363

545:                                              ; preds = %540
  store float %542, ptr %544, align 4, !tbaa !24
  %546 = load float, ptr %14, align 4, !tbaa !24
  %547 = fdiv float %546, 4.800000e+01
  %548 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %549 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %548, i64 noundef 0, i64 noundef 6)
          to label %550 unwind label %363

550:                                              ; preds = %545
  store float %547, ptr %549, align 4, !tbaa !24
  %551 = load float, ptr %14, align 4, !tbaa !24
  %552 = fdiv float %551, 4.800000e+01
  %553 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %554 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %553, i64 noundef 1, i64 noundef 7)
          to label %555 unwind label %363

555:                                              ; preds = %550
  store float %552, ptr %554, align 4, !tbaa !24
  %556 = load float, ptr %14, align 4, !tbaa !24
  %557 = fdiv float %556, 4.800000e+01
  %558 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %559 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %558, i64 noundef 2, i64 noundef 8)
          to label %560 unwind label %363

560:                                              ; preds = %555
  store float %557, ptr %559, align 4, !tbaa !24
  %561 = load float, ptr %14, align 4, !tbaa !24
  %562 = fdiv float %561, 4.800000e+01
  %563 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %564 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %563, i64 noundef 3, i64 noundef 6)
          to label %565 unwind label %363

565:                                              ; preds = %560
  store float %562, ptr %564, align 4, !tbaa !24
  %566 = load float, ptr %14, align 4, !tbaa !24
  %567 = fdiv float %566, 4.800000e+01
  %568 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %569 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %568, i64 noundef 4, i64 noundef 7)
          to label %570 unwind label %363

570:                                              ; preds = %565
  store float %567, ptr %569, align 4, !tbaa !24
  %571 = load float, ptr %14, align 4, !tbaa !24
  %572 = fdiv float %571, 4.800000e+01
  %573 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %574 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %573, i64 noundef 5, i64 noundef 8)
          to label %575 unwind label %363

575:                                              ; preds = %570
  store float %572, ptr %574, align 4, !tbaa !24
  %576 = load float, ptr %14, align 4, !tbaa !24
  %577 = fdiv float %576, 4.800000e+01
  %578 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %579 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %578, i64 noundef 0, i64 noundef 9)
          to label %580 unwind label %363

580:                                              ; preds = %575
  store float %577, ptr %579, align 4, !tbaa !24
  %581 = load float, ptr %14, align 4, !tbaa !24
  %582 = fdiv float %581, 4.800000e+01
  %583 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %584 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %583, i64 noundef 1, i64 noundef 10)
          to label %585 unwind label %363

585:                                              ; preds = %580
  store float %582, ptr %584, align 4, !tbaa !24
  %586 = load float, ptr %14, align 4, !tbaa !24
  %587 = fdiv float %586, 4.800000e+01
  %588 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %589 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %588, i64 noundef 2, i64 noundef 11)
          to label %590 unwind label %363

590:                                              ; preds = %585
  store float %587, ptr %589, align 4, !tbaa !24
  %591 = load float, ptr %14, align 4, !tbaa !24
  %592 = fdiv float %591, 4.800000e+01
  %593 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %594 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %593, i64 noundef 3, i64 noundef 9)
          to label %595 unwind label %363

595:                                              ; preds = %590
  store float %592, ptr %594, align 4, !tbaa !24
  %596 = load float, ptr %14, align 4, !tbaa !24
  %597 = fdiv float %596, 4.800000e+01
  %598 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %599 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %598, i64 noundef 4, i64 noundef 10)
          to label %600 unwind label %363

600:                                              ; preds = %595
  store float %597, ptr %599, align 4, !tbaa !24
  %601 = load float, ptr %14, align 4, !tbaa !24
  %602 = fdiv float %601, 4.800000e+01
  %603 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %604 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %603, i64 noundef 5, i64 noundef 11)
          to label %605 unwind label %363

605:                                              ; preds = %600
  store float %602, ptr %604, align 4, !tbaa !24
  %606 = load float, ptr %14, align 4, !tbaa !24
  %607 = fdiv float %606, 4.800000e+01
  %608 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %609 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %608, i64 noundef 6, i64 noundef 9)
          to label %610 unwind label %363

610:                                              ; preds = %605
  store float %607, ptr %609, align 4, !tbaa !24
  %611 = load float, ptr %14, align 4, !tbaa !24
  %612 = fdiv float %611, 4.800000e+01
  %613 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %614 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %613, i64 noundef 7, i64 noundef 10)
          to label %615 unwind label %363

615:                                              ; preds = %610
  store float %612, ptr %614, align 4, !tbaa !24
  %616 = load float, ptr %14, align 4, !tbaa !24
  %617 = fdiv float %616, 4.800000e+01
  %618 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %619 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %618, i64 noundef 8, i64 noundef 11)
          to label %620 unwind label %363

620:                                              ; preds = %615
  store float %617, ptr %619, align 4, !tbaa !24
  br label %621

621:                                              ; preds = %620, %362
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  br label %622

622:                                              ; preds = %621, %284
  br label %623

623:                                              ; preds = %622, %282
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  br label %624

624:                                              ; preds = %623
  %625 = load i64, ptr %7, align 8, !tbaa !22
  %626 = add i64 %625, 1
  store i64 %626, ptr %7, align 8, !tbaa !22
  br label %54, !llvm.loop !29

627:                                              ; preds = %363, %283, %166
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  br label %628

628:                                              ; preds = %627, %162
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  br label %630

629:                                              ; preds = %59
  ret void

630:                                              ; preds = %628
  %631 = load ptr, ptr %10, align 8
  %632 = load i32, ptr %11, align 4
  %633 = insertvalue { ptr, i32 } poison, ptr %631, 0
  %634 = insertvalue { ptr, i32 } %633, i32 %632, 1
  resume { ptr, i32 } %634
}

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{i8 0, i8 2}
!12 = !{}
!13 = !{!14, !6, i64 312}
!14 = !{!"_ZTS12ElementsData", !15, i64 8, !15, i64 16, !15, i64 24, !15, i64 32, !15, i64 40, !16, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !6, i64 88, !6, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !6, i64 144, !6, i64 152, !6, i64 160, !6, i64 168, !6, i64 176, !6, i64 184, !6, i64 192, !6, i64 200, !6, i64 208, !6, i64 216, !6, i64 224, !6, i64 232, !6, i64 240, !6, i64 248, !17, i64 256, !6, i64 312, !6, i64 320, !6, i64 328}
!15 = !{!"long", !7, i64 0}
!16 = !{!"_ZTS11DEVICE_NAME", !7, i64 0}
!17 = !{!"_ZTS7CGMData", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48}
!18 = !{!14, !15, i64 16}
!19 = !{!14, !15, i64 8}
!20 = !{!21, !21, i64 0}
!21 = !{!"vtable pointer", !8, i64 0}
!22 = !{!15, !15, i64 0}
!23 = !{!14, !6, i64 240}
!24 = !{!25, !25, i64 0}
!25 = !{!"float", !7, i64 0}
!26 = !{!27, !25, i64 8}
!27 = !{!"_ZTS16MechanicalParams", !25, i64 0, !25, i64 4, !25, i64 8, !25, i64 12, !25, i64 16, !25, i64 20, !25, i64 24, !25, i64 28, !25, i64 32}
!28 = !{!14, !6, i64 224}
!29 = distinct !{!29, !30}
!30 = !{!"llvm.loop.mustprogress"}


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

%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.7" }
%"struct.std::_Head_base.7" = type { ptr }

declare i32 @__gxx_personality_v0(...)

; 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 nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #1

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

declare void @_ZNK6Matrix6getRowEm(ptr dead_on_unwind writable sret(%"class.std::unique_ptr") align 8, ptr noundef nonnull align 8 dereferenceable(49), i64 noundef) local_unnamed_addr #2

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49), i64 noundef, i64 noundef) local_unnamed_addr #2

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

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49), i64 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt3absf(float noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN16CPU_ElementsData16calculateMlocalsEbRK16MechanicalParams(ptr nocapture noundef nonnull readonly align 8 dereferenceable(336) %0, i1 noundef zeroext %1, ptr nocapture noundef nonnull readonly align 4 dereferenceable(36) %2) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::unique_ptr", align 8
  %5 = alloca %"class.std::unique_ptr", align 8
  %6 = getelementptr inbounds i8, ptr %0, i64 312
  %7 = load ptr, ptr %6, align 8, !tbaa !5
  %8 = getelementptr inbounds i8, ptr %0, i64 16
  %9 = load i64, ptr %8, align 8, !tbaa !13
  %10 = getelementptr inbounds i8, ptr %0, i64 8
  %11 = load i64, ptr %10, align 8, !tbaa !14
  br i1 %1, label %12, label %15

12:                                               ; preds = %3
  %13 = mul i64 %11, 6
  %14 = add i64 %13, -6
  br label %19

15:                                               ; preds = %3
  %16 = add i64 %11, -1
  %17 = mul i64 %16, 36
  %18 = mul i64 %17, %16
  br label %19

19:                                               ; preds = %15, %12
  %.sink = phi i64 [ %18, %15 ], [ %14, %12 ]
  %20 = load ptr, ptr %7, align 8, !tbaa !15
  %21 = getelementptr inbounds i8, ptr %20, i64 208
  %22 = load ptr, ptr %21, align 8
  tail call void %22(ptr noundef nonnull align 8 dereferenceable(49) %7, i64 noundef %9, i64 noundef %.sink)
  %23 = getelementptr inbounds i8, ptr %0, i64 312
  %24 = load ptr, ptr %23, align 8, !tbaa !5
  %25 = load ptr, ptr %24, align 8, !tbaa !15
  %26 = getelementptr inbounds i8, ptr %25, i64 232
  %27 = load ptr, ptr %26, align 8
  tail call void %27(ptr noundef nonnull align 8 dereferenceable(49) %24, float noundef 0.000000e+00)
  %28 = getelementptr inbounds i8, ptr %0, i64 16
  %29 = load i64, ptr %28, align 8, !tbaa !13
  %.not = icmp eq i64 %29, 0
  br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %19
  %30 = getelementptr inbounds i8, ptr %0, i64 240
  %31 = getelementptr inbounds i8, ptr %0, i64 8
  %32 = getelementptr inbounds i8, ptr %2, i64 8
  %33 = getelementptr inbounds i8, ptr %0, i64 224
  br label %34

._crit_edge:                                      ; preds = %386, %19
  ret void

34:                                               ; preds = %.lr.ph, %386
  %.0105 = phi i64 [ 0, %.lr.ph ], [ %387, %386 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #6
  %35 = load ptr, ptr %23, align 8, !tbaa !5
  call void @_ZNK6Matrix6getRowEm(ptr dead_on_unwind nonnull writable sret(%"class.std::unique_ptr") align 8 %4, ptr noundef nonnull align 8 dereferenceable(49) %35, i64 noundef %.0105)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #6
  %36 = load ptr, ptr %30, align 8, !tbaa !17
  invoke void @_ZNK6Matrix6getRowEm(ptr dead_on_unwind nonnull writable sret(%"class.std::unique_ptr") align 8 %5, ptr noundef nonnull align 8 dereferenceable(49) %36, i64 noundef %.0105)
          to label %37 unwind label %110

37:                                               ; preds = %34
  %38 = call noundef ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %39 = load i64, ptr %31, align 8, !tbaa !14
  %40 = add i64 %39, 1
  %41 = load ptr, ptr %38, align 8, !tbaa !15
  %42 = getelementptr inbounds i8, ptr %41, i64 208
  %43 = load ptr, ptr %42, align 8
  invoke void %43(ptr noundef nonnull align 8 dereferenceable(49) %38, i64 noundef %39, i64 noundef %40)
          to label %44 unwind label %112

44:                                               ; preds = %37
  %45 = load i64, ptr %31, align 8, !tbaa !14
  switch i64 %45, label %386 [
    i64 2, label %46
    i64 3, label %183
  ]

46:                                               ; preds = %44
  %47 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %48 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %47, i64 noundef 0)
          to label %49 unwind label %114

49:                                               ; preds = %46
  %50 = load float, ptr %48, align 4, !tbaa !18
  %51 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %52 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %51, i64 noundef 2)
          to label %53 unwind label %114

53:                                               ; preds = %49
  %54 = load float, ptr %52, align 4, !tbaa !18
  %55 = fsub float %50, %54
  %56 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %57 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %56, i64 noundef 4)
          to label %58 unwind label %114

58:                                               ; preds = %53
  %59 = load float, ptr %57, align 4, !tbaa !18
  %60 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %61 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %60, i64 noundef 5)
          to label %62 unwind label %114

62:                                               ; preds = %58
  %63 = load float, ptr %61, align 4, !tbaa !18
  %64 = fsub float %59, %63
  %65 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %66 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %65, i64 noundef 1)
          to label %67 unwind label %114

67:                                               ; preds = %62
  %68 = load float, ptr %66, align 4, !tbaa !18
  %69 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %70 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %69, i64 noundef 2)
          to label %71 unwind label %114

71:                                               ; preds = %67
  %72 = load float, ptr %70, align 4, !tbaa !18
  %73 = fsub float %68, %72
  %74 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %75 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %74, i64 noundef 3)
          to label %76 unwind label %114

76:                                               ; preds = %71
  %77 = load float, ptr %75, align 4, !tbaa !18
  %78 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %79 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %78, i64 noundef 5)
          to label %80 unwind label %114

80:                                               ; preds = %76
  %81 = load float, ptr %79, align 4, !tbaa !18
  %82 = fsub float %77, %81
  %83 = fneg float %73
  %84 = fmul float %82, %83
  %85 = call float @llvm.fmuladd.f32(float %55, float %64, float %84)
  %86 = call noundef float @_ZSt3absf(float noundef %85)
  %87 = fmul float %86, 5.000000e-01
  %88 = load float, ptr %32, align 4, !tbaa !20
  %89 = fmul float %88, %87
  br i1 %1, label %90, label %118

90:                                               ; preds = %80
  %91 = fdiv float %89, 3.000000e+00
  %92 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %93 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %92, i64 noundef 0)
          to label %94 unwind label %116

94:                                               ; preds = %90
  store float %91, ptr %93, align 4, !tbaa !18
  %95 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %96 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %95, i64 noundef 1)
          to label %97 unwind label %116

97:                                               ; preds = %94
  store float %91, ptr %96, align 4, !tbaa !18
  %98 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %99 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %98, i64 noundef 2)
          to label %100 unwind label %116

100:                                              ; preds = %97
  store float %91, ptr %99, align 4, !tbaa !18
  %101 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %102 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %101, i64 noundef 3)
          to label %103 unwind label %116

103:                                              ; preds = %100
  store float %91, ptr %102, align 4, !tbaa !18
  %104 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %105 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %104, i64 noundef 4)
          to label %106 unwind label %116

106:                                              ; preds = %103
  store float %91, ptr %105, align 4, !tbaa !18
  %107 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %108 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %107, i64 noundef 5)
          to label %109 unwind label %116

109:                                              ; preds = %106
  store float %91, ptr %108, align 4, !tbaa !18
  br label %386

110:                                              ; preds = %34
  %111 = landingpad { ptr, i32 }
          cleanup
  br label %391

112:                                              ; preds = %37
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %390

114:                                              ; preds = %76, %71, %67, %62, %58, %53, %49, %46
  %115 = landingpad { ptr, i32 }
          cleanup
  br label %390

116:                                              ; preds = %179, %176, %173, %170, %167, %164, %161, %158, %155, %152, %149, %145, %142, %139, %136, %133, %130, %126, %118, %106, %103, %100, %97, %94, %90
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %390

118:                                              ; preds = %80
  %119 = call noundef ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %120 = load i64, ptr %31, align 8, !tbaa !14
  %121 = mul i64 %120, 6
  %122 = add i64 %121, -6
  %123 = load ptr, ptr %119, align 8, !tbaa !15
  %124 = getelementptr inbounds i8, ptr %123, i64 208
  %125 = load ptr, ptr %124, align 8
  invoke void %125(ptr noundef nonnull align 8 dereferenceable(49) %119, i64 noundef %122, i64 noundef %122)
          to label %126 unwind label %116

126:                                              ; preds = %118
  %127 = fdiv float %89, 6.000000e+00
  %128 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %129 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %128, i64 noundef 0, i64 noundef 0)
          to label %130 unwind label %116

130:                                              ; preds = %126
  store float %127, ptr %129, align 4, !tbaa !18
  %131 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %132 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %131, i64 noundef 1, i64 noundef 1)
          to label %133 unwind label %116

133:                                              ; preds = %130
  store float %127, ptr %132, align 4, !tbaa !18
  %134 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %135 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %134, i64 noundef 2, i64 noundef 2)
          to label %136 unwind label %116

136:                                              ; preds = %133
  store float %127, ptr %135, align 4, !tbaa !18
  %137 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %138 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %137, i64 noundef 3, i64 noundef 3)
          to label %139 unwind label %116

139:                                              ; preds = %136
  store float %127, ptr %138, align 4, !tbaa !18
  %140 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %141 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %140, i64 noundef 4, i64 noundef 4)
          to label %142 unwind label %116

142:                                              ; preds = %139
  store float %127, ptr %141, align 4, !tbaa !18
  %143 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %144 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %143, i64 noundef 5, i64 noundef 5)
          to label %145 unwind label %116

145:                                              ; preds = %142
  store float %127, ptr %144, align 4, !tbaa !18
  %146 = fdiv float %89, 1.200000e+01
  %147 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %148 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %147, i64 noundef 2, i64 noundef 0)
          to label %149 unwind label %116

149:                                              ; preds = %145
  store float %146, ptr %148, align 4, !tbaa !18
  %150 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %151 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %150, i64 noundef 3, i64 noundef 1)
          to label %152 unwind label %116

152:                                              ; preds = %149
  store float %146, ptr %151, align 4, !tbaa !18
  %153 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %154 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %153, i64 noundef 4, i64 noundef 0)
          to label %155 unwind label %116

155:                                              ; preds = %152
  store float %146, ptr %154, align 4, !tbaa !18
  %156 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %157 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %156, i64 noundef 5, i64 noundef 1)
          to label %158 unwind label %116

158:                                              ; preds = %155
  store float %146, ptr %157, align 4, !tbaa !18
  %159 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %160 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %159, i64 noundef 4, i64 noundef 2)
          to label %161 unwind label %116

161:                                              ; preds = %158
  store float %146, ptr %160, align 4, !tbaa !18
  %162 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %163 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %162, i64 noundef 5, i64 noundef 3)
          to label %164 unwind label %116

164:                                              ; preds = %161
  store float %146, ptr %163, align 4, !tbaa !18
  %165 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %166 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %165, i64 noundef 0, i64 noundef 2)
          to label %167 unwind label %116

167:                                              ; preds = %164
  store float %146, ptr %166, align 4, !tbaa !18
  %168 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %169 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %168, i64 noundef 1, i64 noundef 3)
          to label %170 unwind label %116

170:                                              ; preds = %167
  store float %146, ptr %169, align 4, !tbaa !18
  %171 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %172 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %171, i64 noundef 0, i64 noundef 4)
          to label %173 unwind label %116

173:                                              ; preds = %170
  store float %146, ptr %172, align 4, !tbaa !18
  %174 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %175 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %174, i64 noundef 1, i64 noundef 5)
          to label %176 unwind label %116

176:                                              ; preds = %173
  store float %146, ptr %175, align 4, !tbaa !18
  %177 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %178 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %177, i64 noundef 2, i64 noundef 4)
          to label %179 unwind label %116

179:                                              ; preds = %176
  store float %146, ptr %178, align 4, !tbaa !18
  %180 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %181 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %180, i64 noundef 3, i64 noundef 5)
          to label %182 unwind label %116

182:                                              ; preds = %179
  store float %146, ptr %181, align 4, !tbaa !18
  br label %386

183:                                              ; preds = %44
  %184 = load float, ptr %32, align 4, !tbaa !20
  %185 = load ptr, ptr %33, align 8, !tbaa !22
  %186 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %185, i64 noundef %.0105)
          to label %187 unwind label %229

187:                                              ; preds = %183
  %188 = load float, ptr %186, align 4, !tbaa !18
  %189 = fmul float %184, %188
  %190 = fdiv float %189, 6.000000e+00
  br i1 %1, label %191, label %231

191:                                              ; preds = %187
  %192 = fdiv float %190, 1.200000e+01
  %193 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %194 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %193, i64 noundef 0)
          to label %195 unwind label %229

195:                                              ; preds = %191
  store float %192, ptr %194, align 4, !tbaa !18
  %196 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %197 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %196, i64 noundef 1)
          to label %198 unwind label %229

198:                                              ; preds = %195
  store float %192, ptr %197, align 4, !tbaa !18
  %199 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %200 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %199, i64 noundef 2)
          to label %201 unwind label %229

201:                                              ; preds = %198
  store float %192, ptr %200, align 4, !tbaa !18
  %202 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %203 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %202, i64 noundef 3)
          to label %204 unwind label %229

204:                                              ; preds = %201
  store float %192, ptr %203, align 4, !tbaa !18
  %205 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %206 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %205, i64 noundef 4)
          to label %207 unwind label %229

207:                                              ; preds = %204
  store float %192, ptr %206, align 4, !tbaa !18
  %208 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %209 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %208, i64 noundef 5)
          to label %210 unwind label %229

210:                                              ; preds = %207
  store float %192, ptr %209, align 4, !tbaa !18
  %211 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %212 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %211, i64 noundef 6)
          to label %213 unwind label %229

213:                                              ; preds = %210
  store float %192, ptr %212, align 4, !tbaa !18
  %214 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %215 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %214, i64 noundef 7)
          to label %216 unwind label %229

216:                                              ; preds = %213
  store float %192, ptr %215, align 4, !tbaa !18
  %217 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %218 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %217, i64 noundef 8)
          to label %219 unwind label %229

219:                                              ; preds = %216
  store float %192, ptr %218, align 4, !tbaa !18
  %220 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %221 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %220, i64 noundef 9)
          to label %222 unwind label %229

222:                                              ; preds = %219
  store float %192, ptr %221, align 4, !tbaa !18
  %223 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %224 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %223, i64 noundef 10)
          to label %225 unwind label %229

225:                                              ; preds = %222
  store float %192, ptr %224, align 4, !tbaa !18
  %226 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %227 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixixEm(ptr noundef nonnull align 8 dereferenceable(49) %226, i64 noundef 11)
          to label %228 unwind label %229

228:                                              ; preds = %225
  store float %192, ptr %227, align 4, !tbaa !18
  br label %386

229:                                              ; preds = %382, %379, %376, %373, %370, %367, %364, %361, %358, %355, %352, %349, %346, %343, %340, %337, %334, %331, %328, %325, %322, %319, %316, %313, %310, %307, %304, %301, %298, %295, %292, %289, %286, %283, %280, %276, %273, %270, %267, %264, %261, %258, %255, %252, %249, %246, %243, %239, %231, %225, %222, %219, %216, %213, %210, %207, %204, %201, %198, %195, %191, %183
  %230 = landingpad { ptr, i32 }
          cleanup
  br label %390

231:                                              ; preds = %187
  %232 = call noundef ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %233 = load i64, ptr %31, align 8, !tbaa !14
  %234 = mul i64 %233, 6
  %235 = add i64 %234, -6
  %236 = load ptr, ptr %232, align 8, !tbaa !15
  %237 = getelementptr inbounds i8, ptr %236, i64 208
  %238 = load ptr, ptr %237, align 8
  invoke void %238(ptr noundef nonnull align 8 dereferenceable(49) %232, i64 noundef %235, i64 noundef %235)
          to label %239 unwind label %229

239:                                              ; preds = %231
  %240 = fdiv float %190, 2.400000e+01
  %241 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %242 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %241, i64 noundef 0, i64 noundef 0)
          to label %243 unwind label %229

243:                                              ; preds = %239
  store float %240, ptr %242, align 4, !tbaa !18
  %244 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %245 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %244, i64 noundef 1, i64 noundef 1)
          to label %246 unwind label %229

246:                                              ; preds = %243
  store float %240, ptr %245, align 4, !tbaa !18
  %247 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %248 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %247, i64 noundef 2, i64 noundef 2)
          to label %249 unwind label %229

249:                                              ; preds = %246
  store float %240, ptr %248, align 4, !tbaa !18
  %250 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %251 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %250, i64 noundef 3, i64 noundef 3)
          to label %252 unwind label %229

252:                                              ; preds = %249
  store float %240, ptr %251, align 4, !tbaa !18
  %253 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %254 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %253, i64 noundef 4, i64 noundef 4)
          to label %255 unwind label %229

255:                                              ; preds = %252
  store float %240, ptr %254, align 4, !tbaa !18
  %256 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %257 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %256, i64 noundef 5, i64 noundef 5)
          to label %258 unwind label %229

258:                                              ; preds = %255
  store float %240, ptr %257, align 4, !tbaa !18
  %259 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %260 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %259, i64 noundef 6, i64 noundef 6)
          to label %261 unwind label %229

261:                                              ; preds = %258
  store float %240, ptr %260, align 4, !tbaa !18
  %262 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %263 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %262, i64 noundef 7, i64 noundef 7)
          to label %264 unwind label %229

264:                                              ; preds = %261
  store float %240, ptr %263, align 4, !tbaa !18
  %265 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %266 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %265, i64 noundef 8, i64 noundef 8)
          to label %267 unwind label %229

267:                                              ; preds = %264
  store float %240, ptr %266, align 4, !tbaa !18
  %268 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %269 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %268, i64 noundef 9, i64 noundef 9)
          to label %270 unwind label %229

270:                                              ; preds = %267
  store float %240, ptr %269, align 4, !tbaa !18
  %271 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %272 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %271, i64 noundef 10, i64 noundef 10)
          to label %273 unwind label %229

273:                                              ; preds = %270
  store float %240, ptr %272, align 4, !tbaa !18
  %274 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %275 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %274, i64 noundef 11, i64 noundef 11)
          to label %276 unwind label %229

276:                                              ; preds = %273
  store float %240, ptr %275, align 4, !tbaa !18
  %277 = fdiv float %190, 4.800000e+01
  %278 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %279 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %278, i64 noundef 3, i64 noundef 0)
          to label %280 unwind label %229

280:                                              ; preds = %276
  store float %277, ptr %279, align 4, !tbaa !18
  %281 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %282 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %281, i64 noundef 4, i64 noundef 1)
          to label %283 unwind label %229

283:                                              ; preds = %280
  store float %277, ptr %282, align 4, !tbaa !18
  %284 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %285 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %284, i64 noundef 5, i64 noundef 2)
          to label %286 unwind label %229

286:                                              ; preds = %283
  store float %277, ptr %285, align 4, !tbaa !18
  %287 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %288 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %287, i64 noundef 6, i64 noundef 0)
          to label %289 unwind label %229

289:                                              ; preds = %286
  store float %277, ptr %288, align 4, !tbaa !18
  %290 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %291 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %290, i64 noundef 7, i64 noundef 1)
          to label %292 unwind label %229

292:                                              ; preds = %289
  store float %277, ptr %291, align 4, !tbaa !18
  %293 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %294 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %293, i64 noundef 8, i64 noundef 2)
          to label %295 unwind label %229

295:                                              ; preds = %292
  store float %277, ptr %294, align 4, !tbaa !18
  %296 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %297 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %296, i64 noundef 9, i64 noundef 0)
          to label %298 unwind label %229

298:                                              ; preds = %295
  store float %277, ptr %297, align 4, !tbaa !18
  %299 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %300 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %299, i64 noundef 10, i64 noundef 1)
          to label %301 unwind label %229

301:                                              ; preds = %298
  store float %277, ptr %300, align 4, !tbaa !18
  %302 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %303 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %302, i64 noundef 11, i64 noundef 2)
          to label %304 unwind label %229

304:                                              ; preds = %301
  store float %277, ptr %303, align 4, !tbaa !18
  %305 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %306 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %305, i64 noundef 6, i64 noundef 3)
          to label %307 unwind label %229

307:                                              ; preds = %304
  store float %277, ptr %306, align 4, !tbaa !18
  %308 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %309 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %308, i64 noundef 7, i64 noundef 4)
          to label %310 unwind label %229

310:                                              ; preds = %307
  store float %277, ptr %309, align 4, !tbaa !18
  %311 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %312 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %311, i64 noundef 8, i64 noundef 5)
          to label %313 unwind label %229

313:                                              ; preds = %310
  store float %277, ptr %312, align 4, !tbaa !18
  %314 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %315 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %314, i64 noundef 9, i64 noundef 3)
          to label %316 unwind label %229

316:                                              ; preds = %313
  store float %277, ptr %315, align 4, !tbaa !18
  %317 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %318 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %317, i64 noundef 10, i64 noundef 4)
          to label %319 unwind label %229

319:                                              ; preds = %316
  store float %277, ptr %318, align 4, !tbaa !18
  %320 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %321 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %320, i64 noundef 11, i64 noundef 5)
          to label %322 unwind label %229

322:                                              ; preds = %319
  store float %277, ptr %321, align 4, !tbaa !18
  %323 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %324 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %323, i64 noundef 0, i64 noundef 3)
          to label %325 unwind label %229

325:                                              ; preds = %322
  store float %277, ptr %324, align 4, !tbaa !18
  %326 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %327 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %326, i64 noundef 1, i64 noundef 4)
          to label %328 unwind label %229

328:                                              ; preds = %325
  store float %277, ptr %327, align 4, !tbaa !18
  %329 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %330 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %329, i64 noundef 2, i64 noundef 5)
          to label %331 unwind label %229

331:                                              ; preds = %328
  store float %277, ptr %330, align 4, !tbaa !18
  %332 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %333 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %332, i64 noundef 9, i64 noundef 6)
          to label %334 unwind label %229

334:                                              ; preds = %331
  store float %277, ptr %333, align 4, !tbaa !18
  %335 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %336 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %335, i64 noundef 10, i64 noundef 7)
          to label %337 unwind label %229

337:                                              ; preds = %334
  store float %277, ptr %336, align 4, !tbaa !18
  %338 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %339 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %338, i64 noundef 11, i64 noundef 8)
          to label %340 unwind label %229

340:                                              ; preds = %337
  store float %277, ptr %339, align 4, !tbaa !18
  %341 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %342 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %341, i64 noundef 0, i64 noundef 6)
          to label %343 unwind label %229

343:                                              ; preds = %340
  store float %277, ptr %342, align 4, !tbaa !18
  %344 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %345 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %344, i64 noundef 1, i64 noundef 7)
          to label %346 unwind label %229

346:                                              ; preds = %343
  store float %277, ptr %345, align 4, !tbaa !18
  %347 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %348 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %347, i64 noundef 2, i64 noundef 8)
          to label %349 unwind label %229

349:                                              ; preds = %346
  store float %277, ptr %348, align 4, !tbaa !18
  %350 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %351 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %350, i64 noundef 3, i64 noundef 6)
          to label %352 unwind label %229

352:                                              ; preds = %349
  store float %277, ptr %351, align 4, !tbaa !18
  %353 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %354 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %353, i64 noundef 4, i64 noundef 7)
          to label %355 unwind label %229

355:                                              ; preds = %352
  store float %277, ptr %354, align 4, !tbaa !18
  %356 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %357 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %356, i64 noundef 5, i64 noundef 8)
          to label %358 unwind label %229

358:                                              ; preds = %355
  store float %277, ptr %357, align 4, !tbaa !18
  %359 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %360 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %359, i64 noundef 0, i64 noundef 9)
          to label %361 unwind label %229

361:                                              ; preds = %358
  store float %277, ptr %360, align 4, !tbaa !18
  %362 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %363 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %362, i64 noundef 1, i64 noundef 10)
          to label %364 unwind label %229

364:                                              ; preds = %361
  store float %277, ptr %363, align 4, !tbaa !18
  %365 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %366 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %365, i64 noundef 2, i64 noundef 11)
          to label %367 unwind label %229

367:                                              ; preds = %364
  store float %277, ptr %366, align 4, !tbaa !18
  %368 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %369 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %368, i64 noundef 3, i64 noundef 9)
          to label %370 unwind label %229

370:                                              ; preds = %367
  store float %277, ptr %369, align 4, !tbaa !18
  %371 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %372 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %371, i64 noundef 4, i64 noundef 10)
          to label %373 unwind label %229

373:                                              ; preds = %370
  store float %277, ptr %372, align 4, !tbaa !18
  %374 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %375 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %374, i64 noundef 5, i64 noundef 11)
          to label %376 unwind label %229

376:                                              ; preds = %373
  store float %277, ptr %375, align 4, !tbaa !18
  %377 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %378 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %377, i64 noundef 6, i64 noundef 9)
          to label %379 unwind label %229

379:                                              ; preds = %376
  store float %277, ptr %378, align 4, !tbaa !18
  %380 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %381 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %380, i64 noundef 7, i64 noundef 10)
          to label %382 unwind label %229

382:                                              ; preds = %379
  store float %277, ptr %381, align 4, !tbaa !18
  %383 = call noundef nonnull align 8 dereferenceable(49) ptr @_ZNKSt10unique_ptrI6MatrixSt14default_deleteIS0_EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  %384 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN6MatrixclEmm(ptr noundef nonnull align 8 dereferenceable(49) %383, i64 noundef 8, i64 noundef 11)
          to label %385 unwind label %229

385:                                              ; preds = %382
  store float %277, ptr %384, align 4, !tbaa !18
  br label %386

386:                                              ; preds = %228, %385, %44, %109, %182
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #6
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #6
  %387 = add nuw i64 %.0105, 1
  %388 = load i64, ptr %28, align 8, !tbaa !13
  %389 = icmp ult i64 %387, %388
  br i1 %389, label %34, label %._crit_edge, !llvm.loop !23

390:                                              ; preds = %114, %116, %229, %112
  %.pn.pn = phi { ptr, i32 } [ %230, %229 ], [ %113, %112 ], [ %117, %116 ], [ %115, %114 ]
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  br label %391

391:                                              ; preds = %390, %110
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %390 ], [ %111, %110 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #6
  call void @_ZNSt10unique_ptrI6MatrixSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #6
  resume { ptr, i32 } %.pn.pn.pn
}

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = { 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, !11, i64 312}
!6 = !{!"_ZTS12ElementsData", !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !10, i64 48, !11, i64 56, !11, i64 64, !11, i64 72, !11, i64 80, !11, i64 88, !11, i64 96, !11, i64 104, !11, i64 112, !11, i64 120, !11, i64 128, !11, i64 136, !11, i64 144, !11, i64 152, !11, i64 160, !11, i64 168, !11, i64 176, !11, i64 184, !11, i64 192, !11, i64 200, !11, i64 208, !11, i64 216, !11, i64 224, !11, i64 232, !11, i64 240, !11, i64 248, !12, i64 256, !11, i64 312, !11, i64 320, !11, i64 328}
!7 = !{!"long", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTS11DEVICE_NAME", !8, i64 0}
!11 = !{!"any pointer", !8, i64 0}
!12 = !{!"_ZTS7CGMData", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !11, i64 48}
!13 = !{!6, !7, i64 16}
!14 = !{!6, !7, i64 8}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !9, i64 0}
!17 = !{!6, !11, i64 240}
!18 = !{!19, !19, i64 0}
!19 = !{!"float", !8, i64 0}
!20 = !{!21, !19, i64 8}
!21 = !{!"_ZTS16MechanicalParams", !19, i64 0, !19, i64 4, !19, i64 8, !19, i64 12, !19, i64 16, !19, i64 20, !19, i64 24, !19, i64 28, !19, i64 32}
!22 = !{!6, !11, i64 224}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass