; LLVM IR from niessner/Matterport :: code/gaps/apps/mpview/mp.ll (ZN7MPHouse13ReadAsciiFileEPKc)

; 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.R3Point = type { [3 x double] }
%class.R3Vector = type { [3 x double] }
%class.R3Box = type { %class.R3Solid, %class.R3Point, %class.R3Point }
%class.R3Solid = type { %class.R3Shape }
%class.R3Shape = type { ptr }
%class.R4Matrix = type { [4 x [4 x double]] }
%class.R3Matrix = type { [3 x [3 x double]] }
%class.R3OrientedBox = type { %class.R3Solid, %class.R3CoordSystem, [3 x double] }
%class.R3CoordSystem = type { %class.R3Point, %class.R3Triad }
%class.R3Triad = type { [3 x %class.R3Vector] }
%struct.MPHouse = type { %class.RNArray.0, %class.RNArray.1, %class.RNArray.2, %class.RNArray.3, %class.RNArray.4, %class.RNArray.5, %class.RNArray.6, %class.RNArray.7, %class.RNArray.8, %class.RNArray.9, %class.RGBDConfiguration, ptr, ptr, %class.R3Box, ptr, ptr }
%class.RNArray.0 = type { %class.RNVArray }
%class.RNVArray = type { ptr, i32, i32 }
%class.RNArray.1 = type { %class.RNVArray }
%class.RNArray.2 = type { %class.RNVArray }
%class.RNArray.3 = type { %class.RNVArray }
%class.RNArray.4 = type { %class.RNVArray }
%class.RNArray.5 = type { %class.RNVArray }
%class.RNArray.6 = type { %class.RNVArray }
%class.RNArray.7 = type { %class.RNVArray }
%class.RNArray.8 = type { %class.RNVArray }
%class.RNArray.9 = type { %class.RNVArray }
%class.RGBDConfiguration = type { ptr, %class.RNArray.10, %class.RNArray.11, ptr, ptr, ptr, ptr, %class.R3Box }
%class.RNArray.10 = type { %class.RNVArray }
%class.RNArray.11 = type { %class.RNVArray }
%struct.MPLevel = type { ptr, i32, %class.RNArray.7, %class.R3Point, %class.R3Box, ptr }
%struct.MPRegion = type { ptr, i32, ptr, i32, %class.RNArray.1, %class.RNArray.6, %class.RNArray.4, %class.RNArray.8, %class.R3Point, double, %class.R3Box, ptr }
%struct.MPPortal = type { ptr, i32, [2 x ptr], [2 x i32], %class.R3Span, ptr }
%class.R3Span = type { %class.R3Ray, %class.R3Point, double }
%class.R3Ray = type { %class.R3Line }
%class.R3Line = type { %class.R3Point, %class.R3Vector }
%struct.MPSurface = type { ptr, i32, ptr, i32, %class.RNArray.5, %class.R3Point, %class.R3Vector, %class.R3Box, ptr }
%struct.MPVertex = type { ptr, i32, ptr, i32, %class.R3Point, %class.R3Vector, ptr }
%struct.MPPanorama = type { ptr, i32, ptr, i32, ptr, %class.RNArray.0, %class.R3Point }
%struct.MPImage = type { ptr, i32, ptr, i32, ptr, i32, i32, %class.RGBDImage, %class.R4Matrix, %class.R3Matrix, i32, i32, %class.R3Point }
%class.RGBDImage = type { ptr, ptr, i32, %class.RNArray, i32, i32, %class.R3Affine, %class.R3Matrix, %class.R3Box, i32, ptr, ptr, ptr, i32, i32 }
%class.RNArray = type { %class.RNVArray }
%class.R3Affine = type { %class.R3Transformation, %class.R4Matrix, %class.R4Matrix, %class.RNFlags }
%class.R3Transformation = type { ptr }
%class.RNFlags = type { i64 }
%struct.MPCategory = type { ptr, i32, %class.RNArray.4, i32, ptr, i32, ptr }
%struct.MPObject = type { ptr, i32, ptr, i32, ptr, i32, %class.RNArray.3, %class.R3Point, %class.R3OrientedBox }
%struct.MPSegment = type <{ ptr, i32, [4 x i8], ptr, i32, [4 x i8], ptr, %class.RNArray.12, double, %class.R3Point, %class.R3Box, i32, [4 x i8] }>
%class.RNArray.12 = type { %class.RNVArray }

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare void @_ZN13R3OrientedBoxC1ERK7R3PointRK8R3VectorS5_ddd(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), double noundef, double noundef, double noundef) unnamed_addr #2

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

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

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

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9MPSurface12InsertVertexEP8MPVertexi(ptr noundef nonnull align 8 dereferenceable(160), ptr noundef, i32 noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56)) #5 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8MPRegion12InsertPortalEP8MPPortali(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef, i32 noundef) #0 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56), i32 noundef) #6 align 2

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

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

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

; Function Attrs: nounwind
declare noalias ptr @strdup(ptr noundef) #3

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #7

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK7R3Point1ZEv(ptr noundef nonnull align 8 dereferenceable(24)) #6 align 2

declare noalias ptr @fopen(ptr noundef, ptr noundef) #2

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #3

declare i32 @__isoc99_fscanf(ptr noundef, ptr noundef, ...) #2

declare i32 @fclose(ptr noundef) #2

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN7MPHouse13ReadAsciiFileEPKc(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef %1) #0 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca [1024 x i8], align 16
  %9 = alloca [1024 x i8], align 16
  %10 = alloca [1024 x i8], align 16
  %11 = alloca [1024 x i8], align 16
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca double, align 8
  %32 = alloca double, align 8
  %33 = alloca %class.R3Point, align 8
  %34 = alloca %class.R3Vector, align 8
  %35 = alloca %class.R3Box, align 8
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca ptr, align 8
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca %class.R3Point, align 8
  %52 = alloca %class.R3Point, align 8
  %53 = alloca i32, align 4
  %54 = alloca ptr, align 8
  %55 = alloca ptr, align 8
  %56 = alloca ptr, align 8
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca ptr, align 8
  %68 = alloca ptr, align 8
  %69 = alloca i32, align 4
  %70 = alloca [9 x double], align 16
  %71 = alloca [16 x double], align 16
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca [1024 x i8], align 16
  %77 = alloca [1024 x i8], align 16
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca ptr, align 8
  %82 = alloca %class.R4Matrix, align 8
  %83 = alloca %class.R3Matrix, align 8
  %84 = alloca %class.R4Matrix, align 8
  %85 = alloca %class.R3Matrix, align 8
  %86 = alloca ptr, align 8
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca [1024 x i8], align 16
  %91 = alloca [1024 x i8], align 16
  %92 = alloca i32, align 4
  %93 = alloca ptr, align 8
  %94 = alloca ptr, align 8
  %95 = alloca ptr, align 8
  %96 = alloca i32, align 4
  %97 = alloca %class.R3Vector, align 8
  %98 = alloca %class.R3Vector, align 8
  %99 = alloca %class.R3Vector, align 8
  %100 = alloca i32, align 4
  %101 = alloca ptr, align 8
  %102 = alloca %class.R3OrientedBox, align 8
  %103 = alloca ptr, align 8
  %104 = alloca ptr, align 8
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca ptr, align 8
  %108 = alloca ptr, align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  %109 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #9
  %110 = load ptr, ptr %5, align 8, !tbaa !5
  %111 = call noalias ptr @fopen(ptr noundef %110, ptr noundef @.str.4)
  store ptr %111, ptr %6, align 8, !tbaa !5
  %112 = load ptr, ptr %6, align 8, !tbaa !5
  %113 = icmp ne ptr %112, null
  br i1 %113, label %118, label %114

114:                                              ; preds = %2
  %115 = load ptr, ptr @stderr, align 8, !tbaa !5
  %116 = load ptr, ptr %5, align 8, !tbaa !5
  %117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %115, ptr noundef @.str.9, ptr noundef %116) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1837

118:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 1024, ptr %8) #9
  call void @llvm.lifetime.start.p0(i64 1024, ptr %9) #9
  call void @llvm.lifetime.start.p0(i64 1024, ptr %10) #9
  call void @llvm.lifetime.start.p0(i64 1024, ptr %11) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #9
  call void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33)
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #9
  call void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34)
  call void @llvm.lifetime.start.p0(i64 56, ptr %35) #9
  call void @_ZN5R3BoxC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %35)
  %119 = load ptr, ptr %6, align 8, !tbaa !5
  %120 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %121 = getelementptr inbounds [1024 x i8], ptr %9, i64 0, i64 0
  %122 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %119, ptr noundef @.str.10, ptr noundef %120, ptr noundef %121)
          to label %123 unwind label %132

123:                                              ; preds = %118
  %124 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %125 = call i32 @strcmp(ptr noundef %124, ptr noundef @.str.7) #10
  %126 = icmp ne i32 %125, 0
  br i1 %126, label %127, label %136

127:                                              ; preds = %123
  %128 = load ptr, ptr @stderr, align 8, !tbaa !5
  %129 = load ptr, ptr %5, align 8, !tbaa !5
  %130 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %128, ptr noundef @.str.11, ptr noundef %129, ptr noundef %130) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1835

132:                                              ; preds = %1831, %334, %297, %295, %293, %291, %289, %287, %285, %283, %281, %279, %277, %275, %272, %253, %250, %247, %244, %241, %238, %235, %232, %229, %226, %222, %218, %214, %195, %193, %191, %189, %187, %185, %183, %181, %179, %177, %175, %173, %170, %167, %164, %161, %158, %155, %152, %148, %144, %140, %118
  %133 = landingpad { ptr, i32 }
          cleanup
  %134 = extractvalue { ptr, i32 } %133, 0
  store ptr %134, ptr %36, align 8
  %135 = extractvalue { ptr, i32 } %133, 1
  store i32 %135, ptr %37, align 4
  br label %1836

136:                                              ; preds = %123
  %137 = getelementptr inbounds [1024 x i8], ptr %9, i64 0, i64 0
  %138 = call i32 @strcmp(ptr noundef %137, ptr noundef @.str.12) #10
  %139 = icmp ne i32 %138, 0
  br i1 %139, label %214, label %140

140:                                              ; preds = %136
  store i32 0, ptr %16, align 4, !tbaa !9
  store i32 0, ptr %17, align 4, !tbaa !9
  store i32 0, ptr %18, align 4, !tbaa !9
  store i32 0, ptr %20, align 4, !tbaa !9
  %141 = load ptr, ptr %6, align 8, !tbaa !5
  %142 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %143 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %141, ptr noundef @.str.6, ptr noundef %142)
          to label %144 unwind label %132

144:                                              ; preds = %140
  %145 = load ptr, ptr %6, align 8, !tbaa !5
  %146 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %147 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %145, ptr noundef @.str.6, ptr noundef %146)
          to label %148 unwind label %132

148:                                              ; preds = %144
  %149 = load ptr, ptr %6, align 8, !tbaa !5
  %150 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %151 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %149, ptr noundef @.str.6, ptr noundef %150)
          to label %152 unwind label %132

152:                                              ; preds = %148
  %153 = load ptr, ptr %6, align 8, !tbaa !5
  %154 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %153, ptr noundef @.str.13, ptr noundef %12)
          to label %155 unwind label %132

155:                                              ; preds = %152
  %156 = load ptr, ptr %6, align 8, !tbaa !5
  %157 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %156, ptr noundef @.str.13, ptr noundef %13)
          to label %158 unwind label %132

158:                                              ; preds = %155
  %159 = load ptr, ptr %6, align 8, !tbaa !5
  %160 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %159, ptr noundef @.str.13, ptr noundef %14)
          to label %161 unwind label %132

161:                                              ; preds = %158
  %162 = load ptr, ptr %6, align 8, !tbaa !5
  %163 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %162, ptr noundef @.str.13, ptr noundef %15)
          to label %164 unwind label %132

164:                                              ; preds = %161
  %165 = load ptr, ptr %6, align 8, !tbaa !5
  %166 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %165, ptr noundef @.str.13, ptr noundef %19)
          to label %167 unwind label %132

167:                                              ; preds = %164
  %168 = load ptr, ptr %6, align 8, !tbaa !5
  %169 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %168, ptr noundef @.str.13, ptr noundef %21)
          to label %170 unwind label %132

170:                                              ; preds = %167
  %171 = load ptr, ptr %6, align 8, !tbaa !5
  %172 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %173 unwind label %132

173:                                              ; preds = %170
  %174 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %172, i32 noundef 0)
          to label %175 unwind label %132

175:                                              ; preds = %173
  %176 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %177 unwind label %132

177:                                              ; preds = %175
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %176, i32 noundef 1)
          to label %179 unwind label %132

179:                                              ; preds = %177
  %180 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %181 unwind label %132

181:                                              ; preds = %179
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %180, i32 noundef 2)
          to label %183 unwind label %132

183:                                              ; preds = %181
  %184 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %185 unwind label %132

185:                                              ; preds = %183
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %184, i32 noundef 0)
          to label %187 unwind label %132

187:                                              ; preds = %185
  %188 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %189 unwind label %132

189:                                              ; preds = %187
  %190 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %188, i32 noundef 1)
          to label %191 unwind label %132

191:                                              ; preds = %189
  %192 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %193 unwind label %132

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

195:                                              ; preds = %193
  %196 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %171, ptr noundef @.str.14, ptr noundef %174, ptr noundef %178, ptr noundef %182, ptr noundef %186, ptr noundef %190, ptr noundef %194)
          to label %197 unwind label %132

197:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  store i32 0, ptr %38, align 4, !tbaa !9
  br label %198

198:                                              ; preds = %206, %197
  %199 = load i32, ptr %38, align 4, !tbaa !9
  %200 = icmp slt i32 %199, 8
  br i1 %200, label %202, label %201

201:                                              ; preds = %198
  store i32 2, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %213

202:                                              ; preds = %198
  %203 = load ptr, ptr %6, align 8, !tbaa !5
  %204 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %203, ptr noundef @.str.13, ptr noundef %30)
          to label %205 unwind label %209

205:                                              ; preds = %202
  br label %206

206:                                              ; preds = %205
  %207 = load i32, ptr %38, align 4, !tbaa !9
  %208 = add nsw i32 %207, 1
  store i32 %208, ptr %38, align 4, !tbaa !9
  br label %198, !llvm.loop !11

209:                                              ; preds = %202
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %36, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %1836

213:                                              ; preds = %201
  br label %316

214:                                              ; preds = %136
  %215 = load ptr, ptr %6, align 8, !tbaa !5
  %216 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %217 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %215, ptr noundef @.str.6, ptr noundef %216)
          to label %218 unwind label %132

218:                                              ; preds = %214
  %219 = load ptr, ptr %6, align 8, !tbaa !5
  %220 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %221 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %219, ptr noundef @.str.6, ptr noundef %220)
          to label %222 unwind label %132

222:                                              ; preds = %218
  %223 = load ptr, ptr %6, align 8, !tbaa !5
  %224 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %225 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %223, ptr noundef @.str.6, ptr noundef %224)
          to label %226 unwind label %132

226:                                              ; preds = %222
  %227 = load ptr, ptr %6, align 8, !tbaa !5
  %228 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %227, ptr noundef @.str.13, ptr noundef %12)
          to label %229 unwind label %132

229:                                              ; preds = %226
  %230 = load ptr, ptr %6, align 8, !tbaa !5
  %231 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %230, ptr noundef @.str.13, ptr noundef %13)
          to label %232 unwind label %132

232:                                              ; preds = %229
  %233 = load ptr, ptr %6, align 8, !tbaa !5
  %234 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %233, ptr noundef @.str.13, ptr noundef %14)
          to label %235 unwind label %132

235:                                              ; preds = %232
  %236 = load ptr, ptr %6, align 8, !tbaa !5
  %237 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %236, ptr noundef @.str.13, ptr noundef %15)
          to label %238 unwind label %132

238:                                              ; preds = %235
  %239 = load ptr, ptr %6, align 8, !tbaa !5
  %240 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %239, ptr noundef @.str.13, ptr noundef %16)
          to label %241 unwind label %132

241:                                              ; preds = %238
  %242 = load ptr, ptr %6, align 8, !tbaa !5
  %243 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %242, ptr noundef @.str.13, ptr noundef %17)
          to label %244 unwind label %132

244:                                              ; preds = %241
  %245 = load ptr, ptr %6, align 8, !tbaa !5
  %246 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %245, ptr noundef @.str.13, ptr noundef %18)
          to label %247 unwind label %132

247:                                              ; preds = %244
  %248 = load ptr, ptr %6, align 8, !tbaa !5
  %249 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %248, ptr noundef @.str.13, ptr noundef %19)
          to label %250 unwind label %132

250:                                              ; preds = %247
  %251 = load ptr, ptr %6, align 8, !tbaa !5
  %252 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %251, ptr noundef @.str.13, ptr noundef %20)
          to label %253 unwind label %132

253:                                              ; preds = %250
  %254 = load ptr, ptr %6, align 8, !tbaa !5
  %255 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %254, ptr noundef @.str.13, ptr noundef %21)
          to label %256 unwind label %132

256:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  store i32 0, ptr %39, align 4, !tbaa !9
  br label %257

257:                                              ; preds = %265, %256
  %258 = load i32, ptr %39, align 4, !tbaa !9
  %259 = icmp slt i32 %258, 5
  br i1 %259, label %261, label %260

260:                                              ; preds = %257
  store i32 5, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %272

261:                                              ; preds = %257
  %262 = load ptr, ptr %6, align 8, !tbaa !5
  %263 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %262, ptr noundef @.str.13, ptr noundef %30)
          to label %264 unwind label %268

264:                                              ; preds = %261
  br label %265

265:                                              ; preds = %264
  %266 = load i32, ptr %39, align 4, !tbaa !9
  %267 = add nsw i32 %266, 1
  store i32 %267, ptr %39, align 4, !tbaa !9
  br label %257, !llvm.loop !13

268:                                              ; preds = %261
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %36, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %1836

272:                                              ; preds = %260
  %273 = load ptr, ptr %6, align 8, !tbaa !5
  %274 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %275 unwind label %132

275:                                              ; preds = %272
  %276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %274, i32 noundef 0)
          to label %277 unwind label %132

277:                                              ; preds = %275
  %278 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %279 unwind label %132

279:                                              ; preds = %277
  %280 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %278, i32 noundef 1)
          to label %281 unwind label %132

281:                                              ; preds = %279
  %282 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %283 unwind label %132

283:                                              ; preds = %281
  %284 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %282, i32 noundef 2)
          to label %285 unwind label %132

285:                                              ; preds = %283
  %286 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %287 unwind label %132

287:                                              ; preds = %285
  %288 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %286, i32 noundef 0)
          to label %289 unwind label %132

289:                                              ; preds = %287
  %290 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %291 unwind label %132

291:                                              ; preds = %289
  %292 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %290, i32 noundef 1)
          to label %293 unwind label %132

293:                                              ; preds = %291
  %294 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %295 unwind label %132

295:                                              ; preds = %293
  %296 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %294, i32 noundef 2)
          to label %297 unwind label %132

297:                                              ; preds = %295
  %298 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %273, ptr noundef @.str.14, ptr noundef %276, ptr noundef %280, ptr noundef %284, ptr noundef %288, ptr noundef %292, ptr noundef %296)
          to label %299 unwind label %132

299:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  store i32 0, ptr %40, align 4, !tbaa !9
  br label %300

300:                                              ; preds = %308, %299
  %301 = load i32, ptr %40, align 4, !tbaa !9
  %302 = icmp slt i32 %301, 5
  br i1 %302, label %304, label %303

303:                                              ; preds = %300
  store i32 8, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %315

304:                                              ; preds = %300
  %305 = load ptr, ptr %6, align 8, !tbaa !5
  %306 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %305, ptr noundef @.str.13, ptr noundef %30)
          to label %307 unwind label %311

307:                                              ; preds = %304
  br label %308

308:                                              ; preds = %307
  %309 = load i32, ptr %40, align 4, !tbaa !9
  %310 = add nsw i32 %309, 1
  store i32 %310, ptr %40, align 4, !tbaa !9
  br label %300, !llvm.loop !14

311:                                              ; preds = %304
  %312 = landingpad { ptr, i32 }
          cleanup
  %313 = extractvalue { ptr, i32 } %312, 0
  store ptr %313, ptr %36, align 8
  %314 = extractvalue { ptr, i32 } %312, 1
  store i32 %314, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %1836

315:                                              ; preds = %303
  br label %316

316:                                              ; preds = %315, %213
  %317 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %318 = call i32 @strcmp(ptr noundef %317, ptr noundef @.str.15) #10
  %319 = icmp ne i32 %318, 0
  br i1 %319, label %320, label %323

320:                                              ; preds = %316
  %321 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %322 = call noalias ptr @strdup(ptr noundef %321) #9
  br label %324

323:                                              ; preds = %316
  br label %324

324:                                              ; preds = %323, %320
  %325 = phi ptr [ %322, %320 ], [ null, %323 ]
  %326 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 15
  store ptr %325, ptr %326, align 8, !tbaa !15
  %327 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %328 = call i32 @strcmp(ptr noundef %327, ptr noundef @.str.15) #10
  %329 = icmp ne i32 %328, 0
  br i1 %329, label %330, label %333

330:                                              ; preds = %324
  %331 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %332 = call noalias ptr @strdup(ptr noundef %331) #9
  br label %334

333:                                              ; preds = %324
  br label %334

334:                                              ; preds = %333, %330
  %335 = phi ptr [ %332, %330 ], [ null, %333 ]
  %336 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 14
  store ptr %335, ptr %336, align 8, !tbaa !35
  %337 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 13
  %338 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %337, ptr noundef nonnull align 8 dereferenceable(56) %35)
          to label %339 unwind label %132

339:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  store i32 0, ptr %41, align 4, !tbaa !9
  br label %340

340:                                              ; preds = %448, %339
  %341 = load i32, ptr %41, align 4, !tbaa !9
  %342 = load i32, ptr %21, align 4, !tbaa !9
  %343 = icmp slt i32 %341, %342
  br i1 %343, label %345, label %344

344:                                              ; preds = %340
  store i32 11, ptr %7, align 4
  br label %460

345:                                              ; preds = %340
  %346 = load ptr, ptr %6, align 8, !tbaa !5
  %347 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %348 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %346, ptr noundef @.str.6, ptr noundef %347)
          to label %349 unwind label %400

349:                                              ; preds = %345
  %350 = load ptr, ptr %6, align 8, !tbaa !5
  %351 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %350, ptr noundef @.str.13, ptr noundef %22)
          to label %352 unwind label %400

352:                                              ; preds = %349
  %353 = load ptr, ptr %6, align 8, !tbaa !5
  %354 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %353, ptr noundef @.str.13, ptr noundef %30)
          to label %355 unwind label %400

355:                                              ; preds = %352
  %356 = load ptr, ptr %6, align 8, !tbaa !5
  %357 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %358 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %356, ptr noundef @.str.6, ptr noundef %357)
          to label %359 unwind label %400

359:                                              ; preds = %355
  %360 = load ptr, ptr %6, align 8, !tbaa !5
  %361 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %362 unwind label %400

362:                                              ; preds = %359
  %363 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %364 unwind label %400

364:                                              ; preds = %362
  %365 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %366 unwind label %400

366:                                              ; preds = %364
  %367 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %360, ptr noundef @.str.16, ptr noundef %361, ptr noundef %363, ptr noundef %365)
          to label %368 unwind label %400

368:                                              ; preds = %366
  %369 = load ptr, ptr %6, align 8, !tbaa !5
  %370 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %371 unwind label %400

371:                                              ; preds = %368
  %372 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %370, i32 noundef 0)
          to label %373 unwind label %400

373:                                              ; preds = %371
  %374 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %375 unwind label %400

375:                                              ; preds = %373
  %376 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %374, i32 noundef 1)
          to label %377 unwind label %400

377:                                              ; preds = %375
  %378 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %379 unwind label %400

379:                                              ; preds = %377
  %380 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %378, i32 noundef 2)
          to label %381 unwind label %400

381:                                              ; preds = %379
  %382 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %383 unwind label %400

383:                                              ; preds = %381
  %384 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %382, i32 noundef 0)
          to label %385 unwind label %400

385:                                              ; preds = %383
  %386 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %387 unwind label %400

387:                                              ; preds = %385
  %388 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %386, i32 noundef 1)
          to label %389 unwind label %400

389:                                              ; preds = %387
  %390 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %391 unwind label %400

391:                                              ; preds = %389
  %392 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %390, i32 noundef 2)
          to label %393 unwind label %400

393:                                              ; preds = %391
  %394 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %369, ptr noundef @.str.14, ptr noundef %372, ptr noundef %376, ptr noundef %380, ptr noundef %384, ptr noundef %388, ptr noundef %392)
          to label %395 unwind label %400

395:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  store i32 0, ptr %42, align 4, !tbaa !9
  br label %396

396:                                              ; preds = %408, %395
  %397 = load i32, ptr %42, align 4, !tbaa !9
  %398 = icmp slt i32 %397, 5
  br i1 %398, label %404, label %399

399:                                              ; preds = %396
  store i32 14, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %415

400:                                              ; preds = %393, %391, %389, %387, %385, %383, %381, %379, %377, %375, %373, %371, %368, %366, %364, %362, %359, %355, %352, %349, %345
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %36, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %37, align 4
  br label %462

404:                                              ; preds = %396
  %405 = load ptr, ptr %6, align 8, !tbaa !5
  %406 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %405, ptr noundef @.str.13, ptr noundef %30)
          to label %407 unwind label %411

407:                                              ; preds = %404
  br label %408

408:                                              ; preds = %407
  %409 = load i32, ptr %42, align 4, !tbaa !9
  %410 = add nsw i32 %409, 1
  store i32 %410, ptr %42, align 4, !tbaa !9
  br label %396, !llvm.loop !36

411:                                              ; preds = %404
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %36, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %462

415:                                              ; preds = %399
  %416 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %417 = call i32 @strcmp(ptr noundef %416, ptr noundef @.str.17) #10
  %418 = icmp ne i32 %417, 0
  br i1 %418, label %419, label %423

419:                                              ; preds = %415
  %420 = load ptr, ptr @stderr, align 8, !tbaa !5
  %421 = load i32, ptr %41, align 4, !tbaa !9
  %422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %420, ptr noundef @.str.18, i32 noundef %421) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %460

423:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #9
  %424 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 120) #11
          to label %425 unwind label %451

425:                                              ; preds = %423
  invoke void @_ZN7MPLevelC1Ev(ptr noundef nonnull align 8 dereferenceable(120) %424)
          to label %426 unwind label %455

426:                                              ; preds = %425
  store ptr %424, ptr %43, align 8, !tbaa !5
  %427 = load ptr, ptr %43, align 8, !tbaa !5
  %428 = getelementptr inbounds %struct.MPLevel, ptr %427, i32 0, i32 3
  %429 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %428, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %430 unwind label %451

430:                                              ; preds = %426
  %431 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %432 = call i32 @strcmp(ptr noundef %431, ptr noundef @.str.15) #10
  %433 = icmp ne i32 %432, 0
  br i1 %433, label %434, label %437

434:                                              ; preds = %430
  %435 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %436 = call noalias ptr @strdup(ptr noundef %435) #9
  br label %438

437:                                              ; preds = %430
  br label %438

438:                                              ; preds = %437, %434
  %439 = phi ptr [ %436, %434 ], [ null, %437 ]
  %440 = load ptr, ptr %43, align 8, !tbaa !5
  %441 = getelementptr inbounds %struct.MPLevel, ptr %440, i32 0, i32 5
  store ptr %439, ptr %441, align 8, !tbaa !37
  %442 = load ptr, ptr %43, align 8, !tbaa !5
  %443 = getelementptr inbounds %struct.MPLevel, ptr %442, i32 0, i32 4
  %444 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %443, ptr noundef nonnull align 8 dereferenceable(56) %35)
          to label %445 unwind label %451

445:                                              ; preds = %438
  %446 = load ptr, ptr %43, align 8, !tbaa !5
  invoke void @_ZN7MPHouse11InsertLevelEP7MPLevel(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %446)
          to label %447 unwind label %451

447:                                              ; preds = %445
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  br label %448

448:                                              ; preds = %447
  %449 = load i32, ptr %41, align 4, !tbaa !9
  %450 = add nsw i32 %449, 1
  store i32 %450, ptr %41, align 4, !tbaa !9
  br label %340, !llvm.loop !39

451:                                              ; preds = %445, %438, %426, %423
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %36, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %37, align 4
  br label %459

455:                                              ; preds = %425
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %36, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %424, i64 noundef 120) #12
  br label %459

459:                                              ; preds = %455, %451
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  br label %462

460:                                              ; preds = %419, %344
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  %461 = load i32, ptr %7, align 4
  switch i32 %461, label %1835 [
    i32 11, label %463
  ]

462:                                              ; preds = %459, %411, %400
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %1836

463:                                              ; preds = %460
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  store i32 0, ptr %44, align 4, !tbaa !9
  br label %464

464:                                              ; preds = %616, %463
  %465 = load i32, ptr %44, align 4, !tbaa !9
  %466 = load i32, ptr %19, align 4, !tbaa !9
  %467 = icmp slt i32 %465, %466
  br i1 %467, label %469, label %468

468:                                              ; preds = %464
  store i32 17, ptr %7, align 4
  br label %620

469:                                              ; preds = %464
  %470 = load ptr, ptr %6, align 8, !tbaa !5
  %471 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %472 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %470, ptr noundef @.str.6, ptr noundef %471)
          to label %473 unwind label %530

473:                                              ; preds = %469
  %474 = load ptr, ptr %6, align 8, !tbaa !5
  %475 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %474, ptr noundef @.str.13, ptr noundef %22)
          to label %476 unwind label %530

476:                                              ; preds = %473
  %477 = load ptr, ptr %6, align 8, !tbaa !5
  %478 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %477, ptr noundef @.str.13, ptr noundef %23)
          to label %479 unwind label %530

479:                                              ; preds = %476
  %480 = load ptr, ptr %6, align 8, !tbaa !5
  %481 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %480, ptr noundef @.str.19, ptr noundef %30, ptr noundef %30)
          to label %482 unwind label %530

482:                                              ; preds = %479
  %483 = load ptr, ptr %6, align 8, !tbaa !5
  %484 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %485 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %483, ptr noundef @.str.6, ptr noundef %484)
          to label %486 unwind label %530

486:                                              ; preds = %482
  %487 = load ptr, ptr %6, align 8, !tbaa !5
  %488 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %489 unwind label %530

489:                                              ; preds = %486
  %490 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %491 unwind label %530

491:                                              ; preds = %489
  %492 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %493 unwind label %530

493:                                              ; preds = %491
  %494 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %487, ptr noundef @.str.16, ptr noundef %488, ptr noundef %490, ptr noundef %492)
          to label %495 unwind label %530

495:                                              ; preds = %493
  %496 = load ptr, ptr %6, align 8, !tbaa !5
  %497 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %498 unwind label %530

498:                                              ; preds = %495
  %499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %497, i32 noundef 0)
          to label %500 unwind label %530

500:                                              ; preds = %498
  %501 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %502 unwind label %530

502:                                              ; preds = %500
  %503 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %501, i32 noundef 1)
          to label %504 unwind label %530

504:                                              ; preds = %502
  %505 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %506 unwind label %530

506:                                              ; preds = %504
  %507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %505, i32 noundef 2)
          to label %508 unwind label %530

508:                                              ; preds = %506
  %509 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %510 unwind label %530

510:                                              ; preds = %508
  %511 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %509, i32 noundef 0)
          to label %512 unwind label %530

512:                                              ; preds = %510
  %513 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %514 unwind label %530

514:                                              ; preds = %512
  %515 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %513, i32 noundef 1)
          to label %516 unwind label %530

516:                                              ; preds = %514
  %517 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %518 unwind label %530

518:                                              ; preds = %516
  %519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %517, i32 noundef 2)
          to label %520 unwind label %530

520:                                              ; preds = %518
  %521 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %496, ptr noundef @.str.14, ptr noundef %499, ptr noundef %503, ptr noundef %507, ptr noundef %511, ptr noundef %515, ptr noundef %519)
          to label %522 unwind label %530

522:                                              ; preds = %520
  %523 = load ptr, ptr %6, align 8, !tbaa !5
  %524 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %523, ptr noundef @.str.20, ptr noundef %31)
          to label %525 unwind label %530

525:                                              ; preds = %522
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #9
  store i32 0, ptr %45, align 4, !tbaa !9
  br label %526

526:                                              ; preds = %538, %525
  %527 = load i32, ptr %45, align 4, !tbaa !9
  %528 = icmp slt i32 %527, 4
  br i1 %528, label %534, label %529

529:                                              ; preds = %526
  store i32 20, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %545

530:                                              ; preds = %522, %520, %518, %516, %514, %512, %510, %508, %506, %504, %502, %500, %498, %495, %493, %491, %489, %486, %482, %479, %476, %473, %469
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %36, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %37, align 4
  br label %622

534:                                              ; preds = %526
  %535 = load ptr, ptr %6, align 8, !tbaa !5
  %536 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %535, ptr noundef @.str.13, ptr noundef %30)
          to label %537 unwind label %541

537:                                              ; preds = %534
  br label %538

538:                                              ; preds = %537
  %539 = load i32, ptr %45, align 4, !tbaa !9
  %540 = add nsw i32 %539, 1
  store i32 %540, ptr %45, align 4, !tbaa !9
  br label %526, !llvm.loop !40

541:                                              ; preds = %534
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %36, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %622

545:                                              ; preds = %529
  %546 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %547 = call i32 @strcmp(ptr noundef %546, ptr noundef @.str.21) #10
  %548 = icmp ne i32 %547, 0
  br i1 %548, label %549, label %553

549:                                              ; preds = %545
  %550 = load ptr, ptr @stderr, align 8, !tbaa !5
  %551 = load i32, ptr %44, align 4, !tbaa !9
  %552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %550, ptr noundef @.str.22, i32 noundef %551) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %620

553:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #9
  %554 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 192) #11
          to label %555 unwind label %603

555:                                              ; preds = %553
  invoke void @_ZN8MPRegionC1Ev(ptr noundef nonnull align 8 dereferenceable(192) %554)
          to label %556 unwind label %607

556:                                              ; preds = %555
  store ptr %554, ptr %46, align 8, !tbaa !5
  %557 = load ptr, ptr %46, align 8, !tbaa !5
  %558 = getelementptr inbounds %struct.MPRegion, ptr %557, i32 0, i32 8
  %559 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %558, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %560 unwind label %603

560:                                              ; preds = %556
  %561 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %562 = call i32 @strcmp(ptr noundef %561, ptr noundef @.str.15) #10
  %563 = icmp ne i32 %562, 0
  br i1 %563, label %564, label %567

564:                                              ; preds = %560
  %565 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %566 = call noalias ptr @strdup(ptr noundef %565) #9
  br label %568

567:                                              ; preds = %560
  br label %568

568:                                              ; preds = %567, %564
  %569 = phi ptr [ %566, %564 ], [ null, %567 ]
  %570 = load ptr, ptr %46, align 8, !tbaa !5
  %571 = getelementptr inbounds %struct.MPRegion, ptr %570, i32 0, i32 11
  store ptr %569, ptr %571, align 8, !tbaa !41
  %572 = load ptr, ptr %46, align 8, !tbaa !5
  %573 = getelementptr inbounds %struct.MPRegion, ptr %572, i32 0, i32 10
  %574 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %573, ptr noundef nonnull align 8 dereferenceable(56) %35)
          to label %575 unwind label %603

575:                                              ; preds = %568
  %576 = load double, ptr %31, align 8, !tbaa !44
  %577 = fcmp ogt double %576, 0.000000e+00
  br i1 %577, label %578, label %580

578:                                              ; preds = %575
  %579 = load double, ptr %31, align 8, !tbaa !44
  br label %587

580:                                              ; preds = %575
  %581 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 13
  %582 = invoke noundef double @_ZNK5R3Box4ZMaxEv(ptr noundef nonnull align 8 dereferenceable(56) %581)
          to label %583 unwind label %603

583:                                              ; preds = %580
  %584 = invoke noundef double @_ZNK7R3Point1ZEv(ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %585 unwind label %603

585:                                              ; preds = %583
  %586 = fsub double %582, %584
  br label %587

587:                                              ; preds = %585, %578
  %588 = phi double [ %579, %578 ], [ %586, %585 ]
  %589 = load ptr, ptr %46, align 8, !tbaa !5
  %590 = getelementptr inbounds %struct.MPRegion, ptr %589, i32 0, i32 9
  store double %588, ptr %590, align 8, !tbaa !45
  %591 = load ptr, ptr %46, align 8, !tbaa !5
  invoke void @_ZN7MPHouse12InsertRegionEP8MPRegion(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %591)
          to label %592 unwind label %603

592:                                              ; preds = %587
  %593 = load i32, ptr %23, align 4, !tbaa !9
  %594 = icmp sge i32 %593, 0
  br i1 %594, label %595, label %615

595:                                              ; preds = %592
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #9
  %596 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 9
  %597 = load i32, ptr %23, align 4, !tbaa !9
  %598 = invoke noundef ptr @_ZNK7RNArrayIP7MPLevelE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %596, i32 noundef %597)
          to label %599 unwind label %611

599:                                              ; preds = %595
  store ptr %598, ptr %47, align 8, !tbaa !5
  %600 = load ptr, ptr %47, align 8, !tbaa !5
  %601 = load ptr, ptr %46, align 8, !tbaa !5
  invoke void @_ZN7MPLevel12InsertRegionEP8MPRegion(ptr noundef nonnull align 8 dereferenceable(120) %600, ptr noundef %601)
          to label %602 unwind label %611

602:                                              ; preds = %599
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  br label %615

603:                                              ; preds = %587, %583, %580, %568, %556, %553
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %36, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %37, align 4
  br label %619

607:                                              ; preds = %555
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %36, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %554, i64 noundef 192) #12
  br label %619

611:                                              ; preds = %599, %595
  %612 = landingpad { ptr, i32 }
          cleanup
  %613 = extractvalue { ptr, i32 } %612, 0
  store ptr %613, ptr %36, align 8
  %614 = extractvalue { ptr, i32 } %612, 1
  store i32 %614, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  br label %619

615:                                              ; preds = %602, %592
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  br label %616

616:                                              ; preds = %615
  %617 = load i32, ptr %44, align 4, !tbaa !9
  %618 = add nsw i32 %617, 1
  store i32 %618, ptr %44, align 4, !tbaa !9
  br label %464, !llvm.loop !46

619:                                              ; preds = %611, %607, %603
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  br label %622

620:                                              ; preds = %549, %468
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  %621 = load i32, ptr %7, align 4
  switch i32 %621, label %1835 [
    i32 17, label %623
  ]

622:                                              ; preds = %619, %541, %530
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %1836

623:                                              ; preds = %620
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  store i32 0, ptr %48, align 4, !tbaa !9
  br label %624

624:                                              ; preds = %759, %623
  %625 = load i32, ptr %48, align 4, !tbaa !9
  %626 = load i32, ptr %20, align 4, !tbaa !9
  %627 = icmp slt i32 %625, %626
  br i1 %627, label %629, label %628

628:                                              ; preds = %624
  store i32 23, ptr %7, align 4
  br label %765

629:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #9
  invoke void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %630 unwind label %671

630:                                              ; preds = %629
  call void @llvm.lifetime.start.p0(i64 24, ptr %52) #9
  invoke void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %631 unwind label %675

631:                                              ; preds = %630
  %632 = load ptr, ptr %6, align 8, !tbaa !5
  %633 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %634 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %632, ptr noundef @.str.6, ptr noundef %633)
          to label %635 unwind label %675

635:                                              ; preds = %631
  %636 = load ptr, ptr %6, align 8, !tbaa !5
  %637 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %636, ptr noundef @.str.13, ptr noundef %22)
          to label %638 unwind label %675

638:                                              ; preds = %635
  %639 = load ptr, ptr %6, align 8, !tbaa !5
  %640 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %639, ptr noundef @.str.13, ptr noundef %49)
          to label %641 unwind label %675

641:                                              ; preds = %638
  %642 = load ptr, ptr %6, align 8, !tbaa !5
  %643 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %642, ptr noundef @.str.13, ptr noundef %50)
          to label %644 unwind label %675

644:                                              ; preds = %641
  %645 = load ptr, ptr %6, align 8, !tbaa !5
  %646 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %647 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %645, ptr noundef @.str.6, ptr noundef %646)
          to label %648 unwind label %675

648:                                              ; preds = %644
  %649 = load ptr, ptr %6, align 8, !tbaa !5
  %650 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 0)
          to label %651 unwind label %675

651:                                              ; preds = %648
  %652 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 1)
          to label %653 unwind label %675

653:                                              ; preds = %651
  %654 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 2)
          to label %655 unwind label %675

655:                                              ; preds = %653
  %656 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %649, ptr noundef @.str.16, ptr noundef %650, ptr noundef %652, ptr noundef %654)
          to label %657 unwind label %675

657:                                              ; preds = %655
  %658 = load ptr, ptr %6, align 8, !tbaa !5
  %659 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 0)
          to label %660 unwind label %675

660:                                              ; preds = %657
  %661 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 1)
          to label %662 unwind label %675

662:                                              ; preds = %660
  %663 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 2)
          to label %664 unwind label %675

664:                                              ; preds = %662
  %665 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %658, ptr noundef @.str.16, ptr noundef %659, ptr noundef %661, ptr noundef %663)
          to label %666 unwind label %675

666:                                              ; preds = %664
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  store i32 0, ptr %53, align 4, !tbaa !9
  br label %667

667:                                              ; preds = %683, %666
  %668 = load i32, ptr %53, align 4, !tbaa !9
  %669 = icmp slt i32 %668, 4
  br i1 %669, label %679, label %670

670:                                              ; preds = %667
  store i32 26, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  br label %690

671:                                              ; preds = %629
  %672 = landingpad { ptr, i32 }
          cleanup
  %673 = extractvalue { ptr, i32 } %672, 0
  store ptr %673, ptr %36, align 8
  %674 = extractvalue { ptr, i32 } %672, 1
  store i32 %674, ptr %37, align 4
  br label %764

675:                                              ; preds = %664, %662, %660, %657, %655, %653, %651, %648, %644, %641, %638, %635, %631, %630
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %36, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %37, align 4
  br label %763

679:                                              ; preds = %667
  %680 = load ptr, ptr %6, align 8, !tbaa !5
  %681 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %680, ptr noundef @.str.13, ptr noundef %30)
          to label %682 unwind label %686

682:                                              ; preds = %679
  br label %683

683:                                              ; preds = %682
  %684 = load i32, ptr %53, align 4, !tbaa !9
  %685 = add nsw i32 %684, 1
  store i32 %685, ptr %53, align 4, !tbaa !9
  br label %667, !llvm.loop !47

686:                                              ; preds = %679
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %36, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  br label %763

690:                                              ; preds = %670
  %691 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %692 = call i32 @strcmp(ptr noundef %691, ptr noundef @.str.23) #10
  %693 = icmp ne i32 %692, 0
  br i1 %693, label %694, label %698

694:                                              ; preds = %690
  %695 = load ptr, ptr @stderr, align 8, !tbaa !5
  %696 = load i32, ptr %48, align 4, !tbaa !9
  %697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %695, ptr noundef @.str.24, i32 noundef %696) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %756

698:                                              ; preds = %690
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #9
  %699 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 128) #11
          to label %700 unwind label %728

700:                                              ; preds = %698
  invoke void @_ZN8MPPortalC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %699)
          to label %701 unwind label %732

701:                                              ; preds = %700
  store ptr %699, ptr %54, align 8, !tbaa !5
  %702 = load ptr, ptr %54, align 8, !tbaa !5
  %703 = getelementptr inbounds %struct.MPPortal, ptr %702, i32 0, i32 4
  invoke void @_ZN6R3Span5ResetERK7R3PointS2_(ptr noundef nonnull align 8 dereferenceable(80) %703, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %704 unwind label %728

704:                                              ; preds = %701
  %705 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %706 = call i32 @strcmp(ptr noundef %705, ptr noundef @.str.15) #10
  %707 = icmp ne i32 %706, 0
  br i1 %707, label %708, label %711

708:                                              ; preds = %704
  %709 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %710 = call noalias ptr @strdup(ptr noundef %709) #9
  br label %712

711:                                              ; preds = %704
  br label %712

712:                                              ; preds = %711, %708
  %713 = phi ptr [ %710, %708 ], [ null, %711 ]
  %714 = load ptr, ptr %54, align 8, !tbaa !5
  %715 = getelementptr inbounds %struct.MPPortal, ptr %714, i32 0, i32 5
  store ptr %713, ptr %715, align 8, !tbaa !48
  %716 = load ptr, ptr %54, align 8, !tbaa !5
  invoke void @_ZN7MPHouse12InsertPortalEP8MPPortal(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %716)
          to label %717 unwind label %728

717:                                              ; preds = %712
  %718 = load i32, ptr %49, align 4, !tbaa !9
  %719 = icmp sge i32 %718, 0
  br i1 %719, label %720, label %740

720:                                              ; preds = %717
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #9
  %721 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 7
  %722 = load i32, ptr %49, align 4, !tbaa !9
  %723 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %721, i32 noundef %722)
          to label %724 unwind label %736

724:                                              ; preds = %720
  store ptr %723, ptr %55, align 8, !tbaa !5
  %725 = load ptr, ptr %55, align 8, !tbaa !5
  %726 = load ptr, ptr %54, align 8, !tbaa !5
  invoke void @_ZN8MPRegion12InsertPortalEP8MPPortali(ptr noundef nonnull align 8 dereferenceable(192) %725, ptr noundef %726, i32 noundef 0)
          to label %727 unwind label %736

727:                                              ; preds = %724
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #9
  br label %740

728:                                              ; preds = %712, %701, %698
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %36, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %37, align 4
  br label %762

732:                                              ; preds = %700
  %733 = landingpad { ptr, i32 }
          cleanup
  %734 = extractvalue { ptr, i32 } %733, 0
  store ptr %734, ptr %36, align 8
  %735 = extractvalue { ptr, i32 } %733, 1
  store i32 %735, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %699, i64 noundef 128) #12
  br label %762

736:                                              ; preds = %724, %720
  %737 = landingpad { ptr, i32 }
          cleanup
  %738 = extractvalue { ptr, i32 } %737, 0
  store ptr %738, ptr %36, align 8
  %739 = extractvalue { ptr, i32 } %737, 1
  store i32 %739, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #9
  br label %762

740:                                              ; preds = %727, %717
  %741 = load i32, ptr %50, align 4, !tbaa !9
  %742 = icmp sge i32 %741, 0
  br i1 %742, label %743, label %755

743:                                              ; preds = %740
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #9
  %744 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 7
  %745 = load i32, ptr %50, align 4, !tbaa !9
  %746 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %744, i32 noundef %745)
          to label %747 unwind label %751

747:                                              ; preds = %743
  store ptr %746, ptr %56, align 8, !tbaa !5
  %748 = load ptr, ptr %56, align 8, !tbaa !5
  %749 = load ptr, ptr %54, align 8, !tbaa !5
  invoke void @_ZN8MPRegion12InsertPortalEP8MPPortali(ptr noundef nonnull align 8 dereferenceable(192) %748, ptr noundef %749, i32 noundef 1)
          to label %750 unwind label %751

750:                                              ; preds = %747
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #9
  br label %755

751:                                              ; preds = %747, %743
  %752 = landingpad { ptr, i32 }
          cleanup
  %753 = extractvalue { ptr, i32 } %752, 0
  store ptr %753, ptr %36, align 8
  %754 = extractvalue { ptr, i32 } %752, 1
  store i32 %754, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #9
  br label %762

755:                                              ; preds = %750, %740
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #9
  store i32 0, ptr %7, align 4
  br label %756

756:                                              ; preds = %755, %694
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  %757 = load i32, ptr %7, align 4
  switch i32 %757, label %765 [
    i32 0, label %758
  ]

758:                                              ; preds = %756
  br label %759

759:                                              ; preds = %758
  %760 = load i32, ptr %48, align 4, !tbaa !9
  %761 = add nsw i32 %760, 1
  store i32 %761, ptr %48, align 4, !tbaa !9
  br label %624, !llvm.loop !54

762:                                              ; preds = %751, %736, %732, %728
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #9
  br label %763

763:                                              ; preds = %762, %686, %675
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #9
  br label %764

764:                                              ; preds = %763, %671
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %1836

765:                                              ; preds = %756, %628
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  %766 = load i32, ptr %7, align 4
  switch i32 %766, label %1835 [
    i32 23, label %767
  ]

767:                                              ; preds = %765
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  store i32 0, ptr %57, align 4, !tbaa !9
  br label %768

768:                                              ; preds = %915, %767
  %769 = load i32, ptr %57, align 4, !tbaa !9
  %770 = load i32, ptr %15, align 4, !tbaa !9
  %771 = icmp slt i32 %769, %770
  br i1 %771, label %773, label %772

772:                                              ; preds = %768
  store i32 29, ptr %7, align 4
  br label %919

773:                                              ; preds = %768
  %774 = load ptr, ptr %6, align 8, !tbaa !5
  %775 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %776 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %774, ptr noundef @.str.6, ptr noundef %775)
          to label %777 unwind label %840

777:                                              ; preds = %773
  %778 = load ptr, ptr %6, align 8, !tbaa !5
  %779 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %778, ptr noundef @.str.13, ptr noundef %22)
          to label %780 unwind label %840

780:                                              ; preds = %777
  %781 = load ptr, ptr %6, align 8, !tbaa !5
  %782 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %781, ptr noundef @.str.13, ptr noundef %24)
          to label %783 unwind label %840

783:                                              ; preds = %780
  %784 = load ptr, ptr %6, align 8, !tbaa !5
  %785 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %784, ptr noundef @.str.13, ptr noundef %30)
          to label %786 unwind label %840

786:                                              ; preds = %783
  %787 = load ptr, ptr %6, align 8, !tbaa !5
  %788 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %789 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %787, ptr noundef @.str.6, ptr noundef %788)
          to label %790 unwind label %840

790:                                              ; preds = %786
  %791 = load ptr, ptr %6, align 8, !tbaa !5
  %792 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %793 unwind label %840

793:                                              ; preds = %790
  %794 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %795 unwind label %840

795:                                              ; preds = %793
  %796 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %797 unwind label %840

797:                                              ; preds = %795
  %798 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %791, ptr noundef @.str.16, ptr noundef %792, ptr noundef %794, ptr noundef %796)
          to label %799 unwind label %840

799:                                              ; preds = %797
  %800 = load ptr, ptr %6, align 8, !tbaa !5
  %801 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 0)
          to label %802 unwind label %840

802:                                              ; preds = %799
  %803 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 1)
          to label %804 unwind label %840

804:                                              ; preds = %802
  %805 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 2)
          to label %806 unwind label %840

806:                                              ; preds = %804
  %807 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %800, ptr noundef @.str.16, ptr noundef %801, ptr noundef %803, ptr noundef %805)
          to label %808 unwind label %840

808:                                              ; preds = %806
  %809 = load ptr, ptr %6, align 8, !tbaa !5
  %810 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %811 unwind label %840

811:                                              ; preds = %808
  %812 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %810, i32 noundef 0)
          to label %813 unwind label %840

813:                                              ; preds = %811
  %814 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %815 unwind label %840

815:                                              ; preds = %813
  %816 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %814, i32 noundef 1)
          to label %817 unwind label %840

817:                                              ; preds = %815
  %818 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %819 unwind label %840

819:                                              ; preds = %817
  %820 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %818, i32 noundef 2)
          to label %821 unwind label %840

821:                                              ; preds = %819
  %822 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %823 unwind label %840

823:                                              ; preds = %821
  %824 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %822, i32 noundef 0)
          to label %825 unwind label %840

825:                                              ; preds = %823
  %826 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %827 unwind label %840

827:                                              ; preds = %825
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %826, i32 noundef 1)
          to label %829 unwind label %840

829:                                              ; preds = %827
  %830 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %831 unwind label %840

831:                                              ; preds = %829
  %832 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %830, i32 noundef 2)
          to label %833 unwind label %840

833:                                              ; preds = %831
  %834 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %809, ptr noundef @.str.14, ptr noundef %812, ptr noundef %816, ptr noundef %820, ptr noundef %824, ptr noundef %828, ptr noundef %832)
          to label %835 unwind label %840

835:                                              ; preds = %833
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  store i32 0, ptr %58, align 4, !tbaa !9
  br label %836

836:                                              ; preds = %848, %835
  %837 = load i32, ptr %58, align 4, !tbaa !9
  %838 = icmp slt i32 %837, 5
  br i1 %838, label %844, label %839

839:                                              ; preds = %836
  store i32 32, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %855

840:                                              ; preds = %833, %831, %829, %827, %825, %823, %821, %819, %817, %815, %813, %811, %808, %806, %804, %802, %799, %797, %795, %793, %790, %786, %783, %780, %777, %773
  %841 = landingpad { ptr, i32 }
          cleanup
  %842 = extractvalue { ptr, i32 } %841, 0
  store ptr %842, ptr %36, align 8
  %843 = extractvalue { ptr, i32 } %841, 1
  store i32 %843, ptr %37, align 4
  br label %921

844:                                              ; preds = %836
  %845 = load ptr, ptr %6, align 8, !tbaa !5
  %846 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %845, ptr noundef @.str.13, ptr noundef %30)
          to label %847 unwind label %851

847:                                              ; preds = %844
  br label %848

848:                                              ; preds = %847
  %849 = load i32, ptr %58, align 4, !tbaa !9
  %850 = add nsw i32 %849, 1
  store i32 %850, ptr %58, align 4, !tbaa !9
  br label %836, !llvm.loop !55

851:                                              ; preds = %844
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %36, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %921

855:                                              ; preds = %839
  %856 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %857 = call i32 @strcmp(ptr noundef %856, ptr noundef @.str.25) #10
  %858 = icmp ne i32 %857, 0
  br i1 %858, label %859, label %863

859:                                              ; preds = %855
  %860 = load ptr, ptr @stderr, align 8, !tbaa !5
  %861 = load i32, ptr %57, align 4, !tbaa !9
  %862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %860, ptr noundef @.str.26, i32 noundef %861) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %919

863:                                              ; preds = %855
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #9
  %864 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 160) #11
          to label %865 unwind label %902

865:                                              ; preds = %863
  invoke void @_ZN9MPSurfaceC1Ev(ptr noundef nonnull align 8 dereferenceable(160) %864)
          to label %866 unwind label %906

866:                                              ; preds = %865
  store ptr %864, ptr %59, align 8, !tbaa !5
  %867 = load ptr, ptr %59, align 8, !tbaa !5
  %868 = getelementptr inbounds %struct.MPSurface, ptr %867, i32 0, i32 5
  %869 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %868, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %870 unwind label %902

870:                                              ; preds = %866
  %871 = load ptr, ptr %59, align 8, !tbaa !5
  %872 = getelementptr inbounds %struct.MPSurface, ptr %871, i32 0, i32 6
  %873 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN8R3VectoraSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %872, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %874 unwind label %902

874:                                              ; preds = %870
  %875 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %876 = call i32 @strcmp(ptr noundef %875, ptr noundef @.str.15) #10
  %877 = icmp ne i32 %876, 0
  br i1 %877, label %878, label %881

878:                                              ; preds = %874
  %879 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %880 = call noalias ptr @strdup(ptr noundef %879) #9
  br label %882

881:                                              ; preds = %874
  br label %882

882:                                              ; preds = %881, %878
  %883 = phi ptr [ %880, %878 ], [ null, %881 ]
  %884 = load ptr, ptr %59, align 8, !tbaa !5
  %885 = getelementptr inbounds %struct.MPSurface, ptr %884, i32 0, i32 8
  store ptr %883, ptr %885, align 8, !tbaa !56
  %886 = load ptr, ptr %59, align 8, !tbaa !5
  %887 = getelementptr inbounds %struct.MPSurface, ptr %886, i32 0, i32 7
  %888 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %887, ptr noundef nonnull align 8 dereferenceable(56) %35)
          to label %889 unwind label %902

889:                                              ; preds = %882
  %890 = load ptr, ptr %59, align 8, !tbaa !5
  invoke void @_ZN7MPHouse13InsertSurfaceEP9MPSurface(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %890)
          to label %891 unwind label %902

891:                                              ; preds = %889
  %892 = load i32, ptr %24, align 4, !tbaa !9
  %893 = icmp sge i32 %892, 0
  br i1 %893, label %894, label %914

894:                                              ; preds = %891
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #9
  %895 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 7
  %896 = load i32, ptr %24, align 4, !tbaa !9
  %897 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %895, i32 noundef %896)
          to label %898 unwind label %910

898:                                              ; preds = %894
  store ptr %897, ptr %60, align 8, !tbaa !5
  %899 = load ptr, ptr %60, align 8, !tbaa !5
  %900 = load ptr, ptr %59, align 8, !tbaa !5
  invoke void @_ZN8MPRegion13InsertSurfaceEP9MPSurface(ptr noundef nonnull align 8 dereferenceable(192) %899, ptr noundef %900)
          to label %901 unwind label %910

901:                                              ; preds = %898
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  br label %914

902:                                              ; preds = %889, %882, %870, %866, %863
  %903 = landingpad { ptr, i32 }
          cleanup
  %904 = extractvalue { ptr, i32 } %903, 0
  store ptr %904, ptr %36, align 8
  %905 = extractvalue { ptr, i32 } %903, 1
  store i32 %905, ptr %37, align 4
  br label %918

906:                                              ; preds = %865
  %907 = landingpad { ptr, i32 }
          cleanup
  %908 = extractvalue { ptr, i32 } %907, 0
  store ptr %908, ptr %36, align 8
  %909 = extractvalue { ptr, i32 } %907, 1
  store i32 %909, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %864, i64 noundef 160) #12
  br label %918

910:                                              ; preds = %898, %894
  %911 = landingpad { ptr, i32 }
          cleanup
  %912 = extractvalue { ptr, i32 } %911, 0
  store ptr %912, ptr %36, align 8
  %913 = extractvalue { ptr, i32 } %911, 1
  store i32 %913, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  br label %918

914:                                              ; preds = %901, %891
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  br label %915

915:                                              ; preds = %914
  %916 = load i32, ptr %57, align 4, !tbaa !9
  %917 = add nsw i32 %916, 1
  store i32 %917, ptr %57, align 4, !tbaa !9
  br label %768, !llvm.loop !58

918:                                              ; preds = %910, %906, %902
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  br label %921

919:                                              ; preds = %859, %772
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  %920 = load i32, ptr %7, align 4
  switch i32 %920, label %1835 [
    i32 29, label %922
  ]

921:                                              ; preds = %918, %851, %840
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %1836

922:                                              ; preds = %919
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  store i32 0, ptr %61, align 4, !tbaa !9
  br label %923

923:                                              ; preds = %1036, %922
  %924 = load i32, ptr %61, align 4, !tbaa !9
  %925 = load i32, ptr %14, align 4, !tbaa !9
  %926 = icmp slt i32 %924, %925
  br i1 %926, label %928, label %927

927:                                              ; preds = %923
  store i32 35, ptr %7, align 4
  br label %1040

928:                                              ; preds = %923
  %929 = load ptr, ptr %6, align 8, !tbaa !5
  %930 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %931 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %929, ptr noundef @.str.6, ptr noundef %930)
          to label %932 unwind label %965

932:                                              ; preds = %928
  %933 = load ptr, ptr %6, align 8, !tbaa !5
  %934 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %933, ptr noundef @.str.13, ptr noundef %22)
          to label %935 unwind label %965

935:                                              ; preds = %932
  %936 = load ptr, ptr %6, align 8, !tbaa !5
  %937 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %936, ptr noundef @.str.13, ptr noundef %25)
          to label %938 unwind label %965

938:                                              ; preds = %935
  %939 = load ptr, ptr %6, align 8, !tbaa !5
  %940 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %941 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %939, ptr noundef @.str.6, ptr noundef %940)
          to label %942 unwind label %965

942:                                              ; preds = %938
  %943 = load ptr, ptr %6, align 8, !tbaa !5
  %944 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %945 unwind label %965

945:                                              ; preds = %942
  %946 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %947 unwind label %965

947:                                              ; preds = %945
  %948 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %949 unwind label %965

949:                                              ; preds = %947
  %950 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %943, ptr noundef @.str.16, ptr noundef %944, ptr noundef %946, ptr noundef %948)
          to label %951 unwind label %965

951:                                              ; preds = %949
  %952 = load ptr, ptr %6, align 8, !tbaa !5
  %953 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 0)
          to label %954 unwind label %965

954:                                              ; preds = %951
  %955 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 1)
          to label %956 unwind label %965

956:                                              ; preds = %954
  %957 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 2)
          to label %958 unwind label %965

958:                                              ; preds = %956
  %959 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %952, ptr noundef @.str.16, ptr noundef %953, ptr noundef %955, ptr noundef %957)
          to label %960 unwind label %965

960:                                              ; preds = %958
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  store i32 0, ptr %62, align 4, !tbaa !9
  br label %961

961:                                              ; preds = %973, %960
  %962 = load i32, ptr %62, align 4, !tbaa !9
  %963 = icmp slt i32 %962, 3
  br i1 %963, label %969, label %964

964:                                              ; preds = %961
  store i32 38, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %980

965:                                              ; preds = %958, %956, %954, %951, %949, %947, %945, %942, %938, %935, %932, %928
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %36, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %37, align 4
  br label %1042

969:                                              ; preds = %961
  %970 = load ptr, ptr %6, align 8, !tbaa !5
  %971 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %970, ptr noundef @.str.13, ptr noundef %30)
          to label %972 unwind label %976

972:                                              ; preds = %969
  br label %973

973:                                              ; preds = %972
  %974 = load i32, ptr %62, align 4, !tbaa !9
  %975 = add nsw i32 %974, 1
  store i32 %975, ptr %62, align 4, !tbaa !9
  br label %961, !llvm.loop !59

976:                                              ; preds = %969
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %36, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %1042

980:                                              ; preds = %964
  %981 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %982 = call i32 @strcmp(ptr noundef %981, ptr noundef @.str.27) #10
  %983 = icmp ne i32 %982, 0
  br i1 %983, label %984, label %988

984:                                              ; preds = %980
  %985 = load ptr, ptr @stderr, align 8, !tbaa !5
  %986 = load i32, ptr %61, align 4, !tbaa !9
  %987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %985, ptr noundef @.str.28, i32 noundef %986) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1040

988:                                              ; preds = %980
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #9
  %989 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 88) #11
          to label %990 unwind label %1023

990:                                              ; preds = %988
  invoke void @_ZN8MPVertexC1Ev(ptr noundef nonnull align 8 dereferenceable(88) %989)
          to label %991 unwind label %1027

991:                                              ; preds = %990
  store ptr %989, ptr %63, align 8, !tbaa !5
  %992 = load ptr, ptr %63, align 8, !tbaa !5
  %993 = getelementptr inbounds %struct.MPVertex, ptr %992, i32 0, i32 4
  %994 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %993, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %995 unwind label %1023

995:                                              ; preds = %991
  %996 = load ptr, ptr %63, align 8, !tbaa !5
  %997 = getelementptr inbounds %struct.MPVertex, ptr %996, i32 0, i32 5
  %998 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN8R3VectoraSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %997, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %999 unwind label %1023

999:                                              ; preds = %995
  %1000 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %1001 = call i32 @strcmp(ptr noundef %1000, ptr noundef @.str.15) #10
  %1002 = icmp ne i32 %1001, 0
  br i1 %1002, label %1003, label %1006

1003:                                             ; preds = %999
  %1004 = getelementptr inbounds [1024 x i8], ptr %11, i64 0, i64 0
  %1005 = call noalias ptr @strdup(ptr noundef %1004) #9
  br label %1007

1006:                                             ; preds = %999
  br label %1007

1007:                                             ; preds = %1006, %1003
  %1008 = phi ptr [ %1005, %1003 ], [ null, %1006 ]
  %1009 = load ptr, ptr %63, align 8, !tbaa !5
  %1010 = getelementptr inbounds %struct.MPVertex, ptr %1009, i32 0, i32 6
  store ptr %1008, ptr %1010, align 8, !tbaa !60
  %1011 = load ptr, ptr %63, align 8, !tbaa !5
  invoke void @_ZN7MPHouse12InsertVertexEP8MPVertex(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %1011)
          to label %1012 unwind label %1023

1012:                                             ; preds = %1007
  %1013 = load i32, ptr %25, align 4, !tbaa !9
  %1014 = icmp sge i32 %1013, 0
  br i1 %1014, label %1015, label %1035

1015:                                             ; preds = %1012
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #9
  %1016 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 6
  %1017 = load i32, ptr %25, align 4, !tbaa !9
  %1018 = invoke noundef ptr @_ZNK7RNArrayIP9MPSurfaceE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %1016, i32 noundef %1017)
          to label %1019 unwind label %1031

1019:                                             ; preds = %1015
  store ptr %1018, ptr %64, align 8, !tbaa !5
  %1020 = load ptr, ptr %64, align 8, !tbaa !5
  %1021 = load ptr, ptr %63, align 8, !tbaa !5
  invoke void @_ZN9MPSurface12InsertVertexEP8MPVertexi(ptr noundef nonnull align 8 dereferenceable(160) %1020, ptr noundef %1021, i32 noundef 0)
          to label %1022 unwind label %1031

1022:                                             ; preds = %1019
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #9
  br label %1035

1023:                                             ; preds = %1007, %995, %991, %988
  %1024 = landingpad { ptr, i32 }
          cleanup
  %1025 = extractvalue { ptr, i32 } %1024, 0
  store ptr %1025, ptr %36, align 8
  %1026 = extractvalue { ptr, i32 } %1024, 1
  store i32 %1026, ptr %37, align 4
  br label %1039

1027:                                             ; preds = %990
  %1028 = landingpad { ptr, i32 }
          cleanup
  %1029 = extractvalue { ptr, i32 } %1028, 0
  store ptr %1029, ptr %36, align 8
  %1030 = extractvalue { ptr, i32 } %1028, 1
  store i32 %1030, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %989, i64 noundef 88) #12
  br label %1039

1031:                                             ; preds = %1019, %1015
  %1032 = landingpad { ptr, i32 }
          cleanup
  %1033 = extractvalue { ptr, i32 } %1032, 0
  store ptr %1033, ptr %36, align 8
  %1034 = extractvalue { ptr, i32 } %1032, 1
  store i32 %1034, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #9
  br label %1039

1035:                                             ; preds = %1022, %1012
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  br label %1036

1036:                                             ; preds = %1035
  %1037 = load i32, ptr %61, align 4, !tbaa !9
  %1038 = add nsw i32 %1037, 1
  store i32 %1038, ptr %61, align 4, !tbaa !9
  br label %923, !llvm.loop !62

1039:                                             ; preds = %1031, %1027, %1023
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  br label %1042

1040:                                             ; preds = %984, %927
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  %1041 = load i32, ptr %7, align 4
  switch i32 %1041, label %1835 [
    i32 35, label %1043
  ]

1042:                                             ; preds = %1039, %976, %965
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %1836

1043:                                             ; preds = %1040
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #9
  store i32 0, ptr %65, align 4, !tbaa !9
  br label %1044

1044:                                             ; preds = %1147, %1043
  %1045 = load i32, ptr %65, align 4, !tbaa !9
  %1046 = load i32, ptr %13, align 4, !tbaa !9
  %1047 = icmp slt i32 %1045, %1046
  br i1 %1047, label %1049, label %1048

1048:                                             ; preds = %1044
  store i32 41, ptr %7, align 4
  br label %1151

1049:                                             ; preds = %1044
  %1050 = load ptr, ptr %6, align 8, !tbaa !5
  %1051 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1052 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1050, ptr noundef @.str.6, ptr noundef %1051)
          to label %1053 unwind label %1080

1053:                                             ; preds = %1049
  %1054 = load ptr, ptr %6, align 8, !tbaa !5
  %1055 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1056 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1054, ptr noundef @.str.6, ptr noundef %1055)
          to label %1057 unwind label %1080

1057:                                             ; preds = %1053
  %1058 = load ptr, ptr %6, align 8, !tbaa !5
  %1059 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1058, ptr noundef @.str.13, ptr noundef %22)
          to label %1060 unwind label %1080

1060:                                             ; preds = %1057
  %1061 = load ptr, ptr %6, align 8, !tbaa !5
  %1062 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1061, ptr noundef @.str.13, ptr noundef %24)
          to label %1063 unwind label %1080

1063:                                             ; preds = %1060
  %1064 = load ptr, ptr %6, align 8, !tbaa !5
  %1065 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1064, ptr noundef @.str.13, ptr noundef %30)
          to label %1066 unwind label %1080

1066:                                             ; preds = %1063
  %1067 = load ptr, ptr %6, align 8, !tbaa !5
  %1068 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %1069 unwind label %1080

1069:                                             ; preds = %1066
  %1070 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %1071 unwind label %1080

1071:                                             ; preds = %1069
  %1072 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %1073 unwind label %1080

1073:                                             ; preds = %1071
  %1074 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1067, ptr noundef @.str.16, ptr noundef %1068, ptr noundef %1070, ptr noundef %1072)
          to label %1075 unwind label %1080

1075:                                             ; preds = %1073
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  store i32 0, ptr %66, align 4, !tbaa !9
  br label %1076

1076:                                             ; preds = %1088, %1075
  %1077 = load i32, ptr %66, align 4, !tbaa !9
  %1078 = icmp slt i32 %1077, 5
  br i1 %1078, label %1084, label %1079

1079:                                             ; preds = %1076
  store i32 44, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %1095

1080:                                             ; preds = %1073, %1071, %1069, %1066, %1063, %1060, %1057, %1053, %1049
  %1081 = landingpad { ptr, i32 }
          cleanup
  %1082 = extractvalue { ptr, i32 } %1081, 0
  store ptr %1082, ptr %36, align 8
  %1083 = extractvalue { ptr, i32 } %1081, 1
  store i32 %1083, ptr %37, align 4
  br label %1153

1084:                                             ; preds = %1076
  %1085 = load ptr, ptr %6, align 8, !tbaa !5
  %1086 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1085, ptr noundef @.str.13, ptr noundef %30)
          to label %1087 unwind label %1091

1087:                                             ; preds = %1084
  br label %1088

1088:                                             ; preds = %1087
  %1089 = load i32, ptr %66, align 4, !tbaa !9
  %1090 = add nsw i32 %1089, 1
  store i32 %1090, ptr %66, align 4, !tbaa !9
  br label %1076, !llvm.loop !63

1091:                                             ; preds = %1084
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %36, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %1153

1095:                                             ; preds = %1079
  %1096 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1097 = call i32 @strcmp(ptr noundef %1096, ptr noundef @.str.23) #10
  %1098 = icmp ne i32 %1097, 0
  br i1 %1098, label %1099, label %1103

1099:                                             ; preds = %1095
  %1100 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1101 = load i32, ptr %65, align 4, !tbaa !9
  %1102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1100, ptr noundef @.str.29, i32 noundef %1101) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1151

1103:                                             ; preds = %1095
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #9
  %1104 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 80) #11
          to label %1105 unwind label %1134

1105:                                             ; preds = %1103
  invoke void @_ZN10MPPanoramaC1Ev(ptr noundef nonnull align 8 dereferenceable(80) %1104)
          to label %1106 unwind label %1138

1106:                                             ; preds = %1105
  store ptr %1104, ptr %67, align 8, !tbaa !5
  %1107 = load ptr, ptr %67, align 8, !tbaa !5
  %1108 = getelementptr inbounds %struct.MPPanorama, ptr %1107, i32 0, i32 6
  %1109 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %1108, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %1110 unwind label %1134

1110:                                             ; preds = %1106
  %1111 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1112 = call i32 @strcmp(ptr noundef %1111, ptr noundef @.str.15) #10
  %1113 = icmp ne i32 %1112, 0
  br i1 %1113, label %1114, label %1117

1114:                                             ; preds = %1110
  %1115 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1116 = call noalias ptr @strdup(ptr noundef %1115) #9
  br label %1118

1117:                                             ; preds = %1110
  br label %1118

1118:                                             ; preds = %1117, %1114
  %1119 = phi ptr [ %1116, %1114 ], [ null, %1117 ]
  %1120 = load ptr, ptr %67, align 8, !tbaa !5
  %1121 = getelementptr inbounds %struct.MPPanorama, ptr %1120, i32 0, i32 4
  store ptr %1119, ptr %1121, align 8, !tbaa !64
  %1122 = load ptr, ptr %67, align 8, !tbaa !5
  invoke void @_ZN7MPHouse14InsertPanoramaEP10MPPanorama(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %1122)
          to label %1123 unwind label %1134

1123:                                             ; preds = %1118
  %1124 = load i32, ptr %24, align 4, !tbaa !9
  %1125 = icmp sge i32 %1124, 0
  br i1 %1125, label %1126, label %1146

1126:                                             ; preds = %1123
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #9
  %1127 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 7
  %1128 = load i32, ptr %24, align 4, !tbaa !9
  %1129 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %1127, i32 noundef %1128)
          to label %1130 unwind label %1142

1130:                                             ; preds = %1126
  store ptr %1129, ptr %68, align 8, !tbaa !5
  %1131 = load ptr, ptr %68, align 8, !tbaa !5
  %1132 = load ptr, ptr %67, align 8, !tbaa !5
  invoke void @_ZN8MPRegion14InsertPanoramaEP10MPPanorama(ptr noundef nonnull align 8 dereferenceable(192) %1131, ptr noundef %1132)
          to label %1133 unwind label %1142

1133:                                             ; preds = %1130
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #9
  br label %1146

1134:                                             ; preds = %1118, %1106, %1103
  %1135 = landingpad { ptr, i32 }
          cleanup
  %1136 = extractvalue { ptr, i32 } %1135, 0
  store ptr %1136, ptr %36, align 8
  %1137 = extractvalue { ptr, i32 } %1135, 1
  store i32 %1137, ptr %37, align 4
  br label %1150

1138:                                             ; preds = %1105
  %1139 = landingpad { ptr, i32 }
          cleanup
  %1140 = extractvalue { ptr, i32 } %1139, 0
  store ptr %1140, ptr %36, align 8
  %1141 = extractvalue { ptr, i32 } %1139, 1
  store i32 %1141, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %1104, i64 noundef 80) #12
  br label %1150

1142:                                             ; preds = %1130, %1126
  %1143 = landingpad { ptr, i32 }
          cleanup
  %1144 = extractvalue { ptr, i32 } %1143, 0
  store ptr %1144, ptr %36, align 8
  %1145 = extractvalue { ptr, i32 } %1143, 1
  store i32 %1145, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #9
  br label %1150

1146:                                             ; preds = %1133, %1123
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  br label %1147

1147:                                             ; preds = %1146
  %1148 = load i32, ptr %65, align 4, !tbaa !9
  %1149 = add nsw i32 %1148, 1
  store i32 %1149, ptr %65, align 4, !tbaa !9
  br label %1044, !llvm.loop !66

1150:                                             ; preds = %1142, %1138, %1134
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  br label %1153

1151:                                             ; preds = %1099, %1048
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  %1152 = load i32, ptr %7, align 4
  switch i32 %1152, label %1835 [
    i32 41, label %1154
  ]

1153:                                             ; preds = %1150, %1091, %1080
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  br label %1836

1154:                                             ; preds = %1151
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #9
  store i32 0, ptr %69, align 4, !tbaa !9
  br label %1155

1155:                                             ; preds = %1382, %1154
  %1156 = load i32, ptr %69, align 4, !tbaa !9
  %1157 = load i32, ptr %12, align 4, !tbaa !9
  %1158 = icmp slt i32 %1156, %1157
  br i1 %1158, label %1160, label %1159

1159:                                             ; preds = %1155
  store i32 47, ptr %7, align 4
  br label %1387

1160:                                             ; preds = %1155
  call void @llvm.lifetime.start.p0(i64 72, ptr %70) #9
  call void @llvm.lifetime.start.p0(i64 128, ptr %71) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  call void @llvm.lifetime.start.p0(i64 1024, ptr %76) #9
  call void @llvm.lifetime.start.p0(i64 1024, ptr %77) #9
  %1161 = load ptr, ptr %6, align 8, !tbaa !5
  %1162 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1163 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1161, ptr noundef @.str.6, ptr noundef %1162)
          to label %1164 unwind label %1185

1164:                                             ; preds = %1160
  %1165 = load ptr, ptr %6, align 8, !tbaa !5
  %1166 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1165, ptr noundef @.str.13, ptr noundef %22)
          to label %1167 unwind label %1185

1167:                                             ; preds = %1164
  %1168 = load ptr, ptr %6, align 8, !tbaa !5
  %1169 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1168, ptr noundef @.str.13, ptr noundef %28)
          to label %1170 unwind label %1185

1170:                                             ; preds = %1167
  %1171 = load ptr, ptr %6, align 8, !tbaa !5
  %1172 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1173 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1171, ptr noundef @.str.6, ptr noundef %1172)
          to label %1174 unwind label %1185

1174:                                             ; preds = %1170
  %1175 = load ptr, ptr %6, align 8, !tbaa !5
  %1176 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1175, ptr noundef @.str.13, ptr noundef %72)
          to label %1177 unwind label %1185

1177:                                             ; preds = %1174
  %1178 = load ptr, ptr %6, align 8, !tbaa !5
  %1179 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1178, ptr noundef @.str.13, ptr noundef %73)
          to label %1180 unwind label %1185

1180:                                             ; preds = %1177
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #9
  store i32 0, ptr %78, align 4, !tbaa !9
  br label %1181

1181:                                             ; preds = %1196, %1180
  %1182 = load i32, ptr %78, align 4, !tbaa !9
  %1183 = icmp slt i32 %1182, 16
  br i1 %1183, label %1189, label %1184

1184:                                             ; preds = %1181
  store i32 50, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %1203

1185:                                             ; preds = %1232, %1230, %1228, %1225, %1222, %1177, %1174, %1170, %1167, %1164, %1160
  %1186 = landingpad { ptr, i32 }
          cleanup
  %1187 = extractvalue { ptr, i32 } %1186, 0
  store ptr %1187, ptr %36, align 8
  %1188 = extractvalue { ptr, i32 } %1186, 1
  store i32 %1188, ptr %37, align 4
  br label %1386

1189:                                             ; preds = %1181
  %1190 = load ptr, ptr %6, align 8, !tbaa !5
  %1191 = load i32, ptr %78, align 4, !tbaa !9
  %1192 = sext i32 %1191 to i64
  %1193 = getelementptr inbounds [16 x double], ptr %71, i64 0, i64 %1192
  %1194 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1190, ptr noundef @.str.20, ptr noundef %1193)
          to label %1195 unwind label %1199

1195:                                             ; preds = %1189
  br label %1196

1196:                                             ; preds = %1195
  %1197 = load i32, ptr %78, align 4, !tbaa !9
  %1198 = add nsw i32 %1197, 1
  store i32 %1198, ptr %78, align 4, !tbaa !9
  br label %1181, !llvm.loop !67

1199:                                             ; preds = %1189
  %1200 = landingpad { ptr, i32 }
          cleanup
  %1201 = extractvalue { ptr, i32 } %1200, 0
  store ptr %1201, ptr %36, align 8
  %1202 = extractvalue { ptr, i32 } %1200, 1
  store i32 %1202, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %1386

1203:                                             ; preds = %1184
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #9
  store i32 0, ptr %79, align 4, !tbaa !9
  br label %1204

1204:                                             ; preds = %1215, %1203
  %1205 = load i32, ptr %79, align 4, !tbaa !9
  %1206 = icmp slt i32 %1205, 9
  br i1 %1206, label %1208, label %1207

1207:                                             ; preds = %1204
  store i32 53, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  br label %1222

1208:                                             ; preds = %1204
  %1209 = load ptr, ptr %6, align 8, !tbaa !5
  %1210 = load i32, ptr %79, align 4, !tbaa !9
  %1211 = sext i32 %1210 to i64
  %1212 = getelementptr inbounds [9 x double], ptr %70, i64 0, i64 %1211
  %1213 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1209, ptr noundef @.str.20, ptr noundef %1212)
          to label %1214 unwind label %1218

1214:                                             ; preds = %1208
  br label %1215

1215:                                             ; preds = %1214
  %1216 = load i32, ptr %79, align 4, !tbaa !9
  %1217 = add nsw i32 %1216, 1
  store i32 %1217, ptr %79, align 4, !tbaa !9
  br label %1204, !llvm.loop !68

1218:                                             ; preds = %1208
  %1219 = landingpad { ptr, i32 }
          cleanup
  %1220 = extractvalue { ptr, i32 } %1219, 0
  store ptr %1220, ptr %36, align 8
  %1221 = extractvalue { ptr, i32 } %1219, 1
  store i32 %1221, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  br label %1386

1222:                                             ; preds = %1207
  %1223 = load ptr, ptr %6, align 8, !tbaa !5
  %1224 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1223, ptr noundef @.str.19, ptr noundef %74, ptr noundef %75)
          to label %1225 unwind label %1185

1225:                                             ; preds = %1222
  %1226 = load ptr, ptr %6, align 8, !tbaa !5
  %1227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %1228 unwind label %1185

1228:                                             ; preds = %1225
  %1229 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %1230 unwind label %1185

1230:                                             ; preds = %1228
  %1231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %1232 unwind label %1185

1232:                                             ; preds = %1230
  %1233 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1226, ptr noundef @.str.16, ptr noundef %1227, ptr noundef %1229, ptr noundef %1231)
          to label %1234 unwind label %1185

1234:                                             ; preds = %1232
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #9
  store i32 0, ptr %80, align 4, !tbaa !9
  br label %1235

1235:                                             ; preds = %1243, %1234
  %1236 = load i32, ptr %80, align 4, !tbaa !9
  %1237 = icmp slt i32 %1236, 5
  br i1 %1237, label %1239, label %1238

1238:                                             ; preds = %1235
  store i32 56, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %1250

1239:                                             ; preds = %1235
  %1240 = load ptr, ptr %6, align 8, !tbaa !5
  %1241 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1240, ptr noundef @.str.13, ptr noundef %30)
          to label %1242 unwind label %1246

1242:                                             ; preds = %1239
  br label %1243

1243:                                             ; preds = %1242
  %1244 = load i32, ptr %80, align 4, !tbaa !9
  %1245 = add nsw i32 %1244, 1
  store i32 %1245, ptr %80, align 4, !tbaa !9
  br label %1235, !llvm.loop !69

1246:                                             ; preds = %1239
  %1247 = landingpad { ptr, i32 }
          cleanup
  %1248 = extractvalue { ptr, i32 } %1247, 0
  store ptr %1248, ptr %36, align 8
  %1249 = extractvalue { ptr, i32 } %1247, 1
  store i32 %1249, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %1386

1250:                                             ; preds = %1238
  %1251 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1252 = call i32 @strcmp(ptr noundef %1251, ptr noundef @.str.30) #10
  %1253 = icmp ne i32 %1252, 0
  br i1 %1253, label %1254, label %1258

1254:                                             ; preds = %1250
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1256 = load i32, ptr %69, align 4, !tbaa !9
  %1257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1255, ptr noundef @.str.31, i32 noundef %1256) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1379

1258:                                             ; preds = %1250
  %1259 = getelementptr inbounds [1024 x i8], ptr %76, i64 0, i64 0
  %1260 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1261 = load i32, ptr %72, align 4, !tbaa !9
  %1262 = load i32, ptr %73, align 4, !tbaa !9
  %1263 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1259, ptr noundef @.str.32, ptr noundef %1260, i32 noundef %1261, i32 noundef %1262) #9
  %1264 = getelementptr inbounds [1024 x i8], ptr %77, i64 0, i64 0
  %1265 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1266 = load i32, ptr %72, align 4, !tbaa !9
  %1267 = load i32, ptr %73, align 4, !tbaa !9
  %1268 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1264, ptr noundef @.str.33, ptr noundef %1265, i32 noundef %1266, i32 noundef %1267) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #9
  %1269 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 768) #11
          to label %1270 unwind label %1350

1270:                                             ; preds = %1258
  invoke void @_ZN7MPImageC1Ev(ptr noundef nonnull align 8 dereferenceable(768) %1269)
          to label %1271 unwind label %1354

1271:                                             ; preds = %1270
  store ptr %1269, ptr %81, align 8, !tbaa !5
  %1272 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1273 = call i32 @strcmp(ptr noundef %1272, ptr noundef @.str.15) #10
  %1274 = icmp ne i32 %1273, 0
  br i1 %1274, label %1275, label %1278

1275:                                             ; preds = %1271
  %1276 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  %1277 = call noalias ptr @strdup(ptr noundef %1276) #9
  br label %1279

1278:                                             ; preds = %1271
  br label %1279

1279:                                             ; preds = %1278, %1275
  %1280 = phi ptr [ %1277, %1275 ], [ null, %1278 ]
  %1281 = load ptr, ptr %81, align 8, !tbaa !5
  %1282 = getelementptr inbounds %struct.MPImage, ptr %1281, i32 0, i32 4
  store ptr %1280, ptr %1282, align 8, !tbaa !70
  %1283 = load i32, ptr %72, align 4, !tbaa !9
  %1284 = load ptr, ptr %81, align 8, !tbaa !5
  %1285 = getelementptr inbounds %struct.MPImage, ptr %1284, i32 0, i32 5
  store i32 %1283, ptr %1285, align 8, !tbaa !80
  %1286 = load i32, ptr %73, align 4, !tbaa !9
  %1287 = load ptr, ptr %81, align 8, !tbaa !5
  %1288 = getelementptr inbounds %struct.MPImage, ptr %1287, i32 0, i32 6
  store i32 %1286, ptr %1288, align 4, !tbaa !81
  %1289 = load ptr, ptr %81, align 8, !tbaa !5
  %1290 = getelementptr inbounds %struct.MPImage, ptr %1289, i32 0, i32 7
  %1291 = load i32, ptr %74, align 4, !tbaa !9
  %1292 = load i32, ptr %75, align 4, !tbaa !9
  invoke void @_ZN9RGBDImage10SetNPixelsEii(ptr noundef nonnull align 8 dereferenceable(488) %1290, i32 noundef %1291, i32 noundef %1292)
          to label %1293 unwind label %1350

1293:                                             ; preds = %1279
  %1294 = load ptr, ptr %81, align 8, !tbaa !5
  %1295 = getelementptr inbounds %struct.MPImage, ptr %1294, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 128, ptr %82) #9
  %1296 = getelementptr inbounds [16 x double], ptr %71, i64 0, i64 0
  invoke void @_ZN8R4MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(128) %82, ptr noundef %1296)
          to label %1297 unwind label %1358

1297:                                             ; preds = %1293
  invoke void @_ZN9RGBDImage13SetExtrinsicsERK8R4Matrix(ptr noundef nonnull align 8 dereferenceable(488) %1295, ptr noundef nonnull align 8 dereferenceable(128) %82)
          to label %1298 unwind label %1358

1298:                                             ; preds = %1297
  call void @llvm.lifetime.end.p0(i64 128, ptr %82) #9
  %1299 = load ptr, ptr %81, align 8, !tbaa !5
  %1300 = getelementptr inbounds %struct.MPImage, ptr %1299, i32 0, i32 7
  call void @llvm.lifetime.start.p0(i64 72, ptr %83) #9
  %1301 = getelementptr inbounds [9 x double], ptr %70, i64 0, i64 0
  invoke void @_ZN8R3MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(72) %83, ptr noundef %1301)
          to label %1302 unwind label %1362

1302:                                             ; preds = %1298
  invoke void @_ZN9RGBDImage13SetIntrinsicsERK8R3Matrix(ptr noundef nonnull align 8 dereferenceable(488) %1300, ptr noundef nonnull align 8 dereferenceable(72) %83)
          to label %1303 unwind label %1362

1303:                                             ; preds = %1302
  call void @llvm.lifetime.end.p0(i64 72, ptr %83) #9
  %1304 = load ptr, ptr %81, align 8, !tbaa !5
  %1305 = getelementptr inbounds %struct.MPImage, ptr %1304, i32 0, i32 7
  %1306 = getelementptr inbounds [1024 x i8], ptr %76, i64 0, i64 0
  invoke void @_ZN9RGBDImage16SetDepthFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488) %1305, ptr noundef %1306)
          to label %1307 unwind label %1350

1307:                                             ; preds = %1303
  %1308 = load ptr, ptr %81, align 8, !tbaa !5
  %1309 = getelementptr inbounds %struct.MPImage, ptr %1308, i32 0, i32 7
  %1310 = getelementptr inbounds [1024 x i8], ptr %77, i64 0, i64 0
  invoke void @_ZN9RGBDImage16SetColorFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488) %1309, ptr noundef %1310)
          to label %1311 unwind label %1350

1311:                                             ; preds = %1307
  %1312 = load ptr, ptr %81, align 8, !tbaa !5
  %1313 = getelementptr inbounds %struct.MPImage, ptr %1312, i32 0, i32 7
  %1314 = getelementptr inbounds [1024 x i8], ptr %10, i64 0, i64 0
  invoke void @_ZN9RGBDImage7SetNameEPKc(ptr noundef nonnull align 8 dereferenceable(488) %1313, ptr noundef %1314)
          to label %1315 unwind label %1350

1315:                                             ; preds = %1311
  call void @llvm.lifetime.start.p0(i64 128, ptr %84) #9
  %1316 = getelementptr inbounds [16 x double], ptr %71, i64 0, i64 0
  invoke void @_ZN8R4MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(128) %84, ptr noundef %1316)
          to label %1317 unwind label %1366

1317:                                             ; preds = %1315
  %1318 = load ptr, ptr %81, align 8, !tbaa !5
  %1319 = getelementptr inbounds %struct.MPImage, ptr %1318, i32 0, i32 8
  %1320 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZN8R4MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(128) %1319, ptr noundef nonnull align 8 dereferenceable(128) %84)
          to label %1321 unwind label %1366

1321:                                             ; preds = %1317
  call void @llvm.lifetime.end.p0(i64 128, ptr %84) #9
  call void @llvm.lifetime.start.p0(i64 72, ptr %85) #9
  %1322 = getelementptr inbounds [9 x double], ptr %70, i64 0, i64 0
  invoke void @_ZN8R3MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(72) %85, ptr noundef %1322)
          to label %1323 unwind label %1370

1323:                                             ; preds = %1321
  %1324 = load ptr, ptr %81, align 8, !tbaa !5
  %1325 = getelementptr inbounds %struct.MPImage, ptr %1324, i32 0, i32 9
  %1326 = invoke noundef nonnull align 8 dereferenceable(72) ptr @_ZN8R3MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(72) %1325, ptr noundef nonnull align 8 dereferenceable(72) %85)
          to label %1327 unwind label %1370

1327:                                             ; preds = %1323
  call void @llvm.lifetime.end.p0(i64 72, ptr %85) #9
  %1328 = load i32, ptr %74, align 4, !tbaa !9
  %1329 = load ptr, ptr %81, align 8, !tbaa !5
  %1330 = getelementptr inbounds %struct.MPImage, ptr %1329, i32 0, i32 10
  store i32 %1328, ptr %1330, align 8, !tbaa !82
  %1331 = load i32, ptr %75, align 4, !tbaa !9
  %1332 = load ptr, ptr %81, align 8, !tbaa !5
  %1333 = getelementptr inbounds %struct.MPImage, ptr %1332, i32 0, i32 11
  store i32 %1331, ptr %1333, align 4, !tbaa !83
  %1334 = load ptr, ptr %81, align 8, !tbaa !5
  %1335 = getelementptr inbounds %struct.MPImage, ptr %1334, i32 0, i32 12
  %1336 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %1335, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %1337 unwind label %1350

1337:                                             ; preds = %1327
  %1338 = load ptr, ptr %81, align 8, !tbaa !5
  invoke void @_ZN7MPHouse11InsertImageEP7MPImage(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %1338)
          to label %1339 unwind label %1350

1339:                                             ; preds = %1337
  %1340 = load i32, ptr %28, align 4, !tbaa !9
  %1341 = icmp sge i32 %1340, 0
  br i1 %1341, label %1342, label %1378

1342:                                             ; preds = %1339
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #9
  %1343 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 1
  %1344 = load i32, ptr %28, align 4, !tbaa !9
  %1345 = invoke noundef ptr @_ZNK7RNArrayIP10MPPanoramaE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %1343, i32 noundef %1344)
          to label %1346 unwind label %1374

1346:                                             ; preds = %1342
  store ptr %1345, ptr %86, align 8, !tbaa !5
  %1347 = load ptr, ptr %86, align 8, !tbaa !5
  %1348 = load ptr, ptr %81, align 8, !tbaa !5
  invoke void @_ZN10MPPanorama11InsertImageEP7MPImage(ptr noundef nonnull align 8 dereferenceable(80) %1347, ptr noundef %1348)
          to label %1349 unwind label %1374

1349:                                             ; preds = %1346
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #9
  br label %1378

1350:                                             ; preds = %1337, %1327, %1311, %1307, %1303, %1279, %1258
  %1351 = landingpad { ptr, i32 }
          cleanup
  %1352 = extractvalue { ptr, i32 } %1351, 0
  store ptr %1352, ptr %36, align 8
  %1353 = extractvalue { ptr, i32 } %1351, 1
  store i32 %1353, ptr %37, align 4
  br label %1385

1354:                                             ; preds = %1270
  %1355 = landingpad { ptr, i32 }
          cleanup
  %1356 = extractvalue { ptr, i32 } %1355, 0
  store ptr %1356, ptr %36, align 8
  %1357 = extractvalue { ptr, i32 } %1355, 1
  store i32 %1357, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %1269, i64 noundef 768) #12
  br label %1385

1358:                                             ; preds = %1297, %1293
  %1359 = landingpad { ptr, i32 }
          cleanup
  %1360 = extractvalue { ptr, i32 } %1359, 0
  store ptr %1360, ptr %36, align 8
  %1361 = extractvalue { ptr, i32 } %1359, 1
  store i32 %1361, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 128, ptr %82) #9
  br label %1385

1362:                                             ; preds = %1302, %1298
  %1363 = landingpad { ptr, i32 }
          cleanup
  %1364 = extractvalue { ptr, i32 } %1363, 0
  store ptr %1364, ptr %36, align 8
  %1365 = extractvalue { ptr, i32 } %1363, 1
  store i32 %1365, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 72, ptr %83) #9
  br label %1385

1366:                                             ; preds = %1317, %1315
  %1367 = landingpad { ptr, i32 }
          cleanup
  %1368 = extractvalue { ptr, i32 } %1367, 0
  store ptr %1368, ptr %36, align 8
  %1369 = extractvalue { ptr, i32 } %1367, 1
  store i32 %1369, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 128, ptr %84) #9
  br label %1385

1370:                                             ; preds = %1323, %1321
  %1371 = landingpad { ptr, i32 }
          cleanup
  %1372 = extractvalue { ptr, i32 } %1371, 0
  store ptr %1372, ptr %36, align 8
  %1373 = extractvalue { ptr, i32 } %1371, 1
  store i32 %1373, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 72, ptr %85) #9
  br label %1385

1374:                                             ; preds = %1346, %1342
  %1375 = landingpad { ptr, i32 }
          cleanup
  %1376 = extractvalue { ptr, i32 } %1375, 0
  store ptr %1376, ptr %36, align 8
  %1377 = extractvalue { ptr, i32 } %1375, 1
  store i32 %1377, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #9
  br label %1385

1378:                                             ; preds = %1349, %1339
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #9
  store i32 0, ptr %7, align 4
  br label %1379

1379:                                             ; preds = %1378, %1254
  call void @llvm.lifetime.end.p0(i64 1024, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 128, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr %70) #9
  %1380 = load i32, ptr %7, align 4
  switch i32 %1380, label %1387 [
    i32 0, label %1381
  ]

1381:                                             ; preds = %1379
  br label %1382

1382:                                             ; preds = %1381
  %1383 = load i32, ptr %69, align 4, !tbaa !9
  %1384 = add nsw i32 %1383, 1
  store i32 %1384, ptr %69, align 4, !tbaa !9
  br label %1155, !llvm.loop !84

1385:                                             ; preds = %1374, %1370, %1366, %1362, %1358, %1354, %1350
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #9
  br label %1386

1386:                                             ; preds = %1385, %1246, %1218, %1199, %1185
  call void @llvm.lifetime.end.p0(i64 1024, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 128, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr %70) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %1836

1387:                                             ; preds = %1379, %1159
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  %1388 = load i32, ptr %7, align 4
  switch i32 %1388, label %1835 [
    i32 47, label %1389
  ]

1389:                                             ; preds = %1387
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  store i32 0, ptr %87, align 4, !tbaa !9
  br label %1390

1390:                                             ; preds = %1511, %1389
  %1391 = load i32, ptr %87, align 4, !tbaa !9
  %1392 = load i32, ptr %18, align 4, !tbaa !9
  %1393 = icmp slt i32 %1391, %1392
  br i1 %1393, label %1395, label %1394

1394:                                             ; preds = %1390
  store i32 59, ptr %7, align 4
  br label %1516

1395:                                             ; preds = %1390
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #9
  call void @llvm.lifetime.start.p0(i64 1024, ptr %90) #9
  call void @llvm.lifetime.start.p0(i64 1024, ptr %91) #9
  %1396 = load ptr, ptr %6, align 8, !tbaa !5
  %1397 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1398 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1396, ptr noundef @.str.6, ptr noundef %1397)
          to label %1399 unwind label %1415

1399:                                             ; preds = %1395
  %1400 = load ptr, ptr %6, align 8, !tbaa !5
  %1401 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1400, ptr noundef @.str.13, ptr noundef %22)
          to label %1402 unwind label %1415

1402:                                             ; preds = %1399
  %1403 = load ptr, ptr %6, align 8, !tbaa !5
  %1404 = getelementptr inbounds [1024 x i8], ptr %90, i64 0, i64 0
  %1405 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1403, ptr noundef @.str.34, ptr noundef %88, ptr noundef %1404)
          to label %1406 unwind label %1415

1406:                                             ; preds = %1402
  %1407 = load ptr, ptr %6, align 8, !tbaa !5
  %1408 = getelementptr inbounds [1024 x i8], ptr %91, i64 0, i64 0
  %1409 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1407, ptr noundef @.str.34, ptr noundef %89, ptr noundef %1408)
          to label %1410 unwind label %1415

1410:                                             ; preds = %1406
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #9
  store i32 0, ptr %92, align 4, !tbaa !9
  br label %1411

1411:                                             ; preds = %1423, %1410
  %1412 = load i32, ptr %92, align 4, !tbaa !9
  %1413 = icmp slt i32 %1412, 5
  br i1 %1413, label %1419, label %1414

1414:                                             ; preds = %1411
  store i32 62, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %1430

1415:                                             ; preds = %1406, %1402, %1399, %1395
  %1416 = landingpad { ptr, i32 }
          cleanup
  %1417 = extractvalue { ptr, i32 } %1416, 0
  store ptr %1417, ptr %36, align 8
  %1418 = extractvalue { ptr, i32 } %1416, 1
  store i32 %1418, ptr %37, align 4
  br label %1515

1419:                                             ; preds = %1411
  %1420 = load ptr, ptr %6, align 8, !tbaa !5
  %1421 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1420, ptr noundef @.str.13, ptr noundef %30)
          to label %1422 unwind label %1426

1422:                                             ; preds = %1419
  br label %1423

1423:                                             ; preds = %1422
  %1424 = load i32, ptr %92, align 4, !tbaa !9
  %1425 = add nsw i32 %1424, 1
  store i32 %1425, ptr %92, align 4, !tbaa !9
  br label %1411, !llvm.loop !85

1426:                                             ; preds = %1419
  %1427 = landingpad { ptr, i32 }
          cleanup
  %1428 = extractvalue { ptr, i32 } %1427, 0
  store ptr %1428, ptr %36, align 8
  %1429 = extractvalue { ptr, i32 } %1427, 1
  store i32 %1429, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %1515

1430:                                             ; preds = %1414
  %1431 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1432 = call i32 @strcmp(ptr noundef %1431, ptr noundef @.str.35) #10
  %1433 = icmp ne i32 %1432, 0
  br i1 %1433, label %1434, label %1438

1434:                                             ; preds = %1430
  %1435 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1436 = load i32, ptr %87, align 4, !tbaa !9
  %1437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1435, ptr noundef @.str.36, i32 noundef %1436) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1508

1438:                                             ; preds = %1430
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #9
  %1439 = getelementptr inbounds [1024 x i8], ptr %90, i64 0, i64 0
  store ptr %1439, ptr %93, align 8, !tbaa !5
  br label %1440

1440:                                             ; preds = %1451, %1438
  %1441 = load ptr, ptr %93, align 8, !tbaa !5
  %1442 = load i8, ptr %1441, align 1, !tbaa !86
  %1443 = icmp ne i8 %1442, 0
  br i1 %1443, label %1444, label %1454

1444:                                             ; preds = %1440
  %1445 = load ptr, ptr %93, align 8, !tbaa !5
  %1446 = load i8, ptr %1445, align 1, !tbaa !86
  %1447 = sext i8 %1446 to i32
  %1448 = icmp eq i32 %1447, 35
  br i1 %1448, label %1449, label %1451

1449:                                             ; preds = %1444
  %1450 = load ptr, ptr %93, align 8, !tbaa !5
  store i8 32, ptr %1450, align 1, !tbaa !86
  br label %1451

1451:                                             ; preds = %1449, %1444
  %1452 = load ptr, ptr %93, align 8, !tbaa !5
  %1453 = getelementptr inbounds i8, ptr %1452, i32 1
  store ptr %1453, ptr %93, align 8, !tbaa !5
  br label %1440, !llvm.loop !87

1454:                                             ; preds = %1440
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #9
  %1455 = getelementptr inbounds [1024 x i8], ptr %91, i64 0, i64 0
  store ptr %1455, ptr %94, align 8, !tbaa !5
  br label %1456

1456:                                             ; preds = %1467, %1454
  %1457 = load ptr, ptr %94, align 8, !tbaa !5
  %1458 = load i8, ptr %1457, align 1, !tbaa !86
  %1459 = icmp ne i8 %1458, 0
  br i1 %1459, label %1460, label %1470

1460:                                             ; preds = %1456
  %1461 = load ptr, ptr %94, align 8, !tbaa !5
  %1462 = load i8, ptr %1461, align 1, !tbaa !86
  %1463 = sext i8 %1462 to i32
  %1464 = icmp eq i32 %1463, 35
  br i1 %1464, label %1465, label %1467

1465:                                             ; preds = %1460
  %1466 = load ptr, ptr %94, align 8, !tbaa !5
  store i8 32, ptr %1466, align 1, !tbaa !86
  br label %1467

1467:                                             ; preds = %1465, %1460
  %1468 = load ptr, ptr %94, align 8, !tbaa !5
  %1469 = getelementptr inbounds i8, ptr %1468, i32 1
  store ptr %1469, ptr %94, align 8, !tbaa !5
  br label %1456, !llvm.loop !88

1470:                                             ; preds = %1456
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #9
  %1471 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 64) #11
          to label %1472 unwind label %1488

1472:                                             ; preds = %1470
  invoke void @_ZN10MPCategoryC1Ev(ptr noundef nonnull align 8 dereferenceable(64) %1471)
          to label %1473 unwind label %1492

1473:                                             ; preds = %1472
  store ptr %1471, ptr %95, align 8, !tbaa !5
  %1474 = load i32, ptr %88, align 4, !tbaa !9
  %1475 = load ptr, ptr %95, align 8, !tbaa !5
  %1476 = getelementptr inbounds %struct.MPCategory, ptr %1475, i32 0, i32 3
  store i32 %1474, ptr %1476, align 8, !tbaa !89
  %1477 = load i32, ptr %89, align 4, !tbaa !9
  %1478 = load ptr, ptr %95, align 8, !tbaa !5
  %1479 = getelementptr inbounds %struct.MPCategory, ptr %1478, i32 0, i32 5
  store i32 %1477, ptr %1479, align 8, !tbaa !91
  %1480 = getelementptr inbounds [1024 x i8], ptr %90, i64 0, i64 0
  %1481 = call i32 @strcmp(ptr noundef %1480, ptr noundef @.str.15) #10
  %1482 = icmp ne i32 %1481, 0
  br i1 %1482, label %1483, label %1496

1483:                                             ; preds = %1473
  %1484 = getelementptr inbounds [1024 x i8], ptr %90, i64 0, i64 0
  %1485 = call noalias ptr @strdup(ptr noundef %1484) #9
  %1486 = load ptr, ptr %95, align 8, !tbaa !5
  %1487 = getelementptr inbounds %struct.MPCategory, ptr %1486, i32 0, i32 4
  store ptr %1485, ptr %1487, align 8, !tbaa !92
  br label %1496

1488:                                             ; preds = %1505, %1470
  %1489 = landingpad { ptr, i32 }
          cleanup
  %1490 = extractvalue { ptr, i32 } %1489, 0
  store ptr %1490, ptr %36, align 8
  %1491 = extractvalue { ptr, i32 } %1489, 1
  store i32 %1491, ptr %37, align 4
  br label %1514

1492:                                             ; preds = %1472
  %1493 = landingpad { ptr, i32 }
          cleanup
  %1494 = extractvalue { ptr, i32 } %1493, 0
  store ptr %1494, ptr %36, align 8
  %1495 = extractvalue { ptr, i32 } %1493, 1
  store i32 %1495, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %1471, i64 noundef 64) #12
  br label %1514

1496:                                             ; preds = %1483, %1473
  %1497 = getelementptr inbounds [1024 x i8], ptr %91, i64 0, i64 0
  %1498 = call i32 @strcmp(ptr noundef %1497, ptr noundef @.str.15) #10
  %1499 = icmp ne i32 %1498, 0
  br i1 %1499, label %1500, label %1505

1500:                                             ; preds = %1496
  %1501 = getelementptr inbounds [1024 x i8], ptr %91, i64 0, i64 0
  %1502 = call noalias ptr @strdup(ptr noundef %1501) #9
  %1503 = load ptr, ptr %95, align 8, !tbaa !5
  %1504 = getelementptr inbounds %struct.MPCategory, ptr %1503, i32 0, i32 6
  store ptr %1502, ptr %1504, align 8, !tbaa !93
  br label %1505

1505:                                             ; preds = %1500, %1496
  %1506 = load ptr, ptr %95, align 8, !tbaa !5
  invoke void @_ZN7MPHouse14InsertCategoryEP10MPCategory(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %1506)
          to label %1507 unwind label %1488

1507:                                             ; preds = %1505
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #9
  store i32 0, ptr %7, align 4
  br label %1508

1508:                                             ; preds = %1507, %1434
  call void @llvm.lifetime.end.p0(i64 1024, ptr %91) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %90) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  %1509 = load i32, ptr %7, align 4
  switch i32 %1509, label %1516 [
    i32 0, label %1510
  ]

1510:                                             ; preds = %1508
  br label %1511

1511:                                             ; preds = %1510
  %1512 = load i32, ptr %87, align 4, !tbaa !9
  %1513 = add nsw i32 %1512, 1
  store i32 %1513, ptr %87, align 4, !tbaa !9
  br label %1390, !llvm.loop !94

1514:                                             ; preds = %1492, %1488
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #9
  br label %1515

1515:                                             ; preds = %1514, %1426, %1415
  call void @llvm.lifetime.end.p0(i64 1024, ptr %91) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %90) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %1836

1516:                                             ; preds = %1508, %1394
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  %1517 = load i32, ptr %7, align 4
  switch i32 %1517, label %1835 [
    i32 59, label %1518
  ]

1518:                                             ; preds = %1516
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  store i32 0, ptr %96, align 4, !tbaa !9
  br label %1519

1519:                                             ; preds = %1686, %1518
  %1520 = load i32, ptr %96, align 4, !tbaa !9
  %1521 = load i32, ptr %17, align 4, !tbaa !9
  %1522 = icmp slt i32 %1520, %1521
  br i1 %1522, label %1524, label %1523

1523:                                             ; preds = %1519
  store i32 69, ptr %7, align 4
  br label %1693

1524:                                             ; preds = %1519
  call void @llvm.lifetime.start.p0(i64 24, ptr %97) #9
  invoke void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %97)
          to label %1525 unwind label %1581

1525:                                             ; preds = %1524
  call void @llvm.lifetime.start.p0(i64 24, ptr %98) #9
  invoke void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %98)
          to label %1526 unwind label %1585

1526:                                             ; preds = %1525
  call void @llvm.lifetime.start.p0(i64 24, ptr %99) #9
  invoke void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %99)
          to label %1527 unwind label %1589

1527:                                             ; preds = %1526
  %1528 = load ptr, ptr %6, align 8, !tbaa !5
  %1529 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1530 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1528, ptr noundef @.str.6, ptr noundef %1529)
          to label %1531 unwind label %1589

1531:                                             ; preds = %1527
  %1532 = load ptr, ptr %6, align 8, !tbaa !5
  %1533 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1532, ptr noundef @.str.13, ptr noundef %22)
          to label %1534 unwind label %1589

1534:                                             ; preds = %1531
  %1535 = load ptr, ptr %6, align 8, !tbaa !5
  %1536 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1535, ptr noundef @.str.13, ptr noundef %24)
          to label %1537 unwind label %1589

1537:                                             ; preds = %1534
  %1538 = load ptr, ptr %6, align 8, !tbaa !5
  %1539 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1538, ptr noundef @.str.13, ptr noundef %26)
          to label %1540 unwind label %1589

1540:                                             ; preds = %1537
  %1541 = load ptr, ptr %6, align 8, !tbaa !5
  %1542 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %1543 unwind label %1589

1543:                                             ; preds = %1540
  %1544 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %1545 unwind label %1589

1545:                                             ; preds = %1543
  %1546 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %1547 unwind label %1589

1547:                                             ; preds = %1545
  %1548 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1541, ptr noundef @.str.16, ptr noundef %1542, ptr noundef %1544, ptr noundef %1546)
          to label %1549 unwind label %1589

1549:                                             ; preds = %1547
  %1550 = load ptr, ptr %6, align 8, !tbaa !5
  %1551 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %97, i32 noundef 0)
          to label %1552 unwind label %1589

1552:                                             ; preds = %1549
  %1553 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %97, i32 noundef 1)
          to label %1554 unwind label %1589

1554:                                             ; preds = %1552
  %1555 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %97, i32 noundef 2)
          to label %1556 unwind label %1589

1556:                                             ; preds = %1554
  %1557 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1550, ptr noundef @.str.16, ptr noundef %1551, ptr noundef %1553, ptr noundef %1555)
          to label %1558 unwind label %1589

1558:                                             ; preds = %1556
  %1559 = load ptr, ptr %6, align 8, !tbaa !5
  %1560 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %98, i32 noundef 0)
          to label %1561 unwind label %1589

1561:                                             ; preds = %1558
  %1562 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %98, i32 noundef 1)
          to label %1563 unwind label %1589

1563:                                             ; preds = %1561
  %1564 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %98, i32 noundef 2)
          to label %1565 unwind label %1589

1565:                                             ; preds = %1563
  %1566 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1559, ptr noundef @.str.16, ptr noundef %1560, ptr noundef %1562, ptr noundef %1564)
          to label %1567 unwind label %1589

1567:                                             ; preds = %1565
  %1568 = load ptr, ptr %6, align 8, !tbaa !5
  %1569 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %99, i32 noundef 0)
          to label %1570 unwind label %1589

1570:                                             ; preds = %1567
  %1571 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %99, i32 noundef 1)
          to label %1572 unwind label %1589

1572:                                             ; preds = %1570
  %1573 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %99, i32 noundef 2)
          to label %1574 unwind label %1589

1574:                                             ; preds = %1572
  %1575 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1568, ptr noundef @.str.16, ptr noundef %1569, ptr noundef %1571, ptr noundef %1573)
          to label %1576 unwind label %1589

1576:                                             ; preds = %1574
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #9
  store i32 0, ptr %100, align 4, !tbaa !9
  br label %1577

1577:                                             ; preds = %1597, %1576
  %1578 = load i32, ptr %100, align 4, !tbaa !9
  %1579 = icmp slt i32 %1578, 8
  br i1 %1579, label %1593, label %1580

1580:                                             ; preds = %1577
  store i32 72, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %1604

1581:                                             ; preds = %1524
  %1582 = landingpad { ptr, i32 }
          cleanup
  %1583 = extractvalue { ptr, i32 } %1582, 0
  store ptr %1583, ptr %36, align 8
  %1584 = extractvalue { ptr, i32 } %1582, 1
  store i32 %1584, ptr %37, align 4
  br label %1692

1585:                                             ; preds = %1525
  %1586 = landingpad { ptr, i32 }
          cleanup
  %1587 = extractvalue { ptr, i32 } %1586, 0
  store ptr %1587, ptr %36, align 8
  %1588 = extractvalue { ptr, i32 } %1586, 1
  store i32 %1588, ptr %37, align 4
  br label %1691

1589:                                             ; preds = %1574, %1572, %1570, %1567, %1565, %1563, %1561, %1558, %1556, %1554, %1552, %1549, %1547, %1545, %1543, %1540, %1537, %1534, %1531, %1527, %1526
  %1590 = landingpad { ptr, i32 }
          cleanup
  %1591 = extractvalue { ptr, i32 } %1590, 0
  store ptr %1591, ptr %36, align 8
  %1592 = extractvalue { ptr, i32 } %1590, 1
  store i32 %1592, ptr %37, align 4
  br label %1690

1593:                                             ; preds = %1577
  %1594 = load ptr, ptr %6, align 8, !tbaa !5
  %1595 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1594, ptr noundef @.str.13, ptr noundef %30)
          to label %1596 unwind label %1600

1596:                                             ; preds = %1593
  br label %1597

1597:                                             ; preds = %1596
  %1598 = load i32, ptr %100, align 4, !tbaa !9
  %1599 = add nsw i32 %1598, 1
  store i32 %1599, ptr %100, align 4, !tbaa !9
  br label %1577, !llvm.loop !95

1600:                                             ; preds = %1593
  %1601 = landingpad { ptr, i32 }
          cleanup
  %1602 = extractvalue { ptr, i32 } %1601, 0
  store ptr %1602, ptr %36, align 8
  %1603 = extractvalue { ptr, i32 } %1601, 1
  store i32 %1603, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %1690

1604:                                             ; preds = %1580
  %1605 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1606 = call i32 @strcmp(ptr noundef %1605, ptr noundef @.str.37) #10
  %1607 = icmp ne i32 %1606, 0
  br i1 %1607, label %1608, label %1612

1608:                                             ; preds = %1604
  %1609 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1610 = load i32, ptr %96, align 4, !tbaa !9
  %1611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1609, ptr noundef @.str.38, i32 noundef %1610) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1683

1612:                                             ; preds = %1604
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #9
  %1613 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 216) #11
          to label %1614 unwind label %1646

1614:                                             ; preds = %1612
  invoke void @_ZN8MPObjectC1Ev(ptr noundef nonnull align 8 dereferenceable(216) %1613)
          to label %1615 unwind label %1650

1615:                                             ; preds = %1614
  store ptr %1613, ptr %101, align 8, !tbaa !5
  %1616 = load ptr, ptr %101, align 8, !tbaa !5
  %1617 = getelementptr inbounds %struct.MPObject, ptr %1616, i32 0, i32 7
  %1618 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %1617, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %1619 unwind label %1646

1619:                                             ; preds = %1615
  call void @llvm.lifetime.start.p0(i64 128, ptr %102) #9
  %1620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %99, i32 noundef 0)
          to label %1621 unwind label %1654

1621:                                             ; preds = %1619
  %1622 = load double, ptr %1620, align 8, !tbaa !44
  %1623 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %99, i32 noundef 1)
          to label %1624 unwind label %1654

1624:                                             ; preds = %1621
  %1625 = load double, ptr %1623, align 8, !tbaa !44
  %1626 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %99, i32 noundef 2)
          to label %1627 unwind label %1654

1627:                                             ; preds = %1624
  %1628 = load double, ptr %1626, align 8, !tbaa !44
  invoke void @_ZN13R3OrientedBoxC1ERK7R3PointRK8R3VectorS5_ddd(ptr noundef nonnull align 8 dereferenceable(128) %102, ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %97, ptr noundef nonnull align 8 dereferenceable(24) %98, double noundef %1622, double noundef %1625, double noundef %1628)
          to label %1629 unwind label %1654

1629:                                             ; preds = %1627
  %1630 = load ptr, ptr %101, align 8, !tbaa !5
  %1631 = getelementptr inbounds %struct.MPObject, ptr %1630, i32 0, i32 8
  %1632 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZN13R3OrientedBoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(128) %1631, ptr noundef nonnull align 8 dereferenceable(128) %102)
          to label %1633 unwind label %1658

1633:                                             ; preds = %1629
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(128) %102) #9
  call void @llvm.lifetime.end.p0(i64 128, ptr %102) #9
  %1634 = load ptr, ptr %101, align 8, !tbaa !5
  invoke void @_ZN7MPHouse12InsertObjectEP8MPObject(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %1634)
          to label %1635 unwind label %1646

1635:                                             ; preds = %1633
  %1636 = load i32, ptr %24, align 4, !tbaa !9
  %1637 = icmp sge i32 %1636, 0
  br i1 %1637, label %1638, label %1667

1638:                                             ; preds = %1635
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #9
  %1639 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 7
  %1640 = load i32, ptr %24, align 4, !tbaa !9
  %1641 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %1639, i32 noundef %1640)
          to label %1642 unwind label %1663

1642:                                             ; preds = %1638
  store ptr %1641, ptr %103, align 8, !tbaa !5
  %1643 = load ptr, ptr %103, align 8, !tbaa !5
  %1644 = load ptr, ptr %101, align 8, !tbaa !5
  invoke void @_ZN8MPRegion12InsertObjectEP8MPObject(ptr noundef nonnull align 8 dereferenceable(192) %1643, ptr noundef %1644)
          to label %1645 unwind label %1663

1645:                                             ; preds = %1642
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #9
  br label %1667

1646:                                             ; preds = %1633, %1615, %1612
  %1647 = landingpad { ptr, i32 }
          cleanup
  %1648 = extractvalue { ptr, i32 } %1647, 0
  store ptr %1648, ptr %36, align 8
  %1649 = extractvalue { ptr, i32 } %1647, 1
  store i32 %1649, ptr %37, align 4
  br label %1689

1650:                                             ; preds = %1614
  %1651 = landingpad { ptr, i32 }
          cleanup
  %1652 = extractvalue { ptr, i32 } %1651, 0
  store ptr %1652, ptr %36, align 8
  %1653 = extractvalue { ptr, i32 } %1651, 1
  store i32 %1653, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %1613, i64 noundef 216) #12
  br label %1689

1654:                                             ; preds = %1627, %1624, %1621, %1619
  %1655 = landingpad { ptr, i32 }
          cleanup
  %1656 = extractvalue { ptr, i32 } %1655, 0
  store ptr %1656, ptr %36, align 8
  %1657 = extractvalue { ptr, i32 } %1655, 1
  store i32 %1657, ptr %37, align 4
  br label %1662

1658:                                             ; preds = %1629
  %1659 = landingpad { ptr, i32 }
          cleanup
  %1660 = extractvalue { ptr, i32 } %1659, 0
  store ptr %1660, ptr %36, align 8
  %1661 = extractvalue { ptr, i32 } %1659, 1
  store i32 %1661, ptr %37, align 4
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(128) %102) #9
  br label %1662

1662:                                             ; preds = %1658, %1654
  call void @llvm.lifetime.end.p0(i64 128, ptr %102) #9
  br label %1689

1663:                                             ; preds = %1642, %1638
  %1664 = landingpad { ptr, i32 }
          cleanup
  %1665 = extractvalue { ptr, i32 } %1664, 0
  store ptr %1665, ptr %36, align 8
  %1666 = extractvalue { ptr, i32 } %1664, 1
  store i32 %1666, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #9
  br label %1689

1667:                                             ; preds = %1645, %1635
  %1668 = load i32, ptr %26, align 4, !tbaa !9
  %1669 = icmp sge i32 %1668, 0
  br i1 %1669, label %1670, label %1682

1670:                                             ; preds = %1667
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #9
  %1671 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 2
  %1672 = load i32, ptr %26, align 4, !tbaa !9
  %1673 = invoke noundef ptr @_ZNK7RNArrayIP10MPCategoryE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %1671, i32 noundef %1672)
          to label %1674 unwind label %1678

1674:                                             ; preds = %1670
  store ptr %1673, ptr %104, align 8, !tbaa !5
  %1675 = load ptr, ptr %104, align 8, !tbaa !5
  %1676 = load ptr, ptr %101, align 8, !tbaa !5
  invoke void @_ZN10MPCategory12InsertObjectEP8MPObject(ptr noundef nonnull align 8 dereferenceable(64) %1675, ptr noundef %1676)
          to label %1677 unwind label %1678

1677:                                             ; preds = %1674
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #9
  br label %1682

1678:                                             ; preds = %1674, %1670
  %1679 = landingpad { ptr, i32 }
          cleanup
  %1680 = extractvalue { ptr, i32 } %1679, 0
  store ptr %1680, ptr %36, align 8
  %1681 = extractvalue { ptr, i32 } %1679, 1
  store i32 %1681, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #9
  br label %1689

1682:                                             ; preds = %1677, %1667
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #9
  store i32 0, ptr %7, align 4
  br label %1683

1683:                                             ; preds = %1682, %1608
  call void @llvm.lifetime.end.p0(i64 24, ptr %99) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %98) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %97) #9
  %1684 = load i32, ptr %7, align 4
  switch i32 %1684, label %1693 [
    i32 0, label %1685
  ]

1685:                                             ; preds = %1683
  br label %1686

1686:                                             ; preds = %1685
  %1687 = load i32, ptr %96, align 4, !tbaa !9
  %1688 = add nsw i32 %1687, 1
  store i32 %1688, ptr %96, align 4, !tbaa !9
  br label %1519, !llvm.loop !96

1689:                                             ; preds = %1678, %1663, %1662, %1650, %1646
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #9
  br label %1690

1690:                                             ; preds = %1689, %1600, %1589
  call void @llvm.lifetime.end.p0(i64 24, ptr %99) #9
  br label %1691

1691:                                             ; preds = %1690, %1585
  call void @llvm.lifetime.end.p0(i64 24, ptr %98) #9
  br label %1692

1692:                                             ; preds = %1691, %1581
  call void @llvm.lifetime.end.p0(i64 24, ptr %97) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %1836

1693:                                             ; preds = %1683, %1523
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  %1694 = load i32, ptr %7, align 4
  switch i32 %1694, label %1835 [
    i32 69, label %1695
  ]

1695:                                             ; preds = %1693
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #9
  store i32 0, ptr %105, align 4, !tbaa !9
  br label %1696

1696:                                             ; preds = %1824, %1695
  %1697 = load i32, ptr %105, align 4, !tbaa !9
  %1698 = load i32, ptr %16, align 4, !tbaa !9
  %1699 = icmp slt i32 %1697, %1698
  br i1 %1699, label %1701, label %1700

1700:                                             ; preds = %1696
  store i32 75, ptr %7, align 4
  br label %1828

1701:                                             ; preds = %1696
  %1702 = load ptr, ptr %6, align 8, !tbaa !5
  %1703 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1704 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1702, ptr noundef @.str.6, ptr noundef %1703)
          to label %1705 unwind label %1758

1705:                                             ; preds = %1701
  %1706 = load ptr, ptr %6, align 8, !tbaa !5
  %1707 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1706, ptr noundef @.str.13, ptr noundef %22)
          to label %1708 unwind label %1758

1708:                                             ; preds = %1705
  %1709 = load ptr, ptr %6, align 8, !tbaa !5
  %1710 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1709, ptr noundef @.str.13, ptr noundef %27)
          to label %1711 unwind label %1758

1711:                                             ; preds = %1708
  %1712 = load ptr, ptr %6, align 8, !tbaa !5
  %1713 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1712, ptr noundef @.str.13, ptr noundef %29)
          to label %1714 unwind label %1758

1714:                                             ; preds = %1711
  %1715 = load ptr, ptr %6, align 8, !tbaa !5
  %1716 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1715, ptr noundef @.str.20, ptr noundef %32)
          to label %1717 unwind label %1758

1717:                                             ; preds = %1714
  %1718 = load ptr, ptr %6, align 8, !tbaa !5
  %1719 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %1720 unwind label %1758

1720:                                             ; preds = %1717
  %1721 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %1722 unwind label %1758

1722:                                             ; preds = %1720
  %1723 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %1724 unwind label %1758

1724:                                             ; preds = %1722
  %1725 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1718, ptr noundef @.str.16, ptr noundef %1719, ptr noundef %1721, ptr noundef %1723)
          to label %1726 unwind label %1758

1726:                                             ; preds = %1724
  %1727 = load ptr, ptr %6, align 8, !tbaa !5
  %1728 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %1729 unwind label %1758

1729:                                             ; preds = %1726
  %1730 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1728, i32 noundef 0)
          to label %1731 unwind label %1758

1731:                                             ; preds = %1729
  %1732 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %1733 unwind label %1758

1733:                                             ; preds = %1731
  %1734 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1732, i32 noundef 1)
          to label %1735 unwind label %1758

1735:                                             ; preds = %1733
  %1736 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 0)
          to label %1737 unwind label %1758

1737:                                             ; preds = %1735
  %1738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1736, i32 noundef 2)
          to label %1739 unwind label %1758

1739:                                             ; preds = %1737
  %1740 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %1741 unwind label %1758

1741:                                             ; preds = %1739
  %1742 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1740, i32 noundef 0)
          to label %1743 unwind label %1758

1743:                                             ; preds = %1741
  %1744 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %1745 unwind label %1758

1745:                                             ; preds = %1743
  %1746 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1744, i32 noundef 1)
          to label %1747 unwind label %1758

1747:                                             ; preds = %1745
  %1748 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %35, i32 noundef 1)
          to label %1749 unwind label %1758

1749:                                             ; preds = %1747
  %1750 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1748, i32 noundef 2)
          to label %1751 unwind label %1758

1751:                                             ; preds = %1749
  %1752 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1727, ptr noundef @.str.14, ptr noundef %1730, ptr noundef %1734, ptr noundef %1738, ptr noundef %1742, ptr noundef %1746, ptr noundef %1750)
          to label %1753 unwind label %1758

1753:                                             ; preds = %1751
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  store i32 0, ptr %106, align 4, !tbaa !9
  br label %1754

1754:                                             ; preds = %1766, %1753
  %1755 = load i32, ptr %106, align 4, !tbaa !9
  %1756 = icmp slt i32 %1755, 5
  br i1 %1756, label %1762, label %1757

1757:                                             ; preds = %1754
  store i32 78, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %1773

1758:                                             ; preds = %1751, %1749, %1747, %1745, %1743, %1741, %1739, %1737, %1735, %1733, %1731, %1729, %1726, %1724, %1722, %1720, %1717, %1714, %1711, %1708, %1705, %1701
  %1759 = landingpad { ptr, i32 }
          cleanup
  %1760 = extractvalue { ptr, i32 } %1759, 0
  store ptr %1760, ptr %36, align 8
  %1761 = extractvalue { ptr, i32 } %1759, 1
  store i32 %1761, ptr %37, align 4
  br label %1830

1762:                                             ; preds = %1754
  %1763 = load ptr, ptr %6, align 8, !tbaa !5
  %1764 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %1763, ptr noundef @.str.13, ptr noundef %30)
          to label %1765 unwind label %1769

1765:                                             ; preds = %1762
  br label %1766

1766:                                             ; preds = %1765
  %1767 = load i32, ptr %106, align 4, !tbaa !9
  %1768 = add nsw i32 %1767, 1
  store i32 %1768, ptr %106, align 4, !tbaa !9
  br label %1754, !llvm.loop !97

1769:                                             ; preds = %1762
  %1770 = landingpad { ptr, i32 }
          cleanup
  %1771 = extractvalue { ptr, i32 } %1770, 0
  store ptr %1771, ptr %36, align 8
  %1772 = extractvalue { ptr, i32 } %1770, 1
  store i32 %1772, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %1830

1773:                                             ; preds = %1757
  %1774 = getelementptr inbounds [1024 x i8], ptr %8, i64 0, i64 0
  %1775 = call i32 @strcmp(ptr noundef %1774, ptr noundef @.str.39) #10
  %1776 = icmp ne i32 %1775, 0
  br i1 %1776, label %1777, label %1781

1777:                                             ; preds = %1773
  %1778 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1779 = load i32, ptr %105, align 4, !tbaa !9
  %1780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1778, ptr noundef @.str.40, i32 noundef %1779) #9
  store i32 0, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1828

1781:                                             ; preds = %1773
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #9
  %1782 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 152) #11
          to label %1783 unwind label %1811

1783:                                             ; preds = %1781
  invoke void @_ZN9MPSegmentC1Ev(ptr noundef nonnull align 8 dereferenceable(148) %1782)
          to label %1784 unwind label %1815

1784:                                             ; preds = %1783
  store ptr %1782, ptr %107, align 8, !tbaa !5
  %1785 = load i32, ptr %29, align 4, !tbaa !9
  %1786 = load ptr, ptr %107, align 8, !tbaa !5
  %1787 = getelementptr inbounds %struct.MPSegment, ptr %1786, i32 0, i32 11
  store i32 %1785, ptr %1787, align 8, !tbaa !98
  %1788 = load double, ptr %32, align 8, !tbaa !44
  %1789 = load ptr, ptr %107, align 8, !tbaa !5
  %1790 = getelementptr inbounds %struct.MPSegment, ptr %1789, i32 0, i32 8
  store double %1788, ptr %1790, align 8, !tbaa !101
  %1791 = load ptr, ptr %107, align 8, !tbaa !5
  %1792 = getelementptr inbounds %struct.MPSegment, ptr %1791, i32 0, i32 9
  %1793 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %1792, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %1794 unwind label %1811

1794:                                             ; preds = %1784
  %1795 = load ptr, ptr %107, align 8, !tbaa !5
  %1796 = getelementptr inbounds %struct.MPSegment, ptr %1795, i32 0, i32 10
  %1797 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %1796, ptr noundef nonnull align 8 dereferenceable(56) %35)
          to label %1798 unwind label %1811

1798:                                             ; preds = %1794
  %1799 = load ptr, ptr %107, align 8, !tbaa !5
  invoke void @_ZN7MPHouse13InsertSegmentEP9MPSegment(ptr noundef nonnull align 8 dereferenceable(376) %109, ptr noundef %1799)
          to label %1800 unwind label %1811

1800:                                             ; preds = %1798
  %1801 = load i32, ptr %27, align 4, !tbaa !9
  %1802 = icmp sge i32 %1801, 0
  br i1 %1802, label %1803, label %1823

1803:                                             ; preds = %1800
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #9
  %1804 = getelementptr inbounds %struct.MPHouse, ptr %109, i32 0, i32 4
  %1805 = load i32, ptr %27, align 4, !tbaa !9
  %1806 = invoke noundef ptr @_ZNK7RNArrayIP8MPObjectE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %1804, i32 noundef %1805)
          to label %1807 unwind label %1819

1807:                                             ; preds = %1803
  store ptr %1806, ptr %108, align 8, !tbaa !5
  %1808 = load ptr, ptr %108, align 8, !tbaa !5
  %1809 = load ptr, ptr %107, align 8, !tbaa !5
  invoke void @_ZN8MPObject13InsertSegmentEP9MPSegment(ptr noundef nonnull align 8 dereferenceable(216) %1808, ptr noundef %1809)
          to label %1810 unwind label %1819

1810:                                             ; preds = %1807
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  br label %1823

1811:                                             ; preds = %1798, %1794, %1784, %1781
  %1812 = landingpad { ptr, i32 }
          cleanup
  %1813 = extractvalue { ptr, i32 } %1812, 0
  store ptr %1813, ptr %36, align 8
  %1814 = extractvalue { ptr, i32 } %1812, 1
  store i32 %1814, ptr %37, align 4
  br label %1827

1815:                                             ; preds = %1783
  %1816 = landingpad { ptr, i32 }
          cleanup
  %1817 = extractvalue { ptr, i32 } %1816, 0
  store ptr %1817, ptr %36, align 8
  %1818 = extractvalue { ptr, i32 } %1816, 1
  store i32 %1818, ptr %37, align 4
  call void @_ZdlPvm(ptr noundef %1782, i64 noundef 152) #12
  br label %1827

1819:                                             ; preds = %1807, %1803
  %1820 = landingpad { ptr, i32 }
          cleanup
  %1821 = extractvalue { ptr, i32 } %1820, 0
  store ptr %1821, ptr %36, align 8
  %1822 = extractvalue { ptr, i32 } %1820, 1
  store i32 %1822, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  br label %1827

1823:                                             ; preds = %1810, %1800
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #9
  br label %1824

1824:                                             ; preds = %1823
  %1825 = load i32, ptr %105, align 4, !tbaa !9
  %1826 = add nsw i32 %1825, 1
  store i32 %1826, ptr %105, align 4, !tbaa !9
  br label %1696, !llvm.loop !102

1827:                                             ; preds = %1819, %1815, %1811
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #9
  br label %1830

1828:                                             ; preds = %1777, %1700
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  %1829 = load i32, ptr %7, align 4
  switch i32 %1829, label %1835 [
    i32 75, label %1831
  ]

1830:                                             ; preds = %1827, %1769, %1758
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  br label %1836

1831:                                             ; preds = %1828
  %1832 = load ptr, ptr %6, align 8, !tbaa !5
  %1833 = invoke i32 @fclose(ptr noundef %1832)
          to label %1834 unwind label %132

1834:                                             ; preds = %1831
  store i32 1, ptr %3, align 4
  store i32 1, ptr %7, align 4
  br label %1835

1835:                                             ; preds = %1834, %1828, %1693, %1516, %1387, %1151, %1040, %919, %765, %620, %460, %127
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %35) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %11) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %10) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %9) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %8) #9
  br label %1837

1836:                                             ; preds = %1830, %1692, %1515, %1386, %1153, %1042, %921, %764, %622, %462, %311, %268, %209, %132
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %35) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %11) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %10) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %9) #9
  call void @llvm.lifetime.end.p0(i64 1024, ptr %8) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #9
  br label %1839

1837:                                             ; preds = %1835, %114
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #9
  %1838 = load i32, ptr %3, align 4
  ret i32 %1838

1839:                                             ; preds = %1836
  %1840 = load ptr, ptr %36, align 8
  %1841 = load i32, ptr %37, align 4
  %1842 = insertvalue { ptr, i32 } poison, ptr %1840, 0
  %1843 = insertvalue { ptr, i32 } %1842, i32 %1841, 1
  resume { ptr, i32 } %1843
}

declare void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

declare void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

declare void @_ZN5R3BoxC1Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #8

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK5R3Box4ZMaxEv(ptr noundef nonnull align 8 dereferenceable(56)) #6 align 2

declare void @_ZN6R3Span5ResetERK7R3PointS2_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #2

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN8R3VectoraSERKS_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #2

; Function Attrs: nounwind
declare i32 @sprintf(ptr noundef, ptr noundef, ...) #3

declare void @_ZN9RGBDImage10SetNPixelsEii(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef, i32 noundef) unnamed_addr #2

declare void @_ZN9RGBDImage13SetExtrinsicsERK8R4Matrix(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #2

declare void @_ZN8R4MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage13SetIntrinsicsERK8R3Matrix(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #2

declare void @_ZN8R3MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(72), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage16SetDepthFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage16SetColorFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage7SetNameEPKc(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef) unnamed_addr #2

declare noundef nonnull align 8 dereferenceable(128) ptr @_ZN8R4MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(128)) #2

declare noundef nonnull align 8 dereferenceable(72) ptr @_ZN8R3MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(72)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZN13R3OrientedBoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(128)) #5 align 2

declare void @_ZN7MPImageC1Ev(ptr)

declare void @_ZN10MPPanoramaC1Ev(ptr)

declare void @_ZN9MPSegmentC1Ev(ptr)

declare void @_ZN8MPObjectC1Ev(ptr)

declare void @_ZN10MPCategoryC1Ev(ptr)

declare void @_ZN8MPVertexC1Ev(ptr)

declare void @_ZN9MPSurfaceC1Ev(ptr)

declare void @_ZN8MPRegionC1Ev(ptr)

declare void @_ZN8MPPortalC1Ev(ptr)

declare void @_ZN7MPLevelC1Ev(ptr)

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind willreturn memory(read) "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 #8 = { nobuiltin allocsize(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 #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(read) }
attributes #11 = { builtin allocsize(0) }
attributes #12 = { builtin 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 = !{!"int", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = distinct !{!14, !12}
!15 = !{!16, !6, i64 368}
!16 = !{!"_ZTS7MPHouse", !17, i64 0, !19, i64 16, !20, i64 32, !21, i64 48, !22, i64 64, !23, i64 80, !24, i64 96, !25, i64 112, !26, i64 128, !27, i64 144, !28, i64 160, !6, i64 288, !6, i64 296, !31, i64 304, !6, i64 360, !6, i64 368}
!17 = !{!"_ZTS7RNArrayIP7MPImageE", !18, i64 0}
!18 = !{!"_ZTS8RNVArray", !6, i64 0, !10, i64 8, !10, i64 12}
!19 = !{!"_ZTS7RNArrayIP10MPPanoramaE", !18, i64 0}
!20 = !{!"_ZTS7RNArrayIP10MPCategoryE", !18, i64 0}
!21 = !{!"_ZTS7RNArrayIP9MPSegmentE", !18, i64 0}
!22 = !{!"_ZTS7RNArrayIP8MPObjectE", !18, i64 0}
!23 = !{!"_ZTS7RNArrayIP8MPVertexE", !18, i64 0}
!24 = !{!"_ZTS7RNArrayIP9MPSurfaceE", !18, i64 0}
!25 = !{!"_ZTS7RNArrayIP8MPRegionE", !18, i64 0}
!26 = !{!"_ZTS7RNArrayIP8MPPortalE", !18, i64 0}
!27 = !{!"_ZTS7RNArrayIP7MPLevelE", !18, i64 0}
!28 = !{!"_ZTS17RGBDConfiguration", !29, i64 8, !30, i64 24, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !31, i64 72}
!29 = !{!"_ZTS7RNArrayIP9RGBDImageE", !18, i64 0}
!30 = !{!"_ZTS7RNArrayIP11RGBDSurfaceE", !18, i64 0}
!31 = !{!"_ZTS5R3Box", !32, i64 0, !34, i64 8, !34, i64 32}
!32 = !{!"_ZTS7R3Solid", !33, i64 0}
!33 = !{!"_ZTS7R3Shape"}
!34 = !{!"_ZTS7R3Point", !7, i64 0}
!35 = !{!16, !6, i64 360}
!36 = distinct !{!36, !12}
!37 = !{!38, !6, i64 112}
!38 = !{!"_ZTS7MPLevel", !6, i64 0, !10, i64 8, !25, i64 16, !34, i64 32, !31, i64 56, !6, i64 112}
!39 = distinct !{!39, !12}
!40 = distinct !{!40, !12}
!41 = !{!42, !6, i64 184}
!42 = !{!"_ZTS8MPRegion", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !19, i64 32, !24, i64 48, !22, i64 64, !26, i64 80, !34, i64 96, !43, i64 120, !31, i64 128, !6, i64 184}
!43 = !{!"double", !7, i64 0}
!44 = !{!43, !43, i64 0}
!45 = !{!42, !43, i64 120}
!46 = distinct !{!46, !12}
!47 = distinct !{!47, !12}
!48 = !{!49, !6, i64 120}
!49 = !{!"_ZTS8MPPortal", !6, i64 0, !10, i64 8, !7, i64 16, !7, i64 32, !50, i64 40, !6, i64 120}
!50 = !{!"_ZTS6R3Span", !51, i64 0, !34, i64 48, !43, i64 72}
!51 = !{!"_ZTS5R3Ray", !52, i64 0}
!52 = !{!"_ZTS6R3Line", !34, i64 0, !53, i64 24}
!53 = !{!"_ZTS8R3Vector", !7, i64 0}
!54 = distinct !{!54, !12}
!55 = distinct !{!55, !12}
!56 = !{!57, !6, i64 152}
!57 = !{!"_ZTS9MPSurface", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !23, i64 32, !34, i64 48, !53, i64 72, !31, i64 96, !6, i64 152}
!58 = distinct !{!58, !12}
!59 = distinct !{!59, !12}
!60 = !{!61, !6, i64 80}
!61 = !{!"_ZTS8MPVertex", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !34, i64 32, !53, i64 56, !6, i64 80}
!62 = distinct !{!62, !12}
!63 = distinct !{!63, !12}
!64 = !{!65, !6, i64 32}
!65 = !{!"_ZTS10MPPanorama", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !6, i64 32, !17, i64 40, !34, i64 56}
!66 = distinct !{!66, !12}
!67 = distinct !{!67, !12}
!68 = distinct !{!68, !12}
!69 = distinct !{!69, !12}
!70 = !{!71, !6, i64 32}
!71 = !{!"_ZTS7MPImage", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !6, i64 32, !10, i64 40, !10, i64 44, !72, i64 48, !76, i64 536, !79, i64 664, !10, i64 736, !10, i64 740, !34, i64 744}
!72 = !{!"_ZTS9RGBDImage", !6, i64 8, !10, i64 16, !73, i64 24, !10, i64 40, !10, i64 44, !74, i64 48, !79, i64 320, !31, i64 392, !10, i64 448, !6, i64 456, !6, i64 464, !6, i64 472, !10, i64 480, !10, i64 484}
!73 = !{!"_ZTS7RNArrayIP6R2GridE", !18, i64 0}
!74 = !{!"_ZTS8R3Affine", !75, i64 0, !76, i64 8, !76, i64 136, !77, i64 264}
!75 = !{!"_ZTS16R3Transformation"}
!76 = !{!"_ZTS8R4Matrix", !7, i64 0}
!77 = !{!"_ZTS7RNFlags", !78, i64 0}
!78 = !{!"long", !7, i64 0}
!79 = !{!"_ZTS8R3Matrix", !7, i64 0}
!80 = !{!71, !10, i64 40}
!81 = !{!71, !10, i64 44}
!82 = !{!71, !10, i64 736}
!83 = !{!71, !10, i64 740}
!84 = distinct !{!84, !12}
!85 = distinct !{!85, !12}
!86 = !{!7, !7, i64 0}
!87 = distinct !{!87, !12}
!88 = distinct !{!88, !12}
!89 = !{!90, !10, i64 32}
!90 = !{!"_ZTS10MPCategory", !6, i64 0, !10, i64 8, !22, i64 16, !10, i64 32, !6, i64 40, !10, i64 48, !6, i64 56}
!91 = !{!90, !10, i64 48}
!92 = !{!90, !6, i64 40}
!93 = !{!90, !6, i64 56}
!94 = distinct !{!94, !12}
!95 = distinct !{!95, !12}
!96 = distinct !{!96, !12}
!97 = distinct !{!97, !12}
!98 = !{!99, !10, i64 144}
!99 = !{!"_ZTS9MPSegment", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !6, i64 32, !100, i64 40, !43, i64 56, !34, i64 64, !31, i64 88, !10, i64 144}
!100 = !{!"_ZTS7RNArrayIP10R3MeshFaceE", !18, i64 0}
!101 = !{!99, !43, i64 56}
!102 = distinct !{!102, !12}


; 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.R3Point = type { [3 x double] }
%class.R3Vector = type { [3 x double] }
%class.R3Box = type { %class.R3Solid, %class.R3Point, %class.R3Point }
%class.R3Solid = type { %class.R3Shape }
%class.R3Shape = type { ptr }
%class.R4Matrix = type { [4 x [4 x double]] }
%class.R3Matrix = type { [3 x [3 x double]] }
%class.R3OrientedBox = type { %class.R3Solid, %class.R3CoordSystem, [3 x double] }
%class.R3CoordSystem = type { %class.R3Point, %class.R3Triad }
%class.R3Triad = type { [3 x %class.R3Vector] }

@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.6 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [26 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

declare void @_ZN13R3OrientedBoxC1ERK7R3PointRK8R3VectorS5_ddd(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), double noundef, double noundef, double noundef) unnamed_addr #2

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

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

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

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9MPSurface12InsertVertexEP8MPVertexi(ptr noundef nonnull align 8 dereferenceable(160), ptr noundef, i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #5 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8MPRegion12InsertPortalEP8MPPortali(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef, i32 noundef) local_unnamed_addr #0 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
declare noalias ptr @strdup(ptr nocapture noundef readonly) local_unnamed_addr #7

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #8

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK7R3Point1ZEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #6 align 2

; Function Attrs: nofree nounwind
declare noalias noundef ptr @fopen(ptr nocapture noundef readonly, ptr nocapture noundef readonly) local_unnamed_addr #9

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #9

declare i32 @__isoc99_fscanf(ptr noundef, ptr noundef, ...) local_unnamed_addr #2

; Function Attrs: nofree nounwind
declare noundef i32 @fclose(ptr nocapture noundef) local_unnamed_addr #9

; Function Attrs: mustprogress uwtable
define dso_local noundef range(i32 0, 2) i32 @_ZN7MPHouse13ReadAsciiFileEPKc(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef %1) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca [1024 x i8], align 16
  %4 = alloca [1024 x i8], align 16
  %5 = alloca [1024 x i8], align 16
  %6 = alloca [1024 x i8], align 16
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca double, align 8
  %27 = alloca double, align 8
  %28 = alloca %class.R3Point, align 8
  %29 = alloca %class.R3Vector, align 8
  %30 = alloca %class.R3Box, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca %class.R3Point, align 8
  %34 = alloca %class.R3Point, align 8
  %35 = alloca [9 x double], align 16
  %36 = alloca [16 x double], align 16
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca [1024 x i8], align 16
  %42 = alloca [1024 x i8], align 16
  %43 = alloca %class.R4Matrix, align 8
  %44 = alloca %class.R3Matrix, align 8
  %45 = alloca %class.R4Matrix, align 8
  %46 = alloca %class.R3Matrix, align 8
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca [1024 x i8], align 16
  %50 = alloca [1024 x i8], align 16
  %51 = alloca %class.R3Vector, align 8
  %52 = alloca %class.R3Vector, align 8
  %53 = alloca %class.R3Vector, align 8
  %54 = alloca %class.R3OrientedBox, align 8
  %55 = tail call noalias ptr @fopen(ptr noundef %1, ptr noundef nonnull @.str.4)
  %.not = icmp eq ptr %55, null
  br i1 %.not, label %56, label %59

56:                                               ; preds = %2
  %57 = load ptr, ptr @stderr, align 8, !tbaa !5
  %58 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %57, ptr noundef nonnull @.str.9, ptr noundef %1) #11
  br label %1079

59:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %3) #12
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %4) #12
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %5) #12
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #12
  call void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %28)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #12
  call void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %29)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %30) #12
  call void @_ZN5R3BoxC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %30)
  %60 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.10, ptr noundef nonnull %3, ptr noundef nonnull %4)
          to label %61 unwind label %66

61:                                               ; preds = %59
  %62 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.7) #13
  %.not384 = icmp eq i32 %62, 0
  br i1 %.not384, label %68, label %63

63:                                               ; preds = %61
  %64 = load ptr, ptr @stderr, align 8, !tbaa !5
  %65 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %64, ptr noundef nonnull @.str.11, ptr noundef %1, ptr noundef nonnull %3) #11
  br label %1077

66:                                               ; preds = %187, %169, %166, %163, %160, %157, %154, %149, %142, %140, %138, %136, %134, %132, %130, %128, %126, %124, %122, %120, %118, %106, %103, %100, %97, %94, %91, %88, %86, %84, %82, %80, %78, %76, %74, %72, %70, %59
  %67 = landingpad { ptr, i32 }
          cleanup
  br label %1078

68:                                               ; preds = %61
  %69 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %4, ptr noundef nonnull dereferenceable(1) @.str.12) #13
  %.not385 = icmp eq i32 %69, 0
  br i1 %.not385, label %70, label %118

70:                                               ; preds = %68
  store i32 0, ptr %11, align 4, !tbaa !9
  store i32 0, ptr %12, align 4, !tbaa !9
  store i32 0, ptr %13, align 4, !tbaa !9
  store i32 0, ptr %15, align 4, !tbaa !9
  %71 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %72 unwind label %66

72:                                               ; preds = %70
  %73 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %5)
          to label %74 unwind label %66

74:                                               ; preds = %72
  %75 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %6)
          to label %76 unwind label %66

76:                                               ; preds = %74
  %77 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %7)
          to label %78 unwind label %66

78:                                               ; preds = %76
  %79 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %8)
          to label %80 unwind label %66

80:                                               ; preds = %78
  %81 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %9)
          to label %82 unwind label %66

82:                                               ; preds = %80
  %83 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %10)
          to label %84 unwind label %66

84:                                               ; preds = %82
  %85 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %14)
          to label %86 unwind label %66

86:                                               ; preds = %84
  %87 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %16)
          to label %88 unwind label %66

88:                                               ; preds = %86
  %89 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %90 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %89, i32 noundef 0)
          to label %91 unwind label %66

91:                                               ; preds = %88
  %92 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %93 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %92, i32 noundef 1)
          to label %94 unwind label %66

94:                                               ; preds = %91
  %95 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %96 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %95, i32 noundef 2)
          to label %97 unwind label %66

97:                                               ; preds = %94
  %98 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %99 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %98, i32 noundef 0)
          to label %100 unwind label %66

100:                                              ; preds = %97
  %101 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %102 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %101, i32 noundef 1)
          to label %103 unwind label %66

103:                                              ; preds = %100
  %104 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %105 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %104, i32 noundef 2)
          to label %106 unwind label %66

106:                                              ; preds = %103
  %107 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.14, ptr noundef nonnull %90, ptr noundef nonnull %93, ptr noundef nonnull %96, ptr noundef nonnull %99, ptr noundef nonnull %102, ptr noundef nonnull %105)
          to label %.preheader502.preheader unwind label %66

.preheader502.preheader:                          ; preds = %106
  %108 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader502.1 unwind label %116

.preheader502.1:                                  ; preds = %.preheader502.preheader
  %109 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader502.2 unwind label %116

.preheader502.2:                                  ; preds = %.preheader502.1
  %110 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader502.3 unwind label %116

.preheader502.3:                                  ; preds = %.preheader502.2
  %111 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader502.4 unwind label %116

.preheader502.4:                                  ; preds = %.preheader502.3
  %112 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader502.5 unwind label %116

.preheader502.5:                                  ; preds = %.preheader502.4
  %113 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader502.6 unwind label %116

.preheader502.6:                                  ; preds = %.preheader502.5
  %114 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader502.7 unwind label %116

.preheader502.7:                                  ; preds = %.preheader502.6
  %115 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.loopexit503 unwind label %116

116:                                              ; preds = %.preheader502.7, %.preheader502.6, %.preheader502.5, %.preheader502.4, %.preheader502.3, %.preheader502.2, %.preheader502.1, %.preheader502.preheader
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %1078

118:                                              ; preds = %68
  %119 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %120 unwind label %66

120:                                              ; preds = %118
  %121 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %5)
          to label %122 unwind label %66

122:                                              ; preds = %120
  %123 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %6)
          to label %124 unwind label %66

124:                                              ; preds = %122
  %125 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %7)
          to label %126 unwind label %66

126:                                              ; preds = %124
  %127 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %8)
          to label %128 unwind label %66

128:                                              ; preds = %126
  %129 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %9)
          to label %130 unwind label %66

130:                                              ; preds = %128
  %131 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %10)
          to label %132 unwind label %66

132:                                              ; preds = %130
  %133 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %11)
          to label %134 unwind label %66

134:                                              ; preds = %132
  %135 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %12)
          to label %136 unwind label %66

136:                                              ; preds = %134
  %137 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %13)
          to label %138 unwind label %66

138:                                              ; preds = %136
  %139 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %14)
          to label %140 unwind label %66

140:                                              ; preds = %138
  %141 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %15)
          to label %142 unwind label %66

142:                                              ; preds = %140
  %143 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %16)
          to label %.preheader506.preheader unwind label %66

.preheader506.preheader:                          ; preds = %142
  %144 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader506.1 unwind label %152

.preheader506.1:                                  ; preds = %.preheader506.preheader
  %145 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader506.2 unwind label %152

.preheader506.2:                                  ; preds = %.preheader506.1
  %146 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader506.3 unwind label %152

.preheader506.3:                                  ; preds = %.preheader506.2
  %147 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader506.4 unwind label %152

.preheader506.4:                                  ; preds = %.preheader506.3
  %148 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %149 unwind label %152

149:                                              ; preds = %.preheader506.4
  %150 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %150, i32 noundef 0)
          to label %154 unwind label %66

152:                                              ; preds = %.preheader506.4, %.preheader506.3, %.preheader506.2, %.preheader506.1, %.preheader506.preheader
  %153 = landingpad { ptr, i32 }
          cleanup
  br label %1078

154:                                              ; preds = %149
  %155 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %155, i32 noundef 1)
          to label %157 unwind label %66

157:                                              ; preds = %154
  %158 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %158, i32 noundef 2)
          to label %160 unwind label %66

160:                                              ; preds = %157
  %161 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %162 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %161, i32 noundef 0)
          to label %163 unwind label %66

163:                                              ; preds = %160
  %164 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %165 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %164, i32 noundef 1)
          to label %166 unwind label %66

166:                                              ; preds = %163
  %167 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %168 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %167, i32 noundef 2)
          to label %169 unwind label %66

169:                                              ; preds = %166
  %170 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.14, ptr noundef nonnull %151, ptr noundef nonnull %156, ptr noundef nonnull %159, ptr noundef nonnull %162, ptr noundef nonnull %165, ptr noundef nonnull %168)
          to label %.preheader504.preheader unwind label %66

.preheader504.preheader:                          ; preds = %169
  %171 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader504.1 unwind label %176

.preheader504.1:                                  ; preds = %.preheader504.preheader
  %172 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader504.2 unwind label %176

.preheader504.2:                                  ; preds = %.preheader504.1
  %173 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader504.3 unwind label %176

.preheader504.3:                                  ; preds = %.preheader504.2
  %174 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader504.4 unwind label %176

.preheader504.4:                                  ; preds = %.preheader504.3
  %175 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef nonnull %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.loopexit503 unwind label %176

176:                                              ; preds = %.preheader504.4, %.preheader504.3, %.preheader504.2, %.preheader504.1, %.preheader504.preheader
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.loopexit503:                                     ; preds = %.preheader504.4, %.preheader502.7
  %178 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %5, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not386 = icmp eq i32 %178, 0
  br i1 %.not386, label %181, label %179

179:                                              ; preds = %.loopexit503
  %180 = call noalias ptr @strdup(ptr noundef nonnull %5) #12
  br label %181

181:                                              ; preds = %.loopexit503, %179
  %182 = phi ptr [ %180, %179 ], [ null, %.loopexit503 ]
  %183 = getelementptr inbounds i8, ptr %0, i64 368
  store ptr %182, ptr %183, align 8, !tbaa !11
  %184 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not387 = icmp eq i32 %184, 0
  br i1 %.not387, label %187, label %185

185:                                              ; preds = %181
  %186 = call noalias ptr @strdup(ptr noundef nonnull %6) #12
  br label %187

187:                                              ; preds = %181, %185
  %188 = phi ptr [ %186, %185 ], [ null, %181 ]
  %189 = getelementptr inbounds i8, ptr %0, i64 360
  store ptr %188, ptr %189, align 8, !tbaa !31
  %190 = getelementptr inbounds i8, ptr %0, i64 304
  %191 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %190, ptr noundef nonnull align 8 dereferenceable(56) %30)
          to label %.preheader501 unwind label %66

.preheader501:                                    ; preds = %187
  %192 = load i32, ptr %16, align 4, !tbaa !9
  %.not391609 = icmp sgt i32 %192, 0
  br i1 %.not391609, label %.lr.ph, label %.critedge.preheader

.critedge.preheader:                              ; preds = %260, %.preheader501
  %193 = load i32, ptr %14, align 4, !tbaa !9
  %.not396612 = icmp sgt i32 %193, 0
  br i1 %.not396612, label %.lr.ph614, label %.critedge466.preheader

.lr.ph614:                                        ; preds = %.critedge.preheader
  %194 = getelementptr inbounds i8, ptr %0, i64 144
  br label %269

.lr.ph:                                           ; preds = %.preheader501, %260
  %.0355610 = phi i32 [ %261, %260 ], [ 0, %.preheader501 ]
  %195 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %196 unwind label %231

196:                                              ; preds = %.lr.ph
  %197 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %198 unwind label %231

198:                                              ; preds = %196
  %199 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %200 unwind label %231

200:                                              ; preds = %198
  %201 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %6)
          to label %202 unwind label %231

202:                                              ; preds = %200
  %203 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %204 unwind label %231

204:                                              ; preds = %202
  %205 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %206 unwind label %231

206:                                              ; preds = %204
  %207 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %208 unwind label %231

208:                                              ; preds = %206
  %209 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %203, ptr noundef nonnull %205, ptr noundef nonnull %207)
          to label %210 unwind label %231

210:                                              ; preds = %208
  %211 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %212 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %211, i32 noundef 0)
          to label %213 unwind label %231

213:                                              ; preds = %210
  %214 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %215 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %214, i32 noundef 1)
          to label %216 unwind label %231

216:                                              ; preds = %213
  %217 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %217, i32 noundef 2)
          to label %219 unwind label %231

219:                                              ; preds = %216
  %220 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %221 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %220, i32 noundef 0)
          to label %222 unwind label %231

222:                                              ; preds = %219
  %223 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %223, i32 noundef 1)
          to label %225 unwind label %231

225:                                              ; preds = %222
  %226 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %226, i32 noundef 2)
          to label %228 unwind label %231

228:                                              ; preds = %225
  %229 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.14, ptr noundef nonnull %212, ptr noundef nonnull %215, ptr noundef nonnull %218, ptr noundef nonnull %221, ptr noundef nonnull %224, ptr noundef nonnull %227)
          to label %.preheader500.preheader unwind label %231

.preheader500.preheader:                          ; preds = %228
  %230 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader500.1 unwind label %239

231:                                              ; preds = %228, %225, %222, %219, %216, %213, %210, %208, %206, %204, %202, %200, %198, %196, %.lr.ph
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.preheader500.1:                                  ; preds = %.preheader500.preheader
  %233 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader500.2 unwind label %239

.preheader500.2:                                  ; preds = %.preheader500.1
  %234 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader500.3 unwind label %239

.preheader500.3:                                  ; preds = %.preheader500.2
  %235 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader500.4 unwind label %239

.preheader500.4:                                  ; preds = %.preheader500.3
  %236 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %237 unwind label %239

237:                                              ; preds = %.preheader500.4
  %238 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.17) #13
  %.not388 = icmp eq i32 %238, 0
  br i1 %.not388, label %244, label %241

239:                                              ; preds = %.preheader500.4, %.preheader500.3, %.preheader500.2, %.preheader500.1, %.preheader500.preheader
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %1078

241:                                              ; preds = %237
  %242 = load ptr, ptr @stderr, align 8, !tbaa !5
  %243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %242, ptr noundef nonnull @.str.18, i32 noundef %.0355610) #11
  br label %1077

244:                                              ; preds = %237
  %245 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #14
          to label %246 unwind label %263

246:                                              ; preds = %244
  invoke void @_ZN7MPLevelC1Ev(ptr noundef nonnull align 8 dereferenceable(120) %245)
          to label %247 unwind label %265

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

250:                                              ; preds = %247
  %251 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not389 = icmp eq i32 %251, 0
  br i1 %.not389, label %254, label %252

252:                                              ; preds = %250
  %253 = call noalias ptr @strdup(ptr noundef nonnull %6) #12
  br label %254

254:                                              ; preds = %250, %252
  %255 = phi ptr [ %253, %252 ], [ null, %250 ]
  %256 = getelementptr inbounds i8, ptr %245, i64 112
  store ptr %255, ptr %256, align 8, !tbaa !32
  %257 = getelementptr inbounds i8, ptr %245, i64 56
  %258 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %257, ptr noundef nonnull align 8 dereferenceable(56) %30)
          to label %259 unwind label %263

259:                                              ; preds = %254
  invoke void @_ZN7MPHouse11InsertLevelEP7MPLevel(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %245)
          to label %260 unwind label %263

260:                                              ; preds = %259
  %261 = add nuw nsw i32 %.0355610, 1
  %262 = load i32, ptr %16, align 4, !tbaa !9
  %.not391 = icmp slt i32 %261, %262
  br i1 %.not391, label %.lr.ph, label %.critedge.preheader, !llvm.loop !34

263:                                              ; preds = %259, %254, %247, %244
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %1078

265:                                              ; preds = %246
  %266 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %245, i64 noundef 120) #15
  br label %1078

.critedge466.preheader:                           ; preds = %.critedge, %.critedge.preheader
  %267 = load i32, ptr %15, align 4, !tbaa !9
  %.not401616 = icmp sgt i32 %267, 0
  br i1 %.not401616, label %.lr.ph618, label %.critedge468.preheader

.lr.ph618:                                        ; preds = %.critedge466.preheader
  %268 = getelementptr inbounds i8, ptr %0, i64 112
  br label %363

269:                                              ; preds = %.lr.ph614, %.critedge
  %.0361613 = phi i32 [ 0, %.lr.ph614 ], [ %359, %.critedge ]
  %270 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %271 unwind label %310

271:                                              ; preds = %269
  %272 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %273 unwind label %310

273:                                              ; preds = %271
  %274 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %18)
          to label %275 unwind label %310

275:                                              ; preds = %273
  %276 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.19, ptr noundef nonnull %25, ptr noundef nonnull %25)
          to label %277 unwind label %310

277:                                              ; preds = %275
  %278 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %6)
          to label %279 unwind label %310

279:                                              ; preds = %277
  %280 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %281 unwind label %310

281:                                              ; preds = %279
  %282 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %283 unwind label %310

283:                                              ; preds = %281
  %284 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %285 unwind label %310

285:                                              ; preds = %283
  %286 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %280, ptr noundef nonnull %282, ptr noundef nonnull %284)
          to label %287 unwind label %310

287:                                              ; preds = %285
  %288 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %288, i32 noundef 0)
          to label %290 unwind label %310

290:                                              ; preds = %287
  %291 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %292 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %291, i32 noundef 1)
          to label %293 unwind label %310

293:                                              ; preds = %290
  %294 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %295 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %294, i32 noundef 2)
          to label %296 unwind label %310

296:                                              ; preds = %293
  %297 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %298 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %297, i32 noundef 0)
          to label %299 unwind label %310

299:                                              ; preds = %296
  %300 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %300, i32 noundef 1)
          to label %302 unwind label %310

302:                                              ; preds = %299
  %303 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %304 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %303, i32 noundef 2)
          to label %305 unwind label %310

305:                                              ; preds = %302
  %306 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.14, ptr noundef nonnull %289, ptr noundef nonnull %292, ptr noundef nonnull %295, ptr noundef nonnull %298, ptr noundef nonnull %301, ptr noundef nonnull %304)
          to label %307 unwind label %310

307:                                              ; preds = %305
  %308 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %26)
          to label %.preheader499.preheader unwind label %310

.preheader499.preheader:                          ; preds = %307
  %309 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader499.1 unwind label %317

310:                                              ; preds = %307, %305, %302, %299, %296, %293, %290, %287, %285, %283, %281, %279, %277, %275, %273, %271, %269
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.preheader499.1:                                  ; preds = %.preheader499.preheader
  %312 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader499.2 unwind label %317

.preheader499.2:                                  ; preds = %.preheader499.1
  %313 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader499.3 unwind label %317

.preheader499.3:                                  ; preds = %.preheader499.2
  %314 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %315 unwind label %317

315:                                              ; preds = %.preheader499.3
  %316 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.21) #13
  %.not392 = icmp eq i32 %316, 0
  br i1 %.not392, label %322, label %319

317:                                              ; preds = %.preheader499.3, %.preheader499.2, %.preheader499.1, %.preheader499.preheader
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %1078

319:                                              ; preds = %315
  %320 = load ptr, ptr @stderr, align 8, !tbaa !5
  %321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %320, ptr noundef nonnull @.str.22, i32 noundef %.0361613) #11
  br label %1077

322:                                              ; preds = %315
  %323 = invoke noalias noundef nonnull dereferenceable(192) ptr @_Znwm(i64 noundef 192) #14
          to label %324 unwind label %353

324:                                              ; preds = %322
  invoke void @_ZN8MPRegionC1Ev(ptr noundef nonnull align 8 dereferenceable(192) %323)
          to label %325 unwind label %355

325:                                              ; preds = %324
  %326 = getelementptr inbounds i8, ptr %323, i64 96
  %327 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %326, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %328 unwind label %353

328:                                              ; preds = %325
  %329 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not393 = icmp eq i32 %329, 0
  br i1 %.not393, label %332, label %330

330:                                              ; preds = %328
  %331 = call noalias ptr @strdup(ptr noundef nonnull %6) #12
  br label %332

332:                                              ; preds = %328, %330
  %333 = phi ptr [ %331, %330 ], [ null, %328 ]
  %334 = getelementptr inbounds i8, ptr %323, i64 184
  store ptr %333, ptr %334, align 8, !tbaa !36
  %335 = getelementptr inbounds i8, ptr %323, i64 128
  %336 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %335, ptr noundef nonnull align 8 dereferenceable(56) %30)
          to label %337 unwind label %353

337:                                              ; preds = %332
  %338 = load double, ptr %26, align 8, !tbaa !39
  %339 = fcmp ogt double %338, 0.000000e+00
  br i1 %339, label %344, label %340

340:                                              ; preds = %337
  %341 = call noundef double @_ZNK5R3Box4ZMaxEv(ptr noundef nonnull align 8 dereferenceable(56) %190)
  %342 = call noundef double @_ZNK7R3Point1ZEv(ptr noundef nonnull align 8 dereferenceable(24) %28)
  %343 = fsub double %341, %342
  br label %344

344:                                              ; preds = %337, %340
  %345 = phi double [ %343, %340 ], [ %338, %337 ]
  %346 = getelementptr inbounds i8, ptr %323, i64 120
  store double %345, ptr %346, align 8, !tbaa !40
  invoke void @_ZN7MPHouse12InsertRegionEP8MPRegion(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %323)
          to label %347 unwind label %353

347:                                              ; preds = %344
  %348 = load i32, ptr %18, align 4, !tbaa !9
  %349 = icmp sgt i32 %348, -1
  br i1 %349, label %350, label %.critedge

350:                                              ; preds = %347
  %351 = invoke noundef ptr @_ZNK7RNArrayIP7MPLevelE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %194, i32 noundef %348)
          to label %352 unwind label %357

352:                                              ; preds = %350
  invoke void @_ZN7MPLevel12InsertRegionEP8MPRegion(ptr noundef nonnull align 8 dereferenceable(120) %351, ptr noundef nonnull %323)
          to label %.critedge unwind label %357

353:                                              ; preds = %344, %332, %325, %322
  %354 = landingpad { ptr, i32 }
          cleanup
  br label %1078

355:                                              ; preds = %324
  %356 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %323, i64 noundef 192) #15
  br label %1078

357:                                              ; preds = %352, %350
  %358 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.critedge:                                        ; preds = %352, %347
  %359 = add nuw nsw i32 %.0361613, 1
  %360 = load i32, ptr %14, align 4, !tbaa !9
  %.not396 = icmp slt i32 %359, %360
  br i1 %.not396, label %269, label %.critedge466.preheader, !llvm.loop !41

.critedge468.preheader:                           ; preds = %.critedge466, %.critedge466.preheader
  %361 = load i32, ptr %10, align 4, !tbaa !9
  %.not406620 = icmp sgt i32 %361, 0
  br i1 %.not406620, label %.lr.ph622, label %.critedge470.preheader

.lr.ph622:                                        ; preds = %.critedge468.preheader
  %362 = getelementptr inbounds i8, ptr %0, i64 112
  br label %444

363:                                              ; preds = %.lr.ph618, %.critedge466
  %.0365617 = phi i32 [ 0, %.lr.ph618 ], [ %435, %.critedge466 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %33) #12
  invoke void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %364 unwind label %392

364:                                              ; preds = %363
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #12
  invoke void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %365 unwind label %394

365:                                              ; preds = %364
  %366 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %367 unwind label %394

367:                                              ; preds = %365
  %368 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %369 unwind label %394

369:                                              ; preds = %367
  %370 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %31)
          to label %371 unwind label %394

371:                                              ; preds = %369
  %372 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %32)
          to label %373 unwind label %394

373:                                              ; preds = %371
  %374 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %6)
          to label %375 unwind label %394

375:                                              ; preds = %373
  %376 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 0)
          to label %377 unwind label %394

377:                                              ; preds = %375
  %378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 1)
          to label %379 unwind label %394

379:                                              ; preds = %377
  %380 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %33, i32 noundef 2)
          to label %381 unwind label %394

381:                                              ; preds = %379
  %382 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %376, ptr noundef nonnull %378, ptr noundef nonnull %380)
          to label %383 unwind label %394

383:                                              ; preds = %381
  %384 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 0)
          to label %385 unwind label %394

385:                                              ; preds = %383
  %386 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 1)
          to label %387 unwind label %394

387:                                              ; preds = %385
  %388 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %34, i32 noundef 2)
          to label %389 unwind label %394

389:                                              ; preds = %387
  %390 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %384, ptr noundef nonnull %386, ptr noundef nonnull %388)
          to label %.preheader498.preheader unwind label %394

.preheader498.preheader:                          ; preds = %389
  %391 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader498.1 unwind label %401

392:                                              ; preds = %363
  %393 = landingpad { ptr, i32 }
          cleanup
  br label %438

394:                                              ; preds = %389, %387, %385, %383, %381, %379, %377, %375, %373, %371, %369, %367, %365, %364
  %395 = landingpad { ptr, i32 }
          cleanup
  br label %437

.preheader498.1:                                  ; preds = %.preheader498.preheader
  %396 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader498.2 unwind label %401

.preheader498.2:                                  ; preds = %.preheader498.1
  %397 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader498.3 unwind label %401

.preheader498.3:                                  ; preds = %.preheader498.2
  %398 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %399 unwind label %401

399:                                              ; preds = %.preheader498.3
  %400 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.23) #13
  %.not397 = icmp eq i32 %400, 0
  br i1 %.not397, label %403, label %439

401:                                              ; preds = %.preheader498.3, %.preheader498.2, %.preheader498.1, %.preheader498.preheader
  %402 = landingpad { ptr, i32 }
          cleanup
  br label %437

403:                                              ; preds = %399
  %404 = invoke noalias noundef nonnull dereferenceable(128) ptr @_Znwm(i64 noundef 128) #14
          to label %405 unwind label %421

405:                                              ; preds = %403
  invoke void @_ZN8MPPortalC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %404)
          to label %406 unwind label %423

406:                                              ; preds = %405
  %407 = getelementptr inbounds i8, ptr %404, i64 40
  invoke void @_ZN6R3Span5ResetERK7R3PointS2_(ptr noundef nonnull align 8 dereferenceable(80) %407, ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %408 unwind label %421

408:                                              ; preds = %406
  %409 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not398 = icmp eq i32 %409, 0
  br i1 %.not398, label %412, label %410

410:                                              ; preds = %408
  %411 = call noalias ptr @strdup(ptr noundef nonnull %6) #12
  br label %412

412:                                              ; preds = %408, %410
  %413 = phi ptr [ %411, %410 ], [ null, %408 ]
  %414 = getelementptr inbounds i8, ptr %404, i64 120
  store ptr %413, ptr %414, align 8, !tbaa !42
  invoke void @_ZN7MPHouse12InsertPortalEP8MPPortal(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %404)
          to label %415 unwind label %421

415:                                              ; preds = %412
  %416 = load i32, ptr %31, align 4, !tbaa !9
  %417 = icmp sgt i32 %416, -1
  br i1 %417, label %418, label %427

418:                                              ; preds = %415
  %419 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %268, i32 noundef %416)
          to label %420 unwind label %425

420:                                              ; preds = %418
  invoke void @_ZN8MPRegion12InsertPortalEP8MPPortali(ptr noundef nonnull align 8 dereferenceable(192) %419, ptr noundef nonnull %404, i32 noundef 0)
          to label %427 unwind label %425

421:                                              ; preds = %412, %406, %403
  %422 = landingpad { ptr, i32 }
          cleanup
  br label %437

423:                                              ; preds = %405
  %424 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %404, i64 noundef 128) #15
  br label %437

425:                                              ; preds = %420, %418
  %426 = landingpad { ptr, i32 }
          cleanup
  br label %437

427:                                              ; preds = %420, %415
  %428 = load i32, ptr %32, align 4, !tbaa !9
  %429 = icmp sgt i32 %428, -1
  br i1 %429, label %430, label %.critedge466

430:                                              ; preds = %427
  %431 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %268, i32 noundef %428)
          to label %432 unwind label %433

432:                                              ; preds = %430
  invoke void @_ZN8MPRegion12InsertPortalEP8MPPortali(ptr noundef nonnull align 8 dereferenceable(192) %431, ptr noundef nonnull %404, i32 noundef 1)
          to label %.critedge466 unwind label %433

433:                                              ; preds = %432, %430
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %437

.critedge466:                                     ; preds = %427, %432
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #12
  %435 = add nuw nsw i32 %.0365617, 1
  %436 = load i32, ptr %15, align 4, !tbaa !9
  %.not401 = icmp slt i32 %435, %436
  br i1 %.not401, label %363, label %.critedge468.preheader, !llvm.loop !48

437:                                              ; preds = %421, %423, %425, %433, %401, %394
  %.pn456 = phi { ptr, i32 } [ %402, %401 ], [ %395, %394 ], [ %434, %433 ], [ %426, %425 ], [ %422, %421 ], [ %424, %423 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #12
  br label %438

438:                                              ; preds = %437, %392
  %.pn456.pn = phi { ptr, i32 } [ %.pn456, %437 ], [ %393, %392 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #12
  br label %1078

439:                                              ; preds = %399
  %440 = load ptr, ptr @stderr, align 8, !tbaa !5
  %441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %440, ptr noundef nonnull @.str.24, i32 noundef %.0365617) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #12
  br label %1077

.critedge470.preheader:                           ; preds = %.critedge468, %.critedge468.preheader
  %442 = load i32, ptr %9, align 4, !tbaa !9
  %.not411624 = icmp sgt i32 %442, 0
  br i1 %.not411624, label %.lr.ph626, label %.critedge472.preheader

.lr.ph626:                                        ; preds = %.critedge470.preheader
  %443 = getelementptr inbounds i8, ptr %0, i64 96
  br label %539

444:                                              ; preds = %.lr.ph622, %.critedge468
  %.0369621 = phi i32 [ 0, %.lr.ph622 ], [ %535, %.critedge468 ]
  %445 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %446 unwind label %491

446:                                              ; preds = %444
  %447 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %448 unwind label %491

448:                                              ; preds = %446
  %449 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %19)
          to label %450 unwind label %491

450:                                              ; preds = %448
  %451 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %452 unwind label %491

452:                                              ; preds = %450
  %453 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %6)
          to label %454 unwind label %491

454:                                              ; preds = %452
  %455 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %456 unwind label %491

456:                                              ; preds = %454
  %457 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %458 unwind label %491

458:                                              ; preds = %456
  %459 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %460 unwind label %491

460:                                              ; preds = %458
  %461 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %455, ptr noundef nonnull %457, ptr noundef nonnull %459)
          to label %462 unwind label %491

462:                                              ; preds = %460
  %463 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %29, i32 noundef 0)
          to label %464 unwind label %491

464:                                              ; preds = %462
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %29, i32 noundef 1)
          to label %466 unwind label %491

466:                                              ; preds = %464
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %29, i32 noundef 2)
          to label %468 unwind label %491

468:                                              ; preds = %466
  %469 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %463, ptr noundef nonnull %465, ptr noundef nonnull %467)
          to label %470 unwind label %491

470:                                              ; preds = %468
  %471 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %472 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %471, i32 noundef 0)
          to label %473 unwind label %491

473:                                              ; preds = %470
  %474 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %474, i32 noundef 1)
          to label %476 unwind label %491

476:                                              ; preds = %473
  %477 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %478 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %477, i32 noundef 2)
          to label %479 unwind label %491

479:                                              ; preds = %476
  %480 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %481 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %480, i32 noundef 0)
          to label %482 unwind label %491

482:                                              ; preds = %479
  %483 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %483, i32 noundef 1)
          to label %485 unwind label %491

485:                                              ; preds = %482
  %486 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %487 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %486, i32 noundef 2)
          to label %488 unwind label %491

488:                                              ; preds = %485
  %489 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.14, ptr noundef nonnull %472, ptr noundef nonnull %475, ptr noundef nonnull %478, ptr noundef nonnull %481, ptr noundef nonnull %484, ptr noundef nonnull %487)
          to label %.preheader497.preheader unwind label %491

.preheader497.preheader:                          ; preds = %488
  %490 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader497.1 unwind label %499

491:                                              ; preds = %488, %485, %482, %479, %476, %473, %470, %468, %466, %464, %462, %460, %458, %456, %454, %452, %450, %448, %446, %444
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.preheader497.1:                                  ; preds = %.preheader497.preheader
  %493 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader497.2 unwind label %499

.preheader497.2:                                  ; preds = %.preheader497.1
  %494 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader497.3 unwind label %499

.preheader497.3:                                  ; preds = %.preheader497.2
  %495 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader497.4 unwind label %499

.preheader497.4:                                  ; preds = %.preheader497.3
  %496 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %497 unwind label %499

497:                                              ; preds = %.preheader497.4
  %498 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.25) #13
  %.not402 = icmp eq i32 %498, 0
  br i1 %.not402, label %504, label %501

499:                                              ; preds = %.preheader497.4, %.preheader497.3, %.preheader497.2, %.preheader497.1, %.preheader497.preheader
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %1078

501:                                              ; preds = %497
  %502 = load ptr, ptr @stderr, align 8, !tbaa !5
  %503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef nonnull @.str.26, i32 noundef %.0369621) #11
  br label %1077

504:                                              ; preds = %497
  %505 = invoke noalias noundef nonnull dereferenceable(160) ptr @_Znwm(i64 noundef 160) #14
          to label %506 unwind label %529

506:                                              ; preds = %504
  invoke void @_ZN9MPSurfaceC1Ev(ptr noundef nonnull align 8 dereferenceable(160) %505)
          to label %507 unwind label %531

507:                                              ; preds = %506
  %508 = getelementptr inbounds i8, ptr %505, i64 48
  %509 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %508, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %510 unwind label %529

510:                                              ; preds = %507
  %511 = getelementptr inbounds i8, ptr %505, i64 72
  %512 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN8R3VectoraSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %511, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %513 unwind label %529

513:                                              ; preds = %510
  %514 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not403 = icmp eq i32 %514, 0
  br i1 %.not403, label %517, label %515

515:                                              ; preds = %513
  %516 = call noalias ptr @strdup(ptr noundef nonnull %6) #12
  br label %517

517:                                              ; preds = %513, %515
  %518 = phi ptr [ %516, %515 ], [ null, %513 ]
  %519 = getelementptr inbounds i8, ptr %505, i64 152
  store ptr %518, ptr %519, align 8, !tbaa !49
  %520 = getelementptr inbounds i8, ptr %505, i64 96
  %521 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %520, ptr noundef nonnull align 8 dereferenceable(56) %30)
          to label %522 unwind label %529

522:                                              ; preds = %517
  invoke void @_ZN7MPHouse13InsertSurfaceEP9MPSurface(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %505)
          to label %523 unwind label %529

523:                                              ; preds = %522
  %524 = load i32, ptr %19, align 4, !tbaa !9
  %525 = icmp sgt i32 %524, -1
  br i1 %525, label %526, label %.critedge468

526:                                              ; preds = %523
  %527 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %362, i32 noundef %524)
          to label %528 unwind label %533

528:                                              ; preds = %526
  invoke void @_ZN8MPRegion13InsertSurfaceEP9MPSurface(ptr noundef nonnull align 8 dereferenceable(192) %527, ptr noundef nonnull %505)
          to label %.critedge468 unwind label %533

529:                                              ; preds = %522, %517, %510, %507, %504
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %1078

531:                                              ; preds = %506
  %532 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %505, i64 noundef 160) #15
  br label %1078

533:                                              ; preds = %528, %526
  %534 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.critedge468:                                     ; preds = %528, %523
  %535 = add nuw nsw i32 %.0369621, 1
  %536 = load i32, ptr %10, align 4, !tbaa !9
  %.not406 = icmp slt i32 %535, %536
  br i1 %.not406, label %444, label %.critedge470.preheader, !llvm.loop !51

.critedge472.preheader:                           ; preds = %.critedge470, %.critedge470.preheader
  %537 = load i32, ptr %8, align 4, !tbaa !9
  %.not416628 = icmp sgt i32 %537, 0
  br i1 %.not416628, label %.lr.ph630, label %.critedge474.preheader

.lr.ph630:                                        ; preds = %.critedge472.preheader
  %538 = getelementptr inbounds i8, ptr %0, i64 112
  br label %630

539:                                              ; preds = %.lr.ph626, %.critedge470
  %.0367625 = phi i32 [ 0, %.lr.ph626 ], [ %603, %.critedge470 ]
  %540 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %541 unwind label %564

541:                                              ; preds = %539
  %542 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %543 unwind label %564

543:                                              ; preds = %541
  %544 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %20)
          to label %545 unwind label %564

545:                                              ; preds = %543
  %546 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %6)
          to label %547 unwind label %564

547:                                              ; preds = %545
  %548 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %549 unwind label %564

549:                                              ; preds = %547
  %550 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %551 unwind label %564

551:                                              ; preds = %549
  %552 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %553 unwind label %564

553:                                              ; preds = %551
  %554 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %548, ptr noundef nonnull %550, ptr noundef nonnull %552)
          to label %555 unwind label %564

555:                                              ; preds = %553
  %556 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %29, i32 noundef 0)
          to label %557 unwind label %564

557:                                              ; preds = %555
  %558 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %29, i32 noundef 1)
          to label %559 unwind label %564

559:                                              ; preds = %557
  %560 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %29, i32 noundef 2)
          to label %561 unwind label %564

561:                                              ; preds = %559
  %562 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %556, ptr noundef nonnull %558, ptr noundef nonnull %560)
          to label %.preheader496.preheader unwind label %564

.preheader496.preheader:                          ; preds = %561
  %563 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader496.1 unwind label %570

564:                                              ; preds = %561, %559, %557, %555, %553, %551, %549, %547, %545, %543, %541, %539
  %565 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.preheader496.1:                                  ; preds = %.preheader496.preheader
  %566 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader496.2 unwind label %570

.preheader496.2:                                  ; preds = %.preheader496.1
  %567 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %568 unwind label %570

568:                                              ; preds = %.preheader496.2
  %569 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.27) #13
  %.not407 = icmp eq i32 %569, 0
  br i1 %.not407, label %575, label %572

570:                                              ; preds = %.preheader496.2, %.preheader496.1, %.preheader496.preheader
  %571 = landingpad { ptr, i32 }
          cleanup
  br label %1078

572:                                              ; preds = %568
  %573 = load ptr, ptr @stderr, align 8, !tbaa !5
  %574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %573, ptr noundef nonnull @.str.28, i32 noundef %.0367625) #11
  br label %1077

575:                                              ; preds = %568
  %576 = invoke noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #14
          to label %577 unwind label %597

577:                                              ; preds = %575
  invoke void @_ZN8MPVertexC1Ev(ptr noundef nonnull align 8 dereferenceable(88) %576)
          to label %578 unwind label %599

578:                                              ; preds = %577
  %579 = getelementptr inbounds i8, ptr %576, i64 32
  %580 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %579, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %581 unwind label %597

581:                                              ; preds = %578
  %582 = getelementptr inbounds i8, ptr %576, i64 56
  %583 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN8R3VectoraSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %582, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %584 unwind label %597

584:                                              ; preds = %581
  %585 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %6, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not408 = icmp eq i32 %585, 0
  br i1 %.not408, label %588, label %586

586:                                              ; preds = %584
  %587 = call noalias ptr @strdup(ptr noundef nonnull %6) #12
  br label %588

588:                                              ; preds = %584, %586
  %589 = phi ptr [ %587, %586 ], [ null, %584 ]
  %590 = getelementptr inbounds i8, ptr %576, i64 80
  store ptr %589, ptr %590, align 8, !tbaa !52
  invoke void @_ZN7MPHouse12InsertVertexEP8MPVertex(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %576)
          to label %591 unwind label %597

591:                                              ; preds = %588
  %592 = load i32, ptr %20, align 4, !tbaa !9
  %593 = icmp sgt i32 %592, -1
  br i1 %593, label %594, label %.critedge470

594:                                              ; preds = %591
  %595 = invoke noundef ptr @_ZNK7RNArrayIP9MPSurfaceE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %443, i32 noundef %592)
          to label %596 unwind label %601

596:                                              ; preds = %594
  invoke void @_ZN9MPSurface12InsertVertexEP8MPVertexi(ptr noundef nonnull align 8 dereferenceable(160) %595, ptr noundef nonnull %576, i32 noundef 0)
          to label %.critedge470 unwind label %601

597:                                              ; preds = %588, %581, %578, %575
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %1078

599:                                              ; preds = %577
  %600 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %576, i64 noundef 88) #15
  br label %1078

601:                                              ; preds = %596, %594
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.critedge470:                                     ; preds = %596, %591
  %603 = add nuw nsw i32 %.0367625, 1
  %604 = load i32, ptr %9, align 4, !tbaa !9
  %.not411 = icmp slt i32 %603, %604
  br i1 %.not411, label %539, label %.critedge472.preheader, !llvm.loop !54

.critedge474.preheader:                           ; preds = %.critedge472, %.critedge472.preheader
  %605 = load i32, ptr %7, align 4, !tbaa !9
  %.not421634 = icmp sgt i32 %605, 0
  br i1 %.not421634, label %.lr.ph636, label %.critedge476.preheader

.lr.ph636:                                        ; preds = %.critedge474.preheader
  %606 = getelementptr inbounds i8, ptr %0, i64 16
  %607 = getelementptr inbounds i8, ptr %36, i64 8
  %608 = getelementptr inbounds i8, ptr %36, i64 16
  %609 = getelementptr inbounds i8, ptr %36, i64 24
  %610 = getelementptr inbounds i8, ptr %36, i64 32
  %611 = getelementptr inbounds i8, ptr %36, i64 40
  %612 = getelementptr inbounds i8, ptr %36, i64 48
  %613 = getelementptr inbounds i8, ptr %36, i64 56
  %614 = getelementptr inbounds i8, ptr %36, i64 64
  %615 = getelementptr inbounds i8, ptr %36, i64 72
  %616 = getelementptr inbounds i8, ptr %36, i64 80
  %617 = getelementptr inbounds i8, ptr %36, i64 88
  %618 = getelementptr inbounds i8, ptr %36, i64 96
  %619 = getelementptr inbounds i8, ptr %36, i64 104
  %620 = getelementptr inbounds i8, ptr %36, i64 112
  %621 = getelementptr inbounds i8, ptr %36, i64 120
  %622 = getelementptr inbounds i8, ptr %35, i64 8
  %623 = getelementptr inbounds i8, ptr %35, i64 16
  %624 = getelementptr inbounds i8, ptr %35, i64 24
  %625 = getelementptr inbounds i8, ptr %35, i64 32
  %626 = getelementptr inbounds i8, ptr %35, i64 40
  %627 = getelementptr inbounds i8, ptr %35, i64 48
  %628 = getelementptr inbounds i8, ptr %35, i64 56
  %629 = getelementptr inbounds i8, ptr %35, i64 64
  br label %690

630:                                              ; preds = %.lr.ph630, %.critedge472
  %.0363629 = phi i32 [ 0, %.lr.ph630 ], [ %687, %.critedge472 ]
  %631 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %632 unwind label %649

632:                                              ; preds = %630
  %633 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %5)
          to label %634 unwind label %649

634:                                              ; preds = %632
  %635 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %636 unwind label %649

636:                                              ; preds = %634
  %637 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %19)
          to label %638 unwind label %649

638:                                              ; preds = %636
  %639 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %640 unwind label %649

640:                                              ; preds = %638
  %641 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %642 unwind label %649

642:                                              ; preds = %640
  %643 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %644 unwind label %649

644:                                              ; preds = %642
  %645 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %646 unwind label %649

646:                                              ; preds = %644
  %647 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %641, ptr noundef nonnull %643, ptr noundef nonnull %645)
          to label %.preheader495.preheader unwind label %649

.preheader495.preheader:                          ; preds = %646
  %648 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader495.1 unwind label %657

649:                                              ; preds = %646, %644, %642, %640, %638, %636, %634, %632, %630
  %650 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.preheader495.1:                                  ; preds = %.preheader495.preheader
  %651 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader495.2 unwind label %657

.preheader495.2:                                  ; preds = %.preheader495.1
  %652 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader495.3 unwind label %657

.preheader495.3:                                  ; preds = %.preheader495.2
  %653 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader495.4 unwind label %657

.preheader495.4:                                  ; preds = %.preheader495.3
  %654 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %655 unwind label %657

655:                                              ; preds = %.preheader495.4
  %656 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.23) #13
  %.not412 = icmp eq i32 %656, 0
  br i1 %.not412, label %662, label %659

657:                                              ; preds = %.preheader495.4, %.preheader495.3, %.preheader495.2, %.preheader495.1, %.preheader495.preheader
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %1078

659:                                              ; preds = %655
  %660 = load ptr, ptr @stderr, align 8, !tbaa !5
  %661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %660, ptr noundef nonnull @.str.29, i32 noundef %.0363629) #11
  br label %1077

662:                                              ; preds = %655
  %663 = invoke noalias noundef nonnull dereferenceable(80) ptr @_Znwm(i64 noundef 80) #14
          to label %664 unwind label %681

664:                                              ; preds = %662
  invoke void @_ZN10MPPanoramaC1Ev(ptr noundef nonnull align 8 dereferenceable(80) %663)
          to label %665 unwind label %683

665:                                              ; preds = %664
  %666 = getelementptr inbounds i8, ptr %663, i64 56
  %667 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %666, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %668 unwind label %681

668:                                              ; preds = %665
  %669 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %5, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not413 = icmp eq i32 %669, 0
  br i1 %.not413, label %672, label %670

670:                                              ; preds = %668
  %671 = call noalias ptr @strdup(ptr noundef nonnull %5) #12
  br label %672

672:                                              ; preds = %668, %670
  %673 = phi ptr [ %671, %670 ], [ null, %668 ]
  %674 = getelementptr inbounds i8, ptr %663, i64 32
  store ptr %673, ptr %674, align 8, !tbaa !55
  invoke void @_ZN7MPHouse14InsertPanoramaEP10MPPanorama(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %663)
          to label %675 unwind label %681

675:                                              ; preds = %672
  %676 = load i32, ptr %19, align 4, !tbaa !9
  %677 = icmp sgt i32 %676, -1
  br i1 %677, label %678, label %.critedge472

678:                                              ; preds = %675
  %679 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %538, i32 noundef %676)
          to label %680 unwind label %685

680:                                              ; preds = %678
  invoke void @_ZN8MPRegion14InsertPanoramaEP10MPPanorama(ptr noundef nonnull align 8 dereferenceable(192) %679, ptr noundef nonnull %663)
          to label %.critedge472 unwind label %685

681:                                              ; preds = %672, %665, %662
  %682 = landingpad { ptr, i32 }
          cleanup
  br label %1078

683:                                              ; preds = %664
  %684 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %663, i64 noundef 80) #15
  br label %1078

685:                                              ; preds = %680, %678
  %686 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.critedge472:                                     ; preds = %680, %675
  %687 = add nuw nsw i32 %.0363629, 1
  %688 = load i32, ptr %8, align 4, !tbaa !9
  %.not416 = icmp slt i32 %687, %688
  br i1 %.not416, label %630, label %.critedge474.preheader, !llvm.loop !57

.critedge476.preheader:                           ; preds = %.critedge474, %.critedge474.preheader
  %689 = load i32, ptr %13, align 4, !tbaa !9
  %.not429638 = icmp sgt i32 %689, 0
  br i1 %.not429638, label %.lr.ph640, label %.critedge478.preheader

690:                                              ; preds = %.lr.ph636, %.critedge474
  %.0359635 = phi i32 [ 0, %.lr.ph636 ], [ %818, %.critedge474 ]
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %35) #12
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #12
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %41) #12
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %42) #12
  %691 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %692 unwind label %703

692:                                              ; preds = %690
  %693 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %694 unwind label %703

694:                                              ; preds = %692
  %695 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %23)
          to label %696 unwind label %703

696:                                              ; preds = %694
  %697 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %5)
          to label %698 unwind label %703

698:                                              ; preds = %696
  %699 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %37)
          to label %700 unwind label %703

700:                                              ; preds = %698
  %701 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %38)
          to label %.preheader494.preheader unwind label %703

.preheader494.preheader:                          ; preds = %700
  %702 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %36)
          to label %.preheader494.1 unwind label %721

703:                                              ; preds = %741, %739, %737, %735, %731, %700, %698, %696, %694, %692, %690
  %704 = landingpad { ptr, i32 }
          cleanup
  br label %820

.preheader494.1:                                  ; preds = %.preheader494.preheader
  %705 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %607)
          to label %.preheader494.2 unwind label %721

.preheader494.2:                                  ; preds = %.preheader494.1
  %706 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %608)
          to label %.preheader494.3 unwind label %721

.preheader494.3:                                  ; preds = %.preheader494.2
  %707 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %609)
          to label %.preheader494.4 unwind label %721

.preheader494.4:                                  ; preds = %.preheader494.3
  %708 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %610)
          to label %.preheader494.5 unwind label %721

.preheader494.5:                                  ; preds = %.preheader494.4
  %709 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %611)
          to label %.preheader494.6 unwind label %721

.preheader494.6:                                  ; preds = %.preheader494.5
  %710 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %612)
          to label %.preheader494.7 unwind label %721

.preheader494.7:                                  ; preds = %.preheader494.6
  %711 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %613)
          to label %.preheader494.8 unwind label %721

.preheader494.8:                                  ; preds = %.preheader494.7
  %712 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %614)
          to label %.preheader494.9 unwind label %721

.preheader494.9:                                  ; preds = %.preheader494.8
  %713 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %615)
          to label %.preheader494.10 unwind label %721

.preheader494.10:                                 ; preds = %.preheader494.9
  %714 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %616)
          to label %.preheader494.11 unwind label %721

.preheader494.11:                                 ; preds = %.preheader494.10
  %715 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %617)
          to label %.preheader494.12 unwind label %721

.preheader494.12:                                 ; preds = %.preheader494.11
  %716 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %618)
          to label %.preheader494.13 unwind label %721

.preheader494.13:                                 ; preds = %.preheader494.12
  %717 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %619)
          to label %.preheader494.14 unwind label %721

.preheader494.14:                                 ; preds = %.preheader494.13
  %718 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %620)
          to label %.preheader494.15 unwind label %721

.preheader494.15:                                 ; preds = %.preheader494.14
  %719 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %621)
          to label %.preheader493.preheader unwind label %721

.preheader493.preheader:                          ; preds = %.preheader494.15
  %720 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %35)
          to label %.preheader493.1 unwind label %733

721:                                              ; preds = %.preheader494.15, %.preheader494.14, %.preheader494.13, %.preheader494.12, %.preheader494.11, %.preheader494.10, %.preheader494.9, %.preheader494.8, %.preheader494.7, %.preheader494.6, %.preheader494.5, %.preheader494.4, %.preheader494.3, %.preheader494.2, %.preheader494.1, %.preheader494.preheader
  %722 = landingpad { ptr, i32 }
          cleanup
  br label %820

.preheader493.1:                                  ; preds = %.preheader493.preheader
  %723 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %622)
          to label %.preheader493.2 unwind label %733

.preheader493.2:                                  ; preds = %.preheader493.1
  %724 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %623)
          to label %.preheader493.3 unwind label %733

.preheader493.3:                                  ; preds = %.preheader493.2
  %725 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %624)
          to label %.preheader493.4 unwind label %733

.preheader493.4:                                  ; preds = %.preheader493.3
  %726 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %625)
          to label %.preheader493.5 unwind label %733

.preheader493.5:                                  ; preds = %.preheader493.4
  %727 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %626)
          to label %.preheader493.6 unwind label %733

.preheader493.6:                                  ; preds = %.preheader493.5
  %728 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %627)
          to label %.preheader493.7 unwind label %733

.preheader493.7:                                  ; preds = %.preheader493.6
  %729 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %628)
          to label %.preheader493.8 unwind label %733

.preheader493.8:                                  ; preds = %.preheader493.7
  %730 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %629)
          to label %731 unwind label %733

731:                                              ; preds = %.preheader493.8
  %732 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.19, ptr noundef nonnull %39, ptr noundef nonnull %40)
          to label %735 unwind label %703

733:                                              ; preds = %.preheader493.8, %.preheader493.7, %.preheader493.6, %.preheader493.5, %.preheader493.4, %.preheader493.3, %.preheader493.2, %.preheader493.1, %.preheader493.preheader
  %734 = landingpad { ptr, i32 }
          cleanup
  br label %820

735:                                              ; preds = %731
  %736 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %737 unwind label %703

737:                                              ; preds = %735
  %738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %739 unwind label %703

739:                                              ; preds = %737
  %740 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %741 unwind label %703

741:                                              ; preds = %739
  %742 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %736, ptr noundef nonnull %738, ptr noundef nonnull %740)
          to label %.preheader492.preheader unwind label %703

.preheader492.preheader:                          ; preds = %741
  %743 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader492.1 unwind label %750

.preheader492.1:                                  ; preds = %.preheader492.preheader
  %744 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader492.2 unwind label %750

.preheader492.2:                                  ; preds = %.preheader492.1
  %745 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader492.3 unwind label %750

.preheader492.3:                                  ; preds = %.preheader492.2
  %746 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader492.4 unwind label %750

.preheader492.4:                                  ; preds = %.preheader492.3
  %747 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %748 unwind label %750

748:                                              ; preds = %.preheader492.4
  %749 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.30) #13
  %.not417 = icmp eq i32 %749, 0
  br i1 %.not417, label %752, label %821

750:                                              ; preds = %.preheader492.4, %.preheader492.3, %.preheader492.2, %.preheader492.1, %.preheader492.preheader
  %751 = landingpad { ptr, i32 }
          cleanup
  br label %820

752:                                              ; preds = %748
  %753 = load i32, ptr %37, align 4, !tbaa !9
  %754 = load i32, ptr %38, align 4, !tbaa !9
  %755 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %41, ptr noundef nonnull dereferenceable(1) @.str.32, ptr noundef nonnull %5, i32 noundef %753, i32 noundef %754) #12
  %756 = load i32, ptr %37, align 4, !tbaa !9
  %757 = load i32, ptr %38, align 4, !tbaa !9
  %758 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %42, ptr noundef nonnull dereferenceable(1) @.str.33, ptr noundef nonnull %5, i32 noundef %756, i32 noundef %757) #12
  %759 = invoke noalias noundef nonnull dereferenceable(768) ptr @_Znwm(i64 noundef 768) #14
          to label %760 unwind label %804

760:                                              ; preds = %752
  invoke void @_ZN7MPImageC1Ev(ptr noundef nonnull align 8 dereferenceable(768) %759)
          to label %761 unwind label %806

761:                                              ; preds = %760
  %762 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %5, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not418 = icmp eq i32 %762, 0
  br i1 %.not418, label %765, label %763

763:                                              ; preds = %761
  %764 = call noalias ptr @strdup(ptr noundef nonnull %5) #12
  br label %765

765:                                              ; preds = %761, %763
  %766 = phi ptr [ %764, %763 ], [ null, %761 ]
  %767 = getelementptr inbounds i8, ptr %759, i64 32
  store ptr %766, ptr %767, align 8, !tbaa !58
  %768 = load i32, ptr %37, align 4, !tbaa !9
  %769 = getelementptr inbounds i8, ptr %759, i64 40
  store i32 %768, ptr %769, align 8, !tbaa !68
  %770 = load i32, ptr %38, align 4, !tbaa !9
  %771 = getelementptr inbounds i8, ptr %759, i64 44
  store i32 %770, ptr %771, align 4, !tbaa !69
  %772 = getelementptr inbounds i8, ptr %759, i64 48
  %773 = load i32, ptr %39, align 4, !tbaa !9
  %774 = load i32, ptr %40, align 4, !tbaa !9
  invoke void @_ZN9RGBDImage10SetNPixelsEii(ptr noundef nonnull align 8 dereferenceable(488) %772, i32 noundef %773, i32 noundef %774)
          to label %775 unwind label %804

775:                                              ; preds = %765
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %43) #12
  invoke void @_ZN8R4MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(128) %43, ptr noundef nonnull %36)
          to label %776 unwind label %808

776:                                              ; preds = %775
  invoke void @_ZN9RGBDImage13SetExtrinsicsERK8R4Matrix(ptr noundef nonnull align 8 dereferenceable(488) %772, ptr noundef nonnull align 8 dereferenceable(128) %43)
          to label %777 unwind label %808

777:                                              ; preds = %776
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %43) #12
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %44) #12
  invoke void @_ZN8R3MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(72) %44, ptr noundef nonnull %35)
          to label %778 unwind label %810

778:                                              ; preds = %777
  invoke void @_ZN9RGBDImage13SetIntrinsicsERK8R3Matrix(ptr noundef nonnull align 8 dereferenceable(488) %772, ptr noundef nonnull align 8 dereferenceable(72) %44)
          to label %779 unwind label %810

779:                                              ; preds = %778
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %44) #12
  invoke void @_ZN9RGBDImage16SetDepthFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488) %772, ptr noundef nonnull %41)
          to label %780 unwind label %804

780:                                              ; preds = %779
  invoke void @_ZN9RGBDImage16SetColorFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488) %772, ptr noundef nonnull %42)
          to label %781 unwind label %804

781:                                              ; preds = %780
  invoke void @_ZN9RGBDImage7SetNameEPKc(ptr noundef nonnull align 8 dereferenceable(488) %772, ptr noundef nonnull %5)
          to label %782 unwind label %804

782:                                              ; preds = %781
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %45) #12
  invoke void @_ZN8R4MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(128) %45, ptr noundef nonnull %36)
          to label %783 unwind label %812

783:                                              ; preds = %782
  %784 = getelementptr inbounds i8, ptr %759, i64 536
  %785 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZN8R4MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(128) %784, ptr noundef nonnull align 8 dereferenceable(128) %45)
          to label %786 unwind label %812

786:                                              ; preds = %783
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %45) #12
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %46) #12
  invoke void @_ZN8R3MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(72) %46, ptr noundef nonnull %35)
          to label %787 unwind label %814

787:                                              ; preds = %786
  %788 = getelementptr inbounds i8, ptr %759, i64 664
  %789 = invoke noundef nonnull align 8 dereferenceable(72) ptr @_ZN8R3MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(72) %788, ptr noundef nonnull align 8 dereferenceable(72) %46)
          to label %790 unwind label %814

790:                                              ; preds = %787
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %46) #12
  %791 = load i32, ptr %39, align 4, !tbaa !9
  %792 = getelementptr inbounds i8, ptr %759, i64 736
  store i32 %791, ptr %792, align 8, !tbaa !70
  %793 = load i32, ptr %40, align 4, !tbaa !9
  %794 = getelementptr inbounds i8, ptr %759, i64 740
  store i32 %793, ptr %794, align 4, !tbaa !71
  %795 = getelementptr inbounds i8, ptr %759, i64 744
  %796 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %795, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %797 unwind label %804

797:                                              ; preds = %790
  invoke void @_ZN7MPHouse11InsertImageEP7MPImage(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %759)
          to label %798 unwind label %804

798:                                              ; preds = %797
  %799 = load i32, ptr %23, align 4, !tbaa !9
  %800 = icmp sgt i32 %799, -1
  br i1 %800, label %801, label %.critedge474

801:                                              ; preds = %798
  %802 = invoke noundef ptr @_ZNK7RNArrayIP10MPPanoramaE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %606, i32 noundef %799)
          to label %803 unwind label %816

803:                                              ; preds = %801
  invoke void @_ZN10MPPanorama11InsertImageEP7MPImage(ptr noundef nonnull align 8 dereferenceable(80) %802, ptr noundef nonnull %759)
          to label %.critedge474 unwind label %816

804:                                              ; preds = %797, %790, %781, %780, %779, %765, %752
  %805 = landingpad { ptr, i32 }
          cleanup
  br label %820

806:                                              ; preds = %760
  %807 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %759, i64 noundef 768) #15
  br label %820

808:                                              ; preds = %776, %775
  %809 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %43) #12
  br label %820

810:                                              ; preds = %778, %777
  %811 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %44) #12
  br label %820

812:                                              ; preds = %783, %782
  %813 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %45) #12
  br label %820

814:                                              ; preds = %787, %786
  %815 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %46) #12
  br label %820

816:                                              ; preds = %803, %801
  %817 = landingpad { ptr, i32 }
          cleanup
  br label %820

.critedge474:                                     ; preds = %798, %803
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %35) #12
  %818 = add nuw nsw i32 %.0359635, 1
  %819 = load i32, ptr %7, align 4, !tbaa !9
  %.not421 = icmp slt i32 %818, %819
  br i1 %.not421, label %690, label %.critedge476.preheader, !llvm.loop !72

820:                                              ; preds = %804, %806, %808, %810, %812, %814, %816, %750, %733, %721, %703
  %.pn448 = phi { ptr, i32 } [ %722, %721 ], [ %734, %733 ], [ %751, %750 ], [ %704, %703 ], [ %817, %816 ], [ %805, %804 ], [ %815, %814 ], [ %813, %812 ], [ %811, %810 ], [ %809, %808 ], [ %807, %806 ]
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %35) #12
  br label %1078

821:                                              ; preds = %748
  %822 = load ptr, ptr @stderr, align 8, !tbaa !5
  %823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %822, ptr noundef nonnull @.str.31, i32 noundef %.0359635) #11
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %35) #12
  br label %1077

.critedge478.preheader:                           ; preds = %.critedge476, %.critedge476.preheader
  %824 = load i32, ptr %12, align 4, !tbaa !9
  %.not435642 = icmp sgt i32 %824, 0
  br i1 %.not435642, label %.lr.ph644, label %.critedge480.preheader

.lr.ph644:                                        ; preds = %.critedge478.preheader
  %825 = getelementptr inbounds i8, ptr %0, i64 112
  %826 = getelementptr inbounds i8, ptr %0, i64 32
  br label %882

.lr.ph640:                                        ; preds = %.critedge476.preheader, %.critedge476
  %.0353639 = phi i32 [ %877, %.critedge476 ], [ 0, %.critedge476.preheader ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #12
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %49) #12
  call void @llvm.lifetime.start.p0(i64 1024, ptr nonnull %50) #12
  %827 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %828 unwind label %835

828:                                              ; preds = %.lr.ph640
  %829 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %830 unwind label %835

830:                                              ; preds = %828
  %831 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.34, ptr noundef nonnull %47, ptr noundef nonnull %49)
          to label %832 unwind label %835

832:                                              ; preds = %830
  %833 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.34, ptr noundef nonnull %48, ptr noundef nonnull %50)
          to label %.preheader491.preheader unwind label %835

.preheader491.preheader:                          ; preds = %832
  %834 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader491.1 unwind label %843

835:                                              ; preds = %832, %830, %828, %.lr.ph640
  %836 = landingpad { ptr, i32 }
          cleanup
  br label %879

.preheader491.1:                                  ; preds = %.preheader491.preheader
  %837 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader491.2 unwind label %843

.preheader491.2:                                  ; preds = %.preheader491.1
  %838 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader491.3 unwind label %843

.preheader491.3:                                  ; preds = %.preheader491.2
  %839 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader491.4 unwind label %843

.preheader491.4:                                  ; preds = %.preheader491.3
  %840 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %841 unwind label %843

841:                                              ; preds = %.preheader491.4
  %842 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.35) #13
  %.not422 = icmp eq i32 %842, 0
  br i1 %.not422, label %.preheader490, label %.thread485

843:                                              ; preds = %.preheader491.4, %.preheader491.3, %.preheader491.2, %.preheader491.1, %.preheader491.preheader
  %844 = landingpad { ptr, i32 }
          cleanup
  br label %879

.thread485:                                       ; preds = %841
  %845 = load ptr, ptr @stderr, align 8, !tbaa !5
  %846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %845, ptr noundef nonnull @.str.36, i32 noundef %.0353639) #11
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #12
  br label %1077

.preheader490:                                    ; preds = %841, %849
  %.0351 = phi ptr [ %850, %849 ], [ %49, %841 ]
  %847 = load i8, ptr %.0351, align 1, !tbaa !73
  switch i8 %847, label %849 [
    i8 0, label %.preheader489
    i8 35, label %848
  ]

848:                                              ; preds = %.preheader490
  store i8 32, ptr %.0351, align 1, !tbaa !73
  br label %849

849:                                              ; preds = %.preheader490, %848
  %850 = getelementptr inbounds i8, ptr %.0351, i64 1
  br label %.preheader490, !llvm.loop !74

.preheader489:                                    ; preds = %.preheader490, %853
  %.0350 = phi ptr [ %854, %853 ], [ %50, %.preheader490 ]
  %851 = load i8, ptr %.0350, align 1, !tbaa !73
  switch i8 %851, label %853 [
    i8 0, label %855
    i8 35, label %852
  ]

852:                                              ; preds = %.preheader489
  store i8 32, ptr %.0350, align 1, !tbaa !73
  br label %853

853:                                              ; preds = %.preheader489, %852
  %854 = getelementptr inbounds i8, ptr %.0350, i64 1
  br label %.preheader489, !llvm.loop !75

855:                                              ; preds = %.preheader489
  %856 = invoke noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #14
          to label %857 unwind label %867

857:                                              ; preds = %855
  invoke void @_ZN10MPCategoryC1Ev(ptr noundef nonnull align 8 dereferenceable(64) %856)
          to label %858 unwind label %869

858:                                              ; preds = %857
  %859 = load i32, ptr %47, align 4, !tbaa !9
  %860 = getelementptr inbounds i8, ptr %856, i64 32
  store i32 %859, ptr %860, align 8, !tbaa !76
  %861 = load i32, ptr %48, align 4, !tbaa !9
  %862 = getelementptr inbounds i8, ptr %856, i64 48
  store i32 %861, ptr %862, align 8, !tbaa !78
  %863 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %49, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not425 = icmp eq i32 %863, 0
  br i1 %.not425, label %871, label %864

864:                                              ; preds = %858
  %865 = call noalias ptr @strdup(ptr noundef nonnull %49) #12
  %866 = getelementptr inbounds i8, ptr %856, i64 40
  store ptr %865, ptr %866, align 8, !tbaa !79
  br label %871

867:                                              ; preds = %876, %855
  %868 = landingpad { ptr, i32 }
          cleanup
  br label %879

869:                                              ; preds = %857
  %870 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %856, i64 noundef 64) #15
  br label %879

871:                                              ; preds = %864, %858
  %872 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %50, ptr noundef nonnull dereferenceable(1) @.str.15) #13
  %.not426 = icmp eq i32 %872, 0
  br i1 %.not426, label %876, label %873

873:                                              ; preds = %871
  %874 = call noalias ptr @strdup(ptr noundef nonnull %50) #12
  %875 = getelementptr inbounds i8, ptr %856, i64 56
  store ptr %874, ptr %875, align 8, !tbaa !80
  br label %876

876:                                              ; preds = %873, %871
  invoke void @_ZN7MPHouse14InsertCategoryEP10MPCategory(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %856)
          to label %.critedge476 unwind label %867

.critedge476:                                     ; preds = %876
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #12
  %877 = add nuw nsw i32 %.0353639, 1
  %878 = load i32, ptr %13, align 4, !tbaa !9
  %.not429 = icmp slt i32 %877, %878
  br i1 %.not429, label %.lr.ph640, label %.critedge478.preheader, !llvm.loop !81

879:                                              ; preds = %867, %869, %843, %835
  %.pn446 = phi { ptr, i32 } [ %844, %843 ], [ %836, %835 ], [ %868, %867 ], [ %870, %869 ]
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #12
  br label %1078

.critedge480.preheader:                           ; preds = %.critedge478, %.critedge478.preheader
  %880 = load i32, ptr %11, align 4, !tbaa !9
  %.not439646 = icmp sgt i32 %880, 0
  br i1 %.not439646, label %.lr.ph648, label %.critedge482

.lr.ph648:                                        ; preds = %.critedge480.preheader
  %881 = getelementptr inbounds i8, ptr %0, i64 64
  br label %996

882:                                              ; preds = %.lr.ph644, %.critedge478
  %.0348643 = phi i32 [ 0, %.lr.ph644 ], [ %988, %.critedge478 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51) #12
  invoke void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %51)
          to label %883 unwind label %926

883:                                              ; preds = %882
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #12
  invoke void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %884 unwind label %928

884:                                              ; preds = %883
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #12
  invoke void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24) %53)
          to label %885 unwind label %930

885:                                              ; preds = %884
  %886 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %887 unwind label %930

887:                                              ; preds = %885
  %888 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %889 unwind label %930

889:                                              ; preds = %887
  %890 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %19)
          to label %891 unwind label %930

891:                                              ; preds = %889
  %892 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %21)
          to label %893 unwind label %930

893:                                              ; preds = %891
  %894 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %895 unwind label %930

895:                                              ; preds = %893
  %896 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %897 unwind label %930

897:                                              ; preds = %895
  %898 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %899 unwind label %930

899:                                              ; preds = %897
  %900 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %894, ptr noundef nonnull %896, ptr noundef nonnull %898)
          to label %901 unwind label %930

901:                                              ; preds = %899
  %902 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 0)
          to label %903 unwind label %930

903:                                              ; preds = %901
  %904 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 1)
          to label %905 unwind label %930

905:                                              ; preds = %903
  %906 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %51, i32 noundef 2)
          to label %907 unwind label %930

907:                                              ; preds = %905
  %908 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %902, ptr noundef nonnull %904, ptr noundef nonnull %906)
          to label %909 unwind label %930

909:                                              ; preds = %907
  %910 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 0)
          to label %911 unwind label %930

911:                                              ; preds = %909
  %912 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 1)
          to label %913 unwind label %930

913:                                              ; preds = %911
  %914 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %52, i32 noundef 2)
          to label %915 unwind label %930

915:                                              ; preds = %913
  %916 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %910, ptr noundef nonnull %912, ptr noundef nonnull %914)
          to label %917 unwind label %930

917:                                              ; preds = %915
  %918 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 0)
          to label %919 unwind label %930

919:                                              ; preds = %917
  %920 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 1)
          to label %921 unwind label %930

921:                                              ; preds = %919
  %922 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 2)
          to label %923 unwind label %930

923:                                              ; preds = %921
  %924 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %918, ptr noundef nonnull %920, ptr noundef nonnull %922)
          to label %.preheader488.preheader unwind label %930

.preheader488.preheader:                          ; preds = %923
  %925 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader488.1 unwind label %941

926:                                              ; preds = %882
  %927 = landingpad { ptr, i32 }
          cleanup
  br label %992

928:                                              ; preds = %883
  %929 = landingpad { ptr, i32 }
          cleanup
  br label %991

930:                                              ; preds = %923, %921, %919, %917, %915, %913, %911, %909, %907, %905, %903, %901, %899, %897, %895, %893, %891, %889, %887, %885, %884
  %931 = landingpad { ptr, i32 }
          cleanup
  br label %990

.preheader488.1:                                  ; preds = %.preheader488.preheader
  %932 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader488.2 unwind label %941

.preheader488.2:                                  ; preds = %.preheader488.1
  %933 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader488.3 unwind label %941

.preheader488.3:                                  ; preds = %.preheader488.2
  %934 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader488.4 unwind label %941

.preheader488.4:                                  ; preds = %.preheader488.3
  %935 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader488.5 unwind label %941

.preheader488.5:                                  ; preds = %.preheader488.4
  %936 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader488.6 unwind label %941

.preheader488.6:                                  ; preds = %.preheader488.5
  %937 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader488.7 unwind label %941

.preheader488.7:                                  ; preds = %.preheader488.6
  %938 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %939 unwind label %941

939:                                              ; preds = %.preheader488.7
  %940 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.37) #13
  %.not430 = icmp eq i32 %940, 0
  br i1 %.not430, label %943, label %993

941:                                              ; preds = %.preheader488.7, %.preheader488.6, %.preheader488.5, %.preheader488.4, %.preheader488.3, %.preheader488.2, %.preheader488.1, %.preheader488.preheader
  %942 = landingpad { ptr, i32 }
          cleanup
  br label %990

943:                                              ; preds = %939
  %944 = invoke noalias noundef nonnull dereferenceable(216) ptr @_Znwm(i64 noundef 216) #14
          to label %945 unwind label %969

945:                                              ; preds = %943
  invoke void @_ZN8MPObjectC1Ev(ptr noundef nonnull align 8 dereferenceable(216) %944)
          to label %946 unwind label %971

946:                                              ; preds = %945
  %947 = getelementptr inbounds i8, ptr %944, i64 64
  %948 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %947, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %949 unwind label %969

949:                                              ; preds = %946
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %54) #12
  %950 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 0)
          to label %951 unwind label %973

951:                                              ; preds = %949
  %952 = load double, ptr %950, align 8, !tbaa !39
  %953 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 1)
          to label %954 unwind label %973

954:                                              ; preds = %951
  %955 = load double, ptr %953, align 8, !tbaa !39
  %956 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN8R3VectorixEi(ptr noundef nonnull align 8 dereferenceable(24) %53, i32 noundef 2)
          to label %957 unwind label %973

957:                                              ; preds = %954
  %958 = load double, ptr %956, align 8, !tbaa !39
  invoke void @_ZN13R3OrientedBoxC1ERK7R3PointRK8R3VectorS5_ddd(ptr noundef nonnull align 8 dereferenceable(128) %54, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %52, double noundef %952, double noundef %955, double noundef %958)
          to label %959 unwind label %973

959:                                              ; preds = %957
  %960 = getelementptr inbounds i8, ptr %944, i64 88
  %961 = invoke noundef nonnull align 8 dereferenceable(128) ptr @_ZN13R3OrientedBoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(128) %960, ptr noundef nonnull align 8 dereferenceable(128) %54)
          to label %962 unwind label %975

962:                                              ; preds = %959
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(128) %54) #12
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %54) #12
  invoke void @_ZN7MPHouse12InsertObjectEP8MPObject(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %944)
          to label %963 unwind label %969

963:                                              ; preds = %962
  %964 = load i32, ptr %19, align 4, !tbaa !9
  %965 = icmp sgt i32 %964, -1
  br i1 %965, label %966, label %980

966:                                              ; preds = %963
  %967 = invoke noundef ptr @_ZNK7RNArrayIP8MPRegionE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %825, i32 noundef %964)
          to label %968 unwind label %978

968:                                              ; preds = %966
  invoke void @_ZN8MPRegion12InsertObjectEP8MPObject(ptr noundef nonnull align 8 dereferenceable(192) %967, ptr noundef nonnull %944)
          to label %980 unwind label %978

969:                                              ; preds = %962, %946, %943
  %970 = landingpad { ptr, i32 }
          cleanup
  br label %990

971:                                              ; preds = %945
  %972 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %944, i64 noundef 216) #15
  br label %990

973:                                              ; preds = %957, %954, %951, %949
  %974 = landingpad { ptr, i32 }
          cleanup
  br label %977

975:                                              ; preds = %959
  %976 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(128) %54) #12
  br label %977

977:                                              ; preds = %975, %973
  %.pn431 = phi { ptr, i32 } [ %976, %975 ], [ %974, %973 ]
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %54) #12
  br label %990

978:                                              ; preds = %968, %966
  %979 = landingpad { ptr, i32 }
          cleanup
  br label %990

980:                                              ; preds = %968, %963
  %981 = load i32, ptr %21, align 4, !tbaa !9
  %982 = icmp sgt i32 %981, -1
  br i1 %982, label %983, label %.critedge478

983:                                              ; preds = %980
  %984 = invoke noundef ptr @_ZNK7RNArrayIP10MPCategoryE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %826, i32 noundef %981)
          to label %985 unwind label %986

985:                                              ; preds = %983
  invoke void @_ZN10MPCategory12InsertObjectEP8MPObject(ptr noundef nonnull align 8 dereferenceable(64) %984, ptr noundef nonnull %944)
          to label %.critedge478 unwind label %986

986:                                              ; preds = %985, %983
  %987 = landingpad { ptr, i32 }
          cleanup
  br label %990

.critedge478:                                     ; preds = %980, %985
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #12
  %988 = add nuw nsw i32 %.0348643, 1
  %989 = load i32, ptr %12, align 4, !tbaa !9
  %.not435 = icmp slt i32 %988, %989
  br i1 %.not435, label %882, label %.critedge480.preheader, !llvm.loop !82

990:                                              ; preds = %969, %971, %977, %978, %986, %941, %930
  %.pn442 = phi { ptr, i32 } [ %942, %941 ], [ %931, %930 ], [ %987, %986 ], [ %979, %978 ], [ %970, %969 ], [ %.pn431, %977 ], [ %972, %971 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #12
  br label %991

991:                                              ; preds = %990, %928
  %.pn442.pn = phi { ptr, i32 } [ %.pn442, %990 ], [ %929, %928 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #12
  br label %992

992:                                              ; preds = %991, %926
  %.pn442.pn.pn = phi { ptr, i32 } [ %.pn442.pn, %991 ], [ %927, %926 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #12
  br label %1078

993:                                              ; preds = %939
  %994 = load ptr, ptr @stderr, align 8, !tbaa !5
  %995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %994, ptr noundef nonnull @.str.38, i32 noundef %.0348643) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #12
  br label %1077

996:                                              ; preds = %.lr.ph648, %.critedge480
  %.0300647 = phi i32 [ 0, %.lr.ph648 ], [ %1074, %.critedge480 ]
  %997 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.6, ptr noundef nonnull %3)
          to label %998 unwind label %1035

998:                                              ; preds = %996
  %999 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %17)
          to label %1000 unwind label %1035

1000:                                             ; preds = %998
  %1001 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %22)
          to label %1002 unwind label %1035

1002:                                             ; preds = %1000
  %1003 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %24)
          to label %1004 unwind label %1035

1004:                                             ; preds = %1002
  %1005 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.20, ptr noundef nonnull %27)
          to label %1006 unwind label %1035

1006:                                             ; preds = %1004
  %1007 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 0)
          to label %1008 unwind label %1035

1008:                                             ; preds = %1006
  %1009 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 1)
          to label %1010 unwind label %1035

1010:                                             ; preds = %1008
  %1011 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %28, i32 noundef 2)
          to label %1012 unwind label %1035

1012:                                             ; preds = %1010
  %1013 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.16, ptr noundef nonnull %1007, ptr noundef nonnull %1009, ptr noundef nonnull %1011)
          to label %1014 unwind label %1035

1014:                                             ; preds = %1012
  %1015 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %1016 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1015, i32 noundef 0)
          to label %1017 unwind label %1035

1017:                                             ; preds = %1014
  %1018 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %1019 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1018, i32 noundef 1)
          to label %1020 unwind label %1035

1020:                                             ; preds = %1017
  %1021 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 0)
  %1022 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1021, i32 noundef 2)
          to label %1023 unwind label %1035

1023:                                             ; preds = %1020
  %1024 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %1025 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1024, i32 noundef 0)
          to label %1026 unwind label %1035

1026:                                             ; preds = %1023
  %1027 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %1028 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1027, i32 noundef 1)
          to label %1029 unwind label %1035

1029:                                             ; preds = %1026
  %1030 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN5R3BoxixEi(ptr noundef nonnull align 8 dereferenceable(56) %30, i32 noundef 1)
  %1031 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN7R3PointixEi(ptr noundef nonnull align 8 dereferenceable(24) %1030, i32 noundef 2)
          to label %1032 unwind label %1035

1032:                                             ; preds = %1029
  %1033 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.14, ptr noundef nonnull %1016, ptr noundef nonnull %1019, ptr noundef nonnull %1022, ptr noundef nonnull %1025, ptr noundef nonnull %1028, ptr noundef nonnull %1031)
          to label %.preheader.preheader unwind label %1035

.preheader.preheader:                             ; preds = %1032
  %1034 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader.1 unwind label %1043

1035:                                             ; preds = %1032, %1029, %1026, %1023, %1020, %1017, %1014, %1012, %1010, %1008, %1006, %1004, %1002, %1000, %998, %996
  %1036 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.preheader.1:                                     ; preds = %.preheader.preheader
  %1037 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader.2 unwind label %1043

.preheader.2:                                     ; preds = %.preheader.1
  %1038 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader.3 unwind label %1043

.preheader.3:                                     ; preds = %.preheader.2
  %1039 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %.preheader.4 unwind label %1043

.preheader.4:                                     ; preds = %.preheader.3
  %1040 = invoke i32 (ptr, ptr, ...) @__isoc99_fscanf(ptr noundef %55, ptr noundef nonnull @.str.13, ptr noundef nonnull %25)
          to label %1041 unwind label %1043

1041:                                             ; preds = %.preheader.4
  %1042 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %3, ptr noundef nonnull dereferenceable(1) @.str.39) #13
  %.not436 = icmp eq i32 %1042, 0
  br i1 %.not436, label %1048, label %1045

1043:                                             ; preds = %.preheader.4, %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %1044 = landingpad { ptr, i32 }
          cleanup
  br label %1078

1045:                                             ; preds = %1041
  %1046 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1046, ptr noundef nonnull @.str.40, i32 noundef %.0300647) #11
  br label %1077

1048:                                             ; preds = %1041
  %1049 = invoke noalias noundef nonnull dereferenceable(152) ptr @_Znwm(i64 noundef 152) #14
          to label %1050 unwind label %1068

1050:                                             ; preds = %1048
  invoke void @_ZN9MPSegmentC1Ev(ptr noundef nonnull align 8 dereferenceable(148) %1049)
          to label %1051 unwind label %1070

1051:                                             ; preds = %1050
  %1052 = load i32, ptr %24, align 4, !tbaa !9
  %1053 = getelementptr inbounds i8, ptr %1049, i64 144
  store i32 %1052, ptr %1053, align 8, !tbaa !83
  %1054 = load double, ptr %27, align 8, !tbaa !39
  %1055 = getelementptr inbounds i8, ptr %1049, i64 56
  store double %1054, ptr %1055, align 8, !tbaa !86
  %1056 = getelementptr inbounds i8, ptr %1049, i64 64
  %1057 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24) %1056, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %1058 unwind label %1068

1058:                                             ; preds = %1051
  %1059 = getelementptr inbounds i8, ptr %1049, i64 88
  %1060 = invoke noundef nonnull align 8 dereferenceable(56) ptr @_ZN5R3BoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(56) %1059, ptr noundef nonnull align 8 dereferenceable(56) %30)
          to label %1061 unwind label %1068

1061:                                             ; preds = %1058
  invoke void @_ZN7MPHouse13InsertSegmentEP9MPSegment(ptr noundef nonnull align 8 dereferenceable(376) %0, ptr noundef nonnull %1049)
          to label %1062 unwind label %1068

1062:                                             ; preds = %1061
  %1063 = load i32, ptr %22, align 4, !tbaa !9
  %1064 = icmp sgt i32 %1063, -1
  br i1 %1064, label %1065, label %.critedge480

1065:                                             ; preds = %1062
  %1066 = invoke noundef ptr @_ZNK7RNArrayIP8MPObjectE3KthEi(ptr noundef nonnull align 8 dereferenceable(16) %881, i32 noundef %1063)
          to label %1067 unwind label %1072

1067:                                             ; preds = %1065
  invoke void @_ZN8MPObject13InsertSegmentEP9MPSegment(ptr noundef nonnull align 8 dereferenceable(216) %1066, ptr noundef nonnull %1049)
          to label %.critedge480 unwind label %1072

1068:                                             ; preds = %1061, %1058, %1051, %1048
  %1069 = landingpad { ptr, i32 }
          cleanup
  br label %1078

1070:                                             ; preds = %1050
  %1071 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %1049, i64 noundef 152) #15
  br label %1078

1072:                                             ; preds = %1067, %1065
  %1073 = landingpad { ptr, i32 }
          cleanup
  br label %1078

.critedge480:                                     ; preds = %1067, %1062
  %1074 = add nuw nsw i32 %.0300647, 1
  %1075 = load i32, ptr %11, align 4, !tbaa !9
  %.not439 = icmp slt i32 %1074, %1075
  br i1 %.not439, label %996, label %.critedge482, !llvm.loop !87

.critedge482:                                     ; preds = %.critedge480, %.critedge480.preheader
  %1076 = call i32 @fclose(ptr noundef %55)
  br label %1077

1077:                                             ; preds = %1045, %993, %.thread485, %821, %659, %572, %501, %439, %319, %241, %.critedge482, %63
  %.18 = phi i32 [ 0, %63 ], [ 1, %.critedge482 ], [ 0, %1045 ], [ 0, %993 ], [ 0, %821 ], [ 0, %659 ], [ 0, %572 ], [ 0, %501 ], [ 0, %439 ], [ 0, %319 ], [ 0, %241 ], [ 0, %.thread485 ]
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %30) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %3) #12
  br label %1079

1078:                                             ; preds = %1035, %1043, %1072, %1070, %1068, %649, %657, %685, %683, %681, %564, %570, %601, %599, %597, %491, %499, %533, %531, %529, %310, %317, %357, %355, %353, %231, %239, %265, %263, %992, %879, %820, %438, %176, %152, %116, %66
  %.pn463 = phi { ptr, i32 } [ %153, %152 ], [ %177, %176 ], [ %.pn456.pn, %438 ], [ %.pn448, %820 ], [ %.pn446, %879 ], [ %.pn442.pn.pn, %992 ], [ %67, %66 ], [ %117, %116 ], [ %240, %239 ], [ %232, %231 ], [ %264, %263 ], [ %266, %265 ], [ %318, %317 ], [ %311, %310 ], [ %358, %357 ], [ %354, %353 ], [ %356, %355 ], [ %500, %499 ], [ %492, %491 ], [ %534, %533 ], [ %530, %529 ], [ %532, %531 ], [ %571, %570 ], [ %565, %564 ], [ %602, %601 ], [ %598, %597 ], [ %600, %599 ], [ %658, %657 ], [ %650, %649 ], [ %686, %685 ], [ %682, %681 ], [ %684, %683 ], [ %1044, %1043 ], [ %1036, %1035 ], [ %1073, %1072 ], [ %1069, %1068 ], [ %1071, %1070 ]
  call void @_ZN7R3SolidD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %30) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %3) #12
  resume { ptr, i32 } %.pn463

1079:                                             ; preds = %1077, %56
  %.19 = phi i32 [ %.18, %1077 ], [ 0, %56 ]
  ret i32 %.19
}

declare void @_ZN7R3PointC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

declare void @_ZN8R3VectorC1Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2

declare void @_ZN5R3BoxC1Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #10

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN7R3PointaSERKS_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK5R3Box4ZMaxEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #6 align 2

declare void @_ZN6R3Span5ResetERK7R3PointS2_(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN8R3VectoraSERKS_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

; Function Attrs: nofree nounwind
declare noundef i32 @sprintf(ptr noalias nocapture noundef writeonly, ptr nocapture noundef readonly, ...) local_unnamed_addr #9

declare void @_ZN9RGBDImage10SetNPixelsEii(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef, i32 noundef) unnamed_addr #2

declare void @_ZN9RGBDImage13SetExtrinsicsERK8R4Matrix(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(128)) unnamed_addr #2

declare void @_ZN8R4MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage13SetIntrinsicsERK8R3Matrix(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #2

declare void @_ZN8R3MatrixC1EPKd(ptr noundef nonnull align 8 dereferenceable(72), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage16SetDepthFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage16SetColorFilenameEPKc(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef) unnamed_addr #2

declare void @_ZN9RGBDImage7SetNameEPKc(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef) unnamed_addr #2

declare noundef nonnull align 8 dereferenceable(128) ptr @_ZN8R4MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #2

declare noundef nonnull align 8 dereferenceable(72) ptr @_ZN8R3MatrixaSERKS_(ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(128) ptr @_ZN13R3OrientedBoxaSERKS_(ptr noundef nonnull align 8 dereferenceable(128), ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #5 align 2

declare void @_ZN7MPImageC1Ev(ptr) local_unnamed_addr

declare void @_ZN10MPPanoramaC1Ev(ptr) local_unnamed_addr

declare void @_ZN9MPSegmentC1Ev(ptr) local_unnamed_addr

declare void @_ZN8MPObjectC1Ev(ptr) local_unnamed_addr

declare void @_ZN10MPCategoryC1Ev(ptr) local_unnamed_addr

declare void @_ZN8MPVertexC1Ev(ptr) local_unnamed_addr

declare void @_ZN9MPSurfaceC1Ev(ptr) local_unnamed_addr

declare void @_ZN8MPRegionC1Ev(ptr) local_unnamed_addr

declare void @_ZN8MPPortalC1Ev(ptr) local_unnamed_addr

declare void @_ZN7MPLevelC1Ev(ptr) local_unnamed_addr

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { mustprogress nofree nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "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 #8 = { mustprogress nofree nounwind willreturn memory(argmem: read) "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 #9 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nobuiltin allocsize(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 #11 = { cold nounwind }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(read) }
attributes #14 = { builtin allocsize(0) }
attributes #15 = { builtin 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 = !{!"int", !7, i64 0}
!11 = !{!12, !6, i64 368}
!12 = !{!"_ZTS7MPHouse", !13, i64 0, !15, i64 16, !16, i64 32, !17, i64 48, !18, i64 64, !19, i64 80, !20, i64 96, !21, i64 112, !22, i64 128, !23, i64 144, !24, i64 160, !6, i64 288, !6, i64 296, !27, i64 304, !6, i64 360, !6, i64 368}
!13 = !{!"_ZTS7RNArrayIP7MPImageE", !14, i64 0}
!14 = !{!"_ZTS8RNVArray", !6, i64 0, !10, i64 8, !10, i64 12}
!15 = !{!"_ZTS7RNArrayIP10MPPanoramaE", !14, i64 0}
!16 = !{!"_ZTS7RNArrayIP10MPCategoryE", !14, i64 0}
!17 = !{!"_ZTS7RNArrayIP9MPSegmentE", !14, i64 0}
!18 = !{!"_ZTS7RNArrayIP8MPObjectE", !14, i64 0}
!19 = !{!"_ZTS7RNArrayIP8MPVertexE", !14, i64 0}
!20 = !{!"_ZTS7RNArrayIP9MPSurfaceE", !14, i64 0}
!21 = !{!"_ZTS7RNArrayIP8MPRegionE", !14, i64 0}
!22 = !{!"_ZTS7RNArrayIP8MPPortalE", !14, i64 0}
!23 = !{!"_ZTS7RNArrayIP7MPLevelE", !14, i64 0}
!24 = !{!"_ZTS17RGBDConfiguration", !25, i64 8, !26, i64 24, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !27, i64 72}
!25 = !{!"_ZTS7RNArrayIP9RGBDImageE", !14, i64 0}
!26 = !{!"_ZTS7RNArrayIP11RGBDSurfaceE", !14, i64 0}
!27 = !{!"_ZTS5R3Box", !28, i64 0, !30, i64 8, !30, i64 32}
!28 = !{!"_ZTS7R3Solid", !29, i64 0}
!29 = !{!"_ZTS7R3Shape"}
!30 = !{!"_ZTS7R3Point", !7, i64 0}
!31 = !{!12, !6, i64 360}
!32 = !{!33, !6, i64 112}
!33 = !{!"_ZTS7MPLevel", !6, i64 0, !10, i64 8, !21, i64 16, !30, i64 32, !27, i64 56, !6, i64 112}
!34 = distinct !{!34, !35}
!35 = !{!"llvm.loop.mustprogress"}
!36 = !{!37, !6, i64 184}
!37 = !{!"_ZTS8MPRegion", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !15, i64 32, !20, i64 48, !18, i64 64, !22, i64 80, !30, i64 96, !38, i64 120, !27, i64 128, !6, i64 184}
!38 = !{!"double", !7, i64 0}
!39 = !{!38, !38, i64 0}
!40 = !{!37, !38, i64 120}
!41 = distinct !{!41, !35}
!42 = !{!43, !6, i64 120}
!43 = !{!"_ZTS8MPPortal", !6, i64 0, !10, i64 8, !7, i64 16, !7, i64 32, !44, i64 40, !6, i64 120}
!44 = !{!"_ZTS6R3Span", !45, i64 0, !30, i64 48, !38, i64 72}
!45 = !{!"_ZTS5R3Ray", !46, i64 0}
!46 = !{!"_ZTS6R3Line", !30, i64 0, !47, i64 24}
!47 = !{!"_ZTS8R3Vector", !7, i64 0}
!48 = distinct !{!48, !35}
!49 = !{!50, !6, i64 152}
!50 = !{!"_ZTS9MPSurface", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !19, i64 32, !30, i64 48, !47, i64 72, !27, i64 96, !6, i64 152}
!51 = distinct !{!51, !35}
!52 = !{!53, !6, i64 80}
!53 = !{!"_ZTS8MPVertex", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !30, i64 32, !47, i64 56, !6, i64 80}
!54 = distinct !{!54, !35}
!55 = !{!56, !6, i64 32}
!56 = !{!"_ZTS10MPPanorama", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !6, i64 32, !13, i64 40, !30, i64 56}
!57 = distinct !{!57, !35}
!58 = !{!59, !6, i64 32}
!59 = !{!"_ZTS7MPImage", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !6, i64 32, !10, i64 40, !10, i64 44, !60, i64 48, !64, i64 536, !67, i64 664, !10, i64 736, !10, i64 740, !30, i64 744}
!60 = !{!"_ZTS9RGBDImage", !6, i64 8, !10, i64 16, !61, i64 24, !10, i64 40, !10, i64 44, !62, i64 48, !67, i64 320, !27, i64 392, !10, i64 448, !6, i64 456, !6, i64 464, !6, i64 472, !10, i64 480, !10, i64 484}
!61 = !{!"_ZTS7RNArrayIP6R2GridE", !14, i64 0}
!62 = !{!"_ZTS8R3Affine", !63, i64 0, !64, i64 8, !64, i64 136, !65, i64 264}
!63 = !{!"_ZTS16R3Transformation"}
!64 = !{!"_ZTS8R4Matrix", !7, i64 0}
!65 = !{!"_ZTS7RNFlags", !66, i64 0}
!66 = !{!"long", !7, i64 0}
!67 = !{!"_ZTS8R3Matrix", !7, i64 0}
!68 = !{!59, !10, i64 40}
!69 = !{!59, !10, i64 44}
!70 = !{!59, !10, i64 736}
!71 = !{!59, !10, i64 740}
!72 = distinct !{!72, !35}
!73 = !{!7, !7, i64 0}
!74 = distinct !{!74, !35}
!75 = distinct !{!75, !35}
!76 = !{!77, !10, i64 32}
!77 = !{!"_ZTS10MPCategory", !6, i64 0, !10, i64 8, !18, i64 16, !10, i64 32, !6, i64 40, !10, i64 48, !6, i64 56}
!78 = !{!77, !10, i64 48}
!79 = !{!77, !6, i64 40}
!80 = !{!77, !6, i64 56}
!81 = distinct !{!81, !35}
!82 = distinct !{!82, !35}
!83 = !{!84, !10, i64 144}
!84 = !{!"_ZTS9MPSegment", !6, i64 0, !10, i64 8, !6, i64 16, !10, i64 24, !6, i64 32, !85, i64 40, !38, i64 56, !30, i64 64, !27, i64 88, !10, i64 144}
!85 = !{!"_ZTS7RNArrayIP10R3MeshFaceE", !14, i64 0}
!86 = !{!84, !38, i64 56}
!87 = distinct !{!87, !35}


; Effective O3 passes: ConstraintEliminationPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass