Skip to content

Instantly share code, notes, and snippets.

@pcwalton
Created November 6, 2022 00:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pcwalton/38ff053dd1973ca383b85183e13de0fc to your computer and use it in GitHub Desktop.
Save pcwalton/38ff053dd1973ca383b85183e13de0fc to your computer and use it in GitHub Desktop.
backtrace::symbolize::gimli::macho::Object::parse, NO argument promotion
; ModuleID = '<stdin>'
source_filename = "backtrace.e3abbc31-cgu.0"
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.7.0"
%0 = type { [1 x i64], ptr, [1 x i64] }
%1 = type { %2, %3, i64 }
%2 = type {}
%3 = type { %4, %4 }
%4 = type { i64, [3 x i64] }
%5 = type { ptr, [11 x i64], [11 x %6], i16, i16, [2 x i16] }
%6 = type { [14 x i64] }
%7 = type { i64, %8, i16, i8, [5 x i8] }
%8 = type { i64, [11 x i64] }
%9 = type { [184 x i8], i8, [71 x i8] }
%10 = type { [1 x i64], { ptr, i64 } }
%11 = type { [1 x i64], %12 }
%12 = type { ptr, [3 x i64] }
%13 = type { i64, %14, %24, %27, { i16, i16 }, [2 x i16] }
%14 = type { %15, %18, { ptr, i64 }, { ptr, i64 }, i64, i64, i64, i64, i64, %23, { i64, i64 } }
%15 = type { i64, %16, i64, { i64, i64 }, { ptr, i64 }, %17, [2 x i16] }
%16 = type { i64, [2 x i64] }
%17 = type { i8, i8, i16 }
%18 = type { %19, %20 }
%19 = type { { ptr, i64 }, i64 }
%20 = type { %21, %22, { i64, ptr }, i64 }
%21 = type { %2 }
%22 = type {}
%23 = type { [21 x i64], i64, [9 x i64] }
%24 = type { %25 }
%25 = type { %26 }
%26 = type { i64, [4 x i64] }
%27 = type { %28 }
%28 = type { %29 }
%29 = type { i64, [4 x i64] }
%30 = type { %31, %32, ptr, ptr }
%31 = type { { ptr, i64 }, i64 }
%32 = type { { ptr, i64 }, i64 }
%33 = type { i64, i64, i64, { ptr, i64 }, %35, %34, %35, %36, { ptr, i64 }, { ptr, i64 }, %37, %17, %38, i8, [6 x i8] }
%34 = type { { ptr, i64 }, i64 }
%35 = type { { ptr, i64 }, i64 }
%36 = type { { ptr, i64 }, i64 }
%37 = type { i64, [7 x i64] }
%38 = type { i8, i8, i8, i8, i8 }
%39 = type { %40 }
%40 = type { %41 }
%41 = type { i64, [7 x i64] }
%42 = type { { ptr, i64 }, { ptr, i64 } }
%43 = type { [1 x i64], %44 }
%44 = type { ptr, [3 x i64] }
%45 = type { %46, %48 }
%46 = type { %47 }
%47 = type { { ptr, i64 }, i64 }
%48 = type { { ptr, i64 }, i64 }
%49 = type { %50, %51 }
%50 = type { %30 }
%51 = type { %52, { ptr, i64 }, { ptr, i64 }, %53, %54, { ptr, i64 }, i8, [7 x i8] }
%52 = type {}
%53 = type { { ptr, i64 }, i64 }
%54 = type { ptr, [5 x i64] }
%55 = type { %49, { ptr, i64 }, %56 }
%56 = type { %57, %59 }
%57 = type { %58 }
%58 = type { { ptr, i64 }, i64 }
%59 = type { %60 }
%60 = type { i64, [2 x i64] }
%61 = type { { ptr, i64 }, i64 }
%62 = type { %61 }
%63 = type { i64, i64, { ptr, i64 } }
%64 = type { [184 x i8], i8, [71 x i8] }
%65 = type { { ptr, i64 }, { ptr, i64 } }
%66 = type { %67 }
%67 = type { i64, i64, { ptr, i64 }, i64 }
%68 = type { { { ptr, i64 }, i64 } }
%69 = type { [3 x i64] }
%70 = type { [5 x i64] }
%71 = type { ptr, [5 x i64] }
%72 = type {}
%73 = type { %5, [12 x ptr] }
%74 = type { [1 x i64], { i64, ptr } }
%75 = type { [1 x i64], %76 }
%76 = type { %77, { i64, ptr }, i64 }
%77 = type {}
%78 = type { %79, %79, %80 }
%79 = type { i64 }
%80 = type { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, %81, %82, ptr, i8, [7 x i8] }
%81 = type { { ptr, i64 }, { ptr, i64 } }
%82 = type { { ptr, i64 }, { ptr, i64 } }
%83 = type { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }
%84 = type { [2 x i64], i64 }
%85 = type { [1 x i64], { i64, i64 } }
%86 = type { [1 x i64], { ptr, i64 } }
%87 = type { i64, [2 x i64] }
%88 = type { { ptr, i64 }, i64 }
%89 = type { [120 x i8], i8, [7 x i8] }
%90 = type { %91, %91 }
%91 = type { %92, [4 x i8] }
%92 = type {}
%93 = type { %91, %91, [16 x i8], %94, %94, %94, %94, %91, %91, %91, %91 }
%94 = type { %92, [8 x i8] }
%95 = type { %91, %91, %91, %91, %91, %91 }
%96 = type { %91, i8, i8, %97, %94 }
%97 = type { %92, [2 x i8] }
@anon.0f79382001bad1c9081319f05be50b13.0 = external hidden unnamed_addr constant <{}>, align 8
@anon.0f79382001bad1c9081319f05be50b13.14 = external hidden unnamed_addr constant <{ [43 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.20 = external hidden unnamed_addr constant <{ [166 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.21 = external hidden unnamed_addr constant <{ [112 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.27 = external hidden unnamed_addr constant <{ [166 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.28 = external hidden unnamed_addr constant <{ [101 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.29 = external hidden unnamed_addr constant <{ [102 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.33 = external hidden unnamed_addr constant <{ [35 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.34 = external hidden unnamed_addr constant <{ [162 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.35 = external hidden unnamed_addr constant <{ [166 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.37 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.38 = external hidden unnamed_addr constant <{ [54 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.39 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.40 = external hidden unnamed_addr constant <{ [50 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.41 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.42 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.43 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.44 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.45 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.46 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.47 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.48 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.49 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.50 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.51 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.52 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.53 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.57 = external hidden unnamed_addr constant <{ [30 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.61 = external hidden unnamed_addr constant <{ ptr, [16 x i8], ptr }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.65 = external hidden unnamed_addr constant <{ [35 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.66 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.67 = external hidden unnamed_addr constant <{ [44 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.68 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.69 = external hidden unnamed_addr constant <{ [28 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.70 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.72 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.73 = external hidden unnamed_addr constant <{ [38 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.74 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.75 = external hidden unnamed_addr constant <{ [44 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.77 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.79 = external hidden unnamed_addr constant <{ ptr, [8 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.81 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.92 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.93 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.94 = external hidden unnamed_addr constant <{ [32 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.95 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.96 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.98 = external hidden unnamed_addr constant <{ ptr, [8 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.99 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.107 = external hidden unnamed_addr constant <{ ptr, [8 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.108 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.118 = external hidden unnamed_addr constant <{ ptr, [16 x i8] }>, align 8
@anon.0f79382001bad1c9081319f05be50b13.131 = external hidden unnamed_addr constant <{ [97 x i8] }>, align 1
@anon.0f79382001bad1c9081319f05be50b13.132 = external hidden unnamed_addr constant <{ [101 x i8] }>, align 1
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hb552a67d31141ef1E"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = alloca %0, align 8
%3 = alloca %1, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1)
call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %3), !noalias !1
%4 = getelementptr inbounds i8, ptr %0, i64 8
%5 = load ptr, ptr %4, align 8, !alias.scope !1
%6 = icmp eq ptr %5, null
br i1 %6, label %15, label %7
7: ; preds = %1
%8 = getelementptr inbounds i8, ptr %0, i64 16
%9 = load i64, ptr %8, align 8, !alias.scope !1
%10 = load i64, ptr %0, align 8, !alias.scope !1
store i64 0, ptr %3, align 8, !alias.scope !4, !noalias !7
%11 = getelementptr inbounds i8, ptr %3, i64 8
store i64 %10, ptr %11, align 8, !alias.scope !4, !noalias !7
%12 = getelementptr inbounds i8, ptr %3, i64 16
store ptr %5, ptr %12, align 8, !alias.scope !4, !noalias !7
%13 = getelementptr inbounds i8, ptr %3, i64 40
store i64 %10, ptr %13, align 8, !alias.scope !4, !noalias !7
%14 = getelementptr inbounds i8, ptr %3, i64 48
store ptr %5, ptr %14, align 8, !alias.scope !4, !noalias !7
br label %16
15: ; preds = %1
store i64 2, ptr %3, align 8, !alias.scope !4, !noalias !7
br label %16
16: ; preds = %15, %7
%17 = phi i64 [ 2, %15 ], [ 0, %7 ]
%18 = phi i64 [ 0, %15 ], [ %9, %7 ]
%19 = getelementptr inbounds i8, ptr %3, i64 32
store i64 %17, ptr %19, align 8, !alias.scope !4, !noalias !7
%20 = getelementptr inbounds %1, ptr %3, i64 0, i32 2
store i64 %18, ptr %20, align 8, !alias.scope !4, !noalias !7
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !9
call fastcc void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hb1776e07813d62f4E"(ptr noalias nocapture noundef nonnull dereferenceable(24) %2, ptr noalias noundef nonnull align 8 dereferenceable(72) %3), !noalias !1
%21 = getelementptr inbounds %0, ptr %2, i64 0, i32 1
%22 = load ptr, ptr %21, align 8, !noalias !9
%23 = icmp eq ptr %22, null
br i1 %23, label %65, label %24
24: ; preds = %16
%25 = getelementptr inbounds i8, ptr %2, i64 16
br label %26
26: ; preds = %59, %24
%27 = phi ptr [ %22, %24 ], [ %60, %59 ]
%28 = load i64, ptr %25, align 8, !noalias !9
%29 = getelementptr inbounds %5, ptr %27, i64 0, i32 4
%30 = load i16, ptr %29, align 2, !noalias !9
%31 = zext i16 %30 to i64
%32 = icmp ult i64 %28, %31
br i1 %32, label %33, label %52
33: ; preds = %26
%34 = icmp ugt i64 %28, 10
br i1 %34, label %35, label %36
35: ; preds = %33
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.132, i64 101) #21, !noalias !9
unreachable
36: ; preds = %33
%37 = getelementptr %6, ptr %27, i64 %28, i32 0, i64 12
tail call void @llvm.experimental.noalias.scope.decl(metadata !14)
tail call void @llvm.experimental.noalias.scope.decl(metadata !17)
%38 = getelementptr inbounds %7, ptr %37, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !20)
%39 = load i64, ptr %38, align 8, !range !23, !alias.scope !24, !noalias !9, !noundef !25
%40 = icmp eq i64 %39, 0
br i1 %40, label %59, label %41
41: ; preds = %36
%42 = getelementptr inbounds %7, ptr %37, i64 0, i32 1, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !26)
%43 = load ptr, ptr %42, align 8, !alias.scope !29, !noalias !9
%44 = getelementptr %7, ptr %37, i64 0, i32 1, i32 1, i64 1
%45 = load i64, ptr %44, align 8, !alias.scope !29, !noalias !9
%46 = icmp eq i64 %45, 0
br i1 %46, label %59, label %47
47: ; preds = %41
%48 = icmp ugt i64 %45, 576460752303423487
br i1 %48, label %52, label %49
49: ; preds = %47
%50 = shl nuw nsw i64 %45, 4
%51 = icmp ne ptr %43, null
tail call void @llvm.assume(i1 %51)
tail call void @__rust_dealloc(ptr nonnull %43, i64 %50, i64 8) #22, !noalias !30
br label %59
52: ; preds = %47, %26
%53 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.57, %47 ], [ @anon.0f79382001bad1c9081319f05be50b13.67, %26 ]
%54 = phi i64 [ 30, %47 ], [ 44, %26 ]
%55 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.93, %47 ], [ @anon.0f79382001bad1c9081319f05be50b13.68, %26 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %53, i64 %54, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %55) #23
to label %56 unwind label %57, !noalias !9
56: ; preds = %52
unreachable
57: ; preds = %52
%58 = landingpad { ptr, i32 }
cleanup
invoke fastcc void @"_ZN4core3ptr206drop_in_place$LT$$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$..drop..DropGuard$LT$u64$C$gimli..read..abbrev..Abbreviation$C$alloc..alloc..Global$GT$$GT$17hdcc6db5a9f9c6a1fE"(ptr nonnull %3) #24
to label %62 unwind label %63, !noalias !1
59: ; preds = %49, %41, %36
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !9
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2), !noalias !9
call fastcc void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hb1776e07813d62f4E"(ptr noalias nocapture noundef nonnull dereferenceable(24) %2, ptr noalias noundef nonnull align 8 dereferenceable(72) %3), !noalias !1
%60 = load ptr, ptr %21, align 8, !noalias !9
%61 = icmp eq ptr %60, null
br i1 %61, label %65, label %26
62: ; preds = %57
resume { ptr, i32 } %58
63: ; preds = %57
%64 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1
unreachable
65: ; preds = %59, %16
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2), !noalias !9
call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %3), !noalias !1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"(ptr noalias nocapture readonly align 8 dereferenceable(256) %0) unnamed_addr #0 {
%2 = getelementptr inbounds %9, ptr %0, i64 0, i32 1
%3 = load i8, ptr %2, align 8, !range !31, !noundef !25
%4 = icmp ult i8 %3, 2
br i1 %4, label %6, label %5
5: ; preds = %6, %1
ret void
6: ; preds = %1
tail call fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %0)
br label %5
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$$GT$17h686cacdd2d4adc3cE"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 {
tail call void @llvm.experimental.noalias.scope.decl(metadata !32)
%2 = load i64, ptr %0, align 8, !range !23, !alias.scope !32, !noundef !25
%3 = icmp eq i64 %2, 0
br i1 %3, label %10, label %4
4: ; preds = %1
%5 = getelementptr inbounds %10, ptr %0, i64 0, i32 1
%6 = load ptr, ptr %5, align 8, !alias.scope !35
%7 = getelementptr %10, ptr %0, i64 0, i32 1, i32 1
%8 = load i64, ptr %7, align 8, !alias.scope !35
%9 = tail call i32 @munmap(ptr %6, i64 %8), !noalias !38
br label %10
10: ; preds = %4, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr119drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h02235005638bc57bE"(ptr noalias nocapture readonly align 8 dereferenceable(40) %0) unnamed_addr #0 {
%2 = load i64, ptr %0, align 8, !range !23, !alias.scope !41, !noundef !25
%3 = icmp eq i64 %2, 0
br i1 %3, label %6, label %4
4: ; preds = %1
%5 = getelementptr inbounds %11, ptr %0, i64 0, i32 1
tail call fastcc void @"_ZN4core3ptr86drop_in_place$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$17h7ead3583c7167e8eE"(ptr noalias nonnull align 8 dereferenceable(32) %5)
br label %6
6: ; preds = %4, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE"(ptr noalias align 8 %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = getelementptr inbounds %9, ptr %0, i64 %1
%4 = icmp eq i64 %1, 0
br i1 %4, label %14, label %5
5: ; preds = %12, %2
%6 = phi ptr [ %7, %12 ], [ %0, %2 ]
%7 = getelementptr inbounds %9, ptr %6, i64 1
%8 = getelementptr inbounds %9, ptr %6, i64 0, i32 1
%9 = load i8, ptr %8, align 8, !range !31, !alias.scope !46, !noundef !25
%10 = icmp eq i8 %9, 3
br i1 %10, label %12, label %11
11: ; preds = %5
invoke fastcc void @"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E"(ptr noalias nonnull align 8 dereferenceable(256) %6)
to label %12 unwind label %18
12: ; preds = %11, %5
%13 = icmp eq ptr %7, %3
br i1 %13, label %14, label %5
14: ; preds = %12, %2
ret void
15: ; preds = %20, %18
%16 = phi ptr [ %7, %18 ], [ %21, %20 ]
%17 = icmp eq ptr %16, %3
br i1 %17, label %22, label %20
18: ; preds = %11
%19 = landingpad { ptr, i32 }
cleanup
br label %15
20: ; preds = %15
%21 = getelementptr inbounds %9, ptr %16, i64 1
invoke fastcc void @"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"(ptr noalias nonnull align 8 dereferenceable(256) %16) #24
to label %15 unwind label %23
22: ; preds = %15
resume { ptr, i32 } %19
23: ; preds = %20
%24 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr123drop_in_place$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h22397b25bf0e6170E"(ptr noalias nocapture readonly align 8 dereferenceable(560) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
tail call void @llvm.experimental.noalias.scope.decl(metadata !49)
%2 = getelementptr inbounds %13, ptr %0, i64 0, i32 1, i32 1
invoke fastcc void @"_ZN4core3ptr55drop_in_place$LT$gimli..read..abbrev..Abbreviations$GT$17h477dbe1c431608e8E"(ptr noalias nonnull align 8 dereferenceable(48) %2)
to label %6 unwind label %3
3: ; preds = %1
%4 = landingpad { ptr, i32 }
cleanup
%5 = getelementptr inbounds %13, ptr %0, i64 0, i32 1, i32 9
invoke fastcc void @"_ZN4core3ptr181drop_in_place$LT$core..option..Option$LT$gimli..read..line..IncompleteLineProgram$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17hde9d448d1945d847E"(ptr noalias nonnull align 8 dereferenceable(248) %5) #24
to label %16 unwind label %12
6: ; preds = %1
%7 = getelementptr inbounds %13, ptr %0, i64 0, i32 1, i32 9, i32 1
%8 = load i64, ptr %7, align 8, !range !52, !alias.scope !53, !noundef !25
%9 = icmp eq i64 %8, 47
br i1 %9, label %19, label %10
10: ; preds = %6
%11 = getelementptr inbounds %13, ptr %0, i64 0, i32 1, i32 9
invoke fastcc void @"_ZN4core3ptr153drop_in_place$LT$gimli..read..line..IncompleteLineProgram$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17h83bafaed8ef5bc0cE"(ptr noalias nonnull align 8 dereferenceable(248) %11)
to label %19 unwind label %14
12: ; preds = %3
%13 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !49
unreachable
14: ; preds = %10
%15 = landingpad { ptr, i32 }
cleanup
br label %16
16: ; preds = %14, %3
%17 = phi { ptr, i32 } [ %15, %14 ], [ %4, %3 ]
%18 = getelementptr inbounds %13, ptr %0, i64 0, i32 2
invoke fastcc void @"_ZN4core3ptr119drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h02235005638bc57bE"(ptr noalias nonnull align 8 dereferenceable(40) %18) #24
to label %27 unwind label %25
19: ; preds = %10, %6
%20 = getelementptr inbounds %13, ptr %0, i64 0, i32 2
%21 = load i64, ptr %20, align 8, !range !23, !alias.scope !56, !noundef !25
%22 = icmp eq i64 %21, 0
br i1 %22, label %32, label %23
23: ; preds = %19
%24 = getelementptr inbounds %13, ptr %0, i64 0, i32 2, i32 0, i32 0, i32 1
invoke fastcc void @"_ZN4core3ptr86drop_in_place$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$17h7ead3583c7167e8eE"(ptr noalias nonnull align 8 dereferenceable(32) %24)
to label %32 unwind label %30
25: ; preds = %16
%26 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
27: ; preds = %30, %16
%28 = phi { ptr, i32 } [ %31, %30 ], [ %17, %16 ]
%29 = getelementptr inbounds %13, ptr %0, i64 0, i32 3
tail call fastcc void @"_ZN4core3ptr217drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h0e491c98c5342a9aE"(ptr noalias nonnull align 8 dereferenceable(40) %29) #24
resume { ptr, i32 } %28
30: ; preds = %23
%31 = landingpad { ptr, i32 }
cleanup
br label %27
32: ; preds = %23, %19
%33 = getelementptr inbounds %13, ptr %0, i64 0, i32 3
%34 = load i64, ptr %33, align 8, !range !23, !alias.scope !63, !noundef !25
%35 = icmp eq i64 %34, 0
br i1 %35, label %38, label %36
36: ; preds = %32
%37 = getelementptr inbounds %13, ptr %0, i64 0, i32 3, i32 0, i32 0, i32 1
tail call fastcc void @"_ZN4core3ptr184drop_in_place$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$17h68ad63c3b73898bcE"(ptr noalias nonnull align 8 dereferenceable(32) %37)
br label %38
38: ; preds = %36, %32
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr124drop_in_place$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17hc551d1638f562428E"(ptr noalias nocapture readonly align 8 dereferenceable(64) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
tail call void @llvm.experimental.noalias.scope.decl(metadata !70)
%2 = load ptr, ptr %0, align 8, !alias.scope !70
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8, !alias.scope !70
%5 = icmp eq i64 %4, 0
br i1 %5, label %16, label %6
6: ; preds = %1
%7 = icmp ugt i64 %4, 288230376151711743
br i1 %7, label %8, label %10
8: ; preds = %6
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %9 unwind label %13
9: ; preds = %8
unreachable
10: ; preds = %6
%11 = shl nuw nsw i64 %4, 5
%12 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %12)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %11, i64 8) #22, !noalias !70
br label %16
13: ; preds = %8
%14 = landingpad { ptr, i32 }
cleanup
%15 = getelementptr inbounds %30, ptr %0, i64 0, i32 1
invoke fastcc void @"_ZN4core3ptr146drop_in_place$LT$alloc..vec..Vec$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h4b2ed1acb514e10fE"(ptr noalias nonnull align 8 dereferenceable(24) %15) #24
to label %20 unwind label %18
16: ; preds = %10, %1
%17 = getelementptr inbounds %30, ptr %0, i64 0, i32 1
invoke fastcc void @"_ZN4core3ptr146drop_in_place$LT$alloc..vec..Vec$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h4b2ed1acb514e10fE"(ptr noalias nonnull align 8 dereferenceable(24) %17)
to label %26 unwind label %24
18: ; preds = %20, %13
%19 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
20: ; preds = %24, %13
%21 = phi { ptr, i32 } [ %25, %24 ], [ %14, %13 ]
%22 = getelementptr inbounds %30, ptr %0, i64 0, i32 2
tail call fastcc void @"_ZN4core3ptr154drop_in_place$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h49fe2106501d1a42E"(ptr noalias nonnull align 8 dereferenceable(8) %22) #24
%23 = getelementptr inbounds %30, ptr %0, i64 0, i32 3
invoke fastcc void @"_ZN4core3ptr177drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$$GT$17hafbf949ff67d484bE"(ptr noalias nonnull align 8 dereferenceable(8) %23) #24
to label %39 unwind label %18
24: ; preds = %16
%25 = landingpad { ptr, i32 }
cleanup
br label %20
26: ; preds = %16
%27 = getelementptr inbounds %30, ptr %0, i64 0, i32 2
tail call void @llvm.experimental.noalias.scope.decl(metadata !73)
tail call void @llvm.experimental.noalias.scope.decl(metadata !76)
%28 = load ptr, ptr %27, align 8, !alias.scope !79, !nonnull !25, !noundef !25
%29 = atomicrmw sub ptr %28, i64 1 release, align 8, !noalias !79
%30 = icmp eq i64 %29, 1
br i1 %30, label %31, label %32
31: ; preds = %26
fence acquire, !noalias !76
tail call fastcc void @"_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h5d01faaaef3f60bfE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %27)
br label %32
32: ; preds = %31, %26
%33 = getelementptr inbounds %30, ptr %0, i64 0, i32 3
%34 = load ptr, ptr %33, align 8, !alias.scope !80
%35 = icmp eq ptr %34, null
br i1 %35, label %42, label %36
36: ; preds = %32
invoke fastcc void @"_ZN4core3ptr124drop_in_place$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17hc551d1638f562428E"(ptr noalias nonnull align 8 dereferenceable(64) %34)
to label %41 unwind label %37, !noalias !83
37: ; preds = %36
%38 = landingpad { ptr, i32 }
cleanup
tail call fastcc void @_ZN5alloc5alloc8box_free17hf643b5e89b6a4e1cE(ptr noundef nonnull %34) #24, !noalias !83
br label %39
39: ; preds = %37, %20
%40 = phi { ptr, i32 } [ %38, %37 ], [ %21, %20 ]
resume { ptr, i32 } %40
41: ; preds = %36
tail call void @__rust_dealloc(ptr nonnull %34, i64 64, i64 8) #22, !noalias !83
br label %42
42: ; preds = %41, %32
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr136drop_in_place$LT$alloc..vec..Vec$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$$GT$17hdb066149c5010294E"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8, !nonnull !25, !noundef !25
%3 = getelementptr i8, ptr %0, i64 16
%4 = load i64, ptr %3, align 8
%5 = getelementptr inbounds %9, ptr %2, i64 %4
%6 = icmp eq i64 %4, 0
br i1 %6, label %28, label %7
7: ; preds = %14, %1
%8 = phi ptr [ %9, %14 ], [ %2, %1 ]
%9 = getelementptr inbounds %9, ptr %8, i64 1
%10 = getelementptr inbounds %9, ptr %8, i64 0, i32 1
%11 = load i8, ptr %10, align 8, !range !31, !alias.scope !86, !noundef !25
%12 = icmp ult i8 %11, 2
br i1 %12, label %13, label %14
13: ; preds = %7
invoke fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %8) #26
to label %14 unwind label %19
14: ; preds = %13, %7
%15 = icmp eq ptr %9, %5
br i1 %15, label %28, label %7
16: ; preds = %21, %19
%17 = phi ptr [ %9, %19 ], [ %22, %21 ]
%18 = icmp eq ptr %17, %5
br i1 %18, label %25, label %21
19: ; preds = %13
%20 = landingpad { ptr, i32 }
cleanup
br label %16
21: ; preds = %16
%22 = getelementptr inbounds %9, ptr %17, i64 1
invoke fastcc void @"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"(ptr noalias nonnull align 8 dereferenceable(256) %17) #27
to label %16 unwind label %23
23: ; preds = %21
%24 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
25: ; preds = %16
%26 = getelementptr i8, ptr %0, i64 8
%27 = load i64, ptr %26, align 8
invoke fastcc void @"_ZN4core3ptr143drop_in_place$LT$alloc..raw_vec..RawVec$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$$GT$17hfa5c83605dcae89dE"(ptr nonnull %2, i64 %27) #24
to label %40 unwind label %38
28: ; preds = %14, %1
%29 = getelementptr i8, ptr %0, i64 8
%30 = load i64, ptr %29, align 8
%31 = icmp eq i64 %30, 0
br i1 %31, label %37, label %32
32: ; preds = %28
%33 = icmp ugt i64 %30, 36028797018963967
br i1 %33, label %34, label %35
34: ; preds = %32
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !91
unreachable
35: ; preds = %32
%36 = shl nuw nsw i64 %30, 8
tail call void @__rust_dealloc(ptr nonnull %2, i64 %36, i64 8) #22
br label %37
37: ; preds = %35, %28
ret void
38: ; preds = %25
%39 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
40: ; preds = %25
resume { ptr, i32 } %20
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr143drop_in_place$LT$alloc..raw_vec..RawVec$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$$GT$17hfa5c83605dcae89dE"(ptr %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = icmp eq i64 %1, 0
br i1 %3, label %10, label %4
4: ; preds = %2
%5 = icmp ugt i64 %1, 36028797018963967
br i1 %5, label %6, label %7
6: ; preds = %4
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !94
unreachable
7: ; preds = %4
%8 = shl nuw nsw i64 %1, 8
%9 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %9)
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %10
10: ; preds = %7, %2
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr146drop_in_place$LT$alloc..vec..Vec$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h4b2ed1acb514e10fE"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8, !nonnull !25, !noundef !25
%3 = getelementptr i8, ptr %0, i64 16
%4 = load i64, ptr %3, align 8
%5 = getelementptr inbounds %13, ptr %2, i64 %4
br label %6
6: ; preds = %9, %1
%7 = phi ptr [ %2, %1 ], [ %10, %9 ]
%8 = icmp eq ptr %7, %5
br i1 %8, label %23, label %9
9: ; preds = %6
%10 = getelementptr inbounds %13, ptr %7, i64 1
invoke fastcc void @"_ZN4core3ptr123drop_in_place$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h22397b25bf0e6170E"(ptr noalias nonnull align 8 dereferenceable(560) %7)
to label %6 unwind label %14
11: ; preds = %16, %14
%12 = phi ptr [ %10, %14 ], [ %17, %16 ]
%13 = icmp eq ptr %12, %5
br i1 %13, label %20, label %16
14: ; preds = %9
%15 = landingpad { ptr, i32 }
cleanup
br label %11
16: ; preds = %11
%17 = getelementptr inbounds %13, ptr %12, i64 1
invoke fastcc void @"_ZN4core3ptr123drop_in_place$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h22397b25bf0e6170E"(ptr noalias nonnull align 8 dereferenceable(560) %12) #24
to label %11 unwind label %18
18: ; preds = %16
%19 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
20: ; preds = %11
%21 = getelementptr i8, ptr %0, i64 8
%22 = load i64, ptr %21, align 8
invoke fastcc void @"_ZN4core3ptr153drop_in_place$LT$alloc..raw_vec..RawVec$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h59496d1c22db30f1E"(ptr nonnull %2, i64 %22) #24
to label %35 unwind label %33
23: ; preds = %6
%24 = getelementptr i8, ptr %0, i64 8
%25 = load i64, ptr %24, align 8
%26 = icmp eq i64 %25, 0
br i1 %26, label %32, label %27
27: ; preds = %23
%28 = icmp ugt i64 %25, 16470307208669242
br i1 %28, label %29, label %30
29: ; preds = %27
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !97
unreachable
30: ; preds = %27
%31 = mul nuw nsw i64 %25, 560
tail call void @__rust_dealloc(ptr nonnull %2, i64 %31, i64 8) #22
br label %32
32: ; preds = %30, %23
ret void
33: ; preds = %20
%34 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
35: ; preds = %20
resume { ptr, i32 } %15
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr148drop_in_place$LT$alloc..boxed..Box$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$$GT$17hfafcb45fb3eab3c5E"(ptr noalias nocapture readonly align 8 dereferenceable(16) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = getelementptr inbounds { ptr, i64 }, ptr %0, i64 0, i32 1
%4 = load i64, ptr %3, align 8
%5 = getelementptr inbounds %9, ptr %2, i64 %4
br label %6
6: ; preds = %9, %1
%7 = phi ptr [ %2, %1 ], [ %10, %9 ]
%8 = icmp eq ptr %7, %5
br i1 %8, label %21, label %9
9: ; preds = %6
%10 = getelementptr inbounds %9, ptr %7, i64 1
invoke fastcc void @"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"(ptr noalias align 8 dereferenceable(256) %7)
to label %6 unwind label %14
11: ; preds = %16, %14
%12 = phi ptr [ %10, %14 ], [ %17, %16 ]
%13 = icmp eq ptr %12, %5
br i1 %13, label %20, label %16
14: ; preds = %9
%15 = landingpad { ptr, i32 }
cleanup
br label %11
16: ; preds = %11
%17 = getelementptr inbounds %9, ptr %12, i64 1
invoke fastcc void @"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"(ptr noalias nonnull align 8 dereferenceable(256) %12) #24
to label %11 unwind label %18
18: ; preds = %16
%19 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
20: ; preds = %11
tail call fastcc void @_ZN5alloc5alloc8box_free17h9468c018c14e5cf6E(ptr noundef nonnull %2, i64 %4) #24
resume { ptr, i32 } %15
21: ; preds = %6
%22 = icmp eq i64 %4, 0
br i1 %22, label %25, label %23
23: ; preds = %21
%24 = shl nsw i64 %4, 8
tail call void @__rust_dealloc(ptr nonnull %2, i64 %24, i64 8) #22
br label %25
25: ; preds = %23, %21
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr153drop_in_place$LT$alloc..raw_vec..RawVec$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h59496d1c22db30f1E"(ptr %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = icmp eq i64 %1, 0
br i1 %3, label %10, label %4
4: ; preds = %2
%5 = icmp ugt i64 %1, 16470307208669242
br i1 %5, label %6, label %7
6: ; preds = %4
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !100
unreachable
7: ; preds = %4
%8 = mul nuw nsw i64 %1, 560
%9 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %9)
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %10
10: ; preds = %7, %2
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr153drop_in_place$LT$gimli..read..line..IncompleteLineProgram$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17h83bafaed8ef5bc0cE"(ptr noalias nocapture readonly align 8 dereferenceable(248) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
tail call void @llvm.experimental.noalias.scope.decl(metadata !103)
%2 = getelementptr inbounds %33, ptr %0, i64 0, i32 4
tail call void @llvm.experimental.noalias.scope.decl(metadata !106)
%3 = load ptr, ptr %2, align 8, !alias.scope !109
%4 = getelementptr %33, ptr %0, i64 0, i32 4, i32 0, i32 1
%5 = load i64, ptr %4, align 8, !alias.scope !109
%6 = icmp eq i64 %5, 0
br i1 %6, label %17, label %7
7: ; preds = %1
%8 = icmp ugt i64 %5, 2305843009213693951
br i1 %8, label %9, label %11
9: ; preds = %7
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %10 unwind label %14, !noalias !103
10: ; preds = %9
unreachable
11: ; preds = %7
%12 = shl nuw nsw i64 %5, 2
%13 = icmp ne ptr %3, null
tail call void @llvm.assume(i1 %13)
tail call void @__rust_dealloc(ptr nonnull %3, i64 %12, i64 2) #22, !noalias !109
br label %17
14: ; preds = %9
%15 = landingpad { ptr, i32 }
cleanup
%16 = getelementptr inbounds %33, ptr %0, i64 0, i32 5
invoke fastcc void @"_ZN4core3ptr169drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..unit..AttributeValue$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h938b495ded9e9fc3E"(ptr noalias nonnull align 8 dereferenceable(24) %16) #24
to label %32 unwind label %30
17: ; preds = %11, %1
%18 = getelementptr inbounds %33, ptr %0, i64 0, i32 5
tail call void @llvm.experimental.noalias.scope.decl(metadata !110)
%19 = load ptr, ptr %18, align 8, !alias.scope !113
%20 = getelementptr %33, ptr %0, i64 0, i32 5, i32 0, i32 1
%21 = load i64, ptr %20, align 8, !alias.scope !113
%22 = icmp eq i64 %21, 0
br i1 %22, label %37, label %23
23: ; preds = %17
%24 = icmp ugt i64 %21, 384307168202282325
br i1 %24, label %25, label %27
25: ; preds = %23
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %26 unwind label %35, !noalias !103
26: ; preds = %25
unreachable
27: ; preds = %23
%28 = mul nuw nsw i64 %21, 24
%29 = icmp ne ptr %19, null
tail call void @llvm.assume(i1 %29)
tail call void @__rust_dealloc(ptr nonnull %19, i64 %28, i64 8) #22, !noalias !113
br label %37
30: ; preds = %50, %32, %14
%31 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !103
unreachable
32: ; preds = %35, %14
%33 = phi { ptr, i32 } [ %36, %35 ], [ %15, %14 ]
%34 = getelementptr inbounds %33, ptr %0, i64 0, i32 6
invoke fastcc void @"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"(ptr noalias nonnull align 8 dereferenceable(24) %34) #24
to label %50 unwind label %30
35: ; preds = %25
%36 = landingpad { ptr, i32 }
cleanup
br label %32
37: ; preds = %27, %17
%38 = getelementptr inbounds %33, ptr %0, i64 0, i32 6
tail call void @llvm.experimental.noalias.scope.decl(metadata !114)
%39 = load ptr, ptr %38, align 8, !alias.scope !117
%40 = getelementptr %33, ptr %0, i64 0, i32 6, i32 0, i32 1
%41 = load i64, ptr %40, align 8, !alias.scope !117
%42 = icmp eq i64 %41, 0
br i1 %42, label %55, label %43
43: ; preds = %37
%44 = icmp ugt i64 %41, 2305843009213693951
br i1 %44, label %45, label %47
45: ; preds = %43
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %46 unwind label %53, !noalias !103
46: ; preds = %45
unreachable
47: ; preds = %43
%48 = shl nuw nsw i64 %41, 2
%49 = icmp ne ptr %39, null
tail call void @llvm.assume(i1 %49)
tail call void @__rust_dealloc(ptr nonnull %39, i64 %48, i64 2) #22, !noalias !117
br label %55
50: ; preds = %53, %32
%51 = phi { ptr, i32 } [ %54, %53 ], [ %33, %32 ]
%52 = getelementptr inbounds %33, ptr %0, i64 0, i32 7
invoke fastcc void @"_ZN4core3ptr164drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntry$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h2fdb242f9163583eE"(ptr noalias nonnull align 8 dereferenceable(24) %52) #24
to label %67 unwind label %30
53: ; preds = %45
%54 = landingpad { ptr, i32 }
cleanup
br label %50
55: ; preds = %47, %37
%56 = getelementptr inbounds %33, ptr %0, i64 0, i32 7
tail call void @llvm.experimental.noalias.scope.decl(metadata !118)
%57 = load ptr, ptr %56, align 8, !alias.scope !121
%58 = getelementptr %33, ptr %0, i64 0, i32 7, i32 0, i32 1
%59 = load i64, ptr %58, align 8, !alias.scope !121
%60 = icmp eq i64 %59, 0
br i1 %60, label %68, label %61
61: ; preds = %55
%62 = icmp ugt i64 %59, 144115188075855871
br i1 %62, label %63, label %64
63: ; preds = %61
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !122
unreachable
64: ; preds = %61
%65 = shl nuw nsw i64 %59, 6
%66 = icmp ne ptr %57, null
tail call void @llvm.assume(i1 %66)
tail call void @__rust_dealloc(ptr nonnull %57, i64 %65, i64 8) #22, !noalias !121
br label %68
67: ; preds = %50
resume { ptr, i32 } %51
68: ; preds = %64, %55
ret void
}
; Function Attrs: nounwind uwtable
define internal fastcc void @"_ZN4core3ptr154drop_in_place$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h49fe2106501d1a42E"(ptr noalias nocapture readonly align 8 dereferenceable(8) %0) unnamed_addr #1 {
tail call void @llvm.experimental.noalias.scope.decl(metadata !125)
%2 = load ptr, ptr %0, align 8, !alias.scope !125, !nonnull !25, !noundef !25
%3 = atomicrmw sub ptr %2, i64 1 release, align 8, !noalias !125
%4 = icmp eq i64 %3, 1
br i1 %4, label %5, label %6
5: ; preds = %1
fence acquire, !noalias !125
tail call fastcc void @"_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h5d01faaaef3f60bfE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %0)
br label %6
6: ; preds = %5, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr164drop_in_place$LT$alloc..vec..Vec$LT$addr2line..function..InlinedFunction$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h074fef07dae071abE"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8
%5 = icmp eq i64 %4, 0
br i1 %5, label %12, label %6
6: ; preds = %1
%7 = icmp ugt i64 %4, 230584300921369395
br i1 %7, label %8, label %9
8: ; preds = %6
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !128
unreachable
9: ; preds = %6
%10 = mul nuw nsw i64 %4, 40
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %10, i64 8) #22
br label %12
12: ; preds = %9, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr164drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntry$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h2fdb242f9163583eE"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8
%5 = icmp eq i64 %4, 0
br i1 %5, label %12, label %6
6: ; preds = %1
%7 = icmp ugt i64 %4, 144115188075855871
br i1 %7, label %8, label %9
8: ; preds = %6
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !131
unreachable
9: ; preds = %6
%10 = shl nuw nsw i64 %4, 6
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %10, i64 8) #22
br label %12
12: ; preds = %9, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr169drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..unit..AttributeValue$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h938b495ded9e9fc3E"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8
%5 = icmp eq i64 %4, 0
br i1 %5, label %12, label %6
6: ; preds = %1
%7 = icmp ugt i64 %4, 384307168202282325
br i1 %7, label %8, label %9
8: ; preds = %6
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !134
unreachable
9: ; preds = %6
%10 = mul nuw nsw i64 %4, 24
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %10, i64 8) #22
br label %12
12: ; preds = %9, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr177drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$$GT$17hafbf949ff67d484bE"(ptr noalias nocapture readonly align 8 dereferenceable(8) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = icmp eq ptr %2, null
br i1 %3, label %4, label %5
4: ; preds = %8, %1
ret void
5: ; preds = %1
invoke fastcc void @"_ZN4core3ptr124drop_in_place$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17hc551d1638f562428E"(ptr noalias nonnull align 8 dereferenceable(64) %2)
to label %8 unwind label %6, !noalias !137
6: ; preds = %5
%7 = landingpad { ptr, i32 }
cleanup
tail call fastcc void @_ZN5alloc5alloc8box_free17hf643b5e89b6a4e1cE(ptr noundef nonnull %2) #24, !noalias !137
resume { ptr, i32 } %7
8: ; preds = %5
tail call void @__rust_dealloc(ptr nonnull %2, i64 64, i64 8) #22, !noalias !137
br label %4
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr181drop_in_place$LT$core..option..Option$LT$gimli..read..line..IncompleteLineProgram$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17hde9d448d1945d847E"(ptr noalias nocapture readonly align 8 dereferenceable(248) %0) unnamed_addr #0 {
%2 = getelementptr inbounds %23, ptr %0, i64 0, i32 1
%3 = load i64, ptr %2, align 8, !range !52, !noundef !25
%4 = icmp eq i64 %3, 47
br i1 %4, label %5, label %6
5: ; preds = %6, %1
ret void
6: ; preds = %1
tail call fastcc void @"_ZN4core3ptr153drop_in_place$LT$gimli..read..line..IncompleteLineProgram$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17h83bafaed8ef5bc0cE"(ptr noalias nonnull align 8 dereferenceable(248) %0)
br label %5
}
; Function Attrs: nounwind uwtable
define internal fastcc void @"_ZN4core3ptr184drop_in_place$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$17h68ad63c3b73898bcE"(ptr noalias nocapture readonly align 8 dereferenceable(32) %0) unnamed_addr #1 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = icmp eq ptr %2, null
br i1 %3, label %45, label %4
4: ; preds = %1
tail call void @llvm.experimental.noalias.scope.decl(metadata !140)
%5 = getelementptr i8, ptr %0, i64 8
%6 = load i64, ptr %5, align 8, !alias.scope !140
%7 = getelementptr inbounds { i64, %39 }, ptr %2, i64 %6
%8 = icmp eq i64 %6, 0
br i1 %8, label %37, label %9
9: ; preds = %33, %4
%10 = phi ptr [ %11, %33 ], [ %2, %4 ]
%11 = getelementptr inbounds { i64, %39 }, ptr %10, i64 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !143)
%12 = getelementptr inbounds { i64, %39 }, ptr %10, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !146)
tail call void @llvm.experimental.noalias.scope.decl(metadata !149)
tail call void @llvm.experimental.noalias.scope.decl(metadata !152)
%13 = load i64, ptr %12, align 8, !range !23, !alias.scope !155, !noalias !140, !noundef !25
%14 = icmp eq i64 %13, 0
br i1 %14, label %33, label %15
15: ; preds = %9
tail call void @llvm.experimental.noalias.scope.decl(metadata !158)
%16 = getelementptr inbounds { i64, %39 }, ptr %10, i64 0, i32 1, i32 0, i32 0, i32 1, i64 3
%17 = load ptr, ptr %16, align 8, !alias.scope !161, !noalias !140
%18 = icmp eq ptr %17, null
br i1 %18, label %33, label %19
19: ; preds = %15
tail call void @llvm.experimental.noalias.scope.decl(metadata !162)
%20 = getelementptr { i64, %39 }, ptr %10, i64 0, i32 1, i32 0, i32 0, i32 1, i64 4
%21 = load i64, ptr %20, align 8, !alias.scope !165, !noalias !140
%22 = icmp eq i64 %21, 0
br i1 %22, label %25, label %23
23: ; preds = %19
%24 = mul nsw i64 %21, 40
tail call void @__rust_dealloc(ptr nonnull %17, i64 %24, i64 8) #22, !noalias !166
br label %25
25: ; preds = %23, %19
%26 = getelementptr { i64, %39 }, ptr %10, i64 0, i32 1, i32 0, i32 0, i32 1, i64 6
%27 = load i64, ptr %26, align 8, !alias.scope !165, !noalias !140
%28 = icmp eq i64 %27, 0
br i1 %28, label %33, label %29
29: ; preds = %25
%30 = getelementptr inbounds { i64, %39 }, ptr %10, i64 0, i32 1, i32 0, i32 0, i32 1, i64 5
%31 = load ptr, ptr %30, align 8, !alias.scope !165, !noalias !140, !nonnull !25, !noundef !25
%32 = shl nsw i64 %27, 5
tail call void @__rust_dealloc(ptr nonnull %31, i64 %32, i64 8) #22, !noalias !166
br label %33
33: ; preds = %29, %25, %15, %9
%34 = icmp eq ptr %11, %7
br i1 %34, label %35, label %9
35: ; preds = %33
%36 = mul nsw i64 %6, 72
tail call void @__rust_dealloc(ptr nonnull %2, i64 %36, i64 8) #22, !noalias !140
br label %37
37: ; preds = %35, %4
%38 = getelementptr %42, ptr %0, i64 0, i32 1, i32 1
%39 = load i64, ptr %38, align 8, !alias.scope !140
%40 = icmp eq i64 %39, 0
br i1 %40, label %45, label %41
41: ; preds = %37
%42 = getelementptr inbounds %42, ptr %0, i64 0, i32 1
%43 = load ptr, ptr %42, align 8, !alias.scope !140, !nonnull !25, !noundef !25
%44 = mul nsw i64 %39, 24
tail call void @__rust_dealloc(ptr nonnull %43, i64 %44, i64 8) #22, !noalias !140
br label %45
45: ; preds = %41, %37, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr206drop_in_place$LT$$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$..drop..DropGuard$LT$u64$C$gimli..read..abbrev..Abbreviation$C$alloc..alloc..Global$GT$$GT$17hdcc6db5a9f9c6a1fE"(ptr %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = alloca %0, align 8
%3 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %3)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2)
call fastcc void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hb1776e07813d62f4E"(ptr noalias nocapture noundef nonnull dereferenceable(24) %2, ptr noalias noundef nonnull align 8 dereferenceable(72) %0)
%4 = getelementptr inbounds %0, ptr %2, i64 0, i32 1
%5 = load ptr, ptr %4, align 8
%6 = icmp eq ptr %5, null
br i1 %6, label %40, label %7
7: ; preds = %1
%8 = getelementptr inbounds i8, ptr %2, i64 16
br label %9
9: ; preds = %37, %7
%10 = phi ptr [ %5, %7 ], [ %38, %37 ]
%11 = load i64, ptr %8, align 8
%12 = getelementptr inbounds %5, ptr %10, i64 0, i32 4
%13 = load i16, ptr %12, align 2
%14 = zext i16 %13 to i64
%15 = icmp ult i64 %11, %14
br i1 %15, label %16, label %36
16: ; preds = %9
%17 = icmp ugt i64 %11, 10
br i1 %17, label %18, label %19
18: ; preds = %16
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.132, i64 101) #21
unreachable
19: ; preds = %16
%20 = getelementptr %6, ptr %10, i64 %11, i32 0, i64 12
tail call void @llvm.experimental.noalias.scope.decl(metadata !167)
tail call void @llvm.experimental.noalias.scope.decl(metadata !170)
%21 = getelementptr inbounds %7, ptr %20, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !173)
%22 = load i64, ptr %21, align 8, !range !23, !alias.scope !176, !noundef !25
%23 = icmp eq i64 %22, 0
br i1 %23, label %37, label %24
24: ; preds = %19
%25 = getelementptr inbounds %7, ptr %20, i64 0, i32 1, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !177)
%26 = load ptr, ptr %25, align 8, !alias.scope !180
%27 = getelementptr %7, ptr %20, i64 0, i32 1, i32 1, i64 1
%28 = load i64, ptr %27, align 8, !alias.scope !180
%29 = icmp eq i64 %28, 0
br i1 %29, label %37, label %30
30: ; preds = %24
%31 = icmp ugt i64 %28, 576460752303423487
br i1 %31, label %32, label %33
32: ; preds = %30
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !181
unreachable
33: ; preds = %30
%34 = shl nuw nsw i64 %28, 4
%35 = icmp ne ptr %26, null
tail call void @llvm.assume(i1 %35)
tail call void @__rust_dealloc(ptr nonnull %26, i64 %34, i64 8) #22, !noalias !180
br label %37
36: ; preds = %9
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.67, i64 44, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.68) #23
unreachable
37: ; preds = %33, %24, %19
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2)
call fastcc void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hb1776e07813d62f4E"(ptr noalias nocapture noundef nonnull dereferenceable(24) %2, ptr noalias noundef nonnull align 8 dereferenceable(72) %0)
%38 = load ptr, ptr %4, align 8
%39 = icmp eq ptr %38, null
br i1 %39, label %40, label %9
40: ; preds = %37, %1
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2)
ret void
}
; Function Attrs: nounwind uwtable
define internal fastcc void @"_ZN4core3ptr217drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h0e491c98c5342a9aE"(ptr noalias nocapture readonly align 8 dereferenceable(40) %0) unnamed_addr #1 {
%2 = load i64, ptr %0, align 8, !range !23, !alias.scope !184, !noundef !25
%3 = icmp eq i64 %2, 0
br i1 %3, label %6, label %4
4: ; preds = %1
%5 = getelementptr inbounds %43, ptr %0, i64 0, i32 1
tail call fastcc void @"_ZN4core3ptr184drop_in_place$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$17h68ad63c3b73898bcE"(ptr noalias nonnull align 8 dereferenceable(32) %5)
br label %6
6: ; preds = %4, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h9ee44820ac6a8ad5E"(ptr %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = icmp eq i64 %1, 0
br i1 %3, label %9, label %4
4: ; preds = %2
%5 = icmp slt i64 %1, 0
br i1 %5, label %6, label %7
6: ; preds = %4
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !189
unreachable
7: ; preds = %4
%8 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %8)
tail call void @__rust_dealloc(ptr nonnull %0, i64 %1, i64 1) #22, !noalias !194
br label %9
9: ; preds = %7, %2
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr noalias nocapture readonly align 8 dereferenceable(48) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8, !alias.scope !195
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8, !alias.scope !195
%5 = icmp eq i64 %4, 0
br i1 %5, label %16, label %6
6: ; preds = %1
%7 = icmp ugt i64 %4, 230584300921369395
br i1 %7, label %8, label %10
8: ; preds = %6
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %9 unwind label %13
9: ; preds = %8
unreachable
10: ; preds = %6
%11 = mul nuw nsw i64 %4, 40
%12 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %12)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %11, i64 8) #22, !noalias !198
br label %16
13: ; preds = %8
%14 = landingpad { ptr, i32 }
cleanup
%15 = getelementptr inbounds %45, ptr %0, i64 0, i32 1
invoke fastcc void @"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E"(ptr noalias nonnull align 8 dereferenceable(24) %15) #24
to label %31 unwind label %29
16: ; preds = %10, %1
%17 = getelementptr inbounds %45, ptr %0, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !201)
%18 = load ptr, ptr %17, align 8, !alias.scope !201
%19 = getelementptr %45, ptr %0, i64 0, i32 1, i32 0, i32 1
%20 = load i64, ptr %19, align 8, !alias.scope !201
%21 = icmp eq i64 %20, 0
br i1 %21, label %28, label %22
22: ; preds = %16
%23 = icmp ugt i64 %20, 576460752303423487
br i1 %23, label %24, label %25
24: ; preds = %22
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !204
unreachable
25: ; preds = %22
%26 = shl nuw nsw i64 %20, 4
%27 = icmp ne ptr %18, null
tail call void @llvm.assume(i1 %27)
tail call void @__rust_dealloc(ptr nonnull %18, i64 %26, i64 8) #22, !noalias !201
br label %28
28: ; preds = %25, %16
ret void
29: ; preds = %13
%30 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
31: ; preds = %13
resume { ptr, i32 } %14
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8
%5 = icmp eq i64 %4, 0
br i1 %5, label %11, label %6
6: ; preds = %1
%7 = icmp slt i64 %4, 0
br i1 %7, label %8, label %9
8: ; preds = %6
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !207
unreachable
9: ; preds = %6
%10 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %10)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %4, i64 1) #22
br label %11
11: ; preds = %9, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"(ptr noalias nocapture readonly align 8 dereferenceable(112) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = getelementptr inbounds %7, ptr %0, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !210)
%3 = load i64, ptr %2, align 8, !range !23, !alias.scope !210, !noundef !25
%4 = icmp eq i64 %3, 0
br i1 %4, label %17, label %5
5: ; preds = %1
%6 = getelementptr inbounds %7, ptr %0, i64 0, i32 1, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !213)
%7 = load ptr, ptr %6, align 8, !alias.scope !216
%8 = getelementptr %7, ptr %0, i64 0, i32 1, i32 1, i64 1
%9 = load i64, ptr %8, align 8, !alias.scope !216
%10 = icmp eq i64 %9, 0
br i1 %10, label %17, label %11
11: ; preds = %5
%12 = icmp ugt i64 %9, 576460752303423487
br i1 %12, label %13, label %14
13: ; preds = %11
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !217
unreachable
14: ; preds = %11
%15 = shl nuw nsw i64 %9, 4
%16 = icmp ne ptr %7, null
tail call void @llvm.assume(i1 %16)
tail call void @__rust_dealloc(ptr nonnull %7, i64 %15, i64 8) #22, !noalias !216
br label %17
17: ; preds = %14, %5, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr55drop_in_place$LT$gimli..read..abbrev..Abbreviations$GT$17h477dbe1c431608e8E"(ptr noalias nocapture readonly align 8 dereferenceable(48) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
tail call void @llvm.experimental.noalias.scope.decl(metadata !220)
%2 = load ptr, ptr %0, align 8, !alias.scope !220, !nonnull !25, !noundef !25
%3 = getelementptr i8, ptr %0, i64 16
%4 = load i64, ptr %3, align 8, !alias.scope !220
%5 = getelementptr inbounds %7, ptr %2, i64 %4
%6 = icmp eq i64 %4, 0
br i1 %6, label %40, label %7
7: ; preds = %26, %1
%8 = phi ptr [ %9, %26 ], [ %2, %1 ]
%9 = getelementptr inbounds %7, ptr %8, i64 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !223)
%10 = getelementptr inbounds %7, ptr %8, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !226)
%11 = load i64, ptr %10, align 8, !range !23, !alias.scope !229, !noalias !220, !noundef !25
%12 = icmp eq i64 %11, 0
br i1 %12, label %26, label %13
13: ; preds = %7
%14 = getelementptr inbounds %7, ptr %8, i64 0, i32 1, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !232)
%15 = load ptr, ptr %14, align 8, !alias.scope !235, !noalias !220
%16 = getelementptr %7, ptr %8, i64 0, i32 1, i32 1, i64 1
%17 = load i64, ptr %16, align 8, !alias.scope !235, !noalias !220
%18 = icmp eq i64 %17, 0
br i1 %18, label %26, label %19
19: ; preds = %13
%20 = icmp ugt i64 %17, 576460752303423487
br i1 %20, label %21, label %23
21: ; preds = %19
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %22 unwind label %31, !noalias !220
22: ; preds = %21
unreachable
23: ; preds = %19
%24 = shl nuw nsw i64 %17, 4
%25 = icmp ne ptr %15, null
tail call void @llvm.assume(i1 %25)
tail call void @__rust_dealloc(ptr nonnull %15, i64 %24, i64 8) #22, !noalias !236
br label %26
26: ; preds = %23, %13, %7
%27 = icmp eq ptr %9, %5
br i1 %27, label %40, label %7
28: ; preds = %33, %31
%29 = phi ptr [ %9, %31 ], [ %34, %33 ]
%30 = icmp eq ptr %29, %5
br i1 %30, label %37, label %33
31: ; preds = %21
%32 = landingpad { ptr, i32 }
cleanup
br label %28
33: ; preds = %28
%34 = getelementptr inbounds %7, ptr %29, i64 1
invoke fastcc void @"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"(ptr noalias nonnull align 8 dereferenceable(112) %29) #24
to label %28 unwind label %35, !noalias !220
35: ; preds = %33
%36 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !220
unreachable
37: ; preds = %28
%38 = getelementptr i8, ptr %0, i64 8
%39 = load i64, ptr %38, align 8, !alias.scope !220
invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$alloc..raw_vec..RawVec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17h679c3d2202750b59E"(ptr nonnull %2, i64 %39) #24
to label %54 unwind label %50, !noalias !220
40: ; preds = %26, %1
%41 = getelementptr i8, ptr %0, i64 8
%42 = load i64, ptr %41, align 8, !alias.scope !220
%43 = icmp eq i64 %42, 0
br i1 %43, label %57, label %44
44: ; preds = %40
%45 = icmp ugt i64 %42, 82351536043346212
br i1 %45, label %46, label %48
46: ; preds = %44
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %47 unwind label %52
47: ; preds = %46
unreachable
48: ; preds = %44
%49 = mul nuw nsw i64 %42, 112
tail call void @__rust_dealloc(ptr nonnull %2, i64 %49, i64 8) #22, !noalias !220
br label %57
50: ; preds = %37
%51 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !220
unreachable
52: ; preds = %46
%53 = landingpad { ptr, i32 }
cleanup
br label %54
54: ; preds = %52, %37
%55 = phi { ptr, i32 } [ %53, %52 ], [ %32, %37 ]
%56 = getelementptr inbounds %18, ptr %0, i64 0, i32 1
invoke fastcc void @"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hb552a67d31141ef1E"(ptr noalias nonnull align 8 dereferenceable(24) %56) #24
to label %61 unwind label %59
57: ; preds = %48, %40
%58 = getelementptr inbounds %18, ptr %0, i64 0, i32 1
tail call fastcc void @"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hb552a67d31141ef1E"(ptr noalias nonnull align 8 dereferenceable(24) %58)
ret void
59: ; preds = %54
%60 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
61: ; preds = %54
resume { ptr, i32 } %55
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nocapture readonly align 8 dereferenceable(256) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
invoke fastcc void @"_ZN4core3ptr124drop_in_place$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17hc551d1638f562428E"(ptr noalias align 8 dereferenceable(64) %0)
to label %5 unwind label %2
2: ; preds = %1
%3 = landingpad { ptr, i32 }
cleanup
%4 = getelementptr inbounds %49, ptr %0, i64 0, i32 1
invoke fastcc void @"_ZN4core3ptr63drop_in_place$LT$backtrace..symbolize..gimli..macho..Object$GT$17hb00ca2af230f8976E"(ptr noalias nonnull align 8 dereferenceable(128) %4) #24
to label %11 unwind label %7
5: ; preds = %1
%6 = getelementptr inbounds %49, ptr %0, i64 0, i32 1
invoke fastcc void @"_ZN4core3ptr63drop_in_place$LT$backtrace..symbolize..gimli..macho..Object$GT$17hb00ca2af230f8976E"(ptr noalias nonnull align 8 dereferenceable(128) %6)
to label %17 unwind label %9
7: ; preds = %2
%8 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
9: ; preds = %5
%10 = landingpad { ptr, i32 }
cleanup
br label %11
11: ; preds = %9, %2
%12 = phi { ptr, i32 } [ %10, %9 ], [ %3, %2 ]
%13 = getelementptr inbounds %55, ptr %0, i64 0, i32 1
%14 = load ptr, ptr %13, align 8, !alias.scope !237
%15 = getelementptr %55, ptr %0, i64 0, i32 1, i32 1
%16 = load i64, ptr %15, align 8, !alias.scope !237
invoke fastcc void @"_ZN4core3ptr60drop_in_place$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$17hf6a98789b0f3e977E"(ptr %14, i64 %16) #24
to label %25 unwind label %23
17: ; preds = %5
%18 = getelementptr inbounds %55, ptr %0, i64 0, i32 1
%19 = load ptr, ptr %18, align 8, !alias.scope !237
%20 = getelementptr %55, ptr %0, i64 0, i32 1, i32 1
%21 = load i64, ptr %20, align 8, !alias.scope !237
%22 = invoke i32 @munmap(ptr %19, i64 %21)
to label %30 unwind label %28
23: ; preds = %25, %11
%24 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
25: ; preds = %28, %11
%26 = phi { ptr, i32 } [ %29, %28 ], [ %12, %11 ]
%27 = getelementptr inbounds %55, ptr %0, i64 0, i32 2
invoke fastcc void @"_ZN4core3ptr62drop_in_place$LT$backtrace..symbolize..gimli..stash..Stash$GT$17h575130cbfcab74efE"(ptr noalias nonnull align 8 dereferenceable(48) %27) #24
to label %32 unwind label %23
28: ; preds = %17
%29 = landingpad { ptr, i32 }
cleanup
br label %25
30: ; preds = %17
%31 = getelementptr inbounds %55, ptr %0, i64 0, i32 2
tail call fastcc void @"_ZN4core3ptr62drop_in_place$LT$backtrace..symbolize..gimli..stash..Stash$GT$17h575130cbfcab74efE"(ptr noalias nonnull align 8 dereferenceable(48) %31)
ret void
32: ; preds = %25
resume { ptr, i32 } %26
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8
%5 = icmp eq i64 %4, 0
br i1 %5, label %12, label %6
6: ; preds = %1
%7 = icmp ugt i64 %4, 576460752303423487
br i1 %7, label %8, label %9
8: ; preds = %6
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !240
unreachable
9: ; preds = %6
%10 = shl nuw nsw i64 %4, 4
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %10, i64 8) #22
br label %12
12: ; preds = %9, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr60drop_in_place$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$17hf6a98789b0f3e977E"(ptr %0, i64 %1) unnamed_addr #0 {
%3 = tail call i32 @munmap(ptr %0, i64 %1), !noalias !237
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr62drop_in_place$LT$backtrace..symbolize..gimli..stash..Stash$GT$17h575130cbfcab74efE"(ptr noalias nocapture readonly align 8 dereferenceable(48) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
tail call void @llvm.experimental.noalias.scope.decl(metadata !243)
tail call void @llvm.experimental.noalias.scope.decl(metadata !246)
%2 = load ptr, ptr %0, align 8, !alias.scope !249, !nonnull !25, !noundef !25
%3 = getelementptr i8, ptr %0, i64 16
%4 = load i64, ptr %3, align 8, !alias.scope !249
%5 = getelementptr inbounds %61, ptr %2, i64 %4
%6 = icmp eq i64 %4, 0
br i1 %6, label %34, label %7
7: ; preds = %20, %1
%8 = phi ptr [ %9, %20 ], [ %2, %1 ]
%9 = getelementptr inbounds %61, ptr %8, i64 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !250)
%10 = load ptr, ptr %8, align 8, !alias.scope !253, !noalias !249
%11 = getelementptr i8, ptr %8, i64 8
%12 = load i64, ptr %11, align 8, !alias.scope !253, !noalias !249
%13 = icmp eq i64 %12, 0
br i1 %13, label %20, label %14
14: ; preds = %7
%15 = icmp slt i64 %12, 0
br i1 %15, label %16, label %18
16: ; preds = %14
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %17 unwind label %25, !noalias !249
17: ; preds = %16
unreachable
18: ; preds = %14
%19 = icmp ne ptr %10, null
tail call void @llvm.assume(i1 %19)
tail call void @__rust_dealloc(ptr nonnull %10, i64 %12, i64 1) #22, !noalias !256
br label %20
20: ; preds = %18, %7
%21 = icmp eq ptr %9, %5
br i1 %21, label %34, label %7
22: ; preds = %27, %25
%23 = phi ptr [ %9, %25 ], [ %28, %27 ]
%24 = icmp eq ptr %23, %5
br i1 %24, label %31, label %27
25: ; preds = %16
%26 = landingpad { ptr, i32 }
cleanup
br label %22
27: ; preds = %22
%28 = getelementptr inbounds %61, ptr %23, i64 1
invoke fastcc void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"(ptr noalias nonnull align 8 dereferenceable(24) %23) #24
to label %22 unwind label %29, !noalias !249
29: ; preds = %27
%30 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !249
unreachable
31: ; preds = %22
%32 = getelementptr i8, ptr %0, i64 8
%33 = load i64, ptr %32, align 8, !alias.scope !249
invoke fastcc void @"_ZN4core3ptr69drop_in_place$LT$alloc..raw_vec..RawVec$LT$addr2line..LineRow$GT$$GT$17h5c81963e4527ec96E"(ptr nonnull %2, i64 %33) #24
to label %48 unwind label %44, !noalias !249
34: ; preds = %20, %1
%35 = getelementptr i8, ptr %0, i64 8
%36 = load i64, ptr %35, align 8, !alias.scope !249
%37 = icmp eq i64 %36, 0
br i1 %37, label %51, label %38
38: ; preds = %34
%39 = icmp ugt i64 %36, 384307168202282325
br i1 %39, label %40, label %42
40: ; preds = %38
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %41 unwind label %46
41: ; preds = %40
unreachable
42: ; preds = %38
%43 = mul nuw nsw i64 %36, 24
tail call void @__rust_dealloc(ptr nonnull %2, i64 %43, i64 8) #22, !noalias !249
br label %51
44: ; preds = %31
%45 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !249
unreachable
46: ; preds = %40
%47 = landingpad { ptr, i32 }
cleanup
br label %48
48: ; preds = %46, %31
%49 = phi { ptr, i32 } [ %47, %46 ], [ %26, %31 ]
%50 = getelementptr inbounds %56, ptr %0, i64 0, i32 1
invoke fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$$GT$17h686cacdd2d4adc3cE"(ptr noalias nonnull align 8 dereferenceable(24) %50) #24
to label %64 unwind label %62
51: ; preds = %42, %34
%52 = getelementptr inbounds %56, ptr %0, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !257)
tail call void @llvm.experimental.noalias.scope.decl(metadata !260)
%53 = load i64, ptr %52, align 8, !range !23, !alias.scope !263, !noundef !25
%54 = icmp eq i64 %53, 0
br i1 %54, label %61, label %55
55: ; preds = %51
%56 = getelementptr inbounds %56, ptr %0, i64 0, i32 1, i32 0, i32 1
%57 = load ptr, ptr %56, align 8, !alias.scope !264
%58 = getelementptr %56, ptr %0, i64 0, i32 1, i32 0, i32 1, i64 1
%59 = load i64, ptr %58, align 8, !alias.scope !264
%60 = tail call i32 @munmap(ptr %57, i64 %59), !noalias !267
br label %61
61: ; preds = %55, %51
ret void
62: ; preds = %48
%63 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
64: ; preds = %48
resume { ptr, i32 } %49
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr63drop_in_place$LT$backtrace..symbolize..gimli..macho..Object$GT$17hb00ca2af230f8976E"(ptr noalias nocapture readonly align 8 dereferenceable(128) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = getelementptr inbounds %51, ptr %0, i64 0, i32 3
tail call void @llvm.experimental.noalias.scope.decl(metadata !270)
%3 = load ptr, ptr %2, align 8, !alias.scope !270
%4 = getelementptr %51, ptr %0, i64 0, i32 3, i32 0, i32 1
%5 = load i64, ptr %4, align 8, !alias.scope !270
%6 = icmp eq i64 %5, 0
br i1 %6, label %17, label %7
7: ; preds = %1
%8 = icmp ugt i64 %5, 384307168202282325
br i1 %8, label %9, label %11
9: ; preds = %7
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %10 unwind label %14
10: ; preds = %9
unreachable
11: ; preds = %7
%12 = mul nuw nsw i64 %5, 24
%13 = icmp ne ptr %3, null
tail call void @llvm.assume(i1 %13)
tail call void @__rust_dealloc(ptr nonnull %3, i64 %12, i64 8) #22, !noalias !270
br label %17
14: ; preds = %9
%15 = landingpad { ptr, i32 }
cleanup
%16 = getelementptr inbounds %51, ptr %0, i64 0, i32 4
invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"(ptr noalias nonnull align 8 dereferenceable(48) %16) #24
to label %24 unwind label %22
17: ; preds = %11, %1
%18 = getelementptr inbounds %51, ptr %0, i64 0, i32 4
%19 = load ptr, ptr %18, align 8, !alias.scope !273
%20 = icmp eq ptr %19, null
br i1 %20, label %29, label %21
21: ; preds = %17
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr noalias nonnull align 8 dereferenceable(48) %18)
to label %29 unwind label %27
22: ; preds = %24, %14
%23 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
24: ; preds = %27, %14
%25 = phi { ptr, i32 } [ %28, %27 ], [ %15, %14 ]
%26 = getelementptr inbounds %51, ptr %0, i64 0, i32 5
invoke fastcc void @"_ZN4core3ptr148drop_in_place$LT$alloc..boxed..Box$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$$GT$17hfafcb45fb3eab3c5E"(ptr noalias nonnull align 8 dereferenceable(16) %26) #24
to label %36 unwind label %22
27: ; preds = %21
%28 = landingpad { ptr, i32 }
cleanup
br label %24
29: ; preds = %21, %17
%30 = getelementptr inbounds %51, ptr %0, i64 0, i32 5
tail call void @llvm.experimental.noalias.scope.decl(metadata !276)
%31 = load ptr, ptr %30, align 8, !alias.scope !276
%32 = getelementptr inbounds %51, ptr %0, i64 0, i32 5, i32 1
%33 = load i64, ptr %32, align 8, !alias.scope !276
invoke fastcc void @"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE"(ptr noalias align 8 %31, i64 %33)
to label %38 unwind label %34, !noalias !276
34: ; preds = %29
%35 = landingpad { ptr, i32 }
cleanup
tail call fastcc void @_ZN5alloc5alloc8box_free17h9468c018c14e5cf6E(ptr noundef nonnull %31, i64 %33) #24, !noalias !276
br label %36
36: ; preds = %34, %24
%37 = phi { ptr, i32 } [ %35, %34 ], [ %25, %24 ]
resume { ptr, i32 } %37
38: ; preds = %29
%39 = icmp eq i64 %33, 0
br i1 %39, label %42, label %40
40: ; preds = %38
%41 = shl nsw i64 %33, 8
tail call void @__rust_dealloc(ptr nonnull %31, i64 %41, i64 8) #22, !noalias !276
br label %42
42: ; preds = %40, %38
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr69drop_in_place$LT$alloc..raw_vec..RawVec$LT$addr2line..LineRow$GT$$GT$17h5c81963e4527ec96E"(ptr %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = icmp eq i64 %1, 0
br i1 %3, label %10, label %4
4: ; preds = %2
%5 = icmp ugt i64 %1, 384307168202282325
br i1 %5, label %6, label %7
6: ; preds = %4
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !279
unreachable
7: ; preds = %4
%8 = mul nuw nsw i64 %1, 24
%9 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %9)
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %10
10: ; preds = %7, %2
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$alloc..collections..btree..mem..replace..PanicGuard$GT$17hf07010ebb5cf0b33E"(ptr noalias nonnull align 1 %0) unnamed_addr #0 {
tail call void @"_ZN93_$LT$alloc..collections..btree..mem..replace..PanicGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h42ebe3d4ee1ae437E"(ptr noalias noundef nonnull align 1 %0)
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"(ptr noalias nocapture readonly align 8 dereferenceable(48) %0) unnamed_addr #0 {
%2 = load ptr, ptr %0, align 8
%3 = icmp eq ptr %2, null
br i1 %3, label %4, label %5
4: ; preds = %5, %1
ret void
5: ; preds = %1
tail call fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr noalias nonnull align 8 dereferenceable(48) %0)
br label %4
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E"(ptr %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = getelementptr inbounds %62, ptr %0, i64 %1
%4 = icmp eq i64 %1, 0
br i1 %4, label %5, label %7
5: ; preds = %2
%6 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %6)
br label %39
7: ; preds = %20, %2
%8 = phi ptr [ %9, %20 ], [ %0, %2 ]
%9 = getelementptr inbounds %62, ptr %8, i64 1
%10 = load ptr, ptr %8, align 8, !alias.scope !282
%11 = getelementptr i8, ptr %8, i64 8
%12 = load i64, ptr %11, align 8, !alias.scope !282
%13 = icmp eq i64 %12, 0
br i1 %13, label %20, label %14
14: ; preds = %7
%15 = icmp slt i64 %12, 0
br i1 %15, label %16, label %18
16: ; preds = %14
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %17 unwind label %25
17: ; preds = %16
unreachable
18: ; preds = %14
%19 = icmp ne ptr %10, null
tail call void @llvm.assume(i1 %19)
tail call void @__rust_dealloc(ptr nonnull %10, i64 %12, i64 1) #22, !noalias !287
br label %20
20: ; preds = %18, %7
%21 = icmp eq ptr %9, %3
br i1 %21, label %36, label %7
22: ; preds = %27, %25
%23 = phi ptr [ %9, %25 ], [ %28, %27 ]
%24 = icmp eq ptr %23, %3
br i1 %24, label %34, label %27
25: ; preds = %16
%26 = landingpad { ptr, i32 }
cleanup
br label %22
27: ; preds = %22
%28 = getelementptr inbounds %62, ptr %23, i64 1
%29 = load ptr, ptr %23, align 8, !alias.scope !282
%30 = getelementptr i8, ptr %23, i64 8
%31 = load i64, ptr %30, align 8, !alias.scope !282
invoke fastcc void @"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h9ee44820ac6a8ad5E"(ptr %29, i64 %31) #24
to label %22 unwind label %32
32: ; preds = %27
%33 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
34: ; preds = %22
%35 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %35)
tail call fastcc void @_ZN5alloc5alloc8box_free17he7ea593b3f3f4640E(ptr noundef nonnull %0, i64 %1) #24
resume { ptr, i32 } %26
36: ; preds = %20
%37 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %37)
%38 = mul nsw i64 %1, 24
tail call void @__rust_dealloc(ptr nonnull %0, i64 %38, i64 8) #22
br label %39
39: ; preds = %36, %5
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"(ptr noalias nocapture readonly align 8 dereferenceable(24) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8
%5 = icmp eq i64 %4, 0
br i1 %5, label %12, label %6
6: ; preds = %1
%7 = icmp ugt i64 %4, 2305843009213693951
br i1 %7, label %8, label %9
8: ; preds = %6
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !290
unreachable
9: ; preds = %6
%10 = shl nuw nsw i64 %4, 2
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
tail call void @__rust_dealloc(ptr nonnull %2, i64 %10, i64 2) #22
br label %12
12: ; preds = %9, %1
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr79drop_in_place$LT$alloc..boxed..Box$LT$$u5b$addr2line..LineSequence$u5d$$GT$$GT$17h2ea6bea798871b70E"(ptr %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = getelementptr inbounds %63, ptr %0, i64 %1
%4 = icmp eq i64 %1, 0
br i1 %4, label %5, label %7
5: ; preds = %2
%6 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %6)
br label %22
7: ; preds = %17, %2
%8 = phi ptr [ %9, %17 ], [ %0, %2 ]
%9 = getelementptr inbounds %63, ptr %8, i64 1
%10 = getelementptr i8, ptr %8, i64 24
%11 = load i64, ptr %10, align 8, !alias.scope !293
%12 = icmp eq i64 %11, 0
br i1 %12, label %17, label %13
13: ; preds = %7
%14 = getelementptr i8, ptr %8, i64 16
%15 = load ptr, ptr %14, align 8, !alias.scope !293, !nonnull !25, !noundef !25
%16 = mul nsw i64 %11, 24
tail call void @__rust_dealloc(ptr nonnull %15, i64 %16, i64 8) #22
br label %17
17: ; preds = %13, %7
%18 = icmp eq ptr %9, %3
br i1 %18, label %19, label %7
19: ; preds = %17
%20 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %20)
%21 = shl nsw i64 %1, 5
tail call void @__rust_dealloc(ptr nonnull %0, i64 %21, i64 8) #22
br label %22
22: ; preds = %19, %5
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr84drop_in_place$LT$alloc..raw_vec..RawVec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17h679c3d2202750b59E"(ptr %0, i64 %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = icmp eq i64 %1, 0
br i1 %3, label %10, label %4
4: ; preds = %2
%5 = icmp ugt i64 %1, 82351536043346212
br i1 %5, label %6, label %7
6: ; preds = %4
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !296
unreachable
7: ; preds = %4
%8 = mul nuw nsw i64 %1, 112
%9 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %9)
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %10
10: ; preds = %7, %2
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E"(ptr noalias align 8 dereferenceable(256) %0) unnamed_addr #0 {
%2 = getelementptr inbounds %64, ptr %0, i64 0, i32 1
%3 = load i8, ptr %2, align 8, !range !299, !noundef !25
%4 = icmp eq i8 %3, 2
br i1 %4, label %5, label %6
5: ; preds = %6, %1
ret void
6: ; preds = %1
tail call fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %0)
br label %5
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr86drop_in_place$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$17h7ead3583c7167e8eE"(ptr noalias nocapture readonly align 8 dereferenceable(32) %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = load ptr, ptr %0, align 8
%3 = icmp eq ptr %2, null
br i1 %3, label %40, label %4
4: ; preds = %1
tail call void @llvm.experimental.noalias.scope.decl(metadata !300)
%5 = getelementptr i8, ptr %0, i64 8
%6 = load i64, ptr %5, align 8, !alias.scope !300
invoke fastcc void @"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E"(ptr nonnull %2, i64 %6)
to label %13 unwind label %7, !noalias !300
7: ; preds = %4
%8 = landingpad { ptr, i32 }
cleanup
%9 = getelementptr inbounds %65, ptr %0, i64 0, i32 1
%10 = load ptr, ptr %9, align 8, !alias.scope !300
%11 = getelementptr %65, ptr %0, i64 0, i32 1, i32 1
%12 = load i64, ptr %11, align 8, !alias.scope !300
invoke fastcc void @"_ZN4core3ptr79drop_in_place$LT$alloc..boxed..Box$LT$$u5b$addr2line..LineSequence$u5d$$GT$$GT$17h2ea6bea798871b70E"(ptr %10, i64 %12) #24
to label %39 unwind label %37, !noalias !300
13: ; preds = %4
%14 = getelementptr inbounds %65, ptr %0, i64 0, i32 1
%15 = load ptr, ptr %14, align 8, !alias.scope !300
%16 = getelementptr %65, ptr %0, i64 0, i32 1, i32 1
%17 = load i64, ptr %16, align 8, !alias.scope !300
%18 = getelementptr inbounds %63, ptr %15, i64 %17
%19 = icmp eq i64 %17, 0
br i1 %19, label %20, label %22
20: ; preds = %13
%21 = icmp ne ptr %15, null
tail call void @llvm.assume(i1 %21)
br label %40
22: ; preds = %32, %13
%23 = phi ptr [ %24, %32 ], [ %15, %13 ]
%24 = getelementptr inbounds %63, ptr %23, i64 1
%25 = getelementptr i8, ptr %23, i64 24
%26 = load i64, ptr %25, align 8, !alias.scope !303, !noalias !300
%27 = icmp eq i64 %26, 0
br i1 %27, label %32, label %28
28: ; preds = %22
%29 = getelementptr i8, ptr %23, i64 16
%30 = load ptr, ptr %29, align 8, !alias.scope !303, !noalias !300, !nonnull !25, !noundef !25
%31 = mul nsw i64 %26, 24
tail call void @__rust_dealloc(ptr nonnull %30, i64 %31, i64 8) #22, !noalias !300
br label %32
32: ; preds = %28, %22
%33 = icmp eq ptr %24, %18
br i1 %33, label %34, label %22
34: ; preds = %32
%35 = icmp ne ptr %15, null
tail call void @llvm.assume(i1 %35)
%36 = shl nsw i64 %17, 5
tail call void @__rust_dealloc(ptr nonnull %15, i64 %36, i64 8) #22, !noalias !300
br label %40
37: ; preds = %7
%38 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !300
unreachable
39: ; preds = %7
resume { ptr, i32 } %8
40: ; preds = %34, %20, %1
ret void
}
; Function Attrs: nounwind uwtable
define internal fastcc void @"_ZN4core3ptr86drop_in_place$LT$core..slice..sort..CopyOnDrop$LT$object..read..ObjectMapEntry$GT$$GT$17hc54b5e0b71e684c2E"(ptr %0, ptr %1) unnamed_addr #1 {
%3 = icmp ne ptr %0, null
%4 = ptrtoint ptr %0 to i64
%5 = and i64 %4, 7
%6 = icmp eq i64 %5, 0
%7 = select i1 %3, i1 %6, i1 false
br i1 %7, label %8, label %20
8: ; preds = %2
%9 = icmp ne ptr %1, null
%10 = ptrtoint ptr %1 to i64
%11 = and i64 %10, 7
%12 = icmp eq i64 %11, 0
%13 = select i1 %9, i1 %12, i1 false
br i1 %13, label %14, label %20
14: ; preds = %8
%15 = icmp ugt ptr %0, %1
%16 = sub i64 %4, %10
%17 = sub i64 %10, %4
%18 = select i1 %15, i64 %16, i64 %17
%19 = icmp ult i64 %18, 40
br i1 %19, label %20, label %21
20: ; preds = %14, %8, %2
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
21: ; preds = %14
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef nonnull align 8 dereferenceable(40) %0, i64 40, i1 false)
ret void
}
; Function Attrs: nounwind uwtable
define internal fastcc void @"_ZN4core3ptr88drop_in_place$LT$core..slice..sort..CopyOnDrop$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h884966c146f349c3E"(ptr %0, ptr %1) unnamed_addr #1 {
%3 = icmp ne ptr %0, null
%4 = ptrtoint ptr %0 to i64
%5 = and i64 %4, 7
%6 = icmp eq i64 %5, 0
%7 = select i1 %3, i1 %6, i1 false
br i1 %7, label %8, label %20
8: ; preds = %2
%9 = icmp ne ptr %1, null
%10 = ptrtoint ptr %1 to i64
%11 = and i64 %10, 7
%12 = icmp eq i64 %11, 0
%13 = select i1 %9, i1 %12, i1 false
br i1 %13, label %14, label %20
14: ; preds = %8
%15 = icmp ugt ptr %0, %1
%16 = sub i64 %4, %10
%17 = sub i64 %10, %4
%18 = select i1 %15, i64 %16, i64 %17
%19 = icmp ult i64 %18, 24
br i1 %19, label %20, label %21
20: ; preds = %14, %8, %2
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
21: ; preds = %14
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %0, i64 24, i1 false)
ret void
}
; Function Attrs: uwtable
define internal fastcc void @_ZN4core5slice4sort10shift_tail17h775ad06d0c05e17eE(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr %2) unnamed_addr #0 personality ptr @rust_eh_personality {
%4 = alloca %66, align 8
%5 = icmp ugt i64 %1, 1
br i1 %5, label %6, label %15
6: ; preds = %3
%7 = add i64 %1, -1
%8 = getelementptr inbounds %67, ptr %0, i64 %7
%9 = add i64 %1, -2
%10 = getelementptr inbounds %67, ptr %0, i64 %9
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
%12 = load i64, ptr %8, align 8
%13 = load i64, ptr %10, align 8
%14 = icmp ult i64 %12, %13
br i1 %14, label %16, label %15
15: ; preds = %49, %6, %3
ret void
16: ; preds = %6
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4)
%17 = ptrtoint ptr %8 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef nonnull align 8 dereferenceable(40) %8, i64 40, i1 false)
%18 = ptrtoint ptr %10 to i64
%19 = icmp sgt i64 %9, %7
%20 = sub i64 %18, %17
%21 = sub i64 %17, %18
%22 = select i1 %19, i64 %20, i64 %21
%23 = icmp ult i64 %22, 40
br i1 %23, label %24, label %25
24: ; preds = %16
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
25: ; preds = %16
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, ptr noundef nonnull align 8 dereferenceable(40) %10, i64 40, i1 false)
%26 = icmp eq i64 %9, 0
br i1 %26, label %36, label %27
27: ; preds = %25
%28 = load i64, ptr %4, align 8
%29 = add i64 %1, -3
%30 = getelementptr inbounds %67, ptr %0, i64 %29
%31 = load i64, ptr %30, align 8
%32 = icmp ult i64 %28, %31
br i1 %32, label %55, label %33
33: ; preds = %68, %50, %27
%34 = phi ptr [ %10, %27 ], [ %56, %50 ], [ %0, %68 ]
%35 = ptrtoint ptr %34 to i64
br label %36
36: ; preds = %33, %25
%37 = phi i64 [ %35, %33 ], [ %18, %25 ]
%38 = phi ptr [ %34, %33 ], [ %10, %25 ]
%39 = and i64 %37, 7
%40 = icmp eq i64 %39, 0
br i1 %40, label %41, label %48
41: ; preds = %36
%42 = ptrtoint ptr %4 to i64
%43 = icmp ugt ptr %4, %38
%44 = sub i64 %42, %37
%45 = sub i64 %37, %42
%46 = select i1 %43, i64 %44, i64 %45
%47 = icmp ult i64 %46, 40
br i1 %47, label %48, label %49
48: ; preds = %41, %36
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
49: ; preds = %41
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull align 8 dereferenceable(40) %4, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4)
br label %15
50: ; preds = %68
%51 = add i64 %57, -1
%52 = getelementptr inbounds %67, ptr %0, i64 %51
%53 = load i64, ptr %52, align 8
%54 = icmp ult i64 %28, %53
br i1 %54, label %55, label %33
55: ; preds = %50, %27
%56 = phi ptr [ %52, %50 ], [ %30, %27 ]
%57 = phi i64 [ %51, %50 ], [ %29, %27 ]
%58 = phi i64 [ %57, %50 ], [ %9, %27 ]
%59 = getelementptr inbounds %67, ptr %0, i64 %58
%60 = ptrtoint ptr %56 to i64
%61 = ptrtoint ptr %59 to i64
%62 = icmp eq i64 %58, -9223372036854775808
%63 = sub i64 %60, %61
%64 = sub i64 %61, %60
%65 = select i1 %62, i64 %63, i64 %64
%66 = icmp ult i64 %65, 40
br i1 %66, label %67, label %68
67: ; preds = %55
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
68: ; preds = %55
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %59, ptr noundef nonnull align 8 dereferenceable(40) %56, i64 40, i1 false)
%69 = icmp eq i64 %57, 0
br i1 %69, label %33, label %50
}
; Function Attrs: uwtable
define internal fastcc void @_ZN4core5slice4sort10shift_tail17h8fcd899ff28c3a50E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr %2) unnamed_addr #0 personality ptr @rust_eh_personality {
%4 = alloca %68, align 8
%5 = icmp ugt i64 %1, 1
br i1 %5, label %6, label %25
6: ; preds = %3
%7 = add i64 %1, -1
%8 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %7
%9 = add i64 %1, -2
%10 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %9
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
%12 = load ptr, ptr %8, align 8, !nonnull !25, !align !306, !noundef !25
%13 = getelementptr i8, ptr %8, i64 8
%14 = load i64, ptr %13, align 8
%15 = load ptr, ptr %10, align 8, !nonnull !25, !align !306, !noundef !25
%16 = getelementptr i8, ptr %10, i64 8
%17 = load i64, ptr %16, align 8
%18 = sub i64 %14, %17
%19 = tail call i64 @llvm.umin.i64(i64 %14, i64 %17)
%20 = tail call i32 @memcmp(ptr nonnull %12, ptr nonnull %15, i64 %19), !alias.scope !307
%21 = sext i32 %20 to i64
%22 = icmp eq i32 %20, 0
%23 = select i1 %22, i64 %18, i64 %21
%24 = icmp slt i64 %23, 0
br i1 %24, label %26, label %25
25: ; preds = %69, %6, %3
ret void
26: ; preds = %6
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4)
%27 = ptrtoint ptr %8 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false)
%28 = ptrtoint ptr %10 to i64
%29 = icmp sgt i64 %9, %7
%30 = sub i64 %28, %27
%31 = sub i64 %27, %28
%32 = select i1 %29, i64 %30, i64 %31
%33 = icmp ult i64 %32, 24
br i1 %33, label %34, label %35
34: ; preds = %26
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
35: ; preds = %26
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false)
%36 = icmp eq i64 %9, 0
br i1 %36, label %56, label %37
37: ; preds = %35
%38 = load ptr, ptr %4, align 8, !nonnull !25, !align !306, !noundef !25
%39 = getelementptr inbounds i8, ptr %4, i64 8
%40 = load i64, ptr %39, align 8
%41 = add i64 %1, -3
%42 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %41
%43 = load ptr, ptr %42, align 8, !nonnull !25, !align !306, !noundef !25
%44 = getelementptr i8, ptr %42, i64 8
%45 = load i64, ptr %44, align 8
%46 = sub i64 %40, %45
%47 = tail call i64 @llvm.umin.i64(i64 %40, i64 %45)
%48 = tail call i32 @memcmp(ptr nonnull %38, ptr nonnull %43, i64 %47), !alias.scope !320
%49 = sext i32 %48 to i64
%50 = icmp eq i32 %48, 0
%51 = select i1 %50, i64 %46, i64 %49
%52 = icmp slt i64 %51, 0
br i1 %52, label %83, label %53
53: ; preds = %96, %70, %37
%54 = phi ptr [ %10, %37 ], [ %84, %70 ], [ %0, %96 ]
%55 = ptrtoint ptr %54 to i64
br label %56
56: ; preds = %53, %35
%57 = phi i64 [ %55, %53 ], [ %28, %35 ]
%58 = phi ptr [ %54, %53 ], [ %10, %35 ]
%59 = and i64 %57, 7
%60 = icmp eq i64 %59, 0
br i1 %60, label %61, label %68
61: ; preds = %56
%62 = ptrtoint ptr %4 to i64
%63 = icmp ugt ptr %4, %58
%64 = sub i64 %62, %57
%65 = sub i64 %57, %62
%66 = select i1 %63, i64 %64, i64 %65
%67 = icmp ult i64 %66, 24
br i1 %67, label %68, label %69
68: ; preds = %61, %56
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
69: ; preds = %61
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4)
br label %25
70: ; preds = %96
%71 = add i64 %85, -1
%72 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %71
%73 = load ptr, ptr %72, align 8, !nonnull !25, !align !306, !noundef !25
%74 = getelementptr i8, ptr %72, i64 8
%75 = load i64, ptr %74, align 8
%76 = sub i64 %40, %75
%77 = tail call i64 @llvm.umin.i64(i64 %40, i64 %75)
%78 = tail call i32 @memcmp(ptr nonnull %38, ptr nonnull %73, i64 %77), !alias.scope !320
%79 = sext i32 %78 to i64
%80 = icmp eq i32 %78, 0
%81 = select i1 %80, i64 %76, i64 %79
%82 = icmp slt i64 %81, 0
br i1 %82, label %83, label %53
83: ; preds = %70, %37
%84 = phi ptr [ %72, %70 ], [ %42, %37 ]
%85 = phi i64 [ %71, %70 ], [ %41, %37 ]
%86 = phi i64 [ %85, %70 ], [ %9, %37 ]
%87 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %86
%88 = ptrtoint ptr %84 to i64
%89 = ptrtoint ptr %87 to i64
%90 = icmp eq i64 %86, -9223372036854775808
%91 = sub i64 %88, %89
%92 = sub i64 %89, %88
%93 = select i1 %90, i64 %91, i64 %92
%94 = icmp ult i64 %93, 24
br i1 %94, label %95, label %96
95: ; preds = %83
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
96: ; preds = %83
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull align 8 dereferenceable(24) %84, i64 24, i1 false)
%97 = icmp eq i64 %85, 0
br i1 %97, label %53, label %70
}
; Function Attrs: uwtable
define internal fastcc void @_ZN4core5slice4sort10shift_tail17hc922730d0576791aE(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr %2) unnamed_addr #0 personality ptr @rust_eh_personality {
%4 = alloca %68, align 8
%5 = icmp ugt i64 %1, 1
br i1 %5, label %6, label %17
6: ; preds = %3
%7 = add i64 %1, -1
%8 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %7
%9 = add i64 %1, -2
%10 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %9
%11 = icmp ne ptr %2, null
tail call void @llvm.assume(i1 %11)
%12 = getelementptr i8, ptr %8, i64 16
%13 = load i64, ptr %12, align 8
%14 = getelementptr i8, ptr %10, i64 16
%15 = load i64, ptr %14, align 8
%16 = icmp ult i64 %13, %15
br i1 %16, label %18, label %17
17: ; preds = %53, %6, %3
ret void
18: ; preds = %6
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4)
%19 = ptrtoint ptr %8 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false)
%20 = ptrtoint ptr %10 to i64
%21 = icmp sgt i64 %9, %7
%22 = sub i64 %20, %19
%23 = sub i64 %19, %20
%24 = select i1 %21, i64 %22, i64 %23
%25 = icmp ult i64 %24, 24
br i1 %25, label %26, label %27
26: ; preds = %18
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
27: ; preds = %18
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false)
%28 = icmp eq i64 %9, 0
br i1 %28, label %40, label %29
29: ; preds = %27
%30 = getelementptr inbounds i8, ptr %4, i64 16
%31 = load i64, ptr %30, align 8
%32 = add i64 %1, -3
%33 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %32
%34 = getelementptr i8, ptr %33, i64 16
%35 = load i64, ptr %34, align 8
%36 = icmp ult i64 %31, %35
br i1 %36, label %60, label %37
37: ; preds = %73, %54, %29
%38 = phi ptr [ %10, %29 ], [ %61, %54 ], [ %0, %73 ]
%39 = ptrtoint ptr %38 to i64
br label %40
40: ; preds = %37, %27
%41 = phi i64 [ %39, %37 ], [ %20, %27 ]
%42 = phi ptr [ %38, %37 ], [ %10, %27 ]
%43 = and i64 %41, 7
%44 = icmp eq i64 %43, 0
br i1 %44, label %45, label %52
45: ; preds = %40
%46 = ptrtoint ptr %4 to i64
%47 = icmp ugt ptr %4, %42
%48 = sub i64 %46, %41
%49 = sub i64 %41, %46
%50 = select i1 %47, i64 %48, i64 %49
%51 = icmp ult i64 %50, 24
br i1 %51, label %52, label %53
52: ; preds = %45, %40
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
53: ; preds = %45
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4)
br label %17
54: ; preds = %73
%55 = add i64 %62, -1
%56 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %55
%57 = getelementptr i8, ptr %56, i64 16
%58 = load i64, ptr %57, align 8
%59 = icmp ult i64 %31, %58
br i1 %59, label %60, label %37
60: ; preds = %54, %29
%61 = phi ptr [ %56, %54 ], [ %33, %29 ]
%62 = phi i64 [ %55, %54 ], [ %32, %29 ]
%63 = phi i64 [ %62, %54 ], [ %9, %29 ]
%64 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %63
%65 = ptrtoint ptr %61 to i64
%66 = ptrtoint ptr %64 to i64
%67 = icmp eq i64 %63, -9223372036854775808
%68 = sub i64 %65, %66
%69 = sub i64 %66, %65
%70 = select i1 %67, i64 %68, i64 %69
%71 = icmp ult i64 %70, 24
br i1 %71, label %72, label %73
72: ; preds = %60
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
73: ; preds = %60
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %61, i64 24, i1 false)
%74 = icmp eq i64 %62, 0
br i1 %74, label %37, label %54
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h663746f47d774cdaE"(ptr %0, ptr noalias noundef align 8 dereferenceable(8) %1, ptr noalias noundef align 8 dereferenceable(8) %2, ptr noalias noundef align 8 dereferenceable(8) %3) unnamed_addr #2 personality ptr @rust_eh_personality {
%5 = alloca i64, align 8
%6 = alloca i64, align 8
%7 = alloca i64, align 8
%8 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %8)
tail call void @llvm.experimental.noalias.scope.decl(metadata !333)
tail call void @llvm.experimental.noalias.scope.decl(metadata !336)
tail call void @llvm.experimental.noalias.scope.decl(metadata !338)
%9 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1
%10 = load ptr, ptr %9, align 8, !alias.scope !333, !noalias !340, !nonnull !25, !align !341
%11 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1, i32 1
%12 = load i64, ptr %11, align 8, !alias.scope !333, !noalias !340
%13 = load i64, ptr %2, align 8, !alias.scope !338, !noalias !342
%14 = icmp ult i64 %13, %12
br i1 %14, label %16, label %15
15: ; preds = %4
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !343
unreachable
16: ; preds = %4
%17 = load i64, ptr %1, align 8, !alias.scope !336, !noalias !344
%18 = icmp ult i64 %17, %12
br i1 %18, label %20, label %19
19: ; preds = %16
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !343
unreachable
20: ; preds = %16
%21 = getelementptr inbounds %67, ptr %10, i64 %13
%22 = getelementptr inbounds %67, ptr %10, i64 %17
%23 = load i64, ptr %21, align 8, !noalias !343
%24 = load i64, ptr %22, align 8, !noalias !343
%25 = icmp ult i64 %23, %24
br i1 %25, label %26, label %50
26: ; preds = %20
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7), !noalias !343
%27 = ptrtoint ptr %1 to i64
%28 = ptrtoint ptr %7 to i64
%29 = icmp ult ptr %7, %1
%30 = sub i64 %27, %28
%31 = sub i64 %28, %27
%32 = select i1 %29, i64 %30, i64 %31
%33 = icmp eq i64 %32, 0
br i1 %33, label %34, label %35
34: ; preds = %26
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !344
unreachable
35: ; preds = %26
store i64 %17, ptr %7, align 8, !noalias !343
%36 = ptrtoint ptr %2 to i64
store i64 %13, ptr %1, align 8, !alias.scope !336, !noalias !344
%37 = icmp ugt ptr %7, %2
%38 = sub i64 %28, %36
%39 = sub i64 %36, %28
%40 = select i1 %37, i64 %38, i64 %39
%41 = icmp eq i64 %40, 0
br i1 %41, label %42, label %43
42: ; preds = %35
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !333
unreachable
43: ; preds = %35
store i64 %17, ptr %2, align 8, !alias.scope !338, !noalias !342
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !343
%44 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%45 = load ptr, ptr %44, align 8, !alias.scope !333, !noalias !340, !nonnull !25, !align !341, !noundef !25
%46 = load i64, ptr %45, align 8, !noalias !333
%47 = add i64 %46, 1
store i64 %47, ptr %45, align 8, !noalias !333
%48 = load ptr, ptr %9, align 8, !alias.scope !345, !noalias !348
%49 = load i64, ptr %11, align 8, !alias.scope !345, !noalias !348
br label %50
50: ; preds = %43, %20
%51 = phi i64 [ %12, %20 ], [ %49, %43 ]
%52 = phi ptr [ %10, %20 ], [ %48, %43 ]
call void @llvm.experimental.noalias.scope.decl(metadata !345)
call void @llvm.experimental.noalias.scope.decl(metadata !351)
call void @llvm.experimental.noalias.scope.decl(metadata !352)
%53 = load i64, ptr %3, align 8, !alias.scope !352, !noalias !353
%54 = icmp ult i64 %53, %51
br i1 %54, label %56, label %55
55: ; preds = %50
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !354
unreachable
56: ; preds = %50
%57 = load i64, ptr %2, align 8, !alias.scope !351, !noalias !355
%58 = icmp ult i64 %57, %51
br i1 %58, label %60, label %59
59: ; preds = %56
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !354
unreachable
60: ; preds = %56
%61 = getelementptr inbounds %67, ptr %52, i64 %53
%62 = getelementptr inbounds %67, ptr %52, i64 %57
%63 = load i64, ptr %61, align 8, !noalias !354
%64 = load i64, ptr %62, align 8, !noalias !354
%65 = icmp ult i64 %63, %64
br i1 %65, label %66, label %91
66: ; preds = %60
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6), !noalias !354
%67 = ptrtoint ptr %2 to i64
%68 = ptrtoint ptr %6 to i64
%69 = icmp ult ptr %6, %2
%70 = sub i64 %67, %68
%71 = sub i64 %68, %67
%72 = select i1 %69, i64 %70, i64 %71
%73 = icmp eq i64 %72, 0
br i1 %73, label %74, label %75
74: ; preds = %66
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !355
unreachable
75: ; preds = %66
store i64 %57, ptr %6, align 8, !noalias !354
%76 = ptrtoint ptr %3 to i64
store i64 %53, ptr %2, align 8, !alias.scope !351, !noalias !355
%77 = icmp ugt ptr %6, %3
%78 = sub i64 %68, %76
%79 = sub i64 %76, %68
%80 = select i1 %77, i64 %78, i64 %79
%81 = icmp eq i64 %80, 0
br i1 %81, label %82, label %83
82: ; preds = %75
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !345
unreachable
83: ; preds = %75
store i64 %57, ptr %3, align 8, !alias.scope !352, !noalias !353
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !354
%84 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%85 = load ptr, ptr %84, align 8, !alias.scope !345, !noalias !348, !nonnull !25, !align !341, !noundef !25
%86 = load i64, ptr %85, align 8, !noalias !345
%87 = add i64 %86, 1
store i64 %87, ptr %85, align 8, !noalias !345
%88 = load ptr, ptr %9, align 8, !alias.scope !356, !noalias !359
%89 = load i64, ptr %11, align 8, !alias.scope !356, !noalias !359
%90 = load i64, ptr %2, align 8, !alias.scope !362, !noalias !363
br label %91
91: ; preds = %83, %60
%92 = phi i64 [ %57, %60 ], [ %90, %83 ]
%93 = phi i64 [ %51, %60 ], [ %89, %83 ]
%94 = phi ptr [ %52, %60 ], [ %88, %83 ]
call void @llvm.experimental.noalias.scope.decl(metadata !356)
call void @llvm.experimental.noalias.scope.decl(metadata !364)
call void @llvm.experimental.noalias.scope.decl(metadata !362)
%95 = icmp ult i64 %92, %93
br i1 %95, label %97, label %96
96: ; preds = %91
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !365
unreachable
97: ; preds = %91
%98 = load i64, ptr %1, align 8, !alias.scope !364, !noalias !366
%99 = icmp ult i64 %98, %93
br i1 %99, label %101, label %100
100: ; preds = %97
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !365
unreachable
101: ; preds = %97
%102 = getelementptr inbounds %67, ptr %94, i64 %92
%103 = getelementptr inbounds %67, ptr %94, i64 %98
%104 = load i64, ptr %102, align 8, !noalias !365
%105 = load i64, ptr %103, align 8, !noalias !365
%106 = icmp ult i64 %104, %105
br i1 %106, label %107, label %129
107: ; preds = %101
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5), !noalias !365
%108 = ptrtoint ptr %1 to i64
%109 = ptrtoint ptr %5 to i64
%110 = icmp ult ptr %5, %1
%111 = sub i64 %108, %109
%112 = sub i64 %109, %108
%113 = select i1 %110, i64 %111, i64 %112
%114 = icmp eq i64 %113, 0
br i1 %114, label %115, label %116
115: ; preds = %107
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !366
unreachable
116: ; preds = %107
store i64 %98, ptr %5, align 8, !noalias !365
%117 = ptrtoint ptr %2 to i64
store i64 %92, ptr %1, align 8, !alias.scope !364, !noalias !366
%118 = icmp ugt ptr %5, %2
%119 = sub i64 %109, %117
%120 = sub i64 %117, %109
%121 = select i1 %118, i64 %119, i64 %120
%122 = icmp eq i64 %121, 0
br i1 %122, label %123, label %124
123: ; preds = %116
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !356
unreachable
124: ; preds = %116
store i64 %98, ptr %2, align 8, !alias.scope !362, !noalias !363
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5), !noalias !365
%125 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%126 = load ptr, ptr %125, align 8, !alias.scope !356, !noalias !359, !nonnull !25, !align !341, !noundef !25
%127 = load i64, ptr %126, align 8, !noalias !356
%128 = add i64 %127, 1
store i64 %128, ptr %126, align 8, !noalias !356
br label %129
129: ; preds = %124, %101
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias nocapture noundef readonly align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(8) %1, ptr noalias noundef align 8 dereferenceable(8) %2) unnamed_addr #2 personality ptr @rust_eh_personality {
%4 = alloca i64, align 8
%5 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1
%6 = load ptr, ptr %5, align 8, !nonnull !25, !align !341
%7 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1, i32 1
%8 = load i64, ptr %7, align 8
%9 = load i64, ptr %2, align 8
%10 = icmp ult i64 %9, %8
br i1 %10, label %12, label %11
11: ; preds = %3
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
12: ; preds = %3
%13 = load i64, ptr %1, align 8
%14 = icmp ult i64 %13, %8
br i1 %14, label %16, label %15
15: ; preds = %12
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
16: ; preds = %12
%17 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %6, i64 %9
%18 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %6, i64 %13
%19 = load ptr, ptr %17, align 8, !nonnull !25, !align !306, !noundef !25
%20 = getelementptr i8, ptr %17, i64 8
%21 = load i64, ptr %20, align 8
%22 = load ptr, ptr %18, align 8, !nonnull !25, !align !306, !noundef !25
%23 = getelementptr i8, ptr %18, i64 8
%24 = load i64, ptr %23, align 8
%25 = sub i64 %21, %24
%26 = tail call i64 @llvm.umin.i64(i64 %21, i64 %24)
%27 = tail call i32 @memcmp(ptr nonnull %19, ptr nonnull %22, i64 %26), !alias.scope !367
%28 = sext i32 %27 to i64
%29 = icmp eq i32 %27, 0
%30 = select i1 %29, i64 %25, i64 %28
%31 = icmp slt i64 %30, 0
br i1 %31, label %33, label %32
32: ; preds = %50, %16
ret void
33: ; preds = %16
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4)
%34 = ptrtoint ptr %1 to i64
%35 = ptrtoint ptr %4 to i64
%36 = icmp ult ptr %4, %1
%37 = sub i64 %34, %35
%38 = sub i64 %35, %34
%39 = select i1 %36, i64 %37, i64 %38
%40 = icmp eq i64 %39, 0
br i1 %40, label %41, label %42
41: ; preds = %33
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
42: ; preds = %33
store i64 %13, ptr %4, align 8
%43 = ptrtoint ptr %2 to i64
store i64 %9, ptr %1, align 8
%44 = icmp ugt ptr %4, %2
%45 = sub i64 %35, %43
%46 = sub i64 %43, %35
%47 = select i1 %44, i64 %45, i64 %46
%48 = icmp eq i64 %47, 0
br i1 %48, label %49, label %50
49: ; preds = %42
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
50: ; preds = %42
store i64 %13, ptr %2, align 8
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4)
%51 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%52 = load ptr, ptr %51, align 8, !nonnull !25, !align !341, !noundef !25
%53 = load i64, ptr %52, align 8
%54 = add i64 %53, 1
store i64 %54, ptr %52, align 8
br label %32
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h9a59aafdf336a9c1E"(ptr %0, ptr noalias noundef align 8 dereferenceable(8) %1, ptr noalias noundef align 8 dereferenceable(8) %2, ptr noalias noundef align 8 dereferenceable(8) %3) unnamed_addr #2 personality ptr @rust_eh_personality {
%5 = alloca i64, align 8
%6 = alloca i64, align 8
%7 = alloca i64, align 8
%8 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %8)
tail call void @llvm.experimental.noalias.scope.decl(metadata !380)
tail call void @llvm.experimental.noalias.scope.decl(metadata !383)
tail call void @llvm.experimental.noalias.scope.decl(metadata !385)
%9 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1
%10 = load ptr, ptr %9, align 8, !alias.scope !380, !noalias !387, !nonnull !25, !align !341
%11 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1, i32 1
%12 = load i64, ptr %11, align 8, !alias.scope !380, !noalias !387
%13 = load i64, ptr %2, align 8, !alias.scope !385, !noalias !388
%14 = icmp ult i64 %13, %12
br i1 %14, label %16, label %15
15: ; preds = %4
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !389
unreachable
16: ; preds = %4
%17 = load i64, ptr %1, align 8, !alias.scope !383, !noalias !390
%18 = icmp ult i64 %17, %12
br i1 %18, label %20, label %19
19: ; preds = %16
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !389
unreachable
20: ; preds = %16
%21 = getelementptr { { ptr, i64 }, i64 }, ptr %10, i64 %13, i32 1
%22 = load i64, ptr %21, align 8, !noalias !389
%23 = getelementptr { { ptr, i64 }, i64 }, ptr %10, i64 %17, i32 1
%24 = load i64, ptr %23, align 8, !noalias !389
%25 = icmp ult i64 %22, %24
br i1 %25, label %26, label %50
26: ; preds = %20
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7), !noalias !389
%27 = ptrtoint ptr %1 to i64
%28 = ptrtoint ptr %7 to i64
%29 = icmp ult ptr %7, %1
%30 = sub i64 %27, %28
%31 = sub i64 %28, %27
%32 = select i1 %29, i64 %30, i64 %31
%33 = icmp eq i64 %32, 0
br i1 %33, label %34, label %35
34: ; preds = %26
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !390
unreachable
35: ; preds = %26
store i64 %17, ptr %7, align 8, !noalias !389
%36 = ptrtoint ptr %2 to i64
store i64 %13, ptr %1, align 8, !alias.scope !383, !noalias !390
%37 = icmp ugt ptr %7, %2
%38 = sub i64 %28, %36
%39 = sub i64 %36, %28
%40 = select i1 %37, i64 %38, i64 %39
%41 = icmp eq i64 %40, 0
br i1 %41, label %42, label %43
42: ; preds = %35
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !380
unreachable
43: ; preds = %35
store i64 %17, ptr %2, align 8, !alias.scope !385, !noalias !388
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !389
%44 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%45 = load ptr, ptr %44, align 8, !alias.scope !380, !noalias !387, !nonnull !25, !align !341, !noundef !25
%46 = load i64, ptr %45, align 8, !noalias !380
%47 = add i64 %46, 1
store i64 %47, ptr %45, align 8, !noalias !380
%48 = load ptr, ptr %9, align 8, !alias.scope !391, !noalias !394
%49 = load i64, ptr %11, align 8, !alias.scope !391, !noalias !394
br label %50
50: ; preds = %43, %20
%51 = phi i64 [ %12, %20 ], [ %49, %43 ]
%52 = phi ptr [ %10, %20 ], [ %48, %43 ]
call void @llvm.experimental.noalias.scope.decl(metadata !391)
call void @llvm.experimental.noalias.scope.decl(metadata !397)
call void @llvm.experimental.noalias.scope.decl(metadata !398)
%53 = load i64, ptr %3, align 8, !alias.scope !398, !noalias !399
%54 = icmp ult i64 %53, %51
br i1 %54, label %56, label %55
55: ; preds = %50
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !400
unreachable
56: ; preds = %50
%57 = load i64, ptr %2, align 8, !alias.scope !397, !noalias !401
%58 = icmp ult i64 %57, %51
br i1 %58, label %60, label %59
59: ; preds = %56
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !400
unreachable
60: ; preds = %56
%61 = getelementptr { { ptr, i64 }, i64 }, ptr %52, i64 %53, i32 1
%62 = load i64, ptr %61, align 8, !noalias !400
%63 = getelementptr { { ptr, i64 }, i64 }, ptr %52, i64 %57, i32 1
%64 = load i64, ptr %63, align 8, !noalias !400
%65 = icmp ult i64 %62, %64
br i1 %65, label %66, label %91
66: ; preds = %60
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6), !noalias !400
%67 = ptrtoint ptr %2 to i64
%68 = ptrtoint ptr %6 to i64
%69 = icmp ult ptr %6, %2
%70 = sub i64 %67, %68
%71 = sub i64 %68, %67
%72 = select i1 %69, i64 %70, i64 %71
%73 = icmp eq i64 %72, 0
br i1 %73, label %74, label %75
74: ; preds = %66
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !401
unreachable
75: ; preds = %66
store i64 %57, ptr %6, align 8, !noalias !400
%76 = ptrtoint ptr %3 to i64
store i64 %53, ptr %2, align 8, !alias.scope !397, !noalias !401
%77 = icmp ugt ptr %6, %3
%78 = sub i64 %68, %76
%79 = sub i64 %76, %68
%80 = select i1 %77, i64 %78, i64 %79
%81 = icmp eq i64 %80, 0
br i1 %81, label %82, label %83
82: ; preds = %75
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !391
unreachable
83: ; preds = %75
store i64 %57, ptr %3, align 8, !alias.scope !398, !noalias !399
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !400
%84 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%85 = load ptr, ptr %84, align 8, !alias.scope !391, !noalias !394, !nonnull !25, !align !341, !noundef !25
%86 = load i64, ptr %85, align 8, !noalias !391
%87 = add i64 %86, 1
store i64 %87, ptr %85, align 8, !noalias !391
%88 = load ptr, ptr %9, align 8, !alias.scope !402, !noalias !405
%89 = load i64, ptr %11, align 8, !alias.scope !402, !noalias !405
%90 = load i64, ptr %2, align 8, !alias.scope !408, !noalias !409
br label %91
91: ; preds = %83, %60
%92 = phi i64 [ %57, %60 ], [ %90, %83 ]
%93 = phi i64 [ %51, %60 ], [ %89, %83 ]
%94 = phi ptr [ %52, %60 ], [ %88, %83 ]
call void @llvm.experimental.noalias.scope.decl(metadata !402)
call void @llvm.experimental.noalias.scope.decl(metadata !410)
call void @llvm.experimental.noalias.scope.decl(metadata !408)
%95 = icmp ult i64 %92, %93
br i1 %95, label %97, label %96
96: ; preds = %91
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !411
unreachable
97: ; preds = %91
%98 = load i64, ptr %1, align 8, !alias.scope !410, !noalias !412
%99 = icmp ult i64 %98, %93
br i1 %99, label %101, label %100
100: ; preds = %97
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !411
unreachable
101: ; preds = %97
%102 = getelementptr { { ptr, i64 }, i64 }, ptr %94, i64 %92, i32 1
%103 = load i64, ptr %102, align 8, !noalias !411
%104 = getelementptr { { ptr, i64 }, i64 }, ptr %94, i64 %98, i32 1
%105 = load i64, ptr %104, align 8, !noalias !411
%106 = icmp ult i64 %103, %105
br i1 %106, label %107, label %129
107: ; preds = %101
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5), !noalias !411
%108 = ptrtoint ptr %1 to i64
%109 = ptrtoint ptr %5 to i64
%110 = icmp ult ptr %5, %1
%111 = sub i64 %108, %109
%112 = sub i64 %109, %108
%113 = select i1 %110, i64 %111, i64 %112
%114 = icmp eq i64 %113, 0
br i1 %114, label %115, label %116
115: ; preds = %107
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !412
unreachable
116: ; preds = %107
store i64 %98, ptr %5, align 8, !noalias !411
%117 = ptrtoint ptr %2 to i64
store i64 %92, ptr %1, align 8, !alias.scope !410, !noalias !412
%118 = icmp ugt ptr %5, %2
%119 = sub i64 %109, %117
%120 = sub i64 %117, %109
%121 = select i1 %118, i64 %119, i64 %120
%122 = icmp eq i64 %121, 0
br i1 %122, label %123, label %124
123: ; preds = %116
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !402
unreachable
124: ; preds = %116
store i64 %98, ptr %2, align 8, !alias.scope !408, !noalias !409
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5), !noalias !411
%125 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%126 = load ptr, ptr %125, align 8, !alias.scope !402, !noalias !405, !nonnull !25, !align !341, !noundef !25
%127 = load i64, ptr %126, align 8, !noalias !402
%128 = add i64 %127, 1
store i64 %128, ptr %126, align 8, !noalias !402
br label %129
129: ; preds = %124, %101
ret void
}
; Function Attrs: cold uwtable
define internal fastcc void @_ZN4core5slice4sort14break_patterns17h95e829b000ff5ccfE(ptr noalias noundef nonnull align 8 %0, i64 %1) unnamed_addr #3 personality ptr @rust_eh_personality {
%3 = alloca %69, align 8
%4 = trunc i64 %1 to i32
%5 = add i64 %1, -1
%6 = tail call i64 @llvm.ctlz.i64(i64 %5, i1 true), !range !413
%7 = lshr i64 -1, %6
%8 = lshr i64 %1, 1
%9 = and i64 %8, 9223372036854775806
%10 = add nsw i64 %9, -1
%11 = ptrtoint ptr %3 to i64
%12 = shl i32 %4, 13
%13 = xor i32 %12, %4
%14 = lshr i32 %13, 17
%15 = xor i32 %14, %13
%16 = shl i32 %15, 5
%17 = xor i32 %16, %15
%18 = zext i32 %17 to i64
%19 = shl nuw i64 %18, 32
%20 = shl i32 %17, 13
%21 = xor i32 %20, %17
%22 = lshr i32 %21, 17
%23 = xor i32 %22, %21
%24 = shl i32 %23, 5
%25 = xor i32 %24, %23
%26 = zext i32 %25 to i64
%27 = or i64 %19, %26
%28 = and i64 %27, %7
%29 = icmp ult i64 %28, %1
%30 = select i1 %29, i64 0, i64 %1
%31 = sub i64 %28, %30
call void @llvm.experimental.noalias.scope.decl(metadata !414)
%32 = icmp ult i64 %10, %1
br i1 %32, label %33, label %35, !prof !417
33: ; preds = %2
%34 = icmp ult i64 %31, %1
br i1 %34, label %37, label %55, !prof !417
35: ; preds = %97, %57, %2
%36 = phi i64 [ %10, %2 ], [ %9, %57 ], [ %118, %97 ]
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %36, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.37) #23, !noalias !414
unreachable
37: ; preds = %33
%38 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %10
%39 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %31
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !418
%40 = ptrtoint ptr %38 to i64
%41 = icmp ult ptr %3, %38
%42 = sub i64 %40, %11
%43 = sub i64 %11, %40
%44 = select i1 %41, i64 %42, i64 %43
%45 = icmp ult i64 %44, 24
br i1 %45, label %46, label %47
46: ; preds = %122, %81, %37
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !420
unreachable
47: ; preds = %37
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %38, i64 24, i1 false), !noalias !420
%48 = ptrtoint ptr %39 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %39, i64 24, i1 false), !alias.scope !414, !noalias !420
%49 = icmp ugt ptr %3, %39
%50 = sub i64 %11, %48
%51 = sub i64 %48, %11
%52 = select i1 %49, i64 %50, i64 %51
%53 = icmp ult i64 %52, 24
br i1 %53, label %54, label %57
54: ; preds = %131, %90, %47
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !420
unreachable
55: ; preds = %120, %79, %33
%56 = phi i64 [ %31, %33 ], [ %77, %79 ], [ %117, %120 ]
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %56, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.37) #23, !noalias !414
unreachable
57: ; preds = %47
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(24) %3, i64 24, i1 false), !noalias !420
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !418
%58 = shl i32 %25, 13
%59 = xor i32 %58, %25
%60 = lshr i32 %59, 17
%61 = xor i32 %60, %59
%62 = shl i32 %61, 5
%63 = xor i32 %62, %61
%64 = zext i32 %63 to i64
%65 = shl nuw i64 %64, 32
%66 = shl i32 %63, 13
%67 = xor i32 %66, %63
%68 = lshr i32 %67, 17
%69 = xor i32 %68, %67
%70 = shl i32 %69, 5
%71 = xor i32 %70, %69
%72 = zext i32 %71 to i64
%73 = or i64 %65, %72
%74 = and i64 %73, %7
%75 = icmp ult i64 %74, %1
%76 = select i1 %75, i64 0, i64 %1
%77 = sub i64 %74, %76
call void @llvm.experimental.noalias.scope.decl(metadata !421)
%78 = icmp ult i64 %9, %1
br i1 %78, label %79, label %35, !prof !417
79: ; preds = %57
%80 = icmp ult i64 %77, %1
br i1 %80, label %81, label %55, !prof !417
81: ; preds = %79
%82 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %9
%83 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %77
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !423
%84 = ptrtoint ptr %82 to i64
%85 = icmp ult ptr %3, %82
%86 = sub i64 %84, %11
%87 = sub i64 %11, %84
%88 = select i1 %85, i64 %86, i64 %87
%89 = icmp ult i64 %88, 24
br i1 %89, label %46, label %90
90: ; preds = %81
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %82, i64 24, i1 false), !noalias !420
%91 = ptrtoint ptr %83 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %82, ptr noundef nonnull align 8 dereferenceable(24) %83, i64 24, i1 false), !alias.scope !421, !noalias !420
%92 = icmp ugt ptr %3, %83
%93 = sub i64 %11, %91
%94 = sub i64 %91, %11
%95 = select i1 %92, i64 %93, i64 %94
%96 = icmp ult i64 %95, 24
br i1 %96, label %54, label %97
97: ; preds = %90
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %83, ptr noundef nonnull align 8 dereferenceable(24) %3, i64 24, i1 false), !noalias !420
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !423
%98 = shl i32 %71, 13
%99 = xor i32 %98, %71
%100 = lshr i32 %99, 17
%101 = xor i32 %100, %99
%102 = shl i32 %101, 5
%103 = xor i32 %102, %101
%104 = zext i32 %103 to i64
%105 = shl nuw i64 %104, 32
%106 = shl i32 %103, 13
%107 = xor i32 %106, %103
%108 = lshr i32 %107, 17
%109 = xor i32 %108, %107
%110 = shl i32 %109, 5
%111 = xor i32 %110, %109
%112 = zext i32 %111 to i64
%113 = or i64 %105, %112
%114 = and i64 %113, %7
%115 = icmp ult i64 %114, %1
%116 = select i1 %115, i64 0, i64 %1
%117 = sub i64 %114, %116
%118 = or i64 %8, 1
call void @llvm.experimental.noalias.scope.decl(metadata !424)
%119 = icmp ult i64 %118, %1
br i1 %119, label %120, label %35, !prof !417
120: ; preds = %97
%121 = icmp ult i64 %117, %1
br i1 %121, label %122, label %55, !prof !417
122: ; preds = %120
%123 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %118
%124 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %117
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !426
%125 = ptrtoint ptr %123 to i64
%126 = icmp ult ptr %3, %123
%127 = sub i64 %125, %11
%128 = sub i64 %11, %125
%129 = select i1 %126, i64 %127, i64 %128
%130 = icmp ult i64 %129, 24
br i1 %130, label %46, label %131
131: ; preds = %122
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %123, i64 24, i1 false), !noalias !420
%132 = ptrtoint ptr %124 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %123, ptr noundef nonnull align 8 dereferenceable(24) %124, i64 24, i1 false), !alias.scope !424, !noalias !420
%133 = icmp ugt ptr %3, %124
%134 = sub i64 %11, %132
%135 = sub i64 %132, %11
%136 = select i1 %133, i64 %134, i64 %135
%137 = icmp ult i64 %136, 24
br i1 %137, label %54, label %138
138: ; preds = %131
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %124, ptr noundef nonnull align 8 dereferenceable(24) %3, i64 24, i1 false), !noalias !420
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !426
ret void
}
; Function Attrs: cold uwtable
define internal fastcc void @_ZN4core5slice4sort14break_patterns17haa2c0f7c35d72ab6E(ptr noalias noundef nonnull align 8 %0, i64 %1) unnamed_addr #3 personality ptr @rust_eh_personality {
%3 = alloca %70, align 8
%4 = trunc i64 %1 to i32
%5 = add i64 %1, -1
%6 = tail call i64 @llvm.ctlz.i64(i64 %5, i1 true), !range !413
%7 = lshr i64 -1, %6
%8 = lshr i64 %1, 1
%9 = and i64 %8, 9223372036854775806
%10 = add nsw i64 %9, -1
%11 = ptrtoint ptr %3 to i64
%12 = shl i32 %4, 13
%13 = xor i32 %12, %4
%14 = lshr i32 %13, 17
%15 = xor i32 %14, %13
%16 = shl i32 %15, 5
%17 = xor i32 %16, %15
%18 = zext i32 %17 to i64
%19 = shl nuw i64 %18, 32
%20 = shl i32 %17, 13
%21 = xor i32 %20, %17
%22 = lshr i32 %21, 17
%23 = xor i32 %22, %21
%24 = shl i32 %23, 5
%25 = xor i32 %24, %23
%26 = zext i32 %25 to i64
%27 = or i64 %19, %26
%28 = and i64 %27, %7
%29 = icmp ult i64 %28, %1
%30 = select i1 %29, i64 0, i64 %1
%31 = sub i64 %28, %30
call void @llvm.experimental.noalias.scope.decl(metadata !427)
%32 = icmp ult i64 %10, %1
br i1 %32, label %33, label %35, !prof !417
33: ; preds = %2
%34 = icmp ult i64 %31, %1
br i1 %34, label %37, label %55, !prof !417
35: ; preds = %97, %57, %2
%36 = phi i64 [ %10, %2 ], [ %9, %57 ], [ %118, %97 ]
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %36, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.37) #23, !noalias !427
unreachable
37: ; preds = %33
%38 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %10
%39 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %31
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !430
%40 = ptrtoint ptr %38 to i64
%41 = icmp ult ptr %3, %38
%42 = sub i64 %40, %11
%43 = sub i64 %11, %40
%44 = select i1 %41, i64 %42, i64 %43
%45 = icmp ult i64 %44, 40
br i1 %45, label %46, label %47
46: ; preds = %122, %81, %37
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !432
unreachable
47: ; preds = %37
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef nonnull align 8 dereferenceable(40) %38, i64 40, i1 false), !noalias !432
%48 = ptrtoint ptr %39 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull align 8 dereferenceable(40) %39, i64 40, i1 false), !alias.scope !427, !noalias !432
%49 = icmp ugt ptr %3, %39
%50 = sub i64 %11, %48
%51 = sub i64 %48, %11
%52 = select i1 %49, i64 %50, i64 %51
%53 = icmp ult i64 %52, 40
br i1 %53, label %54, label %57
54: ; preds = %131, %90, %47
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !432
unreachable
55: ; preds = %120, %79, %33
%56 = phi i64 [ %31, %33 ], [ %77, %79 ], [ %117, %120 ]
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %56, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.37) #23, !noalias !427
unreachable
57: ; preds = %47
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %39, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false), !noalias !432
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !430
%58 = shl i32 %25, 13
%59 = xor i32 %58, %25
%60 = lshr i32 %59, 17
%61 = xor i32 %60, %59
%62 = shl i32 %61, 5
%63 = xor i32 %62, %61
%64 = zext i32 %63 to i64
%65 = shl nuw i64 %64, 32
%66 = shl i32 %63, 13
%67 = xor i32 %66, %63
%68 = lshr i32 %67, 17
%69 = xor i32 %68, %67
%70 = shl i32 %69, 5
%71 = xor i32 %70, %69
%72 = zext i32 %71 to i64
%73 = or i64 %65, %72
%74 = and i64 %73, %7
%75 = icmp ult i64 %74, %1
%76 = select i1 %75, i64 0, i64 %1
%77 = sub i64 %74, %76
call void @llvm.experimental.noalias.scope.decl(metadata !433)
%78 = icmp ult i64 %9, %1
br i1 %78, label %79, label %35, !prof !417
79: ; preds = %57
%80 = icmp ult i64 %77, %1
br i1 %80, label %81, label %55, !prof !417
81: ; preds = %79
%82 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %9
%83 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %77
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !435
%84 = ptrtoint ptr %82 to i64
%85 = icmp ult ptr %3, %82
%86 = sub i64 %84, %11
%87 = sub i64 %11, %84
%88 = select i1 %85, i64 %86, i64 %87
%89 = icmp ult i64 %88, 40
br i1 %89, label %46, label %90
90: ; preds = %81
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef nonnull align 8 dereferenceable(40) %82, i64 40, i1 false), !noalias !432
%91 = ptrtoint ptr %83 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %82, ptr noundef nonnull align 8 dereferenceable(40) %83, i64 40, i1 false), !alias.scope !433, !noalias !432
%92 = icmp ugt ptr %3, %83
%93 = sub i64 %11, %91
%94 = sub i64 %91, %11
%95 = select i1 %92, i64 %93, i64 %94
%96 = icmp ult i64 %95, 40
br i1 %96, label %54, label %97
97: ; preds = %90
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %83, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false), !noalias !432
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !435
%98 = shl i32 %71, 13
%99 = xor i32 %98, %71
%100 = lshr i32 %99, 17
%101 = xor i32 %100, %99
%102 = shl i32 %101, 5
%103 = xor i32 %102, %101
%104 = zext i32 %103 to i64
%105 = shl nuw i64 %104, 32
%106 = shl i32 %103, 13
%107 = xor i32 %106, %103
%108 = lshr i32 %107, 17
%109 = xor i32 %108, %107
%110 = shl i32 %109, 5
%111 = xor i32 %110, %109
%112 = zext i32 %111 to i64
%113 = or i64 %105, %112
%114 = and i64 %113, %7
%115 = icmp ult i64 %114, %1
%116 = select i1 %115, i64 0, i64 %1
%117 = sub i64 %114, %116
%118 = or i64 %8, 1
call void @llvm.experimental.noalias.scope.decl(metadata !436)
%119 = icmp ult i64 %118, %1
br i1 %119, label %120, label %35, !prof !417
120: ; preds = %97
%121 = icmp ult i64 %117, %1
br i1 %121, label %122, label %55, !prof !417
122: ; preds = %120
%123 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %118
%124 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %117
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !438
%125 = ptrtoint ptr %123 to i64
%126 = icmp ult ptr %3, %123
%127 = sub i64 %125, %11
%128 = sub i64 %11, %125
%129 = select i1 %126, i64 %127, i64 %128
%130 = icmp ult i64 %129, 40
br i1 %130, label %46, label %131
131: ; preds = %122
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef nonnull align 8 dereferenceable(40) %123, i64 40, i1 false), !noalias !432
%132 = ptrtoint ptr %124 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %123, ptr noundef nonnull align 8 dereferenceable(40) %124, i64 40, i1 false), !alias.scope !436, !noalias !432
%133 = icmp ugt ptr %3, %124
%134 = sub i64 %11, %132
%135 = sub i64 %132, %11
%136 = select i1 %133, i64 %134, i64 %135
%137 = icmp ult i64 %136, 40
br i1 %137, label %54, label %138
138: ; preds = %131
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %124, ptr noundef nonnull align 8 dereferenceable(40) %3, i64 40, i1 false), !noalias !432
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !438
ret void
}
; Function Attrs: cold uwtable
define internal fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17h17df4dea3dd14b05E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %68, align 8
%5 = alloca %69, align 8
%6 = freeze i64 %1
%7 = icmp ne ptr %2, null
%8 = icmp ult i64 %6, 50
%9 = ptrtoint ptr %5 to i64
%10 = getelementptr inbounds i8, ptr %4, i64 16
%11 = ptrtoint ptr %4 to i64
br i1 %8, label %12, label %29
12: ; preds = %3
%13 = icmp ugt i64 %6, 1
br i1 %13, label %14, label %26
14: ; preds = %12
call void @llvm.assume(i1 %7)
br label %15
15: ; preds = %23, %14
%16 = phi i64 [ %24, %23 ], [ 1, %14 ]
%17 = add i64 %16, -1
%18 = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 %16, i32 1
%19 = load i64, ptr %18, align 8
%20 = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 %17, i32 1
%21 = load i64, ptr %20, align 8
%22 = icmp ult i64 %19, %21
br i1 %22, label %26, label %23
23: ; preds = %15
%24 = add nuw i64 %16, 1
%25 = icmp eq i64 %24, %6
br i1 %25, label %26, label %15
26: ; preds = %23, %15, %12
%27 = phi i64 [ 1, %12 ], [ %6, %23 ], [ %16, %15 ]
%28 = icmp eq i64 %27, %6
br label %134
29: ; preds = %132, %3
%30 = phi i64 [ %47, %132 ], [ 1, %3 ]
%31 = phi i64 [ %32, %132 ], [ 0, %3 ]
%32 = add nuw nsw i64 %31, 1
%33 = icmp ult i64 %30, %6
br i1 %33, label %34, label %46
34: ; preds = %50, %29
%35 = phi i1 [ %52, %50 ], [ true, %29 ]
%36 = phi i64 [ %51, %50 ], [ %30, %29 ]
%37 = add i64 %36, -1
%38 = icmp ult i64 %37, %6
br i1 %38, label %40, label %39
39: ; preds = %34
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
40: ; preds = %34
call void @llvm.assume(i1 %7)
%41 = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 %36, i32 1
%42 = load i64, ptr %41, align 8
%43 = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 %37, i32 1
%44 = load i64, ptr %43, align 8
%45 = icmp ult i64 %42, %44
br i1 %45, label %46, label %50
46: ; preds = %40, %29
%47 = phi i64 [ %30, %29 ], [ %36, %40 ]
%48 = phi i1 [ false, %29 ], [ %35, %40 ]
%49 = icmp eq i64 %6, %47
br i1 %49, label %134, label %54
50: ; preds = %40
%51 = add i64 %36, 1
%52 = icmp ult i64 %51, %6
%53 = icmp eq i64 %51, %6
br i1 %53, label %134, label %34
54: ; preds = %46
%55 = add i64 %47, -1
call void @llvm.experimental.noalias.scope.decl(metadata !439)
%56 = icmp ult i64 %55, %6
br i1 %56, label %57, label %58, !prof !417
57: ; preds = %54
br i1 %48, label %59, label %77, !prof !417
58: ; preds = %54
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %55, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !439
unreachable
59: ; preds = %57
%60 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %55
%61 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %47
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !442
%62 = ptrtoint ptr %60 to i64
%63 = icmp ult ptr %5, %60
%64 = sub i64 %62, %9
%65 = sub i64 %9, %62
%66 = select i1 %63, i64 %64, i64 %65
%67 = icmp ult i64 %66, 24
br i1 %67, label %68, label %69
68: ; preds = %59
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !444
unreachable
69: ; preds = %59
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %60, i64 24, i1 false), !noalias !444
%70 = ptrtoint ptr %61 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(24) %61, i64 24, i1 false), !alias.scope !439, !noalias !444
%71 = icmp ugt ptr %5, %61
%72 = sub i64 %9, %70
%73 = sub i64 %70, %9
%74 = select i1 %71, i64 %72, i64 %73
%75 = icmp ult i64 %74, 24
br i1 %75, label %76, label %78
76: ; preds = %69
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !444
unreachable
77: ; preds = %57
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %47, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !439
unreachable
78: ; preds = %69
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !444
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !442
call fastcc void @_ZN4core5slice4sort10shift_tail17hc922730d0576791aE(ptr noalias noundef nonnull align 8 %0, i64 %47, ptr %2)
%79 = sub i64 %6, %47
call void @llvm.experimental.noalias.scope.decl(metadata !445)
%80 = icmp ugt i64 %79, 1
br i1 %80, label %81, label %132
81: ; preds = %78
%82 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %61, i64 1
call void @llvm.assume(i1 %7)
%83 = getelementptr { { ptr, i64 }, i64 }, ptr %61, i64 1, i32 1
%84 = load i64, ptr %83, align 8, !alias.scope !445
%85 = getelementptr i8, ptr %61, i64 16
%86 = load i64, ptr %85, align 8, !alias.scope !445
%87 = icmp ult i64 %84, %86
br i1 %87, label %88, label %132
88: ; preds = %81
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !445
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %61, i64 24, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(24) %82, i64 24, i1 false), !alias.scope !445
%89 = icmp ugt i64 %79, 2
br i1 %89, label %90, label %97
90: ; preds = %88
%91 = load i64, ptr %10, align 8, !noalias !445
%92 = getelementptr { { ptr, i64 }, i64 }, ptr %61, i64 2, i32 1
%93 = load i64, ptr %92, align 8, !alias.scope !445
%94 = icmp ult i64 %93, %91
br i1 %94, label %95, label %97
95: ; preds = %90
%96 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %61, i64 2
br label %116
97: ; preds = %130, %110, %90, %88
%98 = phi ptr [ %82, %88 ], [ %82, %90 ], [ %117, %130 ], [ %117, %110 ]
%99 = ptrtoint ptr %98 to i64
%100 = and i64 %99, 7
%101 = icmp eq i64 %100, 0
br i1 %101, label %102, label %108
102: ; preds = %97
%103 = icmp ugt ptr %4, %98
%104 = sub i64 %11, %99
%105 = sub i64 %99, %11
%106 = select i1 %103, i64 %104, i64 %105
%107 = icmp ult i64 %106, 24
br i1 %107, label %108, label %109
108: ; preds = %102, %97
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
109: ; preds = %102
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !445
br label %132
110: ; preds = %130
%111 = add nuw i64 %118, 1
%112 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %61, i64 %118
%113 = getelementptr i8, ptr %112, i64 16
%114 = load i64, ptr %113, align 8, !alias.scope !445
%115 = icmp ult i64 %114, %91
br i1 %115, label %116, label %97
116: ; preds = %110, %95
%117 = phi ptr [ %112, %110 ], [ %96, %95 ]
%118 = phi i64 [ %111, %110 ], [ 3, %95 ]
%119 = phi i64 [ %118, %110 ], [ 2, %95 ]
%120 = add i64 %119, -1
%121 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %61, i64 %120
%122 = ptrtoint ptr %117 to i64
%123 = ptrtoint ptr %121 to i64
%124 = icmp eq i64 %119, -9223372036854775808
%125 = sub i64 %122, %123
%126 = sub i64 %123, %122
%127 = select i1 %124, i64 %126, i64 %125
%128 = icmp ult i64 %127, 24
br i1 %128, label %129, label %130
129: ; preds = %116
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
130: ; preds = %116
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %117, i64 24, i1 false), !alias.scope !445
%131 = icmp eq i64 %118, %79
br i1 %131, label %97, label %110
132: ; preds = %109, %81, %78
%133 = icmp eq i64 %32, 5
br i1 %133, label %134, label %29
134: ; preds = %132, %50, %46, %26
%135 = phi i1 [ %28, %26 ], [ true, %50 ], [ %49, %132 ], [ true, %46 ]
ret i1 %135
}
; Function Attrs: cold uwtable
define internal fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17h6321afa7cfdf947aE(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %68, align 8
%5 = alloca %69, align 8
%6 = freeze i64 %1
%7 = icmp ne ptr %2, null
%8 = icmp ult i64 %6, 50
%9 = ptrtoint ptr %5 to i64
%10 = getelementptr inbounds i8, ptr %4, i64 8
%11 = ptrtoint ptr %4 to i64
br i1 %8, label %12, label %39
12: ; preds = %3
%13 = icmp ugt i64 %6, 1
br i1 %13, label %14, label %33
14: ; preds = %12
call void @llvm.assume(i1 %7)
br label %15
15: ; preds = %36, %14
%16 = phi i64 [ %37, %36 ], [ 1, %14 ]
%17 = add i64 %16, -1
%18 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %16
%19 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %17
%20 = load ptr, ptr %18, align 8, !nonnull !25, !align !306, !noundef !25
%21 = getelementptr i8, ptr %18, i64 8
%22 = load i64, ptr %21, align 8
%23 = load ptr, ptr %19, align 8, !nonnull !25, !align !306, !noundef !25
%24 = getelementptr i8, ptr %19, i64 8
%25 = load i64, ptr %24, align 8
%26 = sub i64 %22, %25
%27 = call i64 @llvm.umin.i64(i64 %22, i64 %25)
%28 = call i32 @memcmp(ptr nonnull %20, ptr nonnull %23, i64 %27), !alias.scope !448
%29 = sext i32 %28 to i64
%30 = icmp eq i32 %28, 0
%31 = select i1 %30, i64 %26, i64 %29
%32 = icmp sgt i64 %31, -1
br i1 %32, label %36, label %33
33: ; preds = %36, %15, %12
%34 = phi i64 [ 1, %12 ], [ %6, %36 ], [ %16, %15 ]
%35 = icmp eq i64 %34, %6
br label %176
36: ; preds = %15
%37 = add nuw i64 %16, 1
%38 = icmp eq i64 %37, %6
br i1 %38, label %33, label %15
39: ; preds = %174, %3
%40 = phi i64 [ %67, %174 ], [ 1, %3 ]
%41 = phi i64 [ %42, %174 ], [ 0, %3 ]
%42 = add nuw nsw i64 %41, 1
%43 = icmp ult i64 %40, %6
br i1 %43, label %44, label %66
44: ; preds = %70, %39
%45 = phi i1 [ %72, %70 ], [ true, %39 ]
%46 = phi i64 [ %71, %70 ], [ %40, %39 ]
%47 = add i64 %46, -1
%48 = icmp ult i64 %47, %6
br i1 %48, label %50, label %49
49: ; preds = %44
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
50: ; preds = %44
%51 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %46
%52 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %47
call void @llvm.assume(i1 %7)
%53 = load ptr, ptr %51, align 8, !nonnull !25, !align !306, !noundef !25
%54 = getelementptr i8, ptr %51, i64 8
%55 = load i64, ptr %54, align 8
%56 = load ptr, ptr %52, align 8, !nonnull !25, !align !306, !noundef !25
%57 = getelementptr i8, ptr %52, i64 8
%58 = load i64, ptr %57, align 8
%59 = sub i64 %55, %58
%60 = call i64 @llvm.umin.i64(i64 %55, i64 %58)
%61 = call i32 @memcmp(ptr nonnull %53, ptr nonnull %56, i64 %60), !alias.scope !448
%62 = sext i32 %61 to i64
%63 = icmp eq i32 %61, 0
%64 = select i1 %63, i64 %59, i64 %62
%65 = icmp sgt i64 %64, -1
br i1 %65, label %70, label %66
66: ; preds = %50, %39
%67 = phi i64 [ %40, %39 ], [ %46, %50 ]
%68 = phi i1 [ false, %39 ], [ %45, %50 ]
%69 = icmp eq i64 %6, %67
br i1 %69, label %176, label %74
70: ; preds = %50
%71 = add i64 %46, 1
%72 = icmp ult i64 %71, %6
%73 = icmp eq i64 %71, %6
br i1 %73, label %176, label %44
74: ; preds = %66
%75 = add i64 %67, -1
call void @llvm.experimental.noalias.scope.decl(metadata !461)
%76 = icmp ult i64 %75, %6
br i1 %76, label %77, label %78, !prof !417
77: ; preds = %74
br i1 %68, label %79, label %97, !prof !417
78: ; preds = %74
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %75, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !461
unreachable
79: ; preds = %77
%80 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %75
%81 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %67
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !464
%82 = ptrtoint ptr %80 to i64
%83 = icmp ult ptr %5, %80
%84 = sub i64 %82, %9
%85 = sub i64 %9, %82
%86 = select i1 %83, i64 %84, i64 %85
%87 = icmp ult i64 %86, 24
br i1 %87, label %88, label %89
88: ; preds = %79
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !466
unreachable
89: ; preds = %79
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %80, i64 24, i1 false), !noalias !466
%90 = ptrtoint ptr %81 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %80, ptr noundef nonnull align 8 dereferenceable(24) %81, i64 24, i1 false), !alias.scope !461, !noalias !466
%91 = icmp ugt ptr %5, %81
%92 = sub i64 %9, %90
%93 = sub i64 %90, %9
%94 = select i1 %91, i64 %92, i64 %93
%95 = icmp ult i64 %94, 24
br i1 %95, label %96, label %98
96: ; preds = %89
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !466
unreachable
97: ; preds = %77
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %67, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !461
unreachable
98: ; preds = %89
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !466
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !464
call fastcc void @_ZN4core5slice4sort10shift_tail17h8fcd899ff28c3a50E(ptr noalias noundef nonnull align 8 %0, i64 %67, ptr %2)
%99 = sub i64 %6, %67
call void @llvm.experimental.noalias.scope.decl(metadata !467)
%100 = icmp ugt i64 %99, 1
br i1 %100, label %101, label %174
101: ; preds = %98
%102 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %81, i64 1
call void @llvm.assume(i1 %7)
%103 = load ptr, ptr %102, align 8, !alias.scope !467, !nonnull !25, !align !306, !noundef !25
%104 = getelementptr { { ptr, i64 }, i64 }, ptr %81, i64 1, i32 0, i32 1
%105 = load i64, ptr %104, align 8, !alias.scope !467
%106 = load ptr, ptr %81, align 8, !alias.scope !467, !nonnull !25, !align !306, !noundef !25
%107 = getelementptr i8, ptr %81, i64 8
%108 = load i64, ptr %107, align 8, !alias.scope !467
%109 = sub i64 %105, %108
%110 = call i64 @llvm.umin.i64(i64 %105, i64 %108)
%111 = call i32 @memcmp(ptr nonnull %103, ptr nonnull %106, i64 %110), !alias.scope !470, !noalias !467
%112 = sext i32 %111 to i64
%113 = icmp eq i32 %111, 0
%114 = select i1 %113, i64 %109, i64 %112
%115 = icmp slt i64 %114, 0
br i1 %115, label %116, label %174
116: ; preds = %101
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !467
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %81, i64 24, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 8 dereferenceable(24) %102, i64 24, i1 false), !alias.scope !467
%117 = icmp ugt i64 %99, 2
br i1 %117, label %118, label %132
118: ; preds = %116
%119 = load ptr, ptr %4, align 8, !noalias !467, !nonnull !25, !align !306, !noundef !25
%120 = load i64, ptr %10, align 8, !noalias !467
%121 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %81, i64 2
%122 = load ptr, ptr %121, align 8, !alias.scope !467, !nonnull !25, !align !306, !noundef !25
%123 = getelementptr { { ptr, i64 }, i64 }, ptr %81, i64 2, i32 0, i32 1
%124 = load i64, ptr %123, align 8, !alias.scope !467
%125 = sub i64 %124, %120
%126 = call i64 @llvm.umin.i64(i64 %124, i64 %120)
%127 = call i32 @memcmp(ptr nonnull %122, ptr nonnull %119, i64 %126), !alias.scope !483
%128 = sext i32 %127 to i64
%129 = icmp eq i32 %127, 0
%130 = select i1 %129, i64 %125, i64 %128
%131 = icmp slt i64 %130, 0
br i1 %131, label %158, label %132
132: ; preds = %172, %145, %118, %116
%133 = phi ptr [ %102, %116 ], [ %102, %118 ], [ %159, %172 ], [ %159, %145 ]
%134 = ptrtoint ptr %133 to i64
%135 = and i64 %134, 7
%136 = icmp eq i64 %135, 0
br i1 %136, label %137, label %143
137: ; preds = %132
%138 = icmp ugt ptr %4, %133
%139 = sub i64 %11, %134
%140 = sub i64 %134, %11
%141 = select i1 %138, i64 %139, i64 %140
%142 = icmp ult i64 %141, 24
br i1 %142, label %143, label %144
143: ; preds = %137, %132
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
144: ; preds = %137
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %133, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !467
br label %174
145: ; preds = %172
%146 = add nuw i64 %160, 1
%147 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %81, i64 %160
%148 = load ptr, ptr %147, align 8, !alias.scope !467, !nonnull !25, !align !306, !noundef !25
%149 = getelementptr i8, ptr %147, i64 8
%150 = load i64, ptr %149, align 8, !alias.scope !467
%151 = sub i64 %150, %120
%152 = call i64 @llvm.umin.i64(i64 %150, i64 %120)
%153 = call i32 @memcmp(ptr nonnull %148, ptr nonnull %119, i64 %152), !alias.scope !483
%154 = sext i32 %153 to i64
%155 = icmp eq i32 %153, 0
%156 = select i1 %155, i64 %151, i64 %154
%157 = icmp slt i64 %156, 0
br i1 %157, label %158, label %132
158: ; preds = %145, %118
%159 = phi ptr [ %147, %145 ], [ %121, %118 ]
%160 = phi i64 [ %146, %145 ], [ 3, %118 ]
%161 = phi i64 [ %160, %145 ], [ 2, %118 ]
%162 = add i64 %161, -1
%163 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %81, i64 %162
%164 = ptrtoint ptr %159 to i64
%165 = ptrtoint ptr %163 to i64
%166 = icmp eq i64 %161, -9223372036854775808
%167 = sub i64 %164, %165
%168 = sub i64 %165, %164
%169 = select i1 %166, i64 %168, i64 %167
%170 = icmp ult i64 %169, 24
br i1 %170, label %171, label %172
171: ; preds = %158
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
172: ; preds = %158
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %163, ptr noundef nonnull align 8 dereferenceable(24) %159, i64 24, i1 false), !alias.scope !467
%173 = icmp eq i64 %160, %99
br i1 %173, label %132, label %145
174: ; preds = %144, %101, %98
%175 = icmp eq i64 %42, 5
br i1 %175, label %176, label %39
176: ; preds = %174, %70, %66, %33
%177 = phi i1 [ %35, %33 ], [ true, %70 ], [ %69, %174 ], [ true, %66 ]
ret i1 %177
}
; Function Attrs: cold uwtable
define internal fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17hb41dba5538d397f7E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %66, align 8
%5 = alloca %70, align 8
%6 = freeze i64 %1
%7 = icmp ne ptr %2, null
%8 = icmp ult i64 %6, 50
%9 = ptrtoint ptr %5 to i64
%10 = ptrtoint ptr %4 to i64
br i1 %8, label %11, label %28
11: ; preds = %3
%12 = icmp ugt i64 %6, 1
br i1 %12, label %13, label %25
13: ; preds = %11
call void @llvm.assume(i1 %7)
br label %14
14: ; preds = %22, %13
%15 = phi i64 [ %23, %22 ], [ 1, %13 ]
%16 = add i64 %15, -1
%17 = getelementptr inbounds %67, ptr %0, i64 %15
%18 = getelementptr inbounds %67, ptr %0, i64 %16
%19 = load i64, ptr %17, align 8
%20 = load i64, ptr %18, align 8
%21 = icmp ult i64 %19, %20
br i1 %21, label %25, label %22
22: ; preds = %14
%23 = add nuw i64 %15, 1
%24 = icmp eq i64 %23, %6
br i1 %24, label %25, label %14
25: ; preds = %22, %14, %11
%26 = phi i64 [ 1, %11 ], [ %6, %22 ], [ %15, %14 ]
%27 = icmp eq i64 %26, %6
br label %128
28: ; preds = %126, %3
%29 = phi i64 [ %46, %126 ], [ 1, %3 ]
%30 = phi i64 [ %31, %126 ], [ 0, %3 ]
%31 = add nuw nsw i64 %30, 1
%32 = icmp ult i64 %29, %6
br i1 %32, label %33, label %45
33: ; preds = %49, %28
%34 = phi i1 [ %51, %49 ], [ true, %28 ]
%35 = phi i64 [ %50, %49 ], [ %29, %28 ]
%36 = add i64 %35, -1
%37 = icmp ult i64 %36, %6
br i1 %37, label %39, label %38
38: ; preds = %33
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
39: ; preds = %33
%40 = getelementptr inbounds %67, ptr %0, i64 %35
%41 = getelementptr inbounds %67, ptr %0, i64 %36
call void @llvm.assume(i1 %7)
%42 = load i64, ptr %40, align 8
%43 = load i64, ptr %41, align 8
%44 = icmp ult i64 %42, %43
br i1 %44, label %45, label %49
45: ; preds = %39, %28
%46 = phi i64 [ %29, %28 ], [ %35, %39 ]
%47 = phi i1 [ false, %28 ], [ %34, %39 ]
%48 = icmp eq i64 %6, %46
br i1 %48, label %128, label %53
49: ; preds = %39
%50 = add i64 %35, 1
%51 = icmp ult i64 %50, %6
%52 = icmp eq i64 %50, %6
br i1 %52, label %128, label %33
53: ; preds = %45
%54 = add i64 %46, -1
call void @llvm.experimental.noalias.scope.decl(metadata !496)
%55 = icmp ult i64 %54, %6
br i1 %55, label %56, label %57, !prof !417
56: ; preds = %53
br i1 %47, label %58, label %76, !prof !417
57: ; preds = %53
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %54, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !496
unreachable
58: ; preds = %56
%59 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %54
%60 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %46
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !499
%61 = ptrtoint ptr %59 to i64
%62 = icmp ult ptr %5, %59
%63 = sub i64 %61, %9
%64 = sub i64 %9, %61
%65 = select i1 %62, i64 %63, i64 %64
%66 = icmp ult i64 %65, 40
br i1 %66, label %67, label %68
67: ; preds = %58
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !501
unreachable
68: ; preds = %58
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(40) %59, i64 40, i1 false), !noalias !501
%69 = ptrtoint ptr %60 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %59, ptr noundef nonnull align 8 dereferenceable(40) %60, i64 40, i1 false), !alias.scope !496, !noalias !501
%70 = icmp ugt ptr %5, %60
%71 = sub i64 %9, %69
%72 = sub i64 %69, %9
%73 = select i1 %70, i64 %71, i64 %72
%74 = icmp ult i64 %73, 40
br i1 %74, label %75, label %77
75: ; preds = %68
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !501
unreachable
76: ; preds = %56
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %46, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !496
unreachable
77: ; preds = %68
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %60, ptr noundef nonnull align 8 dereferenceable(40) %5, i64 40, i1 false), !noalias !501
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !499
call fastcc void @_ZN4core5slice4sort10shift_tail17h775ad06d0c05e17eE(ptr noalias noundef nonnull align 8 %0, i64 %46, ptr %2)
%78 = sub i64 %6, %46
call void @llvm.experimental.noalias.scope.decl(metadata !502)
%79 = icmp ugt i64 %78, 1
br i1 %79, label %80, label %126
80: ; preds = %77
%81 = getelementptr inbounds %67, ptr %60, i64 1
call void @llvm.assume(i1 %7)
%82 = load i64, ptr %81, align 8, !alias.scope !502
%83 = load i64, ptr %60, align 8, !alias.scope !502
%84 = icmp ult i64 %82, %83
br i1 %84, label %85, label %126
85: ; preds = %80
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !502
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef nonnull align 8 dereferenceable(40) %60, i64 40, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %60, ptr noundef nonnull align 8 dereferenceable(40) %81, i64 40, i1 false), !alias.scope !502
%86 = icmp ugt i64 %78, 2
br i1 %86, label %87, label %92
87: ; preds = %85
%88 = load i64, ptr %4, align 8, !noalias !502
%89 = getelementptr inbounds %67, ptr %60, i64 2
%90 = load i64, ptr %89, align 8, !alias.scope !502
%91 = icmp ult i64 %90, %88
br i1 %91, label %110, label %92
92: ; preds = %124, %105, %87, %85
%93 = phi ptr [ %81, %85 ], [ %81, %87 ], [ %111, %124 ], [ %111, %105 ]
%94 = ptrtoint ptr %93 to i64
%95 = and i64 %94, 7
%96 = icmp eq i64 %95, 0
br i1 %96, label %97, label %103
97: ; preds = %92
%98 = icmp ugt ptr %4, %93
%99 = sub i64 %10, %94
%100 = sub i64 %94, %10
%101 = select i1 %98, i64 %99, i64 %100
%102 = icmp ult i64 %101, 40
br i1 %102, label %103, label %104
103: ; preds = %97, %92
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
104: ; preds = %97
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %93, ptr noundef nonnull align 8 dereferenceable(40) %4, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !502
br label %126
105: ; preds = %124
%106 = add nuw i64 %112, 1
%107 = getelementptr inbounds %67, ptr %60, i64 %112
%108 = load i64, ptr %107, align 8, !alias.scope !502
%109 = icmp ult i64 %108, %88
br i1 %109, label %110, label %92
110: ; preds = %105, %87
%111 = phi ptr [ %107, %105 ], [ %89, %87 ]
%112 = phi i64 [ %106, %105 ], [ 3, %87 ]
%113 = phi i64 [ %112, %105 ], [ 2, %87 ]
%114 = add i64 %113, -1
%115 = getelementptr inbounds %67, ptr %60, i64 %114
%116 = ptrtoint ptr %111 to i64
%117 = ptrtoint ptr %115 to i64
%118 = icmp eq i64 %113, -9223372036854775808
%119 = sub i64 %116, %117
%120 = sub i64 %117, %116
%121 = select i1 %118, i64 %120, i64 %119
%122 = icmp ult i64 %121, 40
br i1 %122, label %123, label %124
123: ; preds = %110
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
124: ; preds = %110
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %115, ptr noundef nonnull align 8 dereferenceable(40) %111, i64 40, i1 false), !alias.scope !502
%125 = icmp eq i64 %112, %78
br i1 %125, label %92, label %105
126: ; preds = %104, %80, %77
%127 = icmp eq i64 %31, 5
br i1 %127, label %128, label %28
128: ; preds = %126, %49, %45, %25
%129 = phi i1 [ %27, %25 ], [ true, %49 ], [ %48, %126 ], [ true, %45 ]
ret i1 %129
}
; Function Attrs: uwtable
define internal fastcc void @_ZN4core5slice4sort7recurse17h8082417d3214f1b3E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr noalias noundef align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(40) %3, i32 %4) unnamed_addr #0 personality ptr @rust_eh_personality {
%6 = alloca %70, align 8
%7 = alloca %70, align 8
%8 = alloca %66, align 8
%9 = alloca %70, align 8
%10 = alloca %70, align 8
%11 = alloca %70, align 8
%12 = alloca %71, align 8
%13 = alloca i64, align 8
%14 = alloca %71, align 8
%15 = alloca i64, align 8
%16 = alloca %67, align 8
%17 = alloca [128 x i8], align 1
%18 = alloca i64, align 8
%19 = alloca [128 x i8], align 1
%20 = alloca i64, align 8
%21 = alloca %70, align 8
%22 = alloca %66, align 8
%23 = alloca i64, align 8
%24 = alloca i64, align 8
%25 = alloca i64, align 8
%26 = alloca i64, align 8
%27 = alloca i64, align 8
%28 = alloca i64, align 8
%29 = alloca { ptr, { ptr, i64 }, ptr }, align 8
%30 = alloca i64, align 8
%31 = alloca i64, align 8
%32 = alloca i64, align 8
%33 = alloca i64, align 8
%34 = icmp ult i64 %1, 21
br i1 %34, label %64, label %35
35: ; preds = %5
%36 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %29, i64 0, i32 1
%37 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %29, i64 0, i32 1, i32 1
%38 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %29, i64 0, i32 2
%39 = ptrtoint ptr %7 to i64
%40 = ptrtoint ptr %6 to i64
%41 = ptrtoint ptr %8 to i64
%42 = ptrtoint ptr %21 to i64
%43 = ptrtoint ptr %16 to i64
%44 = ptrtoint ptr %10 to i64
%45 = ptrtoint ptr %11 to i64
%46 = ptrtoint ptr %22 to i64
%47 = ptrtoint ptr %9 to i64
br label %48
48: ; preds = %752, %35
%49 = phi ptr [ %0, %35 ], [ %755, %752 ]
%50 = phi i64 [ %1, %35 ], [ %754, %752 ]
%51 = phi ptr [ %3, %35 ], [ %753, %752 ]
%52 = phi i32 [ %4, %35 ], [ %77, %752 ]
%53 = phi i8 [ 1, %35 ], [ %644, %752 ]
%54 = phi i8 [ 1, %35 ], [ %639, %752 ]
%55 = icmp eq i8 %53, 0
%56 = icmp eq i8 %54, 0
%57 = select i1 %55, i1 true, i1 %56
%58 = icmp eq ptr %51, null
br label %59
59: ; preds = %746, %48
%60 = phi ptr [ %49, %48 ], [ %747, %746 ]
%61 = phi i64 [ %50, %48 ], [ %748, %746 ]
%62 = phi i32 [ %52, %48 ], [ %77, %746 ]
%63 = icmp eq i32 %62, 0
br i1 %63, label %74, label %75
64: ; preds = %752, %746, %5
%65 = phi i64 [ %1, %5 ], [ %748, %746 ], [ %754, %752 ]
%66 = phi ptr [ %0, %5 ], [ %747, %746 ], [ %755, %752 ]
%67 = load ptr, ptr %2, align 8
%68 = icmp ugt i64 %65, 1
br i1 %68, label %69, label %73
69: ; preds = %69, %64
%70 = phi i64 [ %71, %69 ], [ 1, %64 ]
%71 = add nuw i64 %70, 1
call fastcc void @_ZN4core5slice4sort10shift_tail17h775ad06d0c05e17eE(ptr noalias noundef nonnull align 8 %66, i64 %71, ptr %67)
%72 = icmp eq i64 %71, %65
br i1 %72, label %73, label %69
73: ; preds = %143, %74, %69, %64
ret void
74: ; preds = %59
call fastcc void @_ZN4core5slice4sort8heapsort17h20daaf55429b4f62E(ptr noalias noundef nonnull align 8 %60, i64 %61, ptr noalias noundef nonnull align 8 dereferenceable(8) %2)
br label %73
75: ; preds = %59
br i1 %55, label %140, label %76
76: ; preds = %140, %75
%77 = phi i32 [ %141, %140 ], [ %62, %75 ]
call void @llvm.experimental.noalias.scope.decl(metadata !505)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33), !noalias !508
%78 = lshr i64 %61, 2
store i64 %78, ptr %33, align 8, !noalias !508
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32), !noalias !508
%79 = shl nuw nsw i64 %78, 1
store i64 %79, ptr %32, align 8, !noalias !508
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31), !noalias !508
%80 = mul nuw i64 %78, 3
store i64 %80, ptr %31, align 8, !noalias !508
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30), !noalias !508
store i64 0, ptr %30, align 8, !noalias !508
call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29), !noalias !508
store ptr %2, ptr %29, align 8, !noalias !508
store ptr %60, ptr %36, align 8, !noalias !508
store i64 %61, ptr %37, align 8, !noalias !508
store ptr %30, ptr %38, align 8, !noalias !508
%81 = icmp ugt i64 %61, 49
br i1 %81, label %85, label %82
82: ; preds = %85, %76
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h663746f47d774cdaE"(ptr nonnull %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %32, ptr noalias noundef nonnull align 8 dereferenceable(8) %31)
call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29), !noalias !508
%83 = load i64, ptr %30, align 8, !noalias !508
%84 = icmp ult i64 %83, 12
br i1 %84, label %131, label %92
85: ; preds = %76
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28), !noalias !510
%86 = add nsw i64 %78, -1
store i64 %86, ptr %28, align 8, !noalias !510
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27), !noalias !510
%87 = add nuw nsw i64 %78, 1
store i64 %87, ptr %27, align 8, !noalias !510
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h663746f47d774cdaE"(ptr nonnull %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %28, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %27)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27), !noalias !510
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28), !noalias !510
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26), !noalias !513
%88 = add nsw i64 %79, -1
store i64 %88, ptr %26, align 8, !noalias !513
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25), !noalias !513
%89 = or i64 %79, 1
store i64 %89, ptr %25, align 8, !noalias !513
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h663746f47d774cdaE"(ptr nonnull %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %26, ptr noalias noundef nonnull align 8 dereferenceable(8) %32, ptr noalias noundef nonnull align 8 dereferenceable(8) %25)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25), !noalias !513
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26), !noalias !513
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24), !noalias !516
%90 = add i64 %80, -1
store i64 %90, ptr %24, align 8, !noalias !516
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23), !noalias !516
%91 = add nuw i64 %80, 1
store i64 %91, ptr %23, align 8, !noalias !516
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h663746f47d774cdaE"(ptr nonnull %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %24, ptr noalias noundef nonnull align 8 dereferenceable(8) %31, ptr noalias noundef nonnull align 8 dereferenceable(8) %23)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23), !noalias !516
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24), !noalias !516
br label %82
92: ; preds = %82
call void @llvm.experimental.noalias.scope.decl(metadata !519)
%93 = lshr i64 %61, 1
%94 = icmp ugt i64 %61, 461168601842738791
br i1 %94, label %95, label %96
95: ; preds = %92
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !519
unreachable
96: ; preds = %92
%97 = getelementptr inbounds %67, ptr %60, i64 %61
%98 = sub nsw i64 0, %93
%99 = getelementptr inbounds %67, ptr %97, i64 %98
call void @llvm.experimental.noalias.scope.decl(metadata !522)
call void @llvm.experimental.noalias.scope.decl(metadata !525)
br label %100
100: ; preds = %114, %96
%101 = phi i64 [ %125, %114 ], [ 0, %96 ]
%102 = xor i64 %101, -1
%103 = add nsw i64 %93, %102
%104 = getelementptr inbounds [0 x %67], ptr %60, i64 0, i64 %101
%105 = getelementptr inbounds [0 x %67], ptr %99, i64 0, i64 %103
call void @llvm.experimental.noalias.scope.decl(metadata !527)
call void @llvm.experimental.noalias.scope.decl(metadata !530)
%106 = ptrtoint ptr %104 to i64
%107 = ptrtoint ptr %105 to i64
%108 = icmp ugt ptr %104, %105
%109 = sub i64 %106, %107
%110 = sub i64 %107, %106
%111 = select i1 %108, i64 %109, i64 %110
%112 = icmp ult i64 %111, 40
br i1 %112, label %113, label %114
113: ; preds = %100
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.27, i64 166) #21
unreachable
114: ; preds = %100
%115 = load <2 x i64>, ptr %104, align 8, !alias.scope !532, !noalias !536
%116 = load <2 x i64>, ptr %105, align 8, !alias.scope !537, !noalias !540
store <2 x i64> %116, ptr %104, align 8, !alias.scope !532, !noalias !536
store <2 x i64> %115, ptr %105, align 8, !alias.scope !537, !noalias !540
%117 = getelementptr inbounds i64, ptr %104, i64 2
%118 = getelementptr inbounds i64, ptr %105, i64 2
%119 = load <2 x i64>, ptr %117, align 8, !alias.scope !541, !noalias !536
%120 = load <2 x i64>, ptr %118, align 8, !alias.scope !544, !noalias !540
store <2 x i64> %120, ptr %117, align 8, !alias.scope !541, !noalias !536
store <2 x i64> %119, ptr %118, align 8, !alias.scope !544, !noalias !540
%121 = getelementptr inbounds i64, ptr %104, i64 4
%122 = getelementptr inbounds i64, ptr %105, i64 4
call void @llvm.experimental.noalias.scope.decl(metadata !547)
call void @llvm.experimental.noalias.scope.decl(metadata !549)
%123 = load i64, ptr %121, align 8, !alias.scope !551, !noalias !552
%124 = load i64, ptr %122, align 8, !alias.scope !553, !noalias !554
store i64 %124, ptr %121, align 8, !alias.scope !551, !noalias !552
store i64 %123, ptr %122, align 8, !alias.scope !553, !noalias !554
%125 = add nuw nsw i64 %101, 1
%126 = icmp eq i64 %125, %93
br i1 %126, label %127, label %100
127: ; preds = %114
%128 = load i64, ptr %32, align 8, !noalias !508
%129 = xor i64 %128, -1
%130 = add i64 %61, %129
br label %135
131: ; preds = %82
%132 = load i64, ptr %32, align 8, !noalias !508
%133 = icmp eq i64 %83, 0
%134 = zext i1 %133 to i8
br label %135
135: ; preds = %131, %127
%136 = phi i8 [ %134, %131 ], [ 1, %127 ]
%137 = phi i64 [ %132, %131 ], [ %130, %127 ]
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30), !noalias !508
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31), !noalias !508
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32), !noalias !508
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33), !noalias !508
%138 = icmp eq i8 %136, 0
%139 = select i1 %57, i1 true, i1 %138
br i1 %139, label %142, label %143
140: ; preds = %75
call fastcc void @_ZN4core5slice4sort14break_patterns17haa2c0f7c35d72ab6E(ptr noalias noundef nonnull align 8 %60, i64 %61)
%141 = add i32 %62, -1
br label %76
142: ; preds = %143, %135
br i1 %58, label %148, label %146
143: ; preds = %135
%144 = load ptr, ptr %2, align 8
%145 = call fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17hb41dba5538d397f7E(ptr noalias noundef nonnull align 8 %60, i64 %61, ptr %144)
br i1 %145, label %73, label %142
146: ; preds = %142
%147 = icmp ult i64 %137, %61
br i1 %147, label %657, label %662, !prof !417
148: ; preds = %142
call void @llvm.experimental.noalias.scope.decl(metadata !555)
call void @llvm.experimental.noalias.scope.decl(metadata !558)
%149 = icmp eq i64 %50, 0
br i1 %149, label %155, label %150, !prof !561
150: ; preds = %657, %148
%151 = phi ptr [ %49, %148 ], [ %60, %657 ]
%152 = phi i64 [ %50, %148 ], [ %61, %657 ]
%153 = load ptr, ptr %2, align 8
%154 = icmp ult i64 %137, %152
br i1 %154, label %156, label %173, !prof !417
155: ; preds = %148
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 0, i64 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !558
unreachable
156: ; preds = %150
%157 = getelementptr inbounds [0 x %67], ptr %151, i64 0, i64 %137
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21), !noalias !562
%158 = ptrtoint ptr %151 to i64
%159 = icmp ult ptr %21, %151
%160 = sub i64 %158, %42
%161 = sub i64 %42, %158
%162 = select i1 %159, i64 %160, i64 %161
%163 = icmp ult i64 %162, 40
br i1 %163, label %164, label %165
164: ; preds = %156
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !564
unreachable
165: ; preds = %156
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %21, ptr noundef nonnull align 8 dereferenceable(40) %151, i64 40, i1 false), !noalias !564
%166 = ptrtoint ptr %157 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %151, ptr noundef nonnull align 8 dereferenceable(40) %157, i64 40, i1 false), !alias.scope !565, !noalias !564
%167 = icmp ugt ptr %21, %157
%168 = sub i64 %42, %166
%169 = sub i64 %166, %42
%170 = select i1 %167, i64 %168, i64 %169
%171 = icmp ult i64 %170, 40
br i1 %171, label %172, label %174
172: ; preds = %165
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !564
unreachable
173: ; preds = %150
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %137, i64 %152, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !558
unreachable
174: ; preds = %165
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %157, ptr noundef nonnull align 8 dereferenceable(40) %21, i64 40, i1 false), !noalias !564
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21), !noalias !562
%175 = add i64 %152, -1
%176 = icmp ugt i64 %175, 230584300921369395
br i1 %176, label %177, label %178
177: ; preds = %174
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !566
unreachable
178: ; preds = %174
%179 = getelementptr inbounds %67, ptr %151, i64 1
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22), !noalias !555
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %22, ptr noundef nonnull align 8 dereferenceable(40) %151, i64 40, i1 false)
%180 = icmp eq i64 %175, 0
br i1 %180, label %181, label %183
181: ; preds = %178
%182 = load i64, ptr %22, align 8, !noalias !555
br label %193
183: ; preds = %178
%184 = icmp ne ptr %153, null
call void @llvm.assume(i1 %184)
%185 = load i64, ptr %22, align 8, !noalias !555
br label %188
186: ; preds = %564, %263, %219, %217
%187 = landingpad { ptr, i32 }
cleanup
call fastcc void @"_ZN4core3ptr86drop_in_place$LT$core..slice..sort..CopyOnDrop$LT$object..read..ObjectMapEntry$GT$$GT$17hc54b5e0b71e684c2E"(ptr nonnull %22, ptr nonnull %151) #24
resume { ptr, i32 } %187
188: ; preds = %198, %183
%189 = phi i64 [ 0, %183 ], [ %199, %198 ]
%190 = getelementptr inbounds %67, ptr %179, i64 %189
%191 = load i64, ptr %190, align 8, !alias.scope !555
%192 = icmp ult i64 %191, %185
br i1 %192, label %198, label %193
193: ; preds = %198, %188, %181
%194 = phi i64 [ %182, %181 ], [ %185, %188 ], [ %185, %198 ]
%195 = phi i64 [ 0, %181 ], [ %175, %198 ], [ %189, %188 ]
%196 = icmp ne ptr %153, null
%197 = call i64 @llvm.umin.i64(i64 %195, i64 %175)
br label %201
198: ; preds = %188
%199 = add nuw i64 %189, 1
%200 = icmp eq i64 %199, %175
br i1 %200, label %193, label %188
201: ; preds = %208, %193
%202 = phi i64 [ %175, %193 ], [ %205, %208 ]
%203 = icmp ugt i64 %202, %195
br i1 %203, label %204, label %212
204: ; preds = %201
%205 = add i64 %202, -1
%206 = icmp ult i64 %205, %175
br i1 %206, label %208, label %207
207: ; preds = %204
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
208: ; preds = %204
%209 = getelementptr inbounds %67, ptr %151, i64 %202
call void @llvm.assume(i1 %196)
%210 = load i64, ptr %209, align 8, !alias.scope !555
%211 = icmp ult i64 %210, %194
br i1 %211, label %212, label %201
212: ; preds = %208, %201
%213 = phi i64 [ %197, %201 ], [ %202, %208 ]
%214 = icmp ult i64 %213, %195
br i1 %214, label %217, label %215
215: ; preds = %212
%216 = icmp ugt i64 %213, %175
br i1 %216, label %219, label %221
217: ; preds = %212
invoke void @_ZN4core5slice5index22slice_index_order_fail17h41a682748ef8522cE(i64 %195, i64 %213, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %218 unwind label %186
218: ; preds = %217
unreachable
219: ; preds = %215
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %213, i64 %175, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %220 unwind label %186
220: ; preds = %219
unreachable
221: ; preds = %215
%222 = getelementptr inbounds %67, ptr %179, i64 %195
call void @llvm.experimental.noalias.scope.decl(metadata !574)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20), !noalias !577
store i64 128, ptr %20, align 8, !noalias !577
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %19), !noalias !577
%223 = getelementptr inbounds %67, ptr %179, i64 %213
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18), !noalias !577
store i64 128, ptr %18, align 8, !noalias !577
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %17), !noalias !577
br label %224
224: ; preds = %409, %221
%225 = phi i64 [ 128, %221 ], [ %239, %409 ]
%226 = phi i64 [ 128, %221 ], [ %240, %409 ]
%227 = phi ptr [ null, %221 ], [ %357, %409 ]
%228 = phi ptr [ null, %221 ], [ %410, %409 ]
%229 = phi ptr [ %223, %221 ], [ %419, %409 ]
%230 = phi ptr [ null, %221 ], [ %290, %409 ]
%231 = phi ptr [ null, %221 ], [ %411, %409 ]
%232 = phi ptr [ %222, %221 ], [ %415, %409 ]
%233 = ptrtoint ptr %229 to i64
%234 = ptrtoint ptr %232 to i64
%235 = sub i64 %233, %234
%236 = udiv i64 %235, 40
%237 = icmp ult i64 %235, 10280
br i1 %237, label %242, label %238
238: ; preds = %260, %224
%239 = phi i64 [ %251, %260 ], [ %225, %224 ]
%240 = phi i64 [ %252, %260 ], [ %226, %224 ]
%241 = icmp eq ptr %231, %230
br i1 %241, label %293, label %289
242: ; preds = %224
%243 = icmp ult ptr %231, %230
%244 = icmp ult ptr %228, %227
%245 = select i1 %243, i1 true, i1 %244
%246 = add nsw i64 %236, -128
%247 = select i1 %245, i64 %246, i64 %236
br i1 %243, label %249, label %248
248: ; preds = %242
br i1 %244, label %259, label %256
249: ; preds = %242
store i64 %247, ptr %18, align 8, !noalias !577
br label %250
250: ; preds = %259, %256, %249
%251 = phi i64 [ %225, %259 ], [ %258, %256 ], [ %247, %249 ]
%252 = phi i64 [ %247, %259 ], [ %257, %256 ], [ %226, %249 ]
%253 = icmp ult i64 %252, 129
%254 = icmp ult i64 %251, 129
%255 = select i1 %253, i1 %254, i1 false
br i1 %255, label %260, label %263
256: ; preds = %248
%257 = lshr i64 %247, 1
store i64 %257, ptr %20, align 8, !noalias !577
%258 = sub i64 %247, %257
store i64 %258, ptr %18, align 8, !noalias !577
br label %250
259: ; preds = %248
store i64 %247, ptr %20, align 8, !noalias !577
br label %250
260: ; preds = %250
%261 = add nuw nsw i64 %252, %251
%262 = icmp eq i64 %236, %261
br i1 %262, label %238, label %263
263: ; preds = %260, %250
%264 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.38, %250 ], [ @anon.0f79382001bad1c9081319f05be50b13.40, %260 ]
%265 = phi i64 [ 54, %250 ], [ 50, %260 ]
%266 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.39, %250 ], [ @anon.0f79382001bad1c9081319f05be50b13.41, %260 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %264, i64 %265, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %266) #23
to label %267 unwind label %186
267: ; preds = %263
unreachable
268: ; preds = %300, %295
%269 = phi ptr [ undef, %295 ], [ %332, %300 ]
%270 = phi ptr [ %19, %295 ], [ %332, %300 ]
%271 = phi ptr [ %232, %295 ], [ %333, %300 ]
%272 = phi i64 [ 0, %295 ], [ %326, %300 ]
%273 = icmp eq i64 %296, 0
br i1 %273, label %289, label %274
274: ; preds = %274, %268
%275 = phi ptr [ %285, %274 ], [ %270, %268 ]
%276 = phi ptr [ %286, %274 ], [ %271, %268 ]
%277 = phi i64 [ %279, %274 ], [ %272, %268 ]
%278 = phi i64 [ %287, %274 ], [ 0, %268 ]
%279 = add nuw i64 %277, 1
%280 = trunc i64 %277 to i8
store i8 %280, ptr %275, align 1, !noalias !577
%281 = icmp ne ptr %276, null
call void @llvm.assume(i1 %281)
%282 = load i64, ptr %276, align 8, !alias.scope !577
%283 = icmp uge i64 %282, %194
%284 = zext i1 %283 to i64
%285 = getelementptr inbounds i8, ptr %275, i64 %284
%286 = getelementptr inbounds %67, ptr %276, i64 1
%287 = add i64 %278, 1
%288 = icmp eq i64 %287, %296
br i1 %288, label %289, label %274, !llvm.loop !578
289: ; preds = %293, %274, %268, %238
%290 = phi ptr [ %230, %238 ], [ %19, %293 ], [ %269, %268 ], [ %285, %274 ]
%291 = phi ptr [ %231, %238 ], [ %19, %293 ], [ %19, %274 ], [ %19, %268 ]
%292 = icmp eq ptr %228, %227
br i1 %292, label %367, label %356
293: ; preds = %238
%294 = icmp eq i64 %240, 0
br i1 %294, label %289, label %295
295: ; preds = %293
call void @llvm.assume(i1 %196)
%296 = and i64 %240, 3
%297 = icmp ult i64 %240, 4
br i1 %297, label %268, label %298
298: ; preds = %295
%299 = and i64 %240, -4
br label %300
300: ; preds = %300, %298
%301 = phi ptr [ %19, %298 ], [ %332, %300 ]
%302 = phi ptr [ %232, %298 ], [ %333, %300 ]
%303 = phi i64 [ 0, %298 ], [ %326, %300 ]
%304 = phi i64 [ 0, %298 ], [ %334, %300 ]
%305 = trunc i64 %303 to i8
store i8 %305, ptr %301, align 1, !noalias !577
%306 = icmp ne ptr %302, null
call void @llvm.assume(i1 %306)
%307 = load i64, ptr %302, align 8, !alias.scope !577
%308 = icmp uge i64 %307, %194
%309 = zext i1 %308 to i64
%310 = getelementptr inbounds i8, ptr %301, i64 %309
%311 = getelementptr inbounds %67, ptr %302, i64 1
%312 = trunc i64 %303 to i8
%313 = or i8 %312, 1
store i8 %313, ptr %310, align 1, !noalias !577
%314 = load i64, ptr %311, align 8, !alias.scope !577
%315 = icmp uge i64 %314, %194
%316 = zext i1 %315 to i64
%317 = getelementptr inbounds i8, ptr %310, i64 %316
%318 = getelementptr inbounds %67, ptr %302, i64 2
%319 = trunc i64 %303 to i8
%320 = or i8 %319, 2
store i8 %320, ptr %317, align 1, !noalias !577
%321 = load i64, ptr %318, align 8, !alias.scope !577
%322 = icmp uge i64 %321, %194
%323 = zext i1 %322 to i64
%324 = getelementptr inbounds i8, ptr %317, i64 %323
%325 = getelementptr inbounds %67, ptr %302, i64 3
%326 = add nuw i64 %303, 4
%327 = trunc i64 %303 to i8
%328 = or i8 %327, 3
store i8 %328, ptr %324, align 1, !noalias !577
%329 = load i64, ptr %325, align 8, !alias.scope !577
%330 = icmp uge i64 %329, %194
%331 = zext i1 %330 to i64
%332 = getelementptr inbounds i8, ptr %324, i64 %331
%333 = getelementptr inbounds %67, ptr %302, i64 4
%334 = add i64 %304, 4
%335 = icmp eq i64 %334, %299
br i1 %335, label %268, label %300
336: ; preds = %374, %369
%337 = phi ptr [ undef, %369 ], [ %406, %374 ]
%338 = phi ptr [ %17, %369 ], [ %406, %374 ]
%339 = phi ptr [ %229, %369 ], [ %400, %374 ]
%340 = phi i64 [ 0, %369 ], [ %399, %374 ]
%341 = icmp eq i64 %370, 0
br i1 %341, label %356, label %342
342: ; preds = %342, %336
%343 = phi ptr [ %353, %342 ], [ %338, %336 ]
%344 = phi ptr [ %348, %342 ], [ %339, %336 ]
%345 = phi i64 [ %347, %342 ], [ %340, %336 ]
%346 = phi i64 [ %354, %342 ], [ 0, %336 ]
%347 = add nuw i64 %345, 1
%348 = getelementptr inbounds %67, ptr %344, i64 -1
%349 = trunc i64 %345 to i8
store i8 %349, ptr %343, align 1, !noalias !577
%350 = load i64, ptr %348, align 8, !alias.scope !577
%351 = icmp ult i64 %350, %194
%352 = zext i1 %351 to i64
%353 = getelementptr inbounds i8, ptr %343, i64 %352
%354 = add i64 %346, 1
%355 = icmp eq i64 %354, %370
br i1 %355, label %356, label %342, !llvm.loop !580
356: ; preds = %367, %342, %336, %289
%357 = phi ptr [ %227, %289 ], [ %17, %367 ], [ %337, %336 ], [ %353, %342 ]
%358 = phi ptr [ %228, %289 ], [ %17, %367 ], [ %17, %342 ], [ %17, %336 ]
%359 = ptrtoint ptr %290 to i64
%360 = ptrtoint ptr %291 to i64
%361 = sub i64 %359, %360
%362 = ptrtoint ptr %357 to i64
%363 = ptrtoint ptr %358 to i64
%364 = sub i64 %362, %363
%365 = call i64 @llvm.umin.i64(i64 %361, i64 %364)
%366 = icmp eq i64 %365, 0
br i1 %366, label %409, label %420
367: ; preds = %289
%368 = icmp eq i64 %239, 0
br i1 %368, label %356, label %369
369: ; preds = %367
call void @llvm.assume(i1 %196)
%370 = and i64 %239, 3
%371 = icmp ult i64 %239, 4
br i1 %371, label %336, label %372
372: ; preds = %369
%373 = and i64 %239, -4
br label %374
374: ; preds = %374, %372
%375 = phi ptr [ %17, %372 ], [ %406, %374 ]
%376 = phi ptr [ %229, %372 ], [ %400, %374 ]
%377 = phi i64 [ 0, %372 ], [ %399, %374 ]
%378 = phi i64 [ 0, %372 ], [ %407, %374 ]
%379 = getelementptr inbounds %67, ptr %376, i64 -1
%380 = trunc i64 %377 to i8
store i8 %380, ptr %375, align 1, !noalias !577
%381 = load i64, ptr %379, align 8, !alias.scope !577
%382 = icmp ult i64 %381, %194
%383 = zext i1 %382 to i64
%384 = getelementptr inbounds i8, ptr %375, i64 %383
%385 = getelementptr inbounds %67, ptr %376, i64 -2
%386 = trunc i64 %377 to i8
%387 = or i8 %386, 1
store i8 %387, ptr %384, align 1, !noalias !577
%388 = load i64, ptr %385, align 8, !alias.scope !577
%389 = icmp ult i64 %388, %194
%390 = zext i1 %389 to i64
%391 = getelementptr inbounds i8, ptr %384, i64 %390
%392 = getelementptr inbounds %67, ptr %376, i64 -3
%393 = trunc i64 %377 to i8
%394 = or i8 %393, 2
store i8 %394, ptr %391, align 1, !noalias !577
%395 = load i64, ptr %392, align 8, !alias.scope !577
%396 = icmp ult i64 %395, %194
%397 = zext i1 %396 to i64
%398 = getelementptr inbounds i8, ptr %391, i64 %397
%399 = add nuw i64 %377, 4
%400 = getelementptr inbounds %67, ptr %376, i64 -4
%401 = trunc i64 %377 to i8
%402 = or i8 %401, 3
store i8 %402, ptr %398, align 1, !noalias !577
%403 = load i64, ptr %400, align 8, !alias.scope !577
%404 = icmp ult i64 %403, %194
%405 = zext i1 %404 to i64
%406 = getelementptr inbounds i8, ptr %398, i64 %405
%407 = add i64 %378, 4
%408 = icmp eq i64 %407, %373
br i1 %408, label %336, label %374
409: ; preds = %471, %356
%410 = phi ptr [ %473, %471 ], [ %358, %356 ]
%411 = phi ptr [ %472, %471 ], [ %291, %356 ]
%412 = icmp eq ptr %411, %290
%413 = select i1 %412, i64 %240, i64 0
%414 = freeze i64 %413
%415 = getelementptr %67, ptr %232, i64 %414
%416 = icmp eq ptr %410, %357
%417 = sub i64 0, %239
%418 = select i1 %416, i64 %417, i64 0
%419 = getelementptr %67, ptr %229, i64 %418
br i1 %237, label %510, label %224
420: ; preds = %356
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %16), !noalias !577
%421 = load i8, ptr %291, align 1, !noalias !577
%422 = zext i8 %421 to i64
%423 = getelementptr inbounds %67, ptr %232, i64 %422
%424 = icmp ne ptr %232, null
%425 = ptrtoint ptr %423 to i64
%426 = and i64 %425, 7
%427 = icmp eq i64 %426, 0
%428 = select i1 %424, i1 %427, i1 false
br i1 %428, label %430, label %429
429: ; preds = %420
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !581
unreachable
430: ; preds = %420
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %16, ptr noundef nonnull align 8 dereferenceable(40) %423, i64 40, i1 false)
%431 = load i8, ptr %358, align 1, !noalias !577
%432 = zext i8 %431 to i64
%433 = xor i64 %432, -1
%434 = getelementptr inbounds %67, ptr %229, i64 %433
%435 = load i8, ptr %291, align 1, !noalias !577
%436 = zext i8 %435 to i64
%437 = getelementptr inbounds %67, ptr %232, i64 %436
%438 = ptrtoint ptr %434 to i64
%439 = and i64 %438, 7
%440 = icmp eq i64 %439, 0
br i1 %440, label %441, label %451
441: ; preds = %430
%442 = ptrtoint ptr %437 to i64
%443 = and i64 %442, 7
%444 = icmp eq i64 %443, 0
br i1 %444, label %445, label %451
445: ; preds = %441
%446 = icmp ugt ptr %434, %437
%447 = sub i64 %438, %442
%448 = sub i64 %442, %438
%449 = select i1 %446, i64 %447, i64 %448
%450 = icmp ult i64 %449, 40
br i1 %450, label %451, label %452
451: ; preds = %445, %441, %430
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
452: ; preds = %445
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %437, ptr noundef nonnull align 8 dereferenceable(40) %434, i64 40, i1 false), !alias.scope !577
%453 = icmp ugt i64 %365, 1
br i1 %453, label %474, label %456
454: ; preds = %508
%455 = ptrtoint ptr %500 to i64
br label %456
456: ; preds = %454, %452
%457 = phi i64 [ %438, %452 ], [ %455, %454 ]
%458 = phi i64 [ %433, %452 ], [ %499, %454 ]
%459 = phi ptr [ %358, %452 ], [ %496, %454 ]
%460 = phi ptr [ %291, %452 ], [ %480, %454 ]
%461 = getelementptr inbounds %67, ptr %229, i64 %458
%462 = and i64 %457, 7
%463 = icmp eq i64 %462, 0
br i1 %463, label %464, label %470
464: ; preds = %456
%465 = icmp ugt ptr %16, %461
%466 = sub i64 %43, %457
%467 = sub i64 %457, %43
%468 = select i1 %465, i64 %466, i64 %467
%469 = icmp ult i64 %468, 40
br i1 %469, label %470, label %471
470: ; preds = %464, %456
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
471: ; preds = %464
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %461, ptr noundef nonnull align 8 dereferenceable(40) %16, i64 40, i1 false)
%472 = getelementptr inbounds i8, ptr %460, i64 1
%473 = getelementptr inbounds i8, ptr %459, i64 1
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16), !noalias !577
br label %409
474: ; preds = %508, %452
%475 = phi i8 [ %497, %508 ], [ %431, %452 ]
%476 = phi ptr [ %480, %508 ], [ %291, %452 ]
%477 = phi ptr [ %496, %508 ], [ %358, %452 ]
%478 = phi i64 [ %479, %508 ], [ 1, %452 ]
%479 = add nuw i64 %478, 1
%480 = getelementptr inbounds i8, ptr %476, i64 1
%481 = load i8, ptr %480, align 1, !noalias !577
%482 = zext i8 %481 to i64
%483 = getelementptr inbounds %67, ptr %232, i64 %482
%484 = zext i8 %475 to i64
%485 = xor i64 %484, -1
%486 = getelementptr inbounds %67, ptr %229, i64 %485
%487 = ptrtoint ptr %483 to i64
%488 = ptrtoint ptr %486 to i64
%489 = icmp ugt ptr %483, %486
%490 = sub i64 %487, %488
%491 = sub i64 %488, %487
%492 = select i1 %489, i64 %490, i64 %491
%493 = icmp ult i64 %492, 40
br i1 %493, label %494, label %495
494: ; preds = %474
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
495: ; preds = %474
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %486, ptr noundef nonnull align 8 dereferenceable(40) %483, i64 40, i1 false), !alias.scope !577
%496 = getelementptr inbounds i8, ptr %477, i64 1
%497 = load i8, ptr %496, align 1, !noalias !577
%498 = zext i8 %497 to i64
%499 = xor i64 %498, -1
%500 = getelementptr inbounds %67, ptr %229, i64 %499
%501 = ptrtoint ptr %500 to i64
%502 = icmp ugt ptr %500, %483
%503 = sub i64 %501, %487
%504 = sub i64 %487, %501
%505 = select i1 %502, i64 %503, i64 %504
%506 = icmp ult i64 %505, 40
br i1 %506, label %507, label %508
507: ; preds = %495
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
508: ; preds = %495
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %483, ptr noundef nonnull align 8 dereferenceable(40) %500, i64 40, i1 false), !alias.scope !577
%509 = icmp eq i64 %479, %365
br i1 %509, label %454, label %474
510: ; preds = %409
%511 = icmp ult ptr %411, %290
br i1 %511, label %514, label %512
512: ; preds = %510
%513 = icmp ult ptr %410, %357
br i1 %513, label %556, label %605
514: ; preds = %510
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15), !noalias !577
%515 = ptrtoint ptr %419 to i64
%516 = ptrtoint ptr %415 to i64
%517 = sub i64 %515, %516
%518 = udiv i64 %517, 40
store i64 %518, ptr %15, align 8, !noalias !577
%519 = icmp eq i64 %518, %240
br i1 %519, label %520, label %523
520: ; preds = %514
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15), !noalias !577
%521 = icmp eq ptr %415, null
br i1 %521, label %522, label %524
522: ; preds = %520
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11), !noalias !577
br label %541
523: ; preds = %514
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !577
store ptr null, ptr %14, align 8, !noalias !577
br label %564
524: ; preds = %554, %520
%525 = phi ptr [ %527, %554 ], [ %290, %520 ]
%526 = phi ptr [ %531, %554 ], [ %419, %520 ]
%527 = getelementptr inbounds i8, ptr %525, i64 -1
%528 = load i8, ptr %527, align 1, !noalias !577
%529 = zext i8 %528 to i64
%530 = getelementptr inbounds %67, ptr %415, i64 %529
%531 = getelementptr inbounds %67, ptr %526, i64 -1
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11), !noalias !577
%532 = ptrtoint ptr %530 to i64
%533 = and i64 %532, 7
%534 = icmp eq i64 %533, 0
br i1 %534, label %535, label %541
535: ; preds = %524
%536 = icmp ult ptr %11, %530
%537 = sub i64 %532, %45
%538 = sub i64 %45, %532
%539 = select i1 %536, i64 %537, i64 %538
%540 = icmp ult i64 %539, 40
br i1 %540, label %541, label %542
541: ; preds = %535, %524, %522
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
542: ; preds = %535
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %11, ptr noundef nonnull align 8 dereferenceable(40) %530, i64 40, i1 false)
%543 = ptrtoint ptr %531 to i64
%544 = and i64 %543, 7
%545 = icmp eq i64 %544, 0
br i1 %545, label %547, label %546
546: ; preds = %542
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
547: ; preds = %542
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %530, ptr noundef nonnull align 8 dereferenceable(40) %531, i64 40, i1 false), !alias.scope !577
%548 = icmp ugt ptr %11, %531
%549 = sub i64 %45, %543
%550 = sub i64 %543, %45
%551 = select i1 %548, i64 %549, i64 %550
%552 = icmp ult i64 %551, 40
br i1 %552, label %553, label %554
553: ; preds = %547
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
554: ; preds = %547
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %531, ptr noundef nonnull align 8 dereferenceable(40) %11, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11), !noalias !577
%555 = icmp ult ptr %411, %527
br i1 %555, label %524, label %605
556: ; preds = %512
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13), !noalias !577
%557 = ptrtoint ptr %419 to i64
%558 = ptrtoint ptr %415 to i64
%559 = sub i64 %557, %558
%560 = udiv i64 %559, 40
store i64 %560, ptr %13, align 8, !noalias !577
%561 = icmp eq i64 %560, %239
br i1 %561, label %562, label %563
562: ; preds = %556
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !577
br label %570
563: ; preds = %556
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !577
store ptr null, ptr %12, align 8, !noalias !577
br label %564
564: ; preds = %563, %523
%565 = phi ptr [ %13, %563 ], [ %15, %523 ]
%566 = phi ptr [ %18, %563 ], [ %20, %523 ]
%567 = phi ptr [ %12, %563 ], [ %14, %523 ]
%568 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.43, %563 ], [ @anon.0f79382001bad1c9081319f05be50b13.42, %523 ]
invoke fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %565, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %566, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %567, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %568) #23
to label %569 unwind label %186
569: ; preds = %564
unreachable
570: ; preds = %602, %562
%571 = phi ptr [ %415, %562 ], [ %603, %602 ]
%572 = phi ptr [ %357, %562 ], [ %573, %602 ]
%573 = getelementptr inbounds i8, ptr %572, i64 -1
%574 = load i8, ptr %573, align 1, !noalias !577
%575 = zext i8 %574 to i64
%576 = xor i64 %575, -1
%577 = getelementptr inbounds %67, ptr %419, i64 %576
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10), !noalias !577
%578 = icmp ne ptr %571, null
%579 = ptrtoint ptr %571 to i64
%580 = and i64 %579, 7
%581 = icmp eq i64 %580, 0
%582 = select i1 %578, i1 %581, i1 false
br i1 %582, label %583, label %589
583: ; preds = %570
%584 = icmp ult ptr %10, %571
%585 = sub i64 %579, %44
%586 = sub i64 %44, %579
%587 = select i1 %584, i64 %585, i64 %586
%588 = icmp ult i64 %587, 40
br i1 %588, label %589, label %590
589: ; preds = %583, %570
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
590: ; preds = %583
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %10, ptr noundef nonnull align 8 dereferenceable(40) %571, i64 40, i1 false)
%591 = ptrtoint ptr %577 to i64
%592 = and i64 %591, 7
%593 = icmp eq i64 %592, 0
br i1 %593, label %595, label %594
594: ; preds = %590
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
595: ; preds = %590
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %571, ptr noundef nonnull align 8 dereferenceable(40) %577, i64 40, i1 false), !alias.scope !577
%596 = icmp ugt ptr %10, %577
%597 = sub i64 %44, %591
%598 = sub i64 %591, %44
%599 = select i1 %596, i64 %597, i64 %598
%600 = icmp ult i64 %599, 40
br i1 %600, label %601, label %602
601: ; preds = %595
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
602: ; preds = %595
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %577, ptr noundef nonnull align 8 dereferenceable(40) %10, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10), !noalias !577
%603 = getelementptr inbounds %67, ptr %571, i64 1
%604 = icmp ult ptr %410, %573
br i1 %604, label %570, label %605
605: ; preds = %602, %554, %512
%606 = phi ptr [ %415, %512 ], [ %531, %554 ], [ %603, %602 ]
%607 = ptrtoint ptr %606 to i64
%608 = ptrtoint ptr %222 to i64
%609 = sub i64 %607, %608
%610 = udiv i64 %609, 40
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %17), !noalias !577
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18), !noalias !577
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %19), !noalias !577
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20), !noalias !577
%611 = add i64 %610, %195
%612 = icmp ugt ptr %22, %151
%613 = sub i64 %46, %158
%614 = sub i64 %158, %46
%615 = select i1 %612, i64 %613, i64 %614
%616 = icmp ult i64 %615, 40
br i1 %616, label %617, label %618
617: ; preds = %605
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
618: ; preds = %605
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %151, ptr noundef nonnull align 8 dereferenceable(40) %22, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22), !noalias !555
call void @llvm.experimental.noalias.scope.decl(metadata !584)
%619 = icmp ugt i64 %152, %611
br i1 %619, label %620, label %636, !prof !417
620: ; preds = %618
%621 = getelementptr inbounds [0 x %67], ptr %151, i64 0, i64 %611
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9), !noalias !587
%622 = icmp ult ptr %9, %151
%623 = sub i64 %158, %47
%624 = sub i64 %47, %158
%625 = select i1 %622, i64 %623, i64 %624
%626 = icmp ult i64 %625, 40
br i1 %626, label %627, label %628
627: ; preds = %620
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !589
unreachable
628: ; preds = %620
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, ptr noundef nonnull align 8 dereferenceable(40) %151, i64 40, i1 false), !noalias !589
%629 = ptrtoint ptr %621 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %151, ptr noundef nonnull align 8 dereferenceable(40) %621, i64 40, i1 false), !alias.scope !590, !noalias !589
%630 = icmp ugt ptr %9, %621
%631 = sub i64 %47, %629
%632 = sub i64 %629, %47
%633 = select i1 %630, i64 %631, i64 %632
%634 = icmp ult i64 %633, 40
br i1 %634, label %635, label %637
635: ; preds = %628
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !589
unreachable
636: ; preds = %618
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %611, i64 %152, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.53) #23, !noalias !584
unreachable
637: ; preds = %628
%638 = icmp uge i64 %195, %213
%639 = zext i1 %638 to i8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %621, ptr noundef nonnull align 8 dereferenceable(40) %9, i64 40, i1 false), !noalias !589
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9), !noalias !587
%640 = sub i64 %152, %611
%641 = call i64 @llvm.umin.i64(i64 %611, i64 %640)
%642 = lshr i64 %152, 3
%643 = icmp uge i64 %641, %642
%644 = zext i1 %643 to i8
%645 = icmp ugt i64 %611, 230584300921369395
br i1 %645, label %646, label %647
646: ; preds = %637
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !591
unreachable
647: ; preds = %637
%648 = icmp ugt i64 %640, 230584300921369395
br i1 %648, label %649, label %650
649: ; preds = %647
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !591
unreachable
650: ; preds = %647
%651 = icmp eq i64 %152, %611
br i1 %651, label %656, label %652
652: ; preds = %650
%653 = add nsw i64 %640, -1
%654 = getelementptr inbounds %67, ptr %621, i64 1
%655 = icmp ult i64 %611, %653
br i1 %655, label %751, label %750
656: ; preds = %650
call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.33, i64 35, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.47) #23, !noalias !599
unreachable
657: ; preds = %146
%658 = getelementptr inbounds [0 x %67], ptr %60, i64 0, i64 %137
%659 = load i64, ptr %51, align 8
%660 = load i64, ptr %658, align 8
%661 = icmp ult i64 %659, %660
br i1 %661, label %150, label %663
662: ; preds = %146
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %137, i64 %61, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.45) #23
unreachable
663: ; preds = %657
%664 = load ptr, ptr %2, align 8
call void @llvm.experimental.noalias.scope.decl(metadata !603)
call void @llvm.experimental.noalias.scope.decl(metadata !606)
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7), !noalias !609
%665 = ptrtoint ptr %60 to i64
%666 = icmp ult ptr %7, %60
%667 = sub i64 %665, %39
%668 = sub i64 %39, %665
%669 = select i1 %666, i64 %667, i64 %668
%670 = icmp ult i64 %669, 40
br i1 %670, label %671, label %672
671: ; preds = %663
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !611
unreachable
672: ; preds = %663
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(40) %60, i64 40, i1 false), !noalias !611
%673 = ptrtoint ptr %658 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %60, ptr noundef nonnull align 8 dereferenceable(40) %658, i64 40, i1 false), !alias.scope !612, !noalias !611
%674 = icmp ugt ptr %7, %658
%675 = sub i64 %39, %673
%676 = sub i64 %673, %39
%677 = select i1 %674, i64 %675, i64 %676
%678 = icmp ult i64 %677, 40
br i1 %678, label %679, label %680
679: ; preds = %672
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !611
unreachable
680: ; preds = %672
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %658, ptr noundef nonnull align 8 dereferenceable(40) %7, i64 40, i1 false), !noalias !611
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7), !noalias !609
%681 = add i64 %61, -1
%682 = icmp ugt i64 %681, 230584300921369395
br i1 %682, label %683, label %684
683: ; preds = %680
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !613
unreachable
684: ; preds = %680
%685 = getelementptr inbounds %67, ptr %60, i64 1
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8), !noalias !603
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, ptr noundef nonnull align 8 dereferenceable(40) %60, i64 40, i1 false)
%686 = icmp ne ptr %664, null
%687 = load i64, ptr %8, align 8, !noalias !603
br label %688
688: ; preds = %740, %684
%689 = phi i64 [ %681, %684 ], [ %709, %740 ]
%690 = phi i64 [ 0, %684 ], [ %741, %740 ]
%691 = icmp ult i64 %690, %689
br i1 %691, label %692, label %700
692: ; preds = %702, %688
%693 = phi i64 [ %703, %702 ], [ %690, %688 ]
%694 = icmp ult i64 %693, %681
br i1 %694, label %696, label %695
695: ; preds = %692
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
696: ; preds = %692
%697 = getelementptr inbounds %67, ptr %685, i64 %693
call void @llvm.assume(i1 %686)
%698 = load i64, ptr %697, align 8, !alias.scope !603
%699 = icmp ult i64 %687, %698
br i1 %699, label %700, label %702
700: ; preds = %702, %696, %688
%701 = phi i64 [ %690, %688 ], [ %693, %696 ], [ %689, %702 ]
br label %705
702: ; preds = %696
%703 = add nuw i64 %693, 1
%704 = icmp eq i64 %703, %689
br i1 %704, label %700, label %692
705: ; preds = %712, %700
%706 = phi i64 [ %689, %700 ], [ %709, %712 ]
%707 = icmp ult i64 %701, %706
br i1 %707, label %708, label %733
708: ; preds = %705
%709 = add i64 %706, -1
%710 = icmp ult i64 %709, %681
br i1 %710, label %712, label %711
711: ; preds = %708
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
712: ; preds = %708
%713 = getelementptr inbounds %67, ptr %60, i64 %706
call void @llvm.assume(i1 %686)
%714 = load i64, ptr %713, align 8, !alias.scope !603
%715 = icmp ult i64 %687, %714
br i1 %715, label %705, label %716
716: ; preds = %712
%717 = getelementptr inbounds %67, ptr %685, i64 %701
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6), !noalias !603
%718 = ptrtoint ptr %717 to i64
%719 = icmp ult ptr %6, %717
%720 = sub i64 %718, %40
%721 = sub i64 %40, %718
%722 = select i1 %719, i64 %720, i64 %721
%723 = icmp ult i64 %722, 40
br i1 %723, label %724, label %725
724: ; preds = %716
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
725: ; preds = %716
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef nonnull align 8 dereferenceable(40) %717, i64 40, i1 false)
%726 = ptrtoint ptr %713 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %717, ptr noundef nonnull align 8 dereferenceable(40) %713, i64 40, i1 false), !alias.scope !603
%727 = icmp ugt ptr %6, %713
%728 = sub i64 %40, %726
%729 = sub i64 %726, %40
%730 = select i1 %727, i64 %728, i64 %729
%731 = icmp ult i64 %730, 40
br i1 %731, label %732, label %740
732: ; preds = %725
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
733: ; preds = %705
%734 = icmp ugt ptr %8, %60
%735 = sub i64 %41, %665
%736 = sub i64 %665, %41
%737 = select i1 %734, i64 %735, i64 %736
%738 = icmp ult i64 %737, 40
br i1 %738, label %739, label %742
739: ; preds = %733
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
740: ; preds = %725
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %713, ptr noundef nonnull align 8 dereferenceable(40) %6, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6), !noalias !603
%741 = add nuw i64 %701, 1
br label %688
742: ; preds = %733
%743 = add i64 %701, 1
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %60, ptr noundef nonnull align 8 dereferenceable(40) %8, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8), !noalias !603
%744 = icmp ult i64 %61, %743
br i1 %744, label %745, label %746
745: ; preds = %742
call void @_ZN4core5slice5index26slice_start_index_len_fail17h0500cd89dbf096d3E(i64 %743, i64 %61, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.46) #23, !noalias !621
unreachable
746: ; preds = %742
%747 = getelementptr inbounds %67, ptr %60, i64 %743
%748 = sub i64 %61, %743
%749 = icmp ult i64 %748, 21
br i1 %749, label %64, label %59
750: ; preds = %652
call fastcc void @_ZN4core5slice4sort7recurse17h8082417d3214f1b3E(ptr noalias noundef nonnull align 8 %654, i64 %653, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %621, i32 %77)
br label %752
751: ; preds = %652
call fastcc void @_ZN4core5slice4sort7recurse17h8082417d3214f1b3E(ptr noalias noundef nonnull align 8 %151, i64 %611, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(40) %51, i32 %77)
br label %752
752: ; preds = %751, %750
%753 = phi ptr [ %621, %751 ], [ %51, %750 ]
%754 = phi i64 [ %653, %751 ], [ %611, %750 ]
%755 = phi ptr [ %654, %751 ], [ %151, %750 ]
%756 = icmp ult i64 %754, 21
br i1 %756, label %64, label %48
}
; Function Attrs: uwtable
define internal fastcc void @_ZN4core5slice4sort7recurse17ha922cf6696d797b1E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr noalias noundef align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3, i32 %4) unnamed_addr #0 personality ptr @rust_eh_personality {
%6 = alloca %69, align 8
%7 = alloca %69, align 8
%8 = alloca %68, align 8
%9 = alloca %69, align 8
%10 = alloca %69, align 8
%11 = alloca %69, align 8
%12 = alloca %71, align 8
%13 = alloca i64, align 8
%14 = alloca %71, align 8
%15 = alloca i64, align 8
%16 = alloca { { ptr, i64 }, i64 }, align 8
%17 = alloca [128 x i8], align 1
%18 = alloca i64, align 8
%19 = alloca [128 x i8], align 1
%20 = alloca i64, align 8
%21 = alloca %69, align 8
%22 = alloca %68, align 8
%23 = alloca { { ptr, i64 }, i64 }, align 8
%24 = alloca i64, align 8
%25 = alloca i64, align 8
%26 = alloca i64, align 8
%27 = alloca i64, align 8
%28 = alloca i64, align 8
%29 = alloca i64, align 8
%30 = alloca { ptr, { ptr, i64 }, ptr }, align 8
%31 = alloca i64, align 8
%32 = alloca i64, align 8
%33 = alloca i64, align 8
%34 = alloca i64, align 8
%35 = icmp ult i64 %1, 21
br i1 %35, label %68, label %36
36: ; preds = %5
%37 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %30, i64 0, i32 1
%38 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %30, i64 0, i32 1, i32 1
%39 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %30, i64 0, i32 2
%40 = ptrtoint ptr %7 to i64
%41 = getelementptr inbounds i8, ptr %8, i64 8
%42 = ptrtoint ptr %6 to i64
%43 = ptrtoint ptr %8 to i64
%44 = ptrtoint ptr %21 to i64
%45 = getelementptr inbounds i8, ptr %22, i64 8
%46 = ptrtoint ptr %16 to i64
%47 = ptrtoint ptr %10 to i64
%48 = ptrtoint ptr %11 to i64
%49 = ptrtoint ptr %22 to i64
%50 = ptrtoint ptr %9 to i64
br label %51
51: ; preds = %703, %36
%52 = phi ptr [ %0, %36 ], [ %706, %703 ]
%53 = phi i64 [ %1, %36 ], [ %705, %703 ]
%54 = phi ptr [ %3, %36 ], [ %704, %703 ]
%55 = phi i32 [ %4, %36 ], [ %81, %703 ]
%56 = phi i8 [ 1, %36 ], [ %569, %703 ]
%57 = phi i8 [ 1, %36 ], [ %564, %703 ]
%58 = icmp eq i8 %56, 0
%59 = icmp eq i8 %57, 0
%60 = select i1 %58, i1 true, i1 %59
%61 = icmp eq ptr %54, null
%62 = getelementptr i8, ptr %54, i64 8
br label %63
63: ; preds = %697, %51
%64 = phi ptr [ %52, %51 ], [ %698, %697 ]
%65 = phi i64 [ %53, %51 ], [ %699, %697 ]
%66 = phi i32 [ %55, %51 ], [ %81, %697 ]
%67 = icmp eq i32 %66, 0
br i1 %67, label %78, label %79
68: ; preds = %703, %697, %5
%69 = phi i64 [ %1, %5 ], [ %699, %697 ], [ %705, %703 ]
%70 = phi ptr [ %0, %5 ], [ %698, %697 ], [ %706, %703 ]
%71 = load ptr, ptr %2, align 8
%72 = icmp ugt i64 %69, 1
br i1 %72, label %73, label %77
73: ; preds = %73, %68
%74 = phi i64 [ %75, %73 ], [ 1, %68 ]
%75 = add nuw i64 %74, 1
call fastcc void @_ZN4core5slice4sort10shift_tail17h8fcd899ff28c3a50E(ptr noalias noundef nonnull align 8 %70, i64 %75, ptr %71)
%76 = icmp eq i64 %75, %69
br i1 %76, label %77, label %73
77: ; preds = %128, %78, %73, %68
ret void
78: ; preds = %63
call fastcc void @_ZN4core5slice4sort8heapsort17h209349eaee642c03E(ptr noalias noundef nonnull align 8 %64, i64 %65, ptr noalias noundef nonnull align 8 dereferenceable(8) %2)
br label %77
79: ; preds = %63
br i1 %58, label %125, label %80
80: ; preds = %125, %79
%81 = phi i32 [ %126, %125 ], [ %66, %79 ]
call void @llvm.experimental.noalias.scope.decl(metadata !624)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34), !noalias !627
%82 = lshr i64 %65, 2
store i64 %82, ptr %34, align 8, !noalias !627
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33), !noalias !627
%83 = shl nuw nsw i64 %82, 1
store i64 %83, ptr %33, align 8, !noalias !627
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32), !noalias !627
%84 = mul nuw i64 %82, 3
store i64 %84, ptr %32, align 8, !noalias !627
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31), !noalias !627
store i64 0, ptr %31, align 8, !noalias !627
call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30), !noalias !627
store ptr %2, ptr %30, align 8, !noalias !627
store ptr %64, ptr %37, align 8, !noalias !627
store i64 %65, ptr %38, align 8, !noalias !627
store ptr %31, ptr %39, align 8, !noalias !627
%85 = icmp ugt i64 %65, 49
br i1 %85, label %89, label %86
86: ; preds = %89, %80
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %34, ptr noalias noundef nonnull align 8 dereferenceable(8) %33), !noalias !629
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %32)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %34, ptr noalias noundef nonnull align 8 dereferenceable(8) %33)
call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30), !noalias !627
%87 = load i64, ptr %31, align 8, !noalias !627
%88 = icmp ult i64 %87, 12
br i1 %88, label %116, label %96
89: ; preds = %80
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29), !noalias !632
%90 = add nsw i64 %82, -1
store i64 %90, ptr %29, align 8, !noalias !632
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28), !noalias !632
%91 = add nuw nsw i64 %82, 1
store i64 %91, ptr %28, align 8, !noalias !632
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %34), !noalias !635
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %34, ptr noalias noundef nonnull align 8 dereferenceable(8) %28)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %34)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28), !noalias !632
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29), !noalias !632
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27), !noalias !638
%92 = add nsw i64 %83, -1
store i64 %92, ptr %27, align 8, !noalias !638
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26), !noalias !638
%93 = or i64 %83, 1
store i64 %93, ptr %26, align 8, !noalias !638
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %27, ptr noalias noundef nonnull align 8 dereferenceable(8) %33), !noalias !641
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %26)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %27, ptr noalias noundef nonnull align 8 dereferenceable(8) %33)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26), !noalias !638
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27), !noalias !638
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25), !noalias !644
%94 = add i64 %84, -1
store i64 %94, ptr %25, align 8, !noalias !644
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24), !noalias !644
%95 = add nuw i64 %84, 1
store i64 %95, ptr %24, align 8, !noalias !644
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %25, ptr noalias noundef nonnull align 8 dereferenceable(8) %32), !noalias !647
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %32, ptr noalias noundef nonnull align 8 dereferenceable(8) %24)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %25, ptr noalias noundef nonnull align 8 dereferenceable(8) %32)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24), !noalias !644
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25), !noalias !644
br label %86
96: ; preds = %86
call void @llvm.experimental.noalias.scope.decl(metadata !650)
%97 = lshr i64 %65, 1
%98 = icmp ugt i64 %65, 768614336404564651
br i1 %98, label %99, label %100
99: ; preds = %96
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !650
unreachable
100: ; preds = %96
%101 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %65
%102 = sub nsw i64 0, %97
%103 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %101, i64 %102
call void @llvm.experimental.noalias.scope.decl(metadata !653)
call void @llvm.experimental.noalias.scope.decl(metadata !656)
br label %104
104: ; preds = %104, %100
%105 = phi i64 [ %110, %104 ], [ 0, %100 ]
%106 = xor i64 %105, -1
%107 = add nsw i64 %97, %106
%108 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %64, i64 0, i64 %105
%109 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %103, i64 0, i64 %107
call void @llvm.experimental.noalias.scope.decl(metadata !658)
call void @llvm.experimental.noalias.scope.decl(metadata !661)
call void @llvm.experimental.noalias.scope.decl(metadata !663)
call void @llvm.experimental.noalias.scope.decl(metadata !666)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %108, i64 24, i1 false), !noalias !668
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 8 dereferenceable(24) %109, i64 24, i1 false), !alias.scope !669, !noalias !670
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %23, i64 24, i1 false), !noalias !671
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23)
%110 = add nuw nsw i64 %105, 1
%111 = icmp eq i64 %110, %97
br i1 %111, label %112, label %104
112: ; preds = %104
%113 = load i64, ptr %33, align 8, !noalias !627
%114 = xor i64 %113, -1
%115 = add i64 %65, %114
br label %120
116: ; preds = %86
%117 = load i64, ptr %33, align 8, !noalias !627
%118 = icmp eq i64 %87, 0
%119 = zext i1 %118 to i8
br label %120
120: ; preds = %116, %112
%121 = phi i8 [ %119, %116 ], [ 1, %112 ]
%122 = phi i64 [ %117, %116 ], [ %115, %112 ]
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31), !noalias !627
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32), !noalias !627
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33), !noalias !627
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34), !noalias !627
%123 = icmp eq i8 %121, 0
%124 = select i1 %60, i1 true, i1 %123
br i1 %124, label %127, label %128
125: ; preds = %79
call fastcc void @_ZN4core5slice4sort14break_patterns17h95e829b000ff5ccfE(ptr noalias noundef nonnull align 8 %64, i64 %65)
%126 = add i32 %66, -1
br label %80
127: ; preds = %128, %120
br i1 %61, label %133, label %131
128: ; preds = %120
%129 = load ptr, ptr %2, align 8
%130 = call fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17h6321afa7cfdf947aE(ptr noalias noundef nonnull align 8 %64, i64 %65, ptr %129)
br i1 %130, label %77, label %127
131: ; preds = %127
%132 = icmp ult i64 %122, %65
br i1 %132, label %582, label %596, !prof !417
133: ; preds = %127
call void @llvm.experimental.noalias.scope.decl(metadata !672)
call void @llvm.experimental.noalias.scope.decl(metadata !675)
%134 = icmp eq i64 %53, 0
br i1 %134, label %140, label %135, !prof !561
135: ; preds = %582, %133
%136 = phi ptr [ %52, %133 ], [ %64, %582 ]
%137 = phi i64 [ %53, %133 ], [ %65, %582 ]
%138 = load ptr, ptr %2, align 8
%139 = icmp ult i64 %122, %137
br i1 %139, label %141, label %158, !prof !417
140: ; preds = %133
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 0, i64 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !675
unreachable
141: ; preds = %135
%142 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %136, i64 0, i64 %122
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21), !noalias !678
%143 = ptrtoint ptr %136 to i64
%144 = icmp ult ptr %21, %136
%145 = sub i64 %143, %44
%146 = sub i64 %44, %143
%147 = select i1 %144, i64 %145, i64 %146
%148 = icmp ult i64 %147, 24
br i1 %148, label %149, label %150
149: ; preds = %141
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !680
unreachable
150: ; preds = %141
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %136, i64 24, i1 false), !noalias !680
%151 = ptrtoint ptr %142 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %142, i64 24, i1 false), !alias.scope !681, !noalias !680
%152 = icmp ugt ptr %21, %142
%153 = sub i64 %44, %151
%154 = sub i64 %151, %44
%155 = select i1 %152, i64 %153, i64 %154
%156 = icmp ult i64 %155, 24
br i1 %156, label %157, label %159
157: ; preds = %150
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !680
unreachable
158: ; preds = %135
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %122, i64 %137, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !675
unreachable
159: ; preds = %150
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %142, ptr noundef nonnull align 8 dereferenceable(24) %21, i64 24, i1 false), !noalias !680
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21), !noalias !678
%160 = add i64 %137, -1
%161 = icmp ugt i64 %160, 384307168202282325
br i1 %161, label %162, label %163
162: ; preds = %159
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !682
unreachable
163: ; preds = %159
%164 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %136, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22), !noalias !672
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %136, i64 24, i1 false)
%165 = icmp eq i64 %160, 0
br i1 %165, label %166, label %169
166: ; preds = %163
%167 = load ptr, ptr %22, align 8, !noalias !672
%168 = load i64, ptr %45, align 8, !noalias !672
br label %188
169: ; preds = %163
%170 = icmp ne ptr %138, null
call void @llvm.assume(i1 %170)
%171 = load ptr, ptr %22, align 8, !noalias !672, !nonnull !25, !align !306, !noundef !25
%172 = load i64, ptr %45, align 8, !noalias !672
br label %175
173: ; preds = %489, %268, %223, %221
%174 = landingpad { ptr, i32 }
cleanup
call fastcc void @"_ZN4core3ptr88drop_in_place$LT$core..slice..sort..CopyOnDrop$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h884966c146f349c3E"(ptr nonnull %22, ptr nonnull %136) #24
resume { ptr, i32 } %174
175: ; preds = %194, %169
%176 = phi i64 [ 0, %169 ], [ %195, %194 ]
%177 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %164, i64 %176
%178 = load ptr, ptr %177, align 8, !alias.scope !672, !nonnull !25, !align !306, !noundef !25
%179 = getelementptr i8, ptr %177, i64 8
%180 = load i64, ptr %179, align 8, !alias.scope !672
%181 = sub i64 %180, %172
%182 = call i64 @llvm.umin.i64(i64 %180, i64 %172)
%183 = call i32 @memcmp(ptr nonnull %178, ptr nonnull %171, i64 %182), !alias.scope !690
%184 = sext i32 %183 to i64
%185 = icmp eq i32 %183, 0
%186 = select i1 %185, i64 %181, i64 %184
%187 = icmp slt i64 %186, 0
br i1 %187, label %194, label %188
188: ; preds = %194, %175, %166
%189 = phi i64 [ %168, %166 ], [ %172, %175 ], [ %172, %194 ]
%190 = phi ptr [ %167, %166 ], [ %171, %175 ], [ %171, %194 ]
%191 = phi i64 [ 0, %166 ], [ %160, %194 ], [ %176, %175 ]
%192 = icmp ne ptr %138, null
%193 = call i64 @llvm.umin.i64(i64 %191, i64 %160)
br label %197
194: ; preds = %175
%195 = add nuw i64 %176, 1
%196 = icmp eq i64 %195, %160
br i1 %196, label %188, label %175
197: ; preds = %204, %188
%198 = phi i64 [ %160, %188 ], [ %201, %204 ]
%199 = icmp ugt i64 %198, %191
br i1 %199, label %200, label %216
200: ; preds = %197
%201 = add i64 %198, -1
%202 = icmp ult i64 %201, %160
br i1 %202, label %204, label %203
203: ; preds = %200
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
204: ; preds = %200
%205 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %136, i64 %198
call void @llvm.assume(i1 %192)
%206 = load ptr, ptr %205, align 8, !alias.scope !672, !nonnull !25, !align !306, !noundef !25
%207 = getelementptr i8, ptr %205, i64 8
%208 = load i64, ptr %207, align 8, !alias.scope !672
%209 = sub i64 %208, %189
%210 = call i64 @llvm.umin.i64(i64 %208, i64 %189)
%211 = call i32 @memcmp(ptr nonnull %206, ptr nonnull %190, i64 %210), !alias.scope !703
%212 = sext i32 %211 to i64
%213 = icmp eq i32 %211, 0
%214 = select i1 %213, i64 %209, i64 %212
%215 = icmp sgt i64 %214, -1
br i1 %215, label %197, label %216
216: ; preds = %204, %197
%217 = phi i64 [ %193, %197 ], [ %198, %204 ]
%218 = icmp ult i64 %217, %191
br i1 %218, label %221, label %219
219: ; preds = %216
%220 = icmp ugt i64 %217, %160
br i1 %220, label %223, label %225
221: ; preds = %216
invoke void @_ZN4core5slice5index22slice_index_order_fail17h41a682748ef8522cE(i64 %191, i64 %217, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %222 unwind label %173
222: ; preds = %221
unreachable
223: ; preds = %219
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %217, i64 %160, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %224 unwind label %173
224: ; preds = %223
unreachable
225: ; preds = %219
%226 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %164, i64 %191
call void @llvm.experimental.noalias.scope.decl(metadata !716)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20), !noalias !719
store i64 128, ptr %20, align 8, !noalias !719
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %19), !noalias !719
%227 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %164, i64 %217
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18), !noalias !719
store i64 128, ptr %18, align 8, !noalias !719
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %17), !noalias !719
%228 = icmp ne ptr %190, null
br label %229
229: ; preds = %334, %225
%230 = phi i64 [ 128, %225 ], [ %244, %334 ]
%231 = phi i64 [ 128, %225 ], [ %245, %334 ]
%232 = phi ptr [ null, %225 ], [ %302, %334 ]
%233 = phi ptr [ null, %225 ], [ %335, %334 ]
%234 = phi ptr [ %227, %225 ], [ %344, %334 ]
%235 = phi ptr [ null, %225 ], [ %274, %334 ]
%236 = phi ptr [ null, %225 ], [ %336, %334 ]
%237 = phi ptr [ %226, %225 ], [ %340, %334 ]
%238 = ptrtoint ptr %234 to i64
%239 = ptrtoint ptr %237 to i64
%240 = sub i64 %238, %239
%241 = udiv i64 %240, 24
%242 = icmp ult i64 %240, 6168
br i1 %242, label %247, label %243
243: ; preds = %265, %229
%244 = phi i64 [ %256, %265 ], [ %230, %229 ]
%245 = phi i64 [ %257, %265 ], [ %231, %229 ]
%246 = icmp eq ptr %236, %235
br i1 %246, label %277, label %273
247: ; preds = %229
%248 = icmp ult ptr %236, %235
%249 = icmp ult ptr %233, %232
%250 = select i1 %248, i1 true, i1 %249
%251 = add nsw i64 %241, -128
%252 = select i1 %250, i64 %251, i64 %241
br i1 %248, label %254, label %253
253: ; preds = %247
br i1 %249, label %264, label %261
254: ; preds = %247
store i64 %252, ptr %18, align 8, !noalias !719
br label %255
255: ; preds = %264, %261, %254
%256 = phi i64 [ %230, %264 ], [ %263, %261 ], [ %252, %254 ]
%257 = phi i64 [ %252, %264 ], [ %262, %261 ], [ %231, %254 ]
%258 = icmp ult i64 %257, 129
%259 = icmp ult i64 %256, 129
%260 = select i1 %258, i1 %259, i1 false
br i1 %260, label %265, label %268
261: ; preds = %253
%262 = lshr i64 %252, 1
store i64 %262, ptr %20, align 8, !noalias !719
%263 = sub i64 %252, %262
store i64 %263, ptr %18, align 8, !noalias !719
br label %255
264: ; preds = %253
store i64 %252, ptr %20, align 8, !noalias !719
br label %255
265: ; preds = %255
%266 = add nuw nsw i64 %257, %256
%267 = icmp eq i64 %241, %266
br i1 %267, label %243, label %268
268: ; preds = %265, %255
%269 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.38, %255 ], [ @anon.0f79382001bad1c9081319f05be50b13.40, %265 ]
%270 = phi i64 [ 54, %255 ], [ 50, %265 ]
%271 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.39, %255 ], [ @anon.0f79382001bad1c9081319f05be50b13.41, %265 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %269, i64 %270, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %271) #23
to label %272 unwind label %173
272: ; preds = %268
unreachable
273: ; preds = %280, %277, %243
%274 = phi ptr [ %235, %243 ], [ %19, %277 ], [ %298, %280 ]
%275 = phi ptr [ %236, %243 ], [ %19, %277 ], [ %19, %280 ]
%276 = icmp eq ptr %233, %232
br i1 %276, label %312, label %301
277: ; preds = %243
%278 = icmp eq i64 %245, 0
br i1 %278, label %273, label %279
279: ; preds = %277
call void @llvm.assume(i1 %192)
call void @llvm.assume(i1 %228)
br label %280
280: ; preds = %280, %279
%281 = phi ptr [ %19, %279 ], [ %298, %280 ]
%282 = phi ptr [ %237, %279 ], [ %299, %280 ]
%283 = phi i64 [ 0, %279 ], [ %284, %280 ]
%284 = add nuw i64 %283, 1
%285 = trunc i64 %283 to i8
store i8 %285, ptr %281, align 1, !noalias !719
%286 = icmp ne ptr %282, null
call void @llvm.assume(i1 %286)
%287 = load ptr, ptr %282, align 8, !alias.scope !719, !nonnull !25, !align !306, !noundef !25
%288 = getelementptr i8, ptr %282, i64 8
%289 = load i64, ptr %288, align 8, !alias.scope !719
%290 = sub i64 %289, %189
%291 = call i64 @llvm.umin.i64(i64 %289, i64 %189)
%292 = call i32 @memcmp(ptr nonnull %287, ptr nonnull %190, i64 %291), !alias.scope !720
%293 = sext i32 %292 to i64
%294 = icmp eq i32 %292, 0
%295 = select i1 %294, i64 %290, i64 %293
%296 = icmp sgt i64 %295, -1
%297 = zext i1 %296 to i64
%298 = getelementptr inbounds i8, ptr %281, i64 %297
%299 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %282, i64 1
%300 = icmp eq i64 %284, %245
br i1 %300, label %273, label %280
301: ; preds = %315, %312, %273
%302 = phi ptr [ %232, %273 ], [ %17, %312 ], [ %332, %315 ]
%303 = phi ptr [ %233, %273 ], [ %17, %312 ], [ %17, %315 ]
%304 = ptrtoint ptr %274 to i64
%305 = ptrtoint ptr %275 to i64
%306 = sub i64 %304, %305
%307 = ptrtoint ptr %302 to i64
%308 = ptrtoint ptr %303 to i64
%309 = sub i64 %307, %308
%310 = call i64 @llvm.umin.i64(i64 %306, i64 %309)
%311 = icmp eq i64 %310, 0
br i1 %311, label %334, label %345
312: ; preds = %273
%313 = icmp eq i64 %244, 0
br i1 %313, label %301, label %314
314: ; preds = %312
call void @llvm.assume(i1 %192)
call void @llvm.assume(i1 %228)
br label %315
315: ; preds = %315, %314
%316 = phi ptr [ %17, %314 ], [ %332, %315 ]
%317 = phi ptr [ %234, %314 ], [ %320, %315 ]
%318 = phi i64 [ 0, %314 ], [ %319, %315 ]
%319 = add nuw i64 %318, 1
%320 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %317, i64 -1
%321 = trunc i64 %318 to i8
store i8 %321, ptr %316, align 1, !noalias !719
%322 = load ptr, ptr %320, align 8, !alias.scope !719, !nonnull !25, !align !306, !noundef !25
%323 = getelementptr { { ptr, i64 }, i64 }, ptr %317, i64 -1, i32 0, i32 1
%324 = load i64, ptr %323, align 8, !alias.scope !719
%325 = sub i64 %324, %189
%326 = call i64 @llvm.umin.i64(i64 %324, i64 %189)
%327 = call i32 @memcmp(ptr nonnull %322, ptr nonnull %190, i64 %326), !alias.scope !733
%328 = sext i32 %327 to i64
%329 = icmp eq i32 %327, 0
%330 = select i1 %329, i64 %325, i64 %328
%331 = lshr i64 %330, 63
%332 = getelementptr inbounds i8, ptr %316, i64 %331
%333 = icmp eq i64 %319, %244
br i1 %333, label %301, label %315
334: ; preds = %396, %301
%335 = phi ptr [ %398, %396 ], [ %303, %301 ]
%336 = phi ptr [ %397, %396 ], [ %275, %301 ]
%337 = icmp eq ptr %336, %274
%338 = select i1 %337, i64 %245, i64 0
%339 = freeze i64 %338
%340 = getelementptr { { ptr, i64 }, i64 }, ptr %237, i64 %339
%341 = icmp eq ptr %335, %302
%342 = sub i64 0, %244
%343 = select i1 %341, i64 %342, i64 0
%344 = getelementptr { { ptr, i64 }, i64 }, ptr %234, i64 %343
br i1 %242, label %435, label %229
345: ; preds = %301
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16), !noalias !719
%346 = load i8, ptr %275, align 1, !noalias !719
%347 = zext i8 %346 to i64
%348 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %237, i64 %347
%349 = icmp ne ptr %237, null
%350 = ptrtoint ptr %348 to i64
%351 = and i64 %350, 7
%352 = icmp eq i64 %351, 0
%353 = select i1 %349, i1 %352, i1 false
br i1 %353, label %355, label %354
354: ; preds = %345
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !746
unreachable
355: ; preds = %345
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %348, i64 24, i1 false)
%356 = load i8, ptr %303, align 1, !noalias !719
%357 = zext i8 %356 to i64
%358 = xor i64 %357, -1
%359 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %234, i64 %358
%360 = load i8, ptr %275, align 1, !noalias !719
%361 = zext i8 %360 to i64
%362 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %237, i64 %361
%363 = ptrtoint ptr %359 to i64
%364 = and i64 %363, 7
%365 = icmp eq i64 %364, 0
br i1 %365, label %366, label %376
366: ; preds = %355
%367 = ptrtoint ptr %362 to i64
%368 = and i64 %367, 7
%369 = icmp eq i64 %368, 0
br i1 %369, label %370, label %376
370: ; preds = %366
%371 = icmp ugt ptr %359, %362
%372 = sub i64 %363, %367
%373 = sub i64 %367, %363
%374 = select i1 %371, i64 %372, i64 %373
%375 = icmp ult i64 %374, 24
br i1 %375, label %376, label %377
376: ; preds = %370, %366, %355
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
377: ; preds = %370
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %362, ptr noundef nonnull align 8 dereferenceable(24) %359, i64 24, i1 false), !alias.scope !719
%378 = icmp ugt i64 %310, 1
br i1 %378, label %399, label %381
379: ; preds = %433
%380 = ptrtoint ptr %425 to i64
br label %381
381: ; preds = %379, %377
%382 = phi i64 [ %363, %377 ], [ %380, %379 ]
%383 = phi i64 [ %358, %377 ], [ %424, %379 ]
%384 = phi ptr [ %303, %377 ], [ %421, %379 ]
%385 = phi ptr [ %275, %377 ], [ %405, %379 ]
%386 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %234, i64 %383
%387 = and i64 %382, 7
%388 = icmp eq i64 %387, 0
br i1 %388, label %389, label %395
389: ; preds = %381
%390 = icmp ugt ptr %16, %386
%391 = sub i64 %46, %382
%392 = sub i64 %382, %46
%393 = select i1 %390, i64 %391, i64 %392
%394 = icmp ult i64 %393, 24
br i1 %394, label %395, label %396
395: ; preds = %389, %381
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
396: ; preds = %389
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %386, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false)
%397 = getelementptr inbounds i8, ptr %385, i64 1
%398 = getelementptr inbounds i8, ptr %384, i64 1
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16), !noalias !719
br label %334
399: ; preds = %433, %377
%400 = phi i8 [ %422, %433 ], [ %356, %377 ]
%401 = phi ptr [ %405, %433 ], [ %275, %377 ]
%402 = phi ptr [ %421, %433 ], [ %303, %377 ]
%403 = phi i64 [ %404, %433 ], [ 1, %377 ]
%404 = add nuw i64 %403, 1
%405 = getelementptr inbounds i8, ptr %401, i64 1
%406 = load i8, ptr %405, align 1, !noalias !719
%407 = zext i8 %406 to i64
%408 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %237, i64 %407
%409 = zext i8 %400 to i64
%410 = xor i64 %409, -1
%411 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %234, i64 %410
%412 = ptrtoint ptr %408 to i64
%413 = ptrtoint ptr %411 to i64
%414 = icmp ugt ptr %408, %411
%415 = sub i64 %412, %413
%416 = sub i64 %413, %412
%417 = select i1 %414, i64 %415, i64 %416
%418 = icmp ult i64 %417, 24
br i1 %418, label %419, label %420
419: ; preds = %399
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
420: ; preds = %399
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %411, ptr noundef nonnull align 8 dereferenceable(24) %408, i64 24, i1 false), !alias.scope !719
%421 = getelementptr inbounds i8, ptr %402, i64 1
%422 = load i8, ptr %421, align 1, !noalias !719
%423 = zext i8 %422 to i64
%424 = xor i64 %423, -1
%425 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %234, i64 %424
%426 = ptrtoint ptr %425 to i64
%427 = icmp ugt ptr %425, %408
%428 = sub i64 %426, %412
%429 = sub i64 %412, %426
%430 = select i1 %427, i64 %428, i64 %429
%431 = icmp ult i64 %430, 24
br i1 %431, label %432, label %433
432: ; preds = %420
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
433: ; preds = %420
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %408, ptr noundef nonnull align 8 dereferenceable(24) %425, i64 24, i1 false), !alias.scope !719
%434 = icmp eq i64 %404, %310
br i1 %434, label %379, label %399
435: ; preds = %334
%436 = icmp ult ptr %336, %274
br i1 %436, label %439, label %437
437: ; preds = %435
%438 = icmp ult ptr %335, %302
br i1 %438, label %481, label %530
439: ; preds = %435
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15), !noalias !719
%440 = ptrtoint ptr %344 to i64
%441 = ptrtoint ptr %340 to i64
%442 = sub i64 %440, %441
%443 = udiv i64 %442, 24
store i64 %443, ptr %15, align 8, !noalias !719
%444 = icmp eq i64 %443, %245
br i1 %444, label %445, label %448
445: ; preds = %439
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15), !noalias !719
%446 = icmp eq ptr %340, null
br i1 %446, label %447, label %449
447: ; preds = %445
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !719
br label %466
448: ; preds = %439
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !719
store ptr null, ptr %14, align 8, !noalias !719
br label %489
449: ; preds = %479, %445
%450 = phi ptr [ %452, %479 ], [ %274, %445 ]
%451 = phi ptr [ %456, %479 ], [ %344, %445 ]
%452 = getelementptr inbounds i8, ptr %450, i64 -1
%453 = load i8, ptr %452, align 1, !noalias !719
%454 = zext i8 %453 to i64
%455 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %340, i64 %454
%456 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %451, i64 -1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !719
%457 = ptrtoint ptr %455 to i64
%458 = and i64 %457, 7
%459 = icmp eq i64 %458, 0
br i1 %459, label %460, label %466
460: ; preds = %449
%461 = icmp ult ptr %11, %455
%462 = sub i64 %457, %48
%463 = sub i64 %48, %457
%464 = select i1 %461, i64 %462, i64 %463
%465 = icmp ult i64 %464, 24
br i1 %465, label %466, label %467
466: ; preds = %460, %449, %447
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
467: ; preds = %460
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %455, i64 24, i1 false)
%468 = ptrtoint ptr %456 to i64
%469 = and i64 %468, 7
%470 = icmp eq i64 %469, 0
br i1 %470, label %472, label %471
471: ; preds = %467
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
472: ; preds = %467
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %455, ptr noundef nonnull align 8 dereferenceable(24) %456, i64 24, i1 false), !alias.scope !719
%473 = icmp ugt ptr %11, %456
%474 = sub i64 %48, %468
%475 = sub i64 %468, %48
%476 = select i1 %473, i64 %474, i64 %475
%477 = icmp ult i64 %476, 24
br i1 %477, label %478, label %479
478: ; preds = %472
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
479: ; preds = %472
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %456, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !719
%480 = icmp ult ptr %336, %452
br i1 %480, label %449, label %530
481: ; preds = %437
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13), !noalias !719
%482 = ptrtoint ptr %344 to i64
%483 = ptrtoint ptr %340 to i64
%484 = sub i64 %482, %483
%485 = udiv i64 %484, 24
store i64 %485, ptr %13, align 8, !noalias !719
%486 = icmp eq i64 %485, %244
br i1 %486, label %487, label %488
487: ; preds = %481
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !719
br label %495
488: ; preds = %481
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !719
store ptr null, ptr %12, align 8, !noalias !719
br label %489
489: ; preds = %488, %448
%490 = phi ptr [ %13, %488 ], [ %15, %448 ]
%491 = phi ptr [ %18, %488 ], [ %20, %448 ]
%492 = phi ptr [ %12, %488 ], [ %14, %448 ]
%493 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.43, %488 ], [ @anon.0f79382001bad1c9081319f05be50b13.42, %448 ]
invoke fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %490, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %491, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %492, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %493) #23
to label %494 unwind label %173
494: ; preds = %489
unreachable
495: ; preds = %527, %487
%496 = phi ptr [ %340, %487 ], [ %528, %527 ]
%497 = phi ptr [ %302, %487 ], [ %498, %527 ]
%498 = getelementptr inbounds i8, ptr %497, i64 -1
%499 = load i8, ptr %498, align 1, !noalias !719
%500 = zext i8 %499 to i64
%501 = xor i64 %500, -1
%502 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %344, i64 %501
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !719
%503 = icmp ne ptr %496, null
%504 = ptrtoint ptr %496 to i64
%505 = and i64 %504, 7
%506 = icmp eq i64 %505, 0
%507 = select i1 %503, i1 %506, i1 false
br i1 %507, label %508, label %514
508: ; preds = %495
%509 = icmp ult ptr %10, %496
%510 = sub i64 %504, %47
%511 = sub i64 %47, %504
%512 = select i1 %509, i64 %510, i64 %511
%513 = icmp ult i64 %512, 24
br i1 %513, label %514, label %515
514: ; preds = %508, %495
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
515: ; preds = %508
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %496, i64 24, i1 false)
%516 = ptrtoint ptr %502 to i64
%517 = and i64 %516, 7
%518 = icmp eq i64 %517, 0
br i1 %518, label %520, label %519
519: ; preds = %515
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
520: ; preds = %515
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %496, ptr noundef nonnull align 8 dereferenceable(24) %502, i64 24, i1 false), !alias.scope !719
%521 = icmp ugt ptr %10, %502
%522 = sub i64 %47, %516
%523 = sub i64 %516, %47
%524 = select i1 %521, i64 %522, i64 %523
%525 = icmp ult i64 %524, 24
br i1 %525, label %526, label %527
526: ; preds = %520
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
527: ; preds = %520
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %502, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !719
%528 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %496, i64 1
%529 = icmp ult ptr %335, %498
br i1 %529, label %495, label %530
530: ; preds = %527, %479, %437
%531 = phi ptr [ %340, %437 ], [ %456, %479 ], [ %528, %527 ]
%532 = ptrtoint ptr %531 to i64
%533 = ptrtoint ptr %226 to i64
%534 = sub i64 %532, %533
%535 = udiv i64 %534, 24
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %17), !noalias !719
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18), !noalias !719
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %19), !noalias !719
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20), !noalias !719
%536 = add i64 %535, %191
%537 = icmp ugt ptr %22, %136
%538 = sub i64 %49, %143
%539 = sub i64 %143, %49
%540 = select i1 %537, i64 %538, i64 %539
%541 = icmp ult i64 %540, 24
br i1 %541, label %542, label %543
542: ; preds = %530
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
543: ; preds = %530
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %22, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22), !noalias !672
call void @llvm.experimental.noalias.scope.decl(metadata !749)
%544 = icmp ugt i64 %137, %536
br i1 %544, label %545, label %561, !prof !417
545: ; preds = %543
%546 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %136, i64 0, i64 %536
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !752
%547 = icmp ult ptr %9, %136
%548 = sub i64 %143, %50
%549 = sub i64 %50, %143
%550 = select i1 %547, i64 %548, i64 %549
%551 = icmp ult i64 %550, 24
br i1 %551, label %552, label %553
552: ; preds = %545
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !754
unreachable
553: ; preds = %545
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %136, i64 24, i1 false), !noalias !754
%554 = ptrtoint ptr %546 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %546, i64 24, i1 false), !alias.scope !755, !noalias !754
%555 = icmp ugt ptr %9, %546
%556 = sub i64 %50, %554
%557 = sub i64 %554, %50
%558 = select i1 %555, i64 %556, i64 %557
%559 = icmp ult i64 %558, 24
br i1 %559, label %560, label %562
560: ; preds = %553
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !754
unreachable
561: ; preds = %543
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %536, i64 %137, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.53) #23, !noalias !749
unreachable
562: ; preds = %553
%563 = icmp uge i64 %191, %217
%564 = zext i1 %563 to i8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %546, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !754
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !752
%565 = sub i64 %137, %536
%566 = call i64 @llvm.umin.i64(i64 %536, i64 %565)
%567 = lshr i64 %137, 3
%568 = icmp uge i64 %566, %567
%569 = zext i1 %568 to i8
%570 = icmp ugt i64 %536, 384307168202282325
br i1 %570, label %571, label %572
571: ; preds = %562
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !756
unreachable
572: ; preds = %562
%573 = icmp ugt i64 %565, 384307168202282325
br i1 %573, label %574, label %575
574: ; preds = %572
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !756
unreachable
575: ; preds = %572
%576 = icmp eq i64 %137, %536
br i1 %576, label %581, label %577
577: ; preds = %575
%578 = add nsw i64 %565, -1
%579 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %546, i64 1
%580 = icmp ult i64 %536, %578
br i1 %580, label %702, label %701
581: ; preds = %575
call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.33, i64 35, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.47) #23, !noalias !764
unreachable
582: ; preds = %131
%583 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %64, i64 0, i64 %122
%584 = load ptr, ptr %54, align 8, !nonnull !25, !align !306, !noundef !25
%585 = load i64, ptr %62, align 8
%586 = load ptr, ptr %583, align 8, !nonnull !25, !align !306, !noundef !25
%587 = getelementptr i8, ptr %583, i64 8
%588 = load i64, ptr %587, align 8
%589 = sub i64 %585, %588
%590 = call i64 @llvm.umin.i64(i64 %585, i64 %588)
%591 = call i32 @memcmp(ptr nonnull %584, ptr nonnull %586, i64 %590), !alias.scope !768
%592 = sext i32 %591 to i64
%593 = icmp eq i32 %591, 0
%594 = select i1 %593, i64 %589, i64 %592
%595 = icmp slt i64 %594, 0
br i1 %595, label %135, label %597
596: ; preds = %131
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %122, i64 %65, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.45) #23
unreachable
597: ; preds = %582
%598 = load ptr, ptr %2, align 8
call void @llvm.experimental.noalias.scope.decl(metadata !781)
call void @llvm.experimental.noalias.scope.decl(metadata !784)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !787
%599 = ptrtoint ptr %64 to i64
%600 = icmp ult ptr %7, %64
%601 = sub i64 %599, %40
%602 = sub i64 %40, %599
%603 = select i1 %600, i64 %601, i64 %602
%604 = icmp ult i64 %603, 24
br i1 %604, label %605, label %606
605: ; preds = %597
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !789
unreachable
606: ; preds = %597
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %64, i64 24, i1 false), !noalias !789
%607 = ptrtoint ptr %583 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %583, i64 24, i1 false), !alias.scope !790, !noalias !789
%608 = icmp ugt ptr %7, %583
%609 = sub i64 %40, %607
%610 = sub i64 %607, %40
%611 = select i1 %608, i64 %609, i64 %610
%612 = icmp ult i64 %611, 24
br i1 %612, label %613, label %614
613: ; preds = %606
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !789
unreachable
614: ; preds = %606
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %583, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !789
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !787
%615 = add i64 %65, -1
%616 = icmp ugt i64 %615, 384307168202282325
br i1 %616, label %617, label %618
617: ; preds = %614
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !791
unreachable
618: ; preds = %614
%619 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8), !noalias !781
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %64, i64 24, i1 false)
%620 = icmp ne ptr %598, null
%621 = load ptr, ptr %8, align 8, !noalias !781
%622 = load i64, ptr %41, align 8, !noalias !781
br label %623
623: ; preds = %691, %618
%624 = phi i64 [ %615, %618 ], [ %652, %691 ]
%625 = phi i64 [ 0, %618 ], [ %692, %691 ]
%626 = icmp ult i64 %625, %624
br i1 %626, label %627, label %643
627: ; preds = %645, %623
%628 = phi i64 [ %646, %645 ], [ %625, %623 ]
%629 = icmp ult i64 %628, %615
br i1 %629, label %631, label %630
630: ; preds = %627
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
631: ; preds = %627
%632 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %619, i64 %628
call void @llvm.assume(i1 %620)
%633 = load ptr, ptr %632, align 8, !alias.scope !781, !nonnull !25, !align !306, !noundef !25
%634 = getelementptr i8, ptr %632, i64 8
%635 = load i64, ptr %634, align 8, !alias.scope !781
%636 = sub i64 %622, %635
%637 = call i64 @llvm.umin.i64(i64 %622, i64 %635)
%638 = call i32 @memcmp(ptr nonnull %621, ptr nonnull %633, i64 %637), !alias.scope !799
%639 = sext i32 %638 to i64
%640 = icmp eq i32 %638, 0
%641 = select i1 %640, i64 %636, i64 %639
%642 = icmp sgt i64 %641, -1
br i1 %642, label %645, label %643
643: ; preds = %645, %631, %623
%644 = phi i64 [ %625, %623 ], [ %628, %631 ], [ %624, %645 ]
br label %648
645: ; preds = %631
%646 = add nuw i64 %628, 1
%647 = icmp eq i64 %646, %624
br i1 %647, label %643, label %627
648: ; preds = %655, %643
%649 = phi i64 [ %624, %643 ], [ %652, %655 ]
%650 = icmp ult i64 %644, %649
br i1 %650, label %651, label %684
651: ; preds = %648
%652 = add i64 %649, -1
%653 = icmp ult i64 %652, %615
br i1 %653, label %655, label %654
654: ; preds = %651
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
655: ; preds = %651
%656 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %649
call void @llvm.assume(i1 %620)
%657 = load ptr, ptr %656, align 8, !alias.scope !781, !nonnull !25, !align !306, !noundef !25
%658 = getelementptr i8, ptr %656, i64 8
%659 = load i64, ptr %658, align 8, !alias.scope !781
%660 = sub i64 %622, %659
%661 = call i64 @llvm.umin.i64(i64 %622, i64 %659)
%662 = call i32 @memcmp(ptr nonnull %621, ptr nonnull %657, i64 %661), !alias.scope !812
%663 = sext i32 %662 to i64
%664 = icmp eq i32 %662, 0
%665 = select i1 %664, i64 %660, i64 %663
%666 = icmp slt i64 %665, 0
br i1 %666, label %648, label %667
667: ; preds = %655
%668 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %619, i64 %644
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !781
%669 = ptrtoint ptr %668 to i64
%670 = icmp ult ptr %6, %668
%671 = sub i64 %669, %42
%672 = sub i64 %42, %669
%673 = select i1 %670, i64 %671, i64 %672
%674 = icmp ult i64 %673, 24
br i1 %674, label %675, label %676
675: ; preds = %667
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
676: ; preds = %667
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %668, i64 24, i1 false)
%677 = ptrtoint ptr %656 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %668, ptr noundef nonnull align 8 dereferenceable(24) %656, i64 24, i1 false), !alias.scope !781
%678 = icmp ugt ptr %6, %656
%679 = sub i64 %42, %677
%680 = sub i64 %677, %42
%681 = select i1 %678, i64 %679, i64 %680
%682 = icmp ult i64 %681, 24
br i1 %682, label %683, label %691
683: ; preds = %676
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
684: ; preds = %648
%685 = icmp ugt ptr %8, %64
%686 = sub i64 %43, %599
%687 = sub i64 %599, %43
%688 = select i1 %685, i64 %686, i64 %687
%689 = icmp ult i64 %688, 24
br i1 %689, label %690, label %693
690: ; preds = %684
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
691: ; preds = %676
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %656, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !781
%692 = add nuw i64 %644, 1
br label %623
693: ; preds = %684
%694 = add i64 %644, 1
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8), !noalias !781
%695 = icmp ult i64 %65, %694
br i1 %695, label %696, label %697
696: ; preds = %693
call void @_ZN4core5slice5index26slice_start_index_len_fail17h0500cd89dbf096d3E(i64 %694, i64 %65, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.46) #23, !noalias !825
unreachable
697: ; preds = %693
%698 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %694
%699 = sub i64 %65, %694
%700 = icmp ult i64 %699, 21
br i1 %700, label %68, label %63
701: ; preds = %577
call fastcc void @_ZN4core5slice4sort7recurse17ha922cf6696d797b1E(ptr noalias noundef nonnull align 8 %579, i64 %578, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %546, i32 %81)
br label %703
702: ; preds = %577
call fastcc void @_ZN4core5slice4sort7recurse17ha922cf6696d797b1E(ptr noalias noundef nonnull align 8 %136, i64 %536, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(24) %54, i32 %81)
br label %703
703: ; preds = %702, %701
%704 = phi ptr [ %546, %702 ], [ %54, %701 ]
%705 = phi i64 [ %578, %702 ], [ %536, %701 ]
%706 = phi ptr [ %579, %702 ], [ %136, %701 ]
%707 = icmp ult i64 %705, 21
br i1 %707, label %68, label %51
}
; Function Attrs: uwtable
define internal fastcc void @_ZN4core5slice4sort7recurse17hf486805dab7ff5ecE(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr noalias noundef align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3, i32 %4) unnamed_addr #0 personality ptr @rust_eh_personality {
%6 = alloca %69, align 8
%7 = alloca %69, align 8
%8 = alloca %68, align 8
%9 = alloca %69, align 8
%10 = alloca %69, align 8
%11 = alloca %69, align 8
%12 = alloca %71, align 8
%13 = alloca i64, align 8
%14 = alloca %71, align 8
%15 = alloca i64, align 8
%16 = alloca { { ptr, i64 }, i64 }, align 8
%17 = alloca [128 x i8], align 1
%18 = alloca i64, align 8
%19 = alloca [128 x i8], align 1
%20 = alloca i64, align 8
%21 = alloca %69, align 8
%22 = alloca %68, align 8
%23 = alloca { { ptr, i64 }, i64 }, align 8
%24 = alloca i64, align 8
%25 = alloca i64, align 8
%26 = alloca i64, align 8
%27 = alloca i64, align 8
%28 = alloca i64, align 8
%29 = alloca i64, align 8
%30 = alloca { ptr, { ptr, i64 }, ptr }, align 8
%31 = alloca i64, align 8
%32 = alloca i64, align 8
%33 = alloca i64, align 8
%34 = alloca i64, align 8
%35 = icmp ult i64 %1, 21
br i1 %35, label %68, label %36
36: ; preds = %5
%37 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %30, i64 0, i32 1
%38 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %30, i64 0, i32 1, i32 1
%39 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %30, i64 0, i32 2
%40 = ptrtoint ptr %7 to i64
%41 = getelementptr inbounds i8, ptr %8, i64 16
%42 = ptrtoint ptr %6 to i64
%43 = ptrtoint ptr %8 to i64
%44 = ptrtoint ptr %21 to i64
%45 = getelementptr inbounds i8, ptr %22, i64 16
%46 = ptrtoint ptr %16 to i64
%47 = ptrtoint ptr %10 to i64
%48 = ptrtoint ptr %11 to i64
%49 = ptrtoint ptr %22 to i64
%50 = ptrtoint ptr %9 to i64
br label %51
51: ; preds = %742, %36
%52 = phi ptr [ %0, %36 ], [ %745, %742 ]
%53 = phi i64 [ %1, %36 ], [ %744, %742 ]
%54 = phi ptr [ %3, %36 ], [ %743, %742 ]
%55 = phi i32 [ %4, %36 ], [ %81, %742 ]
%56 = phi i8 [ 1, %36 ], [ %632, %742 ]
%57 = phi i8 [ 1, %36 ], [ %627, %742 ]
%58 = icmp eq i8 %56, 0
%59 = icmp eq i8 %57, 0
%60 = select i1 %58, i1 true, i1 %59
%61 = icmp eq ptr %54, null
%62 = getelementptr i8, ptr %54, i64 16
br label %63
63: ; preds = %736, %51
%64 = phi ptr [ %52, %51 ], [ %737, %736 ]
%65 = phi i64 [ %53, %51 ], [ %738, %736 ]
%66 = phi i32 [ %55, %51 ], [ %81, %736 ]
%67 = icmp eq i32 %66, 0
br i1 %67, label %78, label %79
68: ; preds = %742, %736, %5
%69 = phi i64 [ %1, %5 ], [ %738, %736 ], [ %744, %742 ]
%70 = phi ptr [ %0, %5 ], [ %737, %736 ], [ %745, %742 ]
%71 = load ptr, ptr %2, align 8
%72 = icmp ugt i64 %69, 1
br i1 %72, label %73, label %77
73: ; preds = %73, %68
%74 = phi i64 [ %75, %73 ], [ 1, %68 ]
%75 = add nuw i64 %74, 1
call fastcc void @_ZN4core5slice4sort10shift_tail17hc922730d0576791aE(ptr noalias noundef nonnull align 8 %70, i64 %75, ptr %71)
%76 = icmp eq i64 %75, %69
br i1 %76, label %77, label %73
77: ; preds = %128, %78, %73, %68
ret void
78: ; preds = %63
call fastcc void @_ZN4core5slice4sort8heapsort17h006e17543bc1b8d7E(ptr noalias noundef nonnull align 8 %64, i64 %65, ptr noalias noundef nonnull align 8 dereferenceable(8) %2)
br label %77
79: ; preds = %63
br i1 %58, label %125, label %80
80: ; preds = %125, %79
%81 = phi i32 [ %126, %125 ], [ %66, %79 ]
call void @llvm.experimental.noalias.scope.decl(metadata !828)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34), !noalias !831
%82 = lshr i64 %65, 2
store i64 %82, ptr %34, align 8, !noalias !831
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33), !noalias !831
%83 = shl nuw nsw i64 %82, 1
store i64 %83, ptr %33, align 8, !noalias !831
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32), !noalias !831
%84 = mul nuw i64 %82, 3
store i64 %84, ptr %32, align 8, !noalias !831
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31), !noalias !831
store i64 0, ptr %31, align 8, !noalias !831
call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30), !noalias !831
store ptr %2, ptr %30, align 8, !noalias !831
store ptr %64, ptr %37, align 8, !noalias !831
store i64 %65, ptr %38, align 8, !noalias !831
store ptr %31, ptr %39, align 8, !noalias !831
%85 = icmp ugt i64 %65, 49
br i1 %85, label %89, label %86
86: ; preds = %89, %80
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h9a59aafdf336a9c1E"(ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %34, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %32)
call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30), !noalias !831
%87 = load i64, ptr %31, align 8, !noalias !831
%88 = icmp ult i64 %87, 12
br i1 %88, label %116, label %96
89: ; preds = %80
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29), !noalias !833
%90 = add nsw i64 %82, -1
store i64 %90, ptr %29, align 8, !noalias !833
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28), !noalias !833
%91 = add nuw nsw i64 %82, 1
store i64 %91, ptr %28, align 8, !noalias !833
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h9a59aafdf336a9c1E"(ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %34, ptr noalias noundef nonnull align 8 dereferenceable(8) %28)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28), !noalias !833
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29), !noalias !833
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27), !noalias !836
%92 = add nsw i64 %83, -1
store i64 %92, ptr %27, align 8, !noalias !836
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26), !noalias !836
%93 = or i64 %83, 1
store i64 %93, ptr %26, align 8, !noalias !836
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h9a59aafdf336a9c1E"(ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %27, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %26)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26), !noalias !836
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27), !noalias !836
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25), !noalias !839
%94 = add i64 %84, -1
store i64 %94, ptr %25, align 8, !noalias !839
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24), !noalias !839
%95 = add nuw i64 %84, 1
store i64 %95, ptr %24, align 8, !noalias !839
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h9a59aafdf336a9c1E"(ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %25, ptr noalias noundef nonnull align 8 dereferenceable(8) %32, ptr noalias noundef nonnull align 8 dereferenceable(8) %24)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24), !noalias !839
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25), !noalias !839
br label %86
96: ; preds = %86
call void @llvm.experimental.noalias.scope.decl(metadata !842)
%97 = lshr i64 %65, 1
%98 = icmp ugt i64 %65, 768614336404564651
br i1 %98, label %99, label %100
99: ; preds = %96
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !842
unreachable
100: ; preds = %96
%101 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %65
%102 = sub nsw i64 0, %97
%103 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %101, i64 %102
call void @llvm.experimental.noalias.scope.decl(metadata !845)
call void @llvm.experimental.noalias.scope.decl(metadata !848)
br label %104
104: ; preds = %104, %100
%105 = phi i64 [ %110, %104 ], [ 0, %100 ]
%106 = xor i64 %105, -1
%107 = add nsw i64 %97, %106
%108 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %64, i64 0, i64 %105
%109 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %103, i64 0, i64 %107
call void @llvm.experimental.noalias.scope.decl(metadata !850)
call void @llvm.experimental.noalias.scope.decl(metadata !853)
call void @llvm.experimental.noalias.scope.decl(metadata !855)
call void @llvm.experimental.noalias.scope.decl(metadata !858)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %108, i64 24, i1 false), !noalias !860
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %108, ptr noundef nonnull align 8 dereferenceable(24) %109, i64 24, i1 false), !alias.scope !861, !noalias !862
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %23, i64 24, i1 false), !noalias !863
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23)
%110 = add nuw nsw i64 %105, 1
%111 = icmp eq i64 %110, %97
br i1 %111, label %112, label %104
112: ; preds = %104
%113 = load i64, ptr %33, align 8, !noalias !831
%114 = xor i64 %113, -1
%115 = add i64 %65, %114
br label %120
116: ; preds = %86
%117 = load i64, ptr %33, align 8, !noalias !831
%118 = icmp eq i64 %87, 0
%119 = zext i1 %118 to i8
br label %120
120: ; preds = %116, %112
%121 = phi i8 [ %119, %116 ], [ 1, %112 ]
%122 = phi i64 [ %117, %116 ], [ %115, %112 ]
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31), !noalias !831
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32), !noalias !831
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33), !noalias !831
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34), !noalias !831
%123 = icmp eq i8 %121, 0
%124 = select i1 %60, i1 true, i1 %123
br i1 %124, label %127, label %128
125: ; preds = %79
call fastcc void @_ZN4core5slice4sort14break_patterns17h95e829b000ff5ccfE(ptr noalias noundef nonnull align 8 %64, i64 %65)
%126 = add i32 %66, -1
br label %80
127: ; preds = %128, %120
br i1 %61, label %133, label %131
128: ; preds = %120
%129 = load ptr, ptr %2, align 8
%130 = call fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17h17df4dea3dd14b05E(ptr noalias noundef nonnull align 8 %64, i64 %65, ptr %129)
br i1 %130, label %77, label %127
131: ; preds = %127
%132 = icmp ult i64 %122, %65
br i1 %132, label %645, label %651, !prof !417
133: ; preds = %127
call void @llvm.experimental.noalias.scope.decl(metadata !864)
call void @llvm.experimental.noalias.scope.decl(metadata !867)
%134 = icmp eq i64 %53, 0
br i1 %134, label %140, label %135, !prof !561
135: ; preds = %645, %133
%136 = phi ptr [ %52, %133 ], [ %64, %645 ]
%137 = phi i64 [ %53, %133 ], [ %65, %645 ]
%138 = load ptr, ptr %2, align 8
%139 = icmp ult i64 %122, %137
br i1 %139, label %141, label %158, !prof !417
140: ; preds = %133
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 0, i64 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !867
unreachable
141: ; preds = %135
%142 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %136, i64 0, i64 %122
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21), !noalias !870
%143 = ptrtoint ptr %136 to i64
%144 = icmp ult ptr %21, %136
%145 = sub i64 %143, %44
%146 = sub i64 %44, %143
%147 = select i1 %144, i64 %145, i64 %146
%148 = icmp ult i64 %147, 24
br i1 %148, label %149, label %150
149: ; preds = %141
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !872
unreachable
150: ; preds = %141
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %136, i64 24, i1 false), !noalias !872
%151 = ptrtoint ptr %142 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %142, i64 24, i1 false), !alias.scope !873, !noalias !872
%152 = icmp ugt ptr %21, %142
%153 = sub i64 %44, %151
%154 = sub i64 %151, %44
%155 = select i1 %152, i64 %153, i64 %154
%156 = icmp ult i64 %155, 24
br i1 %156, label %157, label %159
157: ; preds = %150
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !872
unreachable
158: ; preds = %135
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %122, i64 %137, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !867
unreachable
159: ; preds = %150
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %142, ptr noundef nonnull align 8 dereferenceable(24) %21, i64 24, i1 false), !noalias !872
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21), !noalias !870
%160 = add i64 %137, -1
%161 = icmp ugt i64 %160, 384307168202282325
br i1 %161, label %162, label %163
162: ; preds = %159
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !874
unreachable
163: ; preds = %159
%164 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %136, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22), !noalias !864
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %136, i64 24, i1 false)
%165 = icmp ne ptr %138, null
%166 = icmp eq i64 %160, 0
br i1 %166, label %167, label %169
167: ; preds = %163
%168 = load i64, ptr %45, align 8, !noalias !864
br label %178
169: ; preds = %163
call void @llvm.assume(i1 %165)
%170 = load i64, ptr %45, align 8, !noalias !864
br label %173
171: ; preds = %552, %247, %203, %201
%172 = landingpad { ptr, i32 }
cleanup
call fastcc void @"_ZN4core3ptr88drop_in_place$LT$core..slice..sort..CopyOnDrop$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h884966c146f349c3E"(ptr nonnull %22, ptr nonnull %136) #24
resume { ptr, i32 } %172
173: ; preds = %182, %169
%174 = phi i64 [ 0, %169 ], [ %183, %182 ]
%175 = getelementptr { { ptr, i64 }, i64 }, ptr %164, i64 %174, i32 1
%176 = load i64, ptr %175, align 8, !alias.scope !864
%177 = icmp ult i64 %176, %170
br i1 %177, label %182, label %178
178: ; preds = %182, %173, %167
%179 = phi i64 [ %168, %167 ], [ %170, %173 ], [ %170, %182 ]
%180 = phi i64 [ 0, %167 ], [ %160, %182 ], [ %174, %173 ]
%181 = call i64 @llvm.umin.i64(i64 %180, i64 %160)
br label %185
182: ; preds = %173
%183 = add nuw i64 %174, 1
%184 = icmp eq i64 %183, %160
br i1 %184, label %178, label %173
185: ; preds = %192, %178
%186 = phi i64 [ %160, %178 ], [ %189, %192 ]
%187 = icmp ugt i64 %186, %180
br i1 %187, label %188, label %196
188: ; preds = %185
%189 = add i64 %186, -1
%190 = icmp ult i64 %189, %160
br i1 %190, label %192, label %191
191: ; preds = %188
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
192: ; preds = %188
call void @llvm.assume(i1 %165)
%193 = getelementptr { { ptr, i64 }, i64 }, ptr %136, i64 %186, i32 1
%194 = load i64, ptr %193, align 8, !alias.scope !864
%195 = icmp ult i64 %194, %179
br i1 %195, label %196, label %185
196: ; preds = %192, %185
%197 = phi i64 [ %181, %185 ], [ %186, %192 ]
%198 = icmp ult i64 %197, %180
br i1 %198, label %201, label %199
199: ; preds = %196
%200 = icmp ugt i64 %197, %160
br i1 %200, label %203, label %205
201: ; preds = %196
invoke void @_ZN4core5slice5index22slice_index_order_fail17h41a682748ef8522cE(i64 %180, i64 %197, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %202 unwind label %171
202: ; preds = %201
unreachable
203: ; preds = %199
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %197, i64 %160, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %204 unwind label %171
204: ; preds = %203
unreachable
205: ; preds = %199
%206 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %164, i64 %180
call void @llvm.experimental.noalias.scope.decl(metadata !882)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20), !noalias !885
store i64 128, ptr %20, align 8, !noalias !885
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %19), !noalias !885
%207 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %164, i64 %197
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18), !noalias !885
store i64 128, ptr %18, align 8, !noalias !885
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %17), !noalias !885
br label %208
208: ; preds = %397, %205
%209 = phi i64 [ 128, %205 ], [ %223, %397 ]
%210 = phi i64 [ 128, %205 ], [ %224, %397 ]
%211 = phi ptr [ null, %205 ], [ %344, %397 ]
%212 = phi ptr [ null, %205 ], [ %398, %397 ]
%213 = phi ptr [ %207, %205 ], [ %407, %397 ]
%214 = phi ptr [ null, %205 ], [ %275, %397 ]
%215 = phi ptr [ null, %205 ], [ %399, %397 ]
%216 = phi ptr [ %206, %205 ], [ %403, %397 ]
%217 = ptrtoint ptr %213 to i64
%218 = ptrtoint ptr %216 to i64
%219 = sub i64 %217, %218
%220 = udiv i64 %219, 24
%221 = icmp ult i64 %219, 6168
br i1 %221, label %226, label %222
222: ; preds = %244, %208
%223 = phi i64 [ %235, %244 ], [ %209, %208 ]
%224 = phi i64 [ %236, %244 ], [ %210, %208 ]
%225 = icmp eq ptr %215, %214
br i1 %225, label %278, label %274
226: ; preds = %208
%227 = icmp ult ptr %215, %214
%228 = icmp ult ptr %212, %211
%229 = select i1 %227, i1 true, i1 %228
%230 = add nsw i64 %220, -128
%231 = select i1 %229, i64 %230, i64 %220
br i1 %227, label %233, label %232
232: ; preds = %226
br i1 %228, label %243, label %240
233: ; preds = %226
store i64 %231, ptr %18, align 8, !noalias !885
br label %234
234: ; preds = %243, %240, %233
%235 = phi i64 [ %209, %243 ], [ %242, %240 ], [ %231, %233 ]
%236 = phi i64 [ %231, %243 ], [ %241, %240 ], [ %210, %233 ]
%237 = icmp ult i64 %236, 129
%238 = icmp ult i64 %235, 129
%239 = select i1 %237, i1 %238, i1 false
br i1 %239, label %244, label %247
240: ; preds = %232
%241 = lshr i64 %231, 1
store i64 %241, ptr %20, align 8, !noalias !885
%242 = sub i64 %231, %241
store i64 %242, ptr %18, align 8, !noalias !885
br label %234
243: ; preds = %232
store i64 %231, ptr %20, align 8, !noalias !885
br label %234
244: ; preds = %234
%245 = add nuw nsw i64 %236, %235
%246 = icmp eq i64 %220, %245
br i1 %246, label %222, label %247
247: ; preds = %244, %234
%248 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.38, %234 ], [ @anon.0f79382001bad1c9081319f05be50b13.40, %244 ]
%249 = phi i64 [ 54, %234 ], [ 50, %244 ]
%250 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.39, %234 ], [ @anon.0f79382001bad1c9081319f05be50b13.41, %244 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %248, i64 %249, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %250) #23
to label %251 unwind label %171
251: ; preds = %247
unreachable
252: ; preds = %285, %280
%253 = phi ptr [ undef, %280 ], [ %318, %285 ]
%254 = phi ptr [ %19, %280 ], [ %318, %285 ]
%255 = phi ptr [ %216, %280 ], [ %319, %285 ]
%256 = phi i64 [ 0, %280 ], [ %311, %285 ]
%257 = icmp eq i64 %281, 0
br i1 %257, label %274, label %258
258: ; preds = %258, %252
%259 = phi ptr [ %270, %258 ], [ %254, %252 ]
%260 = phi ptr [ %271, %258 ], [ %255, %252 ]
%261 = phi i64 [ %263, %258 ], [ %256, %252 ]
%262 = phi i64 [ %272, %258 ], [ 0, %252 ]
%263 = add nuw i64 %261, 1
%264 = trunc i64 %261 to i8
store i8 %264, ptr %259, align 1, !noalias !885
%265 = icmp ne ptr %260, null
call void @llvm.assume(i1 %265)
%266 = getelementptr i8, ptr %260, i64 16
%267 = load i64, ptr %266, align 8, !alias.scope !885
%268 = icmp uge i64 %267, %179
%269 = zext i1 %268 to i64
%270 = getelementptr inbounds i8, ptr %259, i64 %269
%271 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %260, i64 1
%272 = add i64 %262, 1
%273 = icmp eq i64 %272, %281
br i1 %273, label %274, label %258, !llvm.loop !886
274: ; preds = %278, %258, %252, %222
%275 = phi ptr [ %214, %222 ], [ %19, %278 ], [ %253, %252 ], [ %270, %258 ]
%276 = phi ptr [ %215, %222 ], [ %19, %278 ], [ %19, %258 ], [ %19, %252 ]
%277 = icmp eq ptr %212, %211
br i1 %277, label %354, label %343
278: ; preds = %222
%279 = icmp eq i64 %224, 0
br i1 %279, label %274, label %280
280: ; preds = %278
call void @llvm.assume(i1 %165)
%281 = and i64 %224, 3
%282 = icmp ult i64 %224, 4
br i1 %282, label %252, label %283
283: ; preds = %280
%284 = and i64 %224, -4
br label %285
285: ; preds = %285, %283
%286 = phi ptr [ %19, %283 ], [ %318, %285 ]
%287 = phi ptr [ %216, %283 ], [ %319, %285 ]
%288 = phi i64 [ 0, %283 ], [ %311, %285 ]
%289 = phi i64 [ 0, %283 ], [ %320, %285 ]
%290 = trunc i64 %288 to i8
store i8 %290, ptr %286, align 1, !noalias !885
%291 = icmp ne ptr %287, null
call void @llvm.assume(i1 %291)
%292 = getelementptr i8, ptr %287, i64 16
%293 = load i64, ptr %292, align 8, !alias.scope !885
%294 = icmp uge i64 %293, %179
%295 = zext i1 %294 to i64
%296 = getelementptr inbounds i8, ptr %286, i64 %295
%297 = trunc i64 %288 to i8
%298 = or i8 %297, 1
store i8 %298, ptr %296, align 1, !noalias !885
%299 = getelementptr { { ptr, i64 }, i64 }, ptr %287, i64 1, i32 1
%300 = load i64, ptr %299, align 8, !alias.scope !885
%301 = icmp uge i64 %300, %179
%302 = zext i1 %301 to i64
%303 = getelementptr inbounds i8, ptr %296, i64 %302
%304 = trunc i64 %288 to i8
%305 = or i8 %304, 2
store i8 %305, ptr %303, align 1, !noalias !885
%306 = getelementptr { { ptr, i64 }, i64 }, ptr %287, i64 2, i32 1
%307 = load i64, ptr %306, align 8, !alias.scope !885
%308 = icmp uge i64 %307, %179
%309 = zext i1 %308 to i64
%310 = getelementptr inbounds i8, ptr %303, i64 %309
%311 = add nuw i64 %288, 4
%312 = trunc i64 %288 to i8
%313 = or i8 %312, 3
store i8 %313, ptr %310, align 1, !noalias !885
%314 = getelementptr { { ptr, i64 }, i64 }, ptr %287, i64 3, i32 1
%315 = load i64, ptr %314, align 8, !alias.scope !885
%316 = icmp uge i64 %315, %179
%317 = zext i1 %316 to i64
%318 = getelementptr inbounds i8, ptr %310, i64 %317
%319 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %287, i64 4
%320 = add i64 %289, 4
%321 = icmp eq i64 %320, %284
br i1 %321, label %252, label %285
322: ; preds = %361, %356
%323 = phi ptr [ undef, %356 ], [ %394, %361 ]
%324 = phi ptr [ %17, %356 ], [ %394, %361 ]
%325 = phi ptr [ %213, %356 ], [ %387, %361 ]
%326 = phi i64 [ 0, %356 ], [ %386, %361 ]
%327 = icmp eq i64 %357, 0
br i1 %327, label %343, label %328
328: ; preds = %328, %322
%329 = phi ptr [ %340, %328 ], [ %324, %322 ]
%330 = phi ptr [ %334, %328 ], [ %325, %322 ]
%331 = phi i64 [ %333, %328 ], [ %326, %322 ]
%332 = phi i64 [ %341, %328 ], [ 0, %322 ]
%333 = add nuw i64 %331, 1
%334 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %330, i64 -1
%335 = trunc i64 %331 to i8
store i8 %335, ptr %329, align 1, !noalias !885
%336 = getelementptr { { ptr, i64 }, i64 }, ptr %330, i64 -1, i32 1
%337 = load i64, ptr %336, align 8, !alias.scope !885
%338 = icmp ult i64 %337, %179
%339 = zext i1 %338 to i64
%340 = getelementptr inbounds i8, ptr %329, i64 %339
%341 = add i64 %332, 1
%342 = icmp eq i64 %341, %357
br i1 %342, label %343, label %328, !llvm.loop !887
343: ; preds = %354, %328, %322, %274
%344 = phi ptr [ %211, %274 ], [ %17, %354 ], [ %323, %322 ], [ %340, %328 ]
%345 = phi ptr [ %212, %274 ], [ %17, %354 ], [ %17, %328 ], [ %17, %322 ]
%346 = ptrtoint ptr %275 to i64
%347 = ptrtoint ptr %276 to i64
%348 = sub i64 %346, %347
%349 = ptrtoint ptr %344 to i64
%350 = ptrtoint ptr %345 to i64
%351 = sub i64 %349, %350
%352 = call i64 @llvm.umin.i64(i64 %348, i64 %351)
%353 = icmp eq i64 %352, 0
br i1 %353, label %397, label %408
354: ; preds = %274
%355 = icmp eq i64 %223, 0
br i1 %355, label %343, label %356
356: ; preds = %354
call void @llvm.assume(i1 %165)
%357 = and i64 %223, 3
%358 = icmp ult i64 %223, 4
br i1 %358, label %322, label %359
359: ; preds = %356
%360 = and i64 %223, -4
br label %361
361: ; preds = %361, %359
%362 = phi ptr [ %17, %359 ], [ %394, %361 ]
%363 = phi ptr [ %213, %359 ], [ %387, %361 ]
%364 = phi i64 [ 0, %359 ], [ %386, %361 ]
%365 = phi i64 [ 0, %359 ], [ %395, %361 ]
%366 = trunc i64 %364 to i8
store i8 %366, ptr %362, align 1, !noalias !885
%367 = getelementptr { { ptr, i64 }, i64 }, ptr %363, i64 -1, i32 1
%368 = load i64, ptr %367, align 8, !alias.scope !885
%369 = icmp ult i64 %368, %179
%370 = zext i1 %369 to i64
%371 = getelementptr inbounds i8, ptr %362, i64 %370
%372 = trunc i64 %364 to i8
%373 = or i8 %372, 1
store i8 %373, ptr %371, align 1, !noalias !885
%374 = getelementptr { { ptr, i64 }, i64 }, ptr %363, i64 -2, i32 1
%375 = load i64, ptr %374, align 8, !alias.scope !885
%376 = icmp ult i64 %375, %179
%377 = zext i1 %376 to i64
%378 = getelementptr inbounds i8, ptr %371, i64 %377
%379 = trunc i64 %364 to i8
%380 = or i8 %379, 2
store i8 %380, ptr %378, align 1, !noalias !885
%381 = getelementptr { { ptr, i64 }, i64 }, ptr %363, i64 -3, i32 1
%382 = load i64, ptr %381, align 8, !alias.scope !885
%383 = icmp ult i64 %382, %179
%384 = zext i1 %383 to i64
%385 = getelementptr inbounds i8, ptr %378, i64 %384
%386 = add nuw i64 %364, 4
%387 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %363, i64 -4
%388 = trunc i64 %364 to i8
%389 = or i8 %388, 3
store i8 %389, ptr %385, align 1, !noalias !885
%390 = getelementptr { { ptr, i64 }, i64 }, ptr %363, i64 -4, i32 1
%391 = load i64, ptr %390, align 8, !alias.scope !885
%392 = icmp ult i64 %391, %179
%393 = zext i1 %392 to i64
%394 = getelementptr inbounds i8, ptr %385, i64 %393
%395 = add i64 %365, 4
%396 = icmp eq i64 %395, %360
br i1 %396, label %322, label %361
397: ; preds = %459, %343
%398 = phi ptr [ %461, %459 ], [ %345, %343 ]
%399 = phi ptr [ %460, %459 ], [ %276, %343 ]
%400 = icmp eq ptr %399, %275
%401 = select i1 %400, i64 %224, i64 0
%402 = freeze i64 %401
%403 = getelementptr { { ptr, i64 }, i64 }, ptr %216, i64 %402
%404 = icmp eq ptr %398, %344
%405 = sub i64 0, %223
%406 = select i1 %404, i64 %405, i64 0
%407 = getelementptr { { ptr, i64 }, i64 }, ptr %213, i64 %406
br i1 %221, label %498, label %208
408: ; preds = %343
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16), !noalias !885
%409 = load i8, ptr %276, align 1, !noalias !885
%410 = zext i8 %409 to i64
%411 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %216, i64 %410
%412 = icmp ne ptr %216, null
%413 = ptrtoint ptr %411 to i64
%414 = and i64 %413, 7
%415 = icmp eq i64 %414, 0
%416 = select i1 %412, i1 %415, i1 false
br i1 %416, label %418, label %417
417: ; preds = %408
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !888
unreachable
418: ; preds = %408
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %411, i64 24, i1 false)
%419 = load i8, ptr %345, align 1, !noalias !885
%420 = zext i8 %419 to i64
%421 = xor i64 %420, -1
%422 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %213, i64 %421
%423 = load i8, ptr %276, align 1, !noalias !885
%424 = zext i8 %423 to i64
%425 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %216, i64 %424
%426 = ptrtoint ptr %422 to i64
%427 = and i64 %426, 7
%428 = icmp eq i64 %427, 0
br i1 %428, label %429, label %439
429: ; preds = %418
%430 = ptrtoint ptr %425 to i64
%431 = and i64 %430, 7
%432 = icmp eq i64 %431, 0
br i1 %432, label %433, label %439
433: ; preds = %429
%434 = icmp ugt ptr %422, %425
%435 = sub i64 %426, %430
%436 = sub i64 %430, %426
%437 = select i1 %434, i64 %435, i64 %436
%438 = icmp ult i64 %437, 24
br i1 %438, label %439, label %440
439: ; preds = %433, %429, %418
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
440: ; preds = %433
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %425, ptr noundef nonnull align 8 dereferenceable(24) %422, i64 24, i1 false), !alias.scope !885
%441 = icmp ugt i64 %352, 1
br i1 %441, label %462, label %444
442: ; preds = %496
%443 = ptrtoint ptr %488 to i64
br label %444
444: ; preds = %442, %440
%445 = phi i64 [ %426, %440 ], [ %443, %442 ]
%446 = phi i64 [ %421, %440 ], [ %487, %442 ]
%447 = phi ptr [ %345, %440 ], [ %484, %442 ]
%448 = phi ptr [ %276, %440 ], [ %468, %442 ]
%449 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %213, i64 %446
%450 = and i64 %445, 7
%451 = icmp eq i64 %450, 0
br i1 %451, label %452, label %458
452: ; preds = %444
%453 = icmp ugt ptr %16, %449
%454 = sub i64 %46, %445
%455 = sub i64 %445, %46
%456 = select i1 %453, i64 %454, i64 %455
%457 = icmp ult i64 %456, 24
br i1 %457, label %458, label %459
458: ; preds = %452, %444
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
459: ; preds = %452
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %449, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false)
%460 = getelementptr inbounds i8, ptr %448, i64 1
%461 = getelementptr inbounds i8, ptr %447, i64 1
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16), !noalias !885
br label %397
462: ; preds = %496, %440
%463 = phi i8 [ %485, %496 ], [ %419, %440 ]
%464 = phi ptr [ %468, %496 ], [ %276, %440 ]
%465 = phi ptr [ %484, %496 ], [ %345, %440 ]
%466 = phi i64 [ %467, %496 ], [ 1, %440 ]
%467 = add nuw i64 %466, 1
%468 = getelementptr inbounds i8, ptr %464, i64 1
%469 = load i8, ptr %468, align 1, !noalias !885
%470 = zext i8 %469 to i64
%471 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %216, i64 %470
%472 = zext i8 %463 to i64
%473 = xor i64 %472, -1
%474 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %213, i64 %473
%475 = ptrtoint ptr %471 to i64
%476 = ptrtoint ptr %474 to i64
%477 = icmp ugt ptr %471, %474
%478 = sub i64 %475, %476
%479 = sub i64 %476, %475
%480 = select i1 %477, i64 %478, i64 %479
%481 = icmp ult i64 %480, 24
br i1 %481, label %482, label %483
482: ; preds = %462
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
483: ; preds = %462
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %474, ptr noundef nonnull align 8 dereferenceable(24) %471, i64 24, i1 false), !alias.scope !885
%484 = getelementptr inbounds i8, ptr %465, i64 1
%485 = load i8, ptr %484, align 1, !noalias !885
%486 = zext i8 %485 to i64
%487 = xor i64 %486, -1
%488 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %213, i64 %487
%489 = ptrtoint ptr %488 to i64
%490 = icmp ugt ptr %488, %471
%491 = sub i64 %489, %475
%492 = sub i64 %475, %489
%493 = select i1 %490, i64 %491, i64 %492
%494 = icmp ult i64 %493, 24
br i1 %494, label %495, label %496
495: ; preds = %483
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
496: ; preds = %483
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %471, ptr noundef nonnull align 8 dereferenceable(24) %488, i64 24, i1 false), !alias.scope !885
%497 = icmp eq i64 %467, %352
br i1 %497, label %442, label %462
498: ; preds = %397
%499 = icmp ult ptr %399, %275
br i1 %499, label %502, label %500
500: ; preds = %498
%501 = icmp ult ptr %398, %344
br i1 %501, label %544, label %593
502: ; preds = %498
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15), !noalias !885
%503 = ptrtoint ptr %407 to i64
%504 = ptrtoint ptr %403 to i64
%505 = sub i64 %503, %504
%506 = udiv i64 %505, 24
store i64 %506, ptr %15, align 8, !noalias !885
%507 = icmp eq i64 %506, %224
br i1 %507, label %508, label %511
508: ; preds = %502
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15), !noalias !885
%509 = icmp eq ptr %403, null
br i1 %509, label %510, label %512
510: ; preds = %508
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !885
br label %529
511: ; preds = %502
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !885
store ptr null, ptr %14, align 8, !noalias !885
br label %552
512: ; preds = %542, %508
%513 = phi ptr [ %515, %542 ], [ %275, %508 ]
%514 = phi ptr [ %519, %542 ], [ %407, %508 ]
%515 = getelementptr inbounds i8, ptr %513, i64 -1
%516 = load i8, ptr %515, align 1, !noalias !885
%517 = zext i8 %516 to i64
%518 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %403, i64 %517
%519 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %514, i64 -1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !885
%520 = ptrtoint ptr %518 to i64
%521 = and i64 %520, 7
%522 = icmp eq i64 %521, 0
br i1 %522, label %523, label %529
523: ; preds = %512
%524 = icmp ult ptr %11, %518
%525 = sub i64 %520, %48
%526 = sub i64 %48, %520
%527 = select i1 %524, i64 %525, i64 %526
%528 = icmp ult i64 %527, 24
br i1 %528, label %529, label %530
529: ; preds = %523, %512, %510
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
530: ; preds = %523
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %518, i64 24, i1 false)
%531 = ptrtoint ptr %519 to i64
%532 = and i64 %531, 7
%533 = icmp eq i64 %532, 0
br i1 %533, label %535, label %534
534: ; preds = %530
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
535: ; preds = %530
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %518, ptr noundef nonnull align 8 dereferenceable(24) %519, i64 24, i1 false), !alias.scope !885
%536 = icmp ugt ptr %11, %519
%537 = sub i64 %48, %531
%538 = sub i64 %531, %48
%539 = select i1 %536, i64 %537, i64 %538
%540 = icmp ult i64 %539, 24
br i1 %540, label %541, label %542
541: ; preds = %535
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
542: ; preds = %535
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %519, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !885
%543 = icmp ult ptr %399, %515
br i1 %543, label %512, label %593
544: ; preds = %500
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13), !noalias !885
%545 = ptrtoint ptr %407 to i64
%546 = ptrtoint ptr %403 to i64
%547 = sub i64 %545, %546
%548 = udiv i64 %547, 24
store i64 %548, ptr %13, align 8, !noalias !885
%549 = icmp eq i64 %548, %223
br i1 %549, label %550, label %551
550: ; preds = %544
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !885
br label %558
551: ; preds = %544
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !885
store ptr null, ptr %12, align 8, !noalias !885
br label %552
552: ; preds = %551, %511
%553 = phi ptr [ %13, %551 ], [ %15, %511 ]
%554 = phi ptr [ %18, %551 ], [ %20, %511 ]
%555 = phi ptr [ %12, %551 ], [ %14, %511 ]
%556 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.43, %551 ], [ @anon.0f79382001bad1c9081319f05be50b13.42, %511 ]
invoke fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %553, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %554, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %555, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %556) #23
to label %557 unwind label %171
557: ; preds = %552
unreachable
558: ; preds = %590, %550
%559 = phi ptr [ %403, %550 ], [ %591, %590 ]
%560 = phi ptr [ %344, %550 ], [ %561, %590 ]
%561 = getelementptr inbounds i8, ptr %560, i64 -1
%562 = load i8, ptr %561, align 1, !noalias !885
%563 = zext i8 %562 to i64
%564 = xor i64 %563, -1
%565 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %407, i64 %564
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !885
%566 = icmp ne ptr %559, null
%567 = ptrtoint ptr %559 to i64
%568 = and i64 %567, 7
%569 = icmp eq i64 %568, 0
%570 = select i1 %566, i1 %569, i1 false
br i1 %570, label %571, label %577
571: ; preds = %558
%572 = icmp ult ptr %10, %559
%573 = sub i64 %567, %47
%574 = sub i64 %47, %567
%575 = select i1 %572, i64 %573, i64 %574
%576 = icmp ult i64 %575, 24
br i1 %576, label %577, label %578
577: ; preds = %571, %558
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
578: ; preds = %571
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %559, i64 24, i1 false)
%579 = ptrtoint ptr %565 to i64
%580 = and i64 %579, 7
%581 = icmp eq i64 %580, 0
br i1 %581, label %583, label %582
582: ; preds = %578
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
583: ; preds = %578
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %559, ptr noundef nonnull align 8 dereferenceable(24) %565, i64 24, i1 false), !alias.scope !885
%584 = icmp ugt ptr %10, %565
%585 = sub i64 %47, %579
%586 = sub i64 %579, %47
%587 = select i1 %584, i64 %585, i64 %586
%588 = icmp ult i64 %587, 24
br i1 %588, label %589, label %590
589: ; preds = %583
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
590: ; preds = %583
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %565, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !885
%591 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %559, i64 1
%592 = icmp ult ptr %398, %561
br i1 %592, label %558, label %593
593: ; preds = %590, %542, %500
%594 = phi ptr [ %403, %500 ], [ %519, %542 ], [ %591, %590 ]
%595 = ptrtoint ptr %594 to i64
%596 = ptrtoint ptr %206 to i64
%597 = sub i64 %595, %596
%598 = udiv i64 %597, 24
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %17), !noalias !885
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18), !noalias !885
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %19), !noalias !885
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20), !noalias !885
%599 = add i64 %598, %180
%600 = icmp ugt ptr %22, %136
%601 = sub i64 %49, %143
%602 = sub i64 %143, %49
%603 = select i1 %600, i64 %601, i64 %602
%604 = icmp ult i64 %603, 24
br i1 %604, label %605, label %606
605: ; preds = %593
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
606: ; preds = %593
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %22, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22), !noalias !864
call void @llvm.experimental.noalias.scope.decl(metadata !891)
%607 = icmp ugt i64 %137, %599
br i1 %607, label %608, label %624, !prof !417
608: ; preds = %606
%609 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %136, i64 0, i64 %599
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !894
%610 = icmp ult ptr %9, %136
%611 = sub i64 %143, %50
%612 = sub i64 %50, %143
%613 = select i1 %610, i64 %611, i64 %612
%614 = icmp ult i64 %613, 24
br i1 %614, label %615, label %616
615: ; preds = %608
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !896
unreachable
616: ; preds = %608
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %136, i64 24, i1 false), !noalias !896
%617 = ptrtoint ptr %609 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %609, i64 24, i1 false), !alias.scope !897, !noalias !896
%618 = icmp ugt ptr %9, %609
%619 = sub i64 %50, %617
%620 = sub i64 %617, %50
%621 = select i1 %618, i64 %619, i64 %620
%622 = icmp ult i64 %621, 24
br i1 %622, label %623, label %625
623: ; preds = %616
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !896
unreachable
624: ; preds = %606
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %599, i64 %137, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.53) #23, !noalias !891
unreachable
625: ; preds = %616
%626 = icmp uge i64 %180, %197
%627 = zext i1 %626 to i8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %609, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !896
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !894
%628 = sub i64 %137, %599
%629 = call i64 @llvm.umin.i64(i64 %599, i64 %628)
%630 = lshr i64 %137, 3
%631 = icmp uge i64 %629, %630
%632 = zext i1 %631 to i8
%633 = icmp ugt i64 %599, 384307168202282325
br i1 %633, label %634, label %635
634: ; preds = %625
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !898
unreachable
635: ; preds = %625
%636 = icmp ugt i64 %628, 384307168202282325
br i1 %636, label %637, label %638
637: ; preds = %635
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !898
unreachable
638: ; preds = %635
%639 = icmp eq i64 %137, %599
br i1 %639, label %644, label %640
640: ; preds = %638
%641 = add nsw i64 %628, -1
%642 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %609, i64 1
%643 = icmp ult i64 %599, %641
br i1 %643, label %741, label %740
644: ; preds = %638
call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.33, i64 35, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.47) #23, !noalias !906
unreachable
645: ; preds = %131
%646 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %64, i64 0, i64 %122
%647 = load i64, ptr %62, align 8
%648 = getelementptr i8, ptr %646, i64 16
%649 = load i64, ptr %648, align 8
%650 = icmp ult i64 %647, %649
br i1 %650, label %135, label %652
651: ; preds = %131
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %122, i64 %65, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.45) #23
unreachable
652: ; preds = %645
%653 = load ptr, ptr %2, align 8
call void @llvm.experimental.noalias.scope.decl(metadata !910)
call void @llvm.experimental.noalias.scope.decl(metadata !913)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !916
%654 = ptrtoint ptr %64 to i64
%655 = icmp ult ptr %7, %64
%656 = sub i64 %654, %40
%657 = sub i64 %40, %654
%658 = select i1 %655, i64 %656, i64 %657
%659 = icmp ult i64 %658, 24
br i1 %659, label %660, label %661
660: ; preds = %652
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !918
unreachable
661: ; preds = %652
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %64, i64 24, i1 false), !noalias !918
%662 = ptrtoint ptr %646 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %646, i64 24, i1 false), !alias.scope !919, !noalias !918
%663 = icmp ugt ptr %7, %646
%664 = sub i64 %40, %662
%665 = sub i64 %662, %40
%666 = select i1 %663, i64 %664, i64 %665
%667 = icmp ult i64 %666, 24
br i1 %667, label %668, label %669
668: ; preds = %661
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !918
unreachable
669: ; preds = %661
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %646, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !918
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !916
%670 = add i64 %65, -1
%671 = icmp ugt i64 %670, 384307168202282325
br i1 %671, label %672, label %673
672: ; preds = %669
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !920
unreachable
673: ; preds = %669
%674 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8), !noalias !910
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %64, i64 24, i1 false)
%675 = icmp ne ptr %653, null
%676 = load i64, ptr %41, align 8, !noalias !910
br label %677
677: ; preds = %730, %673
%678 = phi i64 [ %670, %673 ], [ %698, %730 ]
%679 = phi i64 [ 0, %673 ], [ %731, %730 ]
%680 = icmp ult i64 %679, %678
br i1 %680, label %681, label %689
681: ; preds = %691, %677
%682 = phi i64 [ %692, %691 ], [ %679, %677 ]
%683 = icmp ult i64 %682, %670
br i1 %683, label %685, label %684
684: ; preds = %681
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
685: ; preds = %681
call void @llvm.assume(i1 %675)
%686 = getelementptr { { ptr, i64 }, i64 }, ptr %674, i64 %682, i32 1
%687 = load i64, ptr %686, align 8, !alias.scope !910
%688 = icmp ult i64 %676, %687
br i1 %688, label %689, label %691
689: ; preds = %691, %685, %677
%690 = phi i64 [ %679, %677 ], [ %682, %685 ], [ %678, %691 ]
br label %694
691: ; preds = %685
%692 = add nuw i64 %682, 1
%693 = icmp eq i64 %692, %678
br i1 %693, label %689, label %681
694: ; preds = %701, %689
%695 = phi i64 [ %678, %689 ], [ %698, %701 ]
%696 = icmp ult i64 %690, %695
br i1 %696, label %697, label %723
697: ; preds = %694
%698 = add i64 %695, -1
%699 = icmp ult i64 %698, %670
br i1 %699, label %701, label %700
700: ; preds = %697
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
701: ; preds = %697
call void @llvm.assume(i1 %675)
%702 = getelementptr { { ptr, i64 }, i64 }, ptr %64, i64 %695, i32 1
%703 = load i64, ptr %702, align 8, !alias.scope !910
%704 = icmp ult i64 %676, %703
br i1 %704, label %694, label %705
705: ; preds = %701
%706 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %674, i64 %690
%707 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %695
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !910
%708 = ptrtoint ptr %706 to i64
%709 = icmp ult ptr %6, %706
%710 = sub i64 %708, %42
%711 = sub i64 %42, %708
%712 = select i1 %709, i64 %710, i64 %711
%713 = icmp ult i64 %712, 24
br i1 %713, label %714, label %715
714: ; preds = %705
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
715: ; preds = %705
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %706, i64 24, i1 false)
%716 = ptrtoint ptr %707 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %706, ptr noundef nonnull align 8 dereferenceable(24) %707, i64 24, i1 false), !alias.scope !910
%717 = icmp ugt ptr %6, %707
%718 = sub i64 %42, %716
%719 = sub i64 %716, %42
%720 = select i1 %717, i64 %718, i64 %719
%721 = icmp ult i64 %720, 24
br i1 %721, label %722, label %730
722: ; preds = %715
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
723: ; preds = %694
%724 = icmp ugt ptr %8, %64
%725 = sub i64 %43, %654
%726 = sub i64 %654, %43
%727 = select i1 %724, i64 %725, i64 %726
%728 = icmp ult i64 %727, 24
br i1 %728, label %729, label %732
729: ; preds = %723
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
730: ; preds = %715
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %707, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !910
%731 = add nuw i64 %690, 1
br label %677
732: ; preds = %723
%733 = add i64 %690, 1
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8), !noalias !910
%734 = icmp ult i64 %65, %733
br i1 %734, label %735, label %736
735: ; preds = %732
call void @_ZN4core5slice5index26slice_start_index_len_fail17h0500cd89dbf096d3E(i64 %733, i64 %65, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.46) #23, !noalias !928
unreachable
736: ; preds = %732
%737 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %733
%738 = sub i64 %65, %733
%739 = icmp ult i64 %738, 21
br i1 %739, label %68, label %63
740: ; preds = %640
call fastcc void @_ZN4core5slice4sort7recurse17hf486805dab7ff5ecE(ptr noalias noundef nonnull align 8 %642, i64 %641, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %609, i32 %81)
br label %742
741: ; preds = %640
call fastcc void @_ZN4core5slice4sort7recurse17hf486805dab7ff5ecE(ptr noalias noundef nonnull align 8 %136, i64 %599, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(24) %54, i32 %81)
br label %742
742: ; preds = %741, %740
%743 = phi ptr [ %609, %741 ], [ %54, %740 ]
%744 = phi i64 [ %641, %741 ], [ %599, %740 ]
%745 = phi ptr [ %642, %741 ], [ %136, %740 ]
%746 = icmp ult i64 %744, 21
br i1 %746, label %68, label %51
}
; Function Attrs: cold uwtable
define internal fastcc void @_ZN4core5slice4sort8heapsort17h006e17543bc1b8d7E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr noalias noundef align 8 dereferenceable(8) %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %69, align 8
%5 = alloca ptr, align 8
store ptr %2, ptr %5, align 8
%6 = icmp ult i64 %1, 2
br i1 %6, label %24, label %7
7: ; preds = %3
%8 = lshr i64 %1, 1
br label %20
9: ; preds = %20
%10 = icmp ugt i64 %1, 1
br i1 %10, label %11, label %24
11: ; preds = %9
%12 = ptrtoint ptr %0 to i64
%13 = ptrtoint ptr %4 to i64
%14 = icmp ult ptr %4, %0
%15 = sub i64 %12, %13
%16 = sub i64 %13, %12
%17 = select i1 %14, i64 %15, i64 %16
%18 = icmp ult i64 %17, 24
br i1 %18, label %19, label %25
19: ; preds = %11
call void @llvm.experimental.noalias.scope.decl(metadata !931)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !934
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !936
unreachable
20: ; preds = %20, %7
%21 = phi i64 [ %22, %20 ], [ %8, %7 ]
%22 = add nsw i64 %21, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hdf3181fda3a4ac55E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %22)
%23 = icmp eq i64 %22, 0
br i1 %23, label %9, label %20
24: ; preds = %39, %9, %3
ret void
25: ; preds = %39, %11
%26 = phi i64 [ %27, %39 ], [ %1, %11 ]
%27 = add i64 %26, -1
call void @llvm.experimental.noalias.scope.decl(metadata !931)
%28 = icmp ult i64 %27, %1
br i1 %28, label %29, label %38, !prof !417
29: ; preds = %25
%30 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %27
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !934
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %0, i64 24, i1 false), !noalias !936
%31 = ptrtoint ptr %30 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %30, i64 24, i1 false), !alias.scope !931, !noalias !936
%32 = icmp ugt ptr %4, %30
%33 = sub i64 %13, %31
%34 = sub i64 %31, %13
%35 = select i1 %32, i64 %33, i64 %34
%36 = icmp ult i64 %35, 24
br i1 %36, label %37, label %39
37: ; preds = %29
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !936
unreachable
38: ; preds = %25
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %27, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.48) #23, !noalias !931
unreachable
39: ; preds = %29
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !936
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !934
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hdf3181fda3a4ac55E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %27, i64 0)
%40 = icmp ugt i64 %27, 1
br i1 %40, label %25, label %24
}
; Function Attrs: cold uwtable
define internal fastcc void @_ZN4core5slice4sort8heapsort17h209349eaee642c03E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr noalias noundef align 8 dereferenceable(8) %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %69, align 8
%5 = alloca ptr, align 8
store ptr %2, ptr %5, align 8
%6 = icmp ult i64 %1, 2
br i1 %6, label %24, label %7
7: ; preds = %3
%8 = lshr i64 %1, 1
br label %20
9: ; preds = %20
%10 = icmp ugt i64 %1, 1
br i1 %10, label %11, label %24
11: ; preds = %9
%12 = ptrtoint ptr %0 to i64
%13 = ptrtoint ptr %4 to i64
%14 = icmp ult ptr %4, %0
%15 = sub i64 %12, %13
%16 = sub i64 %13, %12
%17 = select i1 %14, i64 %15, i64 %16
%18 = icmp ult i64 %17, 24
br i1 %18, label %19, label %25
19: ; preds = %11
call void @llvm.experimental.noalias.scope.decl(metadata !937)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !940
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !942
unreachable
20: ; preds = %20, %7
%21 = phi i64 [ %22, %20 ], [ %8, %7 ]
%22 = add nsw i64 %21, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hda558f480311d238E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %22)
%23 = icmp eq i64 %22, 0
br i1 %23, label %9, label %20
24: ; preds = %39, %9, %3
ret void
25: ; preds = %39, %11
%26 = phi i64 [ %27, %39 ], [ %1, %11 ]
%27 = add i64 %26, -1
call void @llvm.experimental.noalias.scope.decl(metadata !937)
%28 = icmp ult i64 %27, %1
br i1 %28, label %29, label %38, !prof !417
29: ; preds = %25
%30 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %27
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !940
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %0, i64 24, i1 false), !noalias !942
%31 = ptrtoint ptr %30 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %30, i64 24, i1 false), !alias.scope !937, !noalias !942
%32 = icmp ugt ptr %4, %30
%33 = sub i64 %13, %31
%34 = sub i64 %31, %13
%35 = select i1 %32, i64 %33, i64 %34
%36 = icmp ult i64 %35, 24
br i1 %36, label %37, label %39
37: ; preds = %29
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !942
unreachable
38: ; preds = %25
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %27, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.48) #23, !noalias !937
unreachable
39: ; preds = %29
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !942
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !940
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hda558f480311d238E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %27, i64 0)
%40 = icmp ugt i64 %27, 1
br i1 %40, label %25, label %24
}
; Function Attrs: cold uwtable
define internal fastcc void @_ZN4core5slice4sort8heapsort17h20daaf55429b4f62E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr noalias noundef align 8 dereferenceable(8) %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %70, align 8
%5 = alloca ptr, align 8
store ptr %2, ptr %5, align 8
%6 = icmp ult i64 %1, 2
br i1 %6, label %24, label %7
7: ; preds = %3
%8 = lshr i64 %1, 1
br label %20
9: ; preds = %20
%10 = icmp ugt i64 %1, 1
br i1 %10, label %11, label %24
11: ; preds = %9
%12 = ptrtoint ptr %0 to i64
%13 = ptrtoint ptr %4 to i64
%14 = icmp ult ptr %4, %0
%15 = sub i64 %12, %13
%16 = sub i64 %13, %12
%17 = select i1 %14, i64 %15, i64 %16
%18 = icmp ult i64 %17, 40
br i1 %18, label %19, label %25
19: ; preds = %11
call void @llvm.experimental.noalias.scope.decl(metadata !943)
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !946
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !948
unreachable
20: ; preds = %20, %7
%21 = phi i64 [ %22, %20 ], [ %8, %7 ]
%22 = add nsw i64 %21, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17h939c8cc424aced15E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %22)
%23 = icmp eq i64 %22, 0
br i1 %23, label %9, label %20
24: ; preds = %39, %9, %3
ret void
25: ; preds = %39, %11
%26 = phi i64 [ %27, %39 ], [ %1, %11 ]
%27 = add i64 %26, -1
call void @llvm.experimental.noalias.scope.decl(metadata !943)
%28 = icmp ult i64 %27, %1
br i1 %28, label %29, label %38, !prof !417
29: ; preds = %25
%30 = getelementptr inbounds [0 x %67], ptr %0, i64 0, i64 %27
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !946
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef nonnull align 8 dereferenceable(40) %0, i64 40, i1 false), !noalias !948
%31 = ptrtoint ptr %30 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %30, i64 40, i1 false), !alias.scope !943, !noalias !948
%32 = icmp ugt ptr %4, %30
%33 = sub i64 %13, %31
%34 = sub i64 %31, %13
%35 = select i1 %32, i64 %33, i64 %34
%36 = icmp ult i64 %35, 40
br i1 %36, label %37, label %39
37: ; preds = %29
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !948
unreachable
38: ; preds = %25
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %27, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.48) #23, !noalias !943
unreachable
39: ; preds = %29
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %30, ptr noundef nonnull align 8 dereferenceable(40) %4, i64 40, i1 false), !noalias !948
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !946
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17h939c8cc424aced15E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %27, i64 0)
%40 = icmp ugt i64 %27, 1
br i1 %40, label %25, label %24
}
; Function Attrs: inlinehint uwtable
define internal fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17h939c8cc424aced15E"(ptr %0, ptr noalias noundef nonnull align 8 %1, i64 %2, i64 %3) unnamed_addr #4 personality ptr @rust_eh_personality {
%5 = alloca %70, align 8
%6 = shl i64 %3, 1
%7 = or i64 %6, 1
%8 = icmp ult i64 %7, %2
br i1 %8, label %9, label %18
9: ; preds = %4
%10 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %10)
%11 = ptrtoint ptr %5 to i64
br label %12
12: ; preds = %56, %9
%13 = phi i64 [ %7, %9 ], [ %58, %56 ]
%14 = phi i64 [ %6, %9 ], [ %57, %56 ]
%15 = phi i64 [ %3, %9 ], [ %28, %56 ]
%16 = add i64 %14, 2
%17 = icmp ult i64 %16, %2
br i1 %17, label %19, label %27
18: ; preds = %56, %33, %4
ret void
19: ; preds = %12
%20 = getelementptr inbounds [0 x %67], ptr %1, i64 0, i64 %13
%21 = getelementptr inbounds [0 x %67], ptr %1, i64 0, i64 %16
%22 = load i64, ptr %20, align 8
%23 = load i64, ptr %21, align 8
%24 = icmp ult i64 %22, %23
%25 = freeze i1 %24
%26 = select i1 %25, i64 %16, i64 %13
br label %27
27: ; preds = %19, %12
%28 = phi i64 [ %13, %12 ], [ %26, %19 ]
%29 = icmp ult i64 %15, %2
br i1 %29, label %30, label %32, !prof !417
30: ; preds = %27
%31 = icmp ult i64 %28, %2
br i1 %31, label %33, label %39, !prof !417
32: ; preds = %27
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %15, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.49) #23
unreachable
33: ; preds = %30
%34 = getelementptr inbounds [0 x %67], ptr %1, i64 0, i64 %15
%35 = getelementptr inbounds [0 x %67], ptr %1, i64 0, i64 %28
%36 = load i64, ptr %34, align 8
%37 = load i64, ptr %35, align 8
%38 = icmp ult i64 %36, %37
br i1 %38, label %40, label %18
39: ; preds = %30
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %28, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.50) #23
unreachable
40: ; preds = %33
call void @llvm.experimental.noalias.scope.decl(metadata !949)
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !952
%41 = ptrtoint ptr %34 to i64
%42 = icmp ult ptr %5, %34
%43 = sub i64 %41, %11
%44 = sub i64 %11, %41
%45 = select i1 %42, i64 %43, i64 %44
%46 = icmp ult i64 %45, 40
br i1 %46, label %47, label %48
47: ; preds = %40
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !954
unreachable
48: ; preds = %40
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(40) %34, i64 40, i1 false), !noalias !954
%49 = ptrtoint ptr %35 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %34, ptr noundef nonnull align 8 dereferenceable(40) %35, i64 40, i1 false), !alias.scope !949, !noalias !954
%50 = icmp ugt ptr %5, %35
%51 = sub i64 %11, %49
%52 = sub i64 %49, %11
%53 = select i1 %50, i64 %51, i64 %52
%54 = icmp ult i64 %53, 40
br i1 %54, label %55, label %56
55: ; preds = %48
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !954
unreachable
56: ; preds = %48
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %35, ptr noundef nonnull align 8 dereferenceable(40) %5, i64 40, i1 false), !noalias !954
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !952
%57 = shl i64 %28, 1
%58 = or i64 %57, 1
%59 = icmp ult i64 %58, %2
br i1 %59, label %12, label %18
}
; Function Attrs: inlinehint uwtable
define internal fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hda558f480311d238E"(ptr %0, ptr noalias noundef nonnull align 8 %1, i64 %2, i64 %3) unnamed_addr #4 personality ptr @rust_eh_personality {
%5 = alloca %69, align 8
%6 = shl i64 %3, 1
%7 = or i64 %6, 1
%8 = icmp ult i64 %7, %2
br i1 %8, label %9, label %18
9: ; preds = %4
%10 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %10)
%11 = ptrtoint ptr %5 to i64
br label %12
12: ; preds = %76, %9
%13 = phi i64 [ %7, %9 ], [ %78, %76 ]
%14 = phi i64 [ %6, %9 ], [ %77, %76 ]
%15 = phi i64 [ %3, %9 ], [ %38, %76 ]
%16 = add i64 %14, 2
%17 = icmp ult i64 %16, %2
br i1 %17, label %19, label %37
18: ; preds = %76, %43, %4
ret void
19: ; preds = %12
%20 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %13
%21 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %16
%22 = load ptr, ptr %20, align 8, !nonnull !25, !align !306, !noundef !25
%23 = getelementptr i8, ptr %20, i64 8
%24 = load i64, ptr %23, align 8
%25 = load ptr, ptr %21, align 8, !nonnull !25, !align !306, !noundef !25
%26 = getelementptr i8, ptr %21, i64 8
%27 = load i64, ptr %26, align 8
%28 = sub i64 %24, %27
%29 = call i64 @llvm.umin.i64(i64 %24, i64 %27)
%30 = call i32 @memcmp(ptr nonnull %22, ptr nonnull %25, i64 %29), !alias.scope !955
%31 = sext i32 %30 to i64
%32 = icmp eq i32 %30, 0
%33 = select i1 %32, i64 %28, i64 %31
%34 = freeze i64 %33
%35 = icmp slt i64 %34, 0
%36 = select i1 %35, i64 %16, i64 %13
br label %37
37: ; preds = %19, %12
%38 = phi i64 [ %13, %12 ], [ %36, %19 ]
%39 = icmp ult i64 %15, %2
br i1 %39, label %40, label %42, !prof !417
40: ; preds = %37
%41 = icmp ult i64 %38, %2
br i1 %41, label %43, label %59, !prof !417
42: ; preds = %37
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %15, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.49) #23
unreachable
43: ; preds = %40
%44 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %15
%45 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %38
%46 = load ptr, ptr %44, align 8, !nonnull !25, !align !306, !noundef !25
%47 = getelementptr i8, ptr %44, i64 8
%48 = load i64, ptr %47, align 8
%49 = load ptr, ptr %45, align 8, !nonnull !25, !align !306, !noundef !25
%50 = getelementptr i8, ptr %45, i64 8
%51 = load i64, ptr %50, align 8
%52 = sub i64 %48, %51
%53 = call i64 @llvm.umin.i64(i64 %48, i64 %51)
%54 = call i32 @memcmp(ptr nonnull %46, ptr nonnull %49, i64 %53), !alias.scope !968
%55 = sext i32 %54 to i64
%56 = icmp eq i32 %54, 0
%57 = select i1 %56, i64 %52, i64 %55
%58 = icmp slt i64 %57, 0
br i1 %58, label %60, label %18
59: ; preds = %40
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %38, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.50) #23
unreachable
60: ; preds = %43
call void @llvm.experimental.noalias.scope.decl(metadata !981)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !984
%61 = ptrtoint ptr %44 to i64
%62 = icmp ult ptr %5, %44
%63 = sub i64 %61, %11
%64 = sub i64 %11, %61
%65 = select i1 %62, i64 %63, i64 %64
%66 = icmp ult i64 %65, 24
br i1 %66, label %67, label %68
67: ; preds = %60
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !986
unreachable
68: ; preds = %60
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %44, i64 24, i1 false), !noalias !986
%69 = ptrtoint ptr %45 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 8 dereferenceable(24) %45, i64 24, i1 false), !alias.scope !981, !noalias !986
%70 = icmp ugt ptr %5, %45
%71 = sub i64 %11, %69
%72 = sub i64 %69, %11
%73 = select i1 %70, i64 %71, i64 %72
%74 = icmp ult i64 %73, 24
br i1 %74, label %75, label %76
75: ; preds = %68
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !986
unreachable
76: ; preds = %68
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !986
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !984
%77 = shl i64 %38, 1
%78 = or i64 %77, 1
%79 = icmp ult i64 %78, %2
br i1 %79, label %12, label %18
}
; Function Attrs: inlinehint uwtable
define internal fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hdf3181fda3a4ac55E"(ptr %0, ptr noalias noundef nonnull align 8 %1, i64 %2, i64 %3) unnamed_addr #4 personality ptr @rust_eh_personality {
%5 = alloca %69, align 8
%6 = shl i64 %3, 1
%7 = or i64 %6, 1
%8 = icmp ult i64 %7, %2
br i1 %8, label %9, label %18
9: ; preds = %4
%10 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %10)
%11 = ptrtoint ptr %5 to i64
br label %12
12: ; preds = %58, %9
%13 = phi i64 [ %7, %9 ], [ %60, %58 ]
%14 = phi i64 [ %6, %9 ], [ %59, %58 ]
%15 = phi i64 [ %3, %9 ], [ %28, %58 ]
%16 = add i64 %14, 2
%17 = icmp ult i64 %16, %2
br i1 %17, label %19, label %27
18: ; preds = %58, %33, %4
ret void
19: ; preds = %12
%20 = getelementptr [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %13, i32 1
%21 = load i64, ptr %20, align 8
%22 = getelementptr [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %16, i32 1
%23 = load i64, ptr %22, align 8
%24 = icmp ult i64 %21, %23
%25 = freeze i1 %24
%26 = select i1 %25, i64 %16, i64 %13
br label %27
27: ; preds = %19, %12
%28 = phi i64 [ %13, %12 ], [ %26, %19 ]
%29 = icmp ult i64 %15, %2
br i1 %29, label %30, label %32, !prof !417
30: ; preds = %27
%31 = icmp ult i64 %28, %2
br i1 %31, label %33, label %41, !prof !417
32: ; preds = %27
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %15, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.49) #23
unreachable
33: ; preds = %30
%34 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %15
%35 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %28
%36 = getelementptr i8, ptr %34, i64 16
%37 = load i64, ptr %36, align 8
%38 = getelementptr i8, ptr %35, i64 16
%39 = load i64, ptr %38, align 8
%40 = icmp ult i64 %37, %39
br i1 %40, label %42, label %18
41: ; preds = %30
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %28, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.50) #23
unreachable
42: ; preds = %33
call void @llvm.experimental.noalias.scope.decl(metadata !987)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !990
%43 = ptrtoint ptr %34 to i64
%44 = icmp ult ptr %5, %34
%45 = sub i64 %43, %11
%46 = sub i64 %11, %43
%47 = select i1 %44, i64 %45, i64 %46
%48 = icmp ult i64 %47, 24
br i1 %48, label %49, label %50
49: ; preds = %42
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !992
unreachable
50: ; preds = %42
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %34, i64 24, i1 false), !noalias !992
%51 = ptrtoint ptr %35 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %35, i64 24, i1 false), !alias.scope !987, !noalias !992
%52 = icmp ugt ptr %5, %35
%53 = sub i64 %11, %51
%54 = sub i64 %51, %11
%55 = select i1 %52, i64 %53, i64 %54
%56 = icmp ult i64 %55, 24
br i1 %56, label %57, label %58
57: ; preds = %50
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !992
unreachable
58: ; preds = %50
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !992
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !990
%59 = shl i64 %28, 1
%60 = or i64 %59, 1
%61 = icmp ult i64 %60, %2
br i1 %61, label %12, label %18
}
; Function Attrs: cold noreturn uwtable
define internal fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef readonly align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %1, ptr noalias nocapture noundef readonly dereferenceable(48) %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3) unnamed_addr #5 {
%5 = alloca %71, align 8
%6 = alloca ptr, align 8
%7 = alloca ptr, align 8
store ptr %0, ptr %7, align 8
store ptr %1, ptr %6, align 8
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef nonnull align 8 dereferenceable(48) %2, i64 48, i1 false)
call void @_ZN4core9panicking19assert_failed_inner17h63461ade664b237cE(i8 noundef 0, ptr noundef nonnull align 1 %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.61, ptr noundef nonnull align 1 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.61, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %3) #23
unreachable
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hb1776e07813d62f4E"(ptr noalias nocapture noundef writeonly dereferenceable(24) %0, ptr noalias nocapture noundef align 8 dereferenceable(72) %1) unnamed_addr #0 personality ptr @rust_eh_personality {
%3 = alloca %72, align 1
%4 = getelementptr inbounds %1, ptr %1, i64 0, i32 2
%5 = load i64, ptr %4, align 8
%6 = icmp eq i64 %5, 0
br i1 %6, label %7, label %69
7: ; preds = %2
tail call void @llvm.experimental.noalias.scope.decl(metadata !993)
tail call void @llvm.experimental.noalias.scope.decl(metadata !996)
tail call void @llvm.experimental.noalias.scope.decl(metadata !999)
tail call void @llvm.experimental.noalias.scope.decl(metadata !1002)
%8 = load i64, ptr %1, align 8, !alias.scope !1004, !noalias !1006
%9 = getelementptr inbounds i8, ptr %1, i64 8
%10 = load i64, ptr %9, align 8, !alias.scope !1004, !noalias !1006
%11 = getelementptr inbounds i8, ptr %1, i64 16
%12 = load ptr, ptr %11, align 8, !alias.scope !1004, !noalias !1006
%13 = getelementptr inbounds i8, ptr %1, i64 24
%14 = load i64, ptr %13, align 8, !alias.scope !1004, !noalias !1006
store i64 2, ptr %1, align 8, !alias.scope !1008, !noalias !1009
switch i64 %8, label %15 [
i64 2, label %67
i64 1, label %35
i64 0, label %16
]
15: ; preds = %7
unreachable
16: ; preds = %7
%17 = icmp ne ptr %12, null
tail call void @llvm.assume(i1 %17)
%18 = icmp eq i64 %10, 0
br i1 %18, label %19, label %22
19: ; preds = %40, %16
%20 = phi ptr [ %12, %16 ], [ %37, %40 ]
%21 = phi i64 [ 0, %16 ], [ %38, %40 ]
br label %46
22: ; preds = %31, %16
%23 = phi i64 [ %33, %31 ], [ %10, %16 ]
%24 = phi ptr [ %32, %31 ], [ %12, %16 ]
%25 = icmp ne ptr %24, null
tail call void @llvm.assume(i1 %25)
%26 = getelementptr %73, ptr %24, i64 0, i32 1
%27 = ptrtoint ptr %26 to i64
%28 = and i64 %27, 7
%29 = icmp eq i64 %28, 0
br i1 %29, label %31, label %30
30: ; preds = %22
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !1010
unreachable
31: ; preds = %22
%32 = load ptr, ptr %26, align 8, !noalias !1010
%33 = add i64 %23, -1
%34 = icmp eq i64 %33, 0
br i1 %34, label %35, label %22
35: ; preds = %31, %7
%36 = phi i64 [ %14, %7 ], [ 0, %31 ]
%37 = phi ptr [ %12, %7 ], [ %32, %31 ]
%38 = phi i64 [ %10, %7 ], [ 0, %31 ]
%39 = icmp eq ptr %37, null
br i1 %39, label %67, label %40
40: ; preds = %35
%41 = getelementptr inbounds %5, ptr %37, i64 0, i32 4
%42 = load i16, ptr %41, align 2, !noalias !1015
%43 = zext i16 %42 to i64
%44 = icmp ugt i64 %36, %43
br i1 %44, label %45, label %19
45: ; preds = %40
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.65, i64 35, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.66) #23, !noalias !1015
unreachable
46: ; preds = %55, %19
%47 = phi ptr [ %49, %55 ], [ %20, %19 ]
%48 = phi i64 [ %52, %55 ], [ %21, %19 ]
%49 = load ptr, ptr %47, align 8, !noalias !1023
%50 = icmp eq ptr %49, null
br i1 %50, label %64, label %51
51: ; preds = %46
%52 = add i64 %48, 1
%53 = icmp eq i64 %52, 0
br i1 %53, label %54, label %55
54: ; preds = %51
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.69, i64 28, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.70) #23, !noalias !1028
unreachable
55: ; preds = %51
%56 = getelementptr inbounds %5, ptr %47, i64 0, i32 3
%57 = load i16, ptr %56, align 8, !noalias !1028
%58 = icmp eq i64 %48, 0
%59 = select i1 %58, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %47, i64 %59, i64 8) #22, !noalias !1034
%60 = getelementptr inbounds %5, ptr %49, i64 0, i32 4
%61 = load i16, ptr %60, align 2, !noalias !1035
%62 = icmp ugt i16 %57, %61
br i1 %62, label %63, label %46
63: ; preds = %55
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.65, i64 35, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.66) #23, !noalias !1035
unreachable
64: ; preds = %46
%65 = icmp eq i64 %48, 0
%66 = select i1 %65, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %47, i64 %66, i64 8) #22, !noalias !1034
br label %67
67: ; preds = %64, %35, %7
%68 = getelementptr inbounds %0, ptr %0, i64 0, i32 1
store ptr null, ptr %68, align 8
br label %193
69: ; preds = %2
%70 = add i64 %5, -1
store i64 %70, ptr %4, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1041)
%71 = load i64, ptr %1, align 8, !range !1044, !alias.scope !1041, !noalias !1045, !noundef !25
%72 = icmp eq i64 %71, 2
br i1 %72, label %99, label %73
73: ; preds = %69
tail call void @llvm.experimental.noalias.scope.decl(metadata !1047)
%74 = icmp eq i64 %71, 0
br i1 %74, label %75, label %100
75: ; preds = %73
%76 = getelementptr inbounds %74, ptr %1, i64 0, i32 1
%77 = load i64, ptr %76, align 8, !alias.scope !1050, !noalias !1045
%78 = getelementptr inbounds %74, ptr %1, i64 0, i32 1, i32 1
%79 = load ptr, ptr %78, align 8, !alias.scope !1050, !noalias !1045
%80 = icmp eq i64 %77, 0
br i1 %80, label %94, label %81
81: ; preds = %90, %75
%82 = phi i64 [ %92, %90 ], [ %77, %75 ]
%83 = phi ptr [ %91, %90 ], [ %79, %75 ]
%84 = icmp ne ptr %83, null
tail call void @llvm.assume(i1 %84)
%85 = getelementptr %73, ptr %83, i64 0, i32 1
%86 = ptrtoint ptr %85 to i64
%87 = and i64 %86, 7
%88 = icmp eq i64 %87, 0
br i1 %88, label %90, label %89
89: ; preds = %81
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !1051
unreachable
90: ; preds = %81
%91 = load ptr, ptr %85, align 8, !noalias !1051
%92 = add i64 %82, -1
%93 = icmp eq i64 %92, 0
br i1 %93, label %94, label %81
94: ; preds = %90, %75
%95 = phi ptr [ %79, %75 ], [ %91, %90 ]
store i64 1, ptr %1, align 8, !alias.scope !1050, !noalias !1045
store i64 0, ptr %76, align 8, !alias.scope !1050, !noalias !1045
store ptr %95, ptr %78, align 8, !alias.scope !1050, !noalias !1045
%96 = getelementptr inbounds i8, ptr %1, i64 24
store i64 0, ptr %96, align 8, !alias.scope !1050, !noalias !1045
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %3), !noalias !1056
%97 = getelementptr inbounds %5, ptr %95, i64 0, i32 4
%98 = load i16, ptr %97, align 2, !noalias !1060
br label %112
99: ; preds = %69
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.73, i64 38, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.74) #23, !noalias !1075
unreachable
100: ; preds = %73
%101 = getelementptr inbounds %75, ptr %1, i64 0, i32 1, i32 1, i32 1
%102 = load ptr, ptr %101, align 8, !alias.scope !1076, !noalias !1079
%103 = getelementptr inbounds %75, ptr %1, i64 0, i32 1, i32 2
%104 = load i64, ptr %103, align 8, !alias.scope !1076, !noalias !1079
tail call void @llvm.experimental.noalias.scope.decl(metadata !1082)
tail call void @llvm.experimental.noalias.scope.decl(metadata !1083)
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %3), !noalias !1084
%105 = getelementptr inbounds %5, ptr %102, i64 0, i32 4
%106 = load i16, ptr %105, align 2, !noalias !1085
%107 = zext i16 %106 to i64
%108 = icmp ugt i64 %104, %107
br i1 %108, label %178, label %109
109: ; preds = %100
%110 = getelementptr inbounds %75, ptr %1, i64 0, i32 1
%111 = load i64, ptr %110, align 8, !alias.scope !1076, !noalias !1079
br label %112
112: ; preds = %109, %94
%113 = phi i64 [ 0, %94 ], [ %111, %109 ]
%114 = phi i16 [ %98, %94 ], [ %106, %109 ]
%115 = phi ptr [ %95, %94 ], [ %102, %109 ]
%116 = phi i64 [ 0, %94 ], [ %104, %109 ]
%117 = getelementptr inbounds %75, ptr %1, i64 0, i32 1
br label %120
118: ; preds = %178
%119 = landingpad { ptr, i32 }
cleanup
invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$alloc..collections..btree..mem..replace..PanicGuard$GT$17hf07010ebb5cf0b33E"(ptr noalias nonnull align 1 %3) #24
to label %185 unwind label %183, !noalias !1086
120: ; preds = %166, %112
%121 = phi i16 [ %173, %166 ], [ %114, %112 ]
%122 = phi i64 [ %169, %166 ], [ %116, %112 ]
%123 = phi ptr [ %158, %166 ], [ %115, %112 ]
%124 = phi i64 [ %161, %166 ], [ %113, %112 ]
%125 = zext i16 %121 to i64
%126 = icmp ult i64 %122, %125
br i1 %126, label %127, label %157
127: ; preds = %120
%128 = icmp eq i64 %124, 0
%129 = add nuw i64 %122, 1
br i1 %128, label %186, label %130
130: ; preds = %127
%131 = icmp ugt i64 %122, 10
br i1 %131, label %132, label %133
132: ; preds = %130
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !1087
unreachable
133: ; preds = %130
%134 = getelementptr ptr, ptr %123, i64 %129
%135 = getelementptr %73, ptr %134, i64 0, i32 1
%136 = ptrtoint ptr %135 to i64
%137 = and i64 %136, 7
%138 = icmp eq i64 %137, 0
br i1 %138, label %140, label %139
139: ; preds = %133
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !1087
unreachable
140: ; preds = %133
%141 = load ptr, ptr %135, align 8, !noalias !1087
%142 = add i64 %124, -1
%143 = icmp eq i64 %142, 0
br i1 %143, label %175, label %144
144: ; preds = %153, %140
%145 = phi i64 [ %155, %153 ], [ %142, %140 ]
%146 = phi ptr [ %154, %153 ], [ %141, %140 ]
%147 = icmp ne ptr %146, null
tail call void @llvm.assume(i1 %147)
%148 = getelementptr %73, ptr %146, i64 0, i32 1
%149 = ptrtoint ptr %148 to i64
%150 = and i64 %149, 7
%151 = icmp eq i64 %150, 0
br i1 %151, label %153, label %152
152: ; preds = %144
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !1093
unreachable
153: ; preds = %144
%154 = load ptr, ptr %148, align 8, !noalias !1093
%155 = add i64 %145, -1
%156 = icmp eq i64 %155, 0
br i1 %156, label %175, label %144
157: ; preds = %120
%158 = load ptr, ptr %123, align 8, !noalias !1098
%159 = icmp eq ptr %158, null
br i1 %159, label %163, label %160
160: ; preds = %157
%161 = add i64 %124, 1
%162 = icmp eq i64 %161, 0
br i1 %162, label %178, label %166
163: ; preds = %157
%164 = icmp eq i64 %124, 0
%165 = select i1 %164, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %123, i64 %165, i64 8) #22, !noalias !1103
br label %178
166: ; preds = %160
%167 = getelementptr inbounds %5, ptr %123, i64 0, i32 3
%168 = load i16, ptr %167, align 8, !noalias !1104
%169 = zext i16 %168 to i64
%170 = icmp eq i64 %124, 0
%171 = select i1 %170, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %123, i64 %171, i64 8) #22, !noalias !1103
%172 = getelementptr inbounds %5, ptr %158, i64 0, i32 4
%173 = load i16, ptr %172, align 2, !noalias !1110
%174 = icmp ugt i16 %168, %173
br i1 %174, label %178, label %120
175: ; preds = %153, %140
%176 = phi ptr [ %141, %140 ], [ %154, %153 ]
%177 = icmp eq ptr %176, null
br i1 %177, label %178, label %186
178: ; preds = %175, %166, %163, %160, %100
%179 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.65, %100 ], [ @anon.0f79382001bad1c9081319f05be50b13.14, %175 ], [ @anon.0f79382001bad1c9081319f05be50b13.14, %163 ], [ @anon.0f79382001bad1c9081319f05be50b13.65, %166 ], [ @anon.0f79382001bad1c9081319f05be50b13.69, %160 ]
%180 = phi i64 [ 35, %100 ], [ 43, %175 ], [ 43, %163 ], [ 35, %166 ], [ 28, %160 ]
%181 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.66, %100 ], [ @anon.0f79382001bad1c9081319f05be50b13.72, %175 ], [ @anon.0f79382001bad1c9081319f05be50b13.72, %163 ], [ @anon.0f79382001bad1c9081319f05be50b13.66, %166 ], [ @anon.0f79382001bad1c9081319f05be50b13.70, %160 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %179, i64 %180, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %181) #23
to label %182 unwind label %118, !noalias !1086
182: ; preds = %178
unreachable
183: ; preds = %118
%184 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1086
unreachable
185: ; preds = %118
resume { ptr, i32 } %119
186: ; preds = %175, %127
%187 = phi ptr [ %176, %175 ], [ %123, %127 ]
%188 = phi i64 [ 0, %175 ], [ %129, %127 ]
%189 = getelementptr inbounds %75, ptr %1, i64 0, i32 1, i32 2
%190 = getelementptr inbounds %75, ptr %1, i64 0, i32 1, i32 1, i32 1
store i64 0, ptr %117, align 8, !alias.scope !1076, !noalias !1079
store ptr %187, ptr %190, align 8, !alias.scope !1076, !noalias !1079
store i64 %188, ptr %189, align 8, !alias.scope !1076, !noalias !1079
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !1084
store i64 %124, ptr %0, align 8
%191 = getelementptr inbounds i8, ptr %0, i64 8
store ptr %123, ptr %191, align 8
%192 = getelementptr inbounds i8, ptr %0, i64 16
store i64 %122, ptr %192, align 8
br label %193
193: ; preds = %186, %67
ret void
}
; Function Attrs: noinline nounwind uwtable
define internal fastcc void @"_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h5d01faaaef3f60bfE"(ptr noalias nocapture noundef readonly align 8 dereferenceable(8) %0) unnamed_addr #6 {
%2 = load ptr, ptr %0, align 8, !nonnull !25
%3 = getelementptr inbounds %78, ptr %2, i64 0, i32 2, i32 11
tail call void @llvm.experimental.noalias.scope.decl(metadata !1116)
%4 = load ptr, ptr %3, align 8, !alias.scope !1116
%5 = icmp eq ptr %4, null
br i1 %5, label %10, label %6
6: ; preds = %1
%7 = atomicrmw sub ptr %4, i64 1 release, align 8, !noalias !1119
%8 = icmp eq i64 %7, 1
br i1 %8, label %9, label %10
9: ; preds = %6
fence acquire, !noalias !1119
tail call fastcc void @"_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h5d01faaaef3f60bfE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %3)
br label %10
10: ; preds = %9, %6, %1
%11 = icmp eq ptr %2, inttoptr (i64 -1 to ptr)
br i1 %11, label %17, label %12
12: ; preds = %10
%13 = getelementptr inbounds %78, ptr %2, i64 0, i32 1
%14 = atomicrmw sub ptr %13, i64 1 release, align 8, !noalias !1124
%15 = icmp eq i64 %14, 1
br i1 %15, label %16, label %17
16: ; preds = %12
fence acquire
tail call void @__rust_dealloc(ptr nonnull %2, i64 240, i64 8) #22, !noalias !1124
br label %17
17: ; preds = %16, %12, %10
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @_ZN5alloc5alloc8box_free17h9468c018c14e5cf6E(ptr noundef nonnull %0, i64 %1) unnamed_addr #2 personality ptr @rust_eh_personality {
%3 = icmp eq i64 %1, 0
br i1 %3, label %6, label %4
4: ; preds = %2
%5 = shl nsw i64 %1, 8
tail call void @__rust_dealloc(ptr nonnull %0, i64 %5, i64 8) #22
br label %6
6: ; preds = %4, %2
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @_ZN5alloc5alloc8box_free17he7ea593b3f3f4640E(ptr noundef nonnull %0, i64 %1) unnamed_addr #2 personality ptr @rust_eh_personality {
%3 = icmp eq i64 %1, 0
br i1 %3, label %6, label %4
4: ; preds = %2
%5 = mul nsw i64 %1, 24
tail call void @__rust_dealloc(ptr nonnull %0, i64 %5, i64 8) #22
br label %6
6: ; preds = %4, %2
ret void
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @_ZN5alloc5alloc8box_free17hf643b5e89b6a4e1cE(ptr noundef nonnull %0) unnamed_addr #2 personality ptr @rust_eh_personality {
tail call void @__rust_dealloc(ptr nonnull %0, i64 64, i64 8) #22
ret void
}
; Function Attrs: noinline uwtable
define internal fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef writeonly dereferenceable(24) %0, i64 %1, i64 noundef %2, ptr noalias nocapture noundef readonly dereferenceable(24) %3) unnamed_addr #7 {
%5 = alloca %83, align 8
%6 = alloca %71, align 8
%7 = alloca i64, align 8
%8 = alloca i64, align 8
%9 = icmp eq i64 %2, 0
br i1 %9, label %14, label %10
10: ; preds = %4
%11 = getelementptr inbounds %84, ptr %3, i64 0, i32 1
%12 = load i64, ptr %11, align 8, !range !1127, !noundef !25
%13 = icmp eq i64 %12, 0
br i1 %13, label %24, label %19
14: ; preds = %4
%15 = getelementptr inbounds %85, ptr %0, i64 0, i32 1
store i64 %1, ptr %15, align 8
%16 = getelementptr inbounds %85, ptr %0, i64 0, i32 1, i32 1
store i64 0, ptr %16, align 8
br label %17
17: ; preds = %36, %33, %14
%18 = phi i64 [ 1, %14 ], [ 0, %33 ], [ 1, %36 ]
store i64 %18, ptr %0, align 8
ret void
19: ; preds = %10
%20 = load ptr, ptr %3, align 8, !nonnull !25, !noundef !25
%21 = getelementptr inbounds { ptr, { i64, i64 } }, ptr %3, i64 0, i32 1
%22 = load i64, ptr %21, align 8
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8)
store i64 %12, ptr %8, align 8
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7)
store i64 %2, ptr %7, align 8
%23 = icmp eq i64 %12, %2
br i1 %23, label %39, label %56
24: ; preds = %10
%25 = icmp eq i64 %1, 0
br i1 %25, label %26, label %28
26: ; preds = %24
%27 = inttoptr i64 %2 to ptr
br label %30
28: ; preds = %24
%29 = tail call ptr @__rust_alloc(i64 %1, i64 %2) #22
br label %30
30: ; preds = %54, %52, %50, %28, %26
%31 = phi ptr [ %27, %26 ], [ %29, %28 ], [ %55, %54 ], [ %51, %50 ], [ %53, %52 ]
%32 = icmp eq ptr %31, null
br i1 %32, label %36, label %33
33: ; preds = %30
%34 = getelementptr inbounds %86, ptr %0, i64 0, i32 1
store ptr %31, ptr %34, align 8, !alias.scope !1128
%35 = getelementptr inbounds %86, ptr %0, i64 0, i32 1, i32 1
store i64 %1, ptr %35, align 8, !alias.scope !1128
br label %17
36: ; preds = %30
%37 = getelementptr inbounds %85, ptr %0, i64 0, i32 1
store i64 %1, ptr %37, align 8, !alias.scope !1128
%38 = getelementptr inbounds %85, ptr %0, i64 0, i32 1, i32 1
store i64 %2, ptr %38, align 8, !alias.scope !1128
br label %17
39: ; preds = %19
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8)
%40 = icmp ugt i64 %22, %1
br i1 %40, label %43, label %41
41: ; preds = %39
%42 = icmp eq i64 %22, 0
br i1 %42, label %48, label %54
43: ; preds = %39
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5)
store ptr @anon.0f79382001bad1c9081319f05be50b13.79, ptr %5, align 8, !alias.scope !1131, !noalias !1134
%44 = getelementptr inbounds { ptr, i64 }, ptr %5, i64 0, i32 1
store i64 1, ptr %44, align 8, !alias.scope !1131, !noalias !1134
%45 = getelementptr inbounds %83, ptr %5, i64 0, i32 1
store ptr null, ptr %45, align 8, !alias.scope !1131, !noalias !1134
%46 = getelementptr inbounds %83, ptr %5, i64 0, i32 2
store ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %46, align 8, !alias.scope !1131, !noalias !1134
%47 = getelementptr inbounds %83, ptr %5, i64 0, i32 2, i32 1
store i64 0, ptr %47, align 8, !alias.scope !1131, !noalias !1134
call void @_ZN4core9panicking9panic_fmt17h30d6090f102031dcE(ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.81) #23
unreachable
48: ; preds = %41
%49 = icmp eq i64 %1, 0
br i1 %49, label %50, label %52
50: ; preds = %48
%51 = inttoptr i64 %2 to ptr
br label %30
52: ; preds = %48
%53 = tail call ptr @__rust_alloc(i64 %1, i64 %2) #22
br label %30
54: ; preds = %41
%55 = tail call ptr @__rust_realloc(ptr nonnull %20, i64 %22, i64 %2, i64 %1) #22
br label %30
56: ; preds = %19
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %6)
store ptr null, ptr %6, align 8
call fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %8, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %7, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.92) #23
unreachable
}
; Function Attrs: noinline uwtable
define internal fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h127eb28a3a48fcd0E"(ptr noalias nocapture noundef align 8 dereferenceable(16) %0, i64 %1) unnamed_addr #7 personality ptr @rust_eh_personality {
%3 = alloca %84, align 8
%4 = alloca %87, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1137)
%5 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 1)
%6 = extractvalue { i64, i1 } %5, 1
br i1 %6, label %40, label %7
7: ; preds = %2
%8 = extractvalue { i64, i1 } %5, 0
%9 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%10 = load i64, ptr %9, align 8, !alias.scope !1137
%11 = shl i64 %10, 1
%12 = tail call i64 @llvm.umax.i64(i64 %11, i64 %8)
%13 = tail call i64 @llvm.umax.i64(i64 %12, i64 4)
%14 = icmp ugt i64 %13, 576460752303423487
%15 = shl nuw nsw i64 %13, 4
%16 = select i1 %14, i64 0, i64 8
%17 = select i1 %14, i64 undef, i64 %15
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !1137
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !1137
%18 = load ptr, ptr %0, align 8, !alias.scope !1137
tail call void @llvm.experimental.noalias.scope.decl(metadata !1140)
%19 = icmp eq i64 %10, 0
br i1 %19, label %28, label %20
20: ; preds = %7
%21 = icmp ugt i64 %10, 576460752303423487
br i1 %21, label %22, label %23
22: ; preds = %20
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !1143
unreachable
23: ; preds = %20
%24 = shl nuw nsw i64 %10, 4
%25 = icmp ne ptr %18, null
tail call void @llvm.assume(i1 %25)
store ptr %18, ptr %3, align 8, !alias.scope !1140, !noalias !1137
%26 = getelementptr inbounds i8, ptr %3, i64 8
store i64 %24, ptr %26, align 8, !alias.scope !1140, !noalias !1137
%27 = getelementptr inbounds i8, ptr %3, i64 16
store i64 8, ptr %27, align 8, !alias.scope !1140, !noalias !1137
br label %30
28: ; preds = %7
%29 = getelementptr inbounds %84, ptr %3, i64 0, i32 1
store i64 0, ptr %29, align 8, !alias.scope !1140, !noalias !1137
br label %30
30: ; preds = %28, %23
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %4, i64 %17, i64 noundef %16, ptr noalias nocapture noundef nonnull readonly dereferenceable(24) %3), !noalias !1137
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !1137
%31 = load i64, ptr %4, align 8, !range !23, !noalias !1137, !noundef !25
%32 = icmp eq i64 %31, 0
%33 = getelementptr inbounds %85, ptr %4, i64 0, i32 1
%34 = load i64, ptr %33, align 8, !noalias !1137
%35 = getelementptr inbounds %85, ptr %4, i64 0, i32 1, i32 1
%36 = load i64, ptr %35, align 8, !noalias !1137
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1137
br i1 %32, label %37, label %39
37: ; preds = %30
%38 = inttoptr i64 %34 to ptr
store ptr %38, ptr %0, align 8, !alias.scope !1144
store i64 %13, ptr %9, align 8, !alias.scope !1144
br label %42
39: ; preds = %30
switch i64 %36, label %41 [
i64 -9223372036854775807, label %42
i64 0, label %40
]
40: ; preds = %39, %2
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
41: ; preds = %39
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %34, i64 noundef %36) #23
unreachable
42: ; preds = %39, %37
ret void
}
; Function Attrs: noinline uwtable
define internal fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1e8dea1a4361a50aE"(ptr noalias nocapture noundef align 8 dereferenceable(16) %0, i64 %1) unnamed_addr #7 personality ptr @rust_eh_personality {
%3 = alloca %84, align 8
%4 = alloca %87, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1147)
%5 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 1)
%6 = extractvalue { i64, i1 } %5, 1
br i1 %6, label %40, label %7
7: ; preds = %2
%8 = extractvalue { i64, i1 } %5, 0
%9 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%10 = load i64, ptr %9, align 8, !alias.scope !1147
%11 = shl i64 %10, 1
%12 = tail call i64 @llvm.umax.i64(i64 %11, i64 %8)
%13 = tail call i64 @llvm.umax.i64(i64 %12, i64 4)
%14 = icmp ugt i64 %13, 230584300921369395
%15 = mul nuw nsw i64 %13, 40
%16 = select i1 %14, i64 0, i64 8
%17 = select i1 %14, i64 undef, i64 %15
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !1147
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !1147
%18 = load ptr, ptr %0, align 8, !alias.scope !1147
tail call void @llvm.experimental.noalias.scope.decl(metadata !1150)
%19 = icmp eq i64 %10, 0
br i1 %19, label %28, label %20
20: ; preds = %7
%21 = icmp ugt i64 %10, 230584300921369395
br i1 %21, label %22, label %23
22: ; preds = %20
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !1153
unreachable
23: ; preds = %20
%24 = mul nuw nsw i64 %10, 40
%25 = icmp ne ptr %18, null
tail call void @llvm.assume(i1 %25)
store ptr %18, ptr %3, align 8, !alias.scope !1150, !noalias !1147
%26 = getelementptr inbounds i8, ptr %3, i64 8
store i64 %24, ptr %26, align 8, !alias.scope !1150, !noalias !1147
%27 = getelementptr inbounds i8, ptr %3, i64 16
store i64 8, ptr %27, align 8, !alias.scope !1150, !noalias !1147
br label %30
28: ; preds = %7
%29 = getelementptr inbounds %84, ptr %3, i64 0, i32 1
store i64 0, ptr %29, align 8, !alias.scope !1150, !noalias !1147
br label %30
30: ; preds = %28, %23
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %4, i64 %17, i64 noundef %16, ptr noalias nocapture noundef nonnull readonly dereferenceable(24) %3), !noalias !1147
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !1147
%31 = load i64, ptr %4, align 8, !range !23, !noalias !1147, !noundef !25
%32 = icmp eq i64 %31, 0
%33 = getelementptr inbounds %85, ptr %4, i64 0, i32 1
%34 = load i64, ptr %33, align 8, !noalias !1147
%35 = getelementptr inbounds %85, ptr %4, i64 0, i32 1, i32 1
%36 = load i64, ptr %35, align 8, !noalias !1147
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1147
br i1 %32, label %37, label %39
37: ; preds = %30
%38 = inttoptr i64 %34 to ptr
store ptr %38, ptr %0, align 8, !alias.scope !1154
store i64 %13, ptr %9, align 8, !alias.scope !1154
br label %42
39: ; preds = %30
switch i64 %36, label %41 [
i64 -9223372036854775807, label %42
i64 0, label %40
]
40: ; preds = %39, %2
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
41: ; preds = %39
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %34, i64 noundef %36) #23
unreachable
42: ; preds = %39, %37
ret void
}
; Function Attrs: cold uwtable
define internal fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h09e56666905e5607E"(ptr noalias nocapture noundef align 8 dereferenceable(16) %0, i64 %1, i64 %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %84, align 8
%5 = alloca %87, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1157)
%6 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 %2)
%7 = extractvalue { i64, i1 } %6, 1
br i1 %7, label %41, label %8
8: ; preds = %3
%9 = extractvalue { i64, i1 } %6, 0
%10 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%11 = load i64, ptr %10, align 8, !alias.scope !1157
%12 = shl i64 %11, 1
%13 = tail call i64 @llvm.umax.i64(i64 %12, i64 %9)
%14 = tail call i64 @llvm.umax.i64(i64 %13, i64 4)
%15 = icmp ugt i64 %14, 384307168202282325
%16 = mul nuw nsw i64 %14, 24
%17 = select i1 %15, i64 0, i64 8
%18 = select i1 %15, i64 undef, i64 %16
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !1157
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !1157
%19 = load ptr, ptr %0, align 8, !alias.scope !1157
tail call void @llvm.experimental.noalias.scope.decl(metadata !1160)
%20 = icmp eq i64 %11, 0
br i1 %20, label %29, label %21
21: ; preds = %8
%22 = icmp ugt i64 %11, 384307168202282325
br i1 %22, label %23, label %24
23: ; preds = %21
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !1163
unreachable
24: ; preds = %21
%25 = mul nuw nsw i64 %11, 24
%26 = icmp ne ptr %19, null
tail call void @llvm.assume(i1 %26)
store ptr %19, ptr %4, align 8, !alias.scope !1160, !noalias !1157
%27 = getelementptr inbounds i8, ptr %4, i64 8
store i64 %25, ptr %27, align 8, !alias.scope !1160, !noalias !1157
%28 = getelementptr inbounds i8, ptr %4, i64 16
store i64 8, ptr %28, align 8, !alias.scope !1160, !noalias !1157
br label %31
29: ; preds = %8
%30 = getelementptr inbounds %84, ptr %4, i64 0, i32 1
store i64 0, ptr %30, align 8, !alias.scope !1160, !noalias !1157
br label %31
31: ; preds = %29, %24
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %5, i64 %18, i64 noundef %17, ptr noalias nocapture noundef nonnull readonly dereferenceable(24) %4), !noalias !1157
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1157
%32 = load i64, ptr %5, align 8, !range !23, !noalias !1157, !noundef !25
%33 = icmp eq i64 %32, 0
%34 = getelementptr inbounds %85, ptr %5, i64 0, i32 1
%35 = load i64, ptr %34, align 8, !noalias !1157
%36 = getelementptr inbounds %85, ptr %5, i64 0, i32 1, i32 1
%37 = load i64, ptr %36, align 8, !noalias !1157
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !1157
br i1 %33, label %38, label %40
38: ; preds = %31
%39 = inttoptr i64 %35 to ptr
store ptr %39, ptr %0, align 8, !alias.scope !1164
store i64 %14, ptr %10, align 8, !alias.scope !1164
br label %43
40: ; preds = %31
switch i64 %37, label %42 [
i64 -9223372036854775807, label %43
i64 0, label %41
]
41: ; preds = %40, %3
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
42: ; preds = %40
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %35, i64 noundef %37) #23
unreachable
43: ; preds = %40, %38
ret void
}
; Function Attrs: cold uwtable
define internal fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hde97e9673dc13d1cE"(ptr noalias nocapture noundef align 8 dereferenceable(16) %0, i64 %1, i64 %2) unnamed_addr #3 personality ptr @rust_eh_personality {
%4 = alloca %84, align 8
%5 = alloca %87, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1167)
%6 = icmp eq i64 %2, 0
br i1 %6, label %7, label %8
7: ; preds = %3
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.94, i64 32, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.95) #23, !noalias !1167
unreachable
8: ; preds = %3
%9 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 %2)
%10 = extractvalue { i64, i1 } %9, 1
br i1 %10, label %44, label %11
11: ; preds = %8
%12 = extractvalue { i64, i1 } %9, 0
%13 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%14 = load i64, ptr %13, align 8, !alias.scope !1167
%15 = shl i64 %14, 1
%16 = tail call i64 @llvm.umax.i64(i64 %15, i64 %12)
%17 = tail call i64 @llvm.umax.i64(i64 %16, i64 4)
%18 = icmp ugt i64 %17, 36028797018963967
%19 = shl nuw nsw i64 %17, 8
%20 = select i1 %18, i64 0, i64 8
%21 = select i1 %18, i64 undef, i64 %19
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !1167
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !1167
%22 = load ptr, ptr %0, align 8, !alias.scope !1167
tail call void @llvm.experimental.noalias.scope.decl(metadata !1170)
%23 = icmp eq i64 %14, 0
br i1 %23, label %32, label %24
24: ; preds = %11
%25 = icmp ugt i64 %14, 36028797018963967
br i1 %25, label %26, label %27
26: ; preds = %24
tail call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !1173
unreachable
27: ; preds = %24
%28 = shl nuw nsw i64 %14, 8
%29 = icmp ne ptr %22, null
tail call void @llvm.assume(i1 %29)
store ptr %22, ptr %4, align 8, !alias.scope !1170, !noalias !1167
%30 = getelementptr inbounds i8, ptr %4, i64 8
store i64 %28, ptr %30, align 8, !alias.scope !1170, !noalias !1167
%31 = getelementptr inbounds i8, ptr %4, i64 16
store i64 8, ptr %31, align 8, !alias.scope !1170, !noalias !1167
br label %34
32: ; preds = %11
%33 = getelementptr inbounds %84, ptr %4, i64 0, i32 1
store i64 0, ptr %33, align 8, !alias.scope !1170, !noalias !1167
br label %34
34: ; preds = %32, %27
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %5, i64 %21, i64 noundef %20, ptr noalias nocapture noundef nonnull readonly dereferenceable(24) %4), !noalias !1167
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1167
%35 = load i64, ptr %5, align 8, !range !23, !noalias !1167, !noundef !25
%36 = icmp eq i64 %35, 0
%37 = getelementptr inbounds %85, ptr %5, i64 0, i32 1
%38 = load i64, ptr %37, align 8, !noalias !1167
%39 = getelementptr inbounds %85, ptr %5, i64 0, i32 1, i32 1
%40 = load i64, ptr %39, align 8, !noalias !1167
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !1167
br i1 %36, label %41, label %43
41: ; preds = %34
%42 = inttoptr i64 %38 to ptr
store ptr %42, ptr %0, align 8, !alias.scope !1174
store i64 %17, ptr %13, align 8, !alias.scope !1174
br label %46
43: ; preds = %34
switch i64 %40, label %45 [
i64 -9223372036854775807, label %46
i64 0, label %44
]
44: ; preds = %43, %8
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
45: ; preds = %43
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %38, i64 noundef %40) #23
unreachable
46: ; preds = %43, %41
ret void
}
; Function Attrs: uwtable
define fastcc void @_ZN9backtrace9symbolize5gimli5macho6Object5parse17hf53dc46dd9e9925bE(ptr noalias nocapture noundef writeonly dereferenceable(128) %0, ptr noalias nocapture noundef readonly align 1 dereferenceable(32) %1, ptr noalias noundef nonnull readonly align 1 %2, i64 %3) unnamed_addr #0 personality ptr @rust_eh_personality {
%5 = alloca {}, align 1
%6 = alloca ptr, align 8
%7 = alloca %47, align 8
%8 = alloca %48, align 8
%9 = alloca %47, align 8
%10 = alloca ptr, align 8
%11 = alloca ptr, align 8
%12 = alloca %53, align 8
%13 = alloca %83, align 8
%14 = alloca %83, align 8
%15 = alloca %88, align 8
%16 = alloca %54, align 8
%17 = alloca %53, align 8
%18 = alloca %45, align 8
%19 = alloca [16 x i8], align 8
%20 = alloca %88, align 8
%21 = alloca %54, align 8
%22 = alloca %53, align 8
%23 = getelementptr i8, ptr %1, i64 12
%24 = load i32, ptr %23, align 1
%25 = icmp eq i32 %24, 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22)
store ptr inttoptr (i64 8 to ptr), ptr %22, align 8
%26 = getelementptr inbounds { ptr, i64 }, ptr %22, i64 0, i32 1
%27 = getelementptr inbounds %53, ptr %22, i64 0, i32 1
%28 = getelementptr i8, ptr %1, i64 16
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %26, i8 0, i64 16, i1 false)
%29 = load i32, ptr %28, align 1
%30 = getelementptr i8, ptr %1, i64 20
%31 = load i32, ptr %30, align 1
%32 = zext i32 %31 to i64
%33 = invoke { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$13read_bytes_at17h274d63fc503fbe11E"(ptr noalias noundef nonnull readonly align 1 %2, i64 %3, i64 32, i64 %32)
to label %34 unwind label %37
34: ; preds = %4
%35 = extractvalue { ptr, i64 } %33, 0
%36 = icmp eq ptr %35, null
br i1 %36, label %56, label %39
37: ; preds = %207, %4
%38 = landingpad { ptr, i32 }
cleanup
br label %613
39: ; preds = %34
%40 = extractvalue { ptr, i64 } %33, 1
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %21)
store ptr null, ptr %21, align 8
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20)
store ptr inttoptr (i64 8 to ptr), ptr %20, align 8
%41 = getelementptr inbounds { ptr, i64 }, ptr %20, i64 0, i32 1
%42 = getelementptr inbounds %88, ptr %20, i64 0, i32 1
%43 = icmp eq i32 %29, 0
%44 = icmp ult i64 %40, 8
%45 = select i1 %43, i1 true, i1 %44
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %41, i8 0, i64 16, i1 false)
br i1 %45, label %90, label %46
46: ; preds = %39
%47 = getelementptr inbounds i8, ptr %12, i64 8
%48 = getelementptr inbounds i8, ptr %12, i64 16
%49 = getelementptr inbounds { ptr, i64 }, ptr %9, i64 0, i32 1
%50 = getelementptr inbounds %47, ptr %9, i64 0, i32 1
%51 = getelementptr inbounds { ptr, i64 }, ptr %8, i64 0, i32 1
%52 = getelementptr inbounds %48, ptr %8, i64 0, i32 1
%53 = getelementptr inbounds i8, ptr %7, i64 16
%54 = getelementptr inbounds %45, ptr %18, i64 0, i32 1
%55 = getelementptr inbounds %45, ptr %18, i64 0, i32 1, i32 1
br label %69
56: ; preds = %34
%57 = getelementptr inbounds %89, ptr %0, i64 0, i32 1
store i8 2, ptr %57, align 8
br label %68
58: ; preds = %207, %204
call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21)
%59 = load ptr, ptr %22, align 8, !alias.scope !1177
%60 = load i64, ptr %26, align 8, !alias.scope !1177
call void @llvm.experimental.noalias.scope.decl(metadata !1177)
%61 = icmp eq i64 %60, 0
br i1 %61, label %68, label %62
62: ; preds = %58
%63 = icmp ugt i64 %60, 384307168202282325
br i1 %63, label %64, label %65
64: ; preds = %62
call void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23, !noalias !1180
unreachable
65: ; preds = %62
%66 = mul nuw nsw i64 %60, 24
%67 = icmp ne ptr %59, null
call void @llvm.assume(i1 %67)
call void @__rust_dealloc(ptr nonnull %59, i64 %66, i64 8) #22, !noalias !1177
br label %68
68: ; preds = %65, %58, %56
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22)
br label %171
69: ; preds = %565, %46
%70 = phi ptr [ null, %46 ], [ %569, %565 ]
%71 = phi i64 [ undef, %46 ], [ %568, %565 ]
%72 = phi i8 [ 0, %46 ], [ %567, %565 ]
%73 = phi i64 [ undef, %46 ], [ %566, %565 ]
%74 = phi ptr [ %35, %46 ], [ %82, %565 ]
%75 = phi i64 [ %40, %46 ], [ %83, %565 ]
%76 = phi i32 [ %29, %46 ], [ %153, %565 ]
%77 = getelementptr inbounds %90, ptr %74, i64 0, i32 1
%78 = load i32, ptr %77, align 1, !noalias !1183
%79 = zext i32 %78 to i64
%80 = icmp ult i64 %75, %79
%81 = getelementptr inbounds i8, ptr %74, i64 %79
%82 = select i1 %80, ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %81
%83 = call i64 @llvm.usub.sat.i64(i64 %75, i64 %79)
br i1 %80, label %90, label %151
84: ; preds = %218
%85 = landingpad { ptr, i32 }
cleanup
br label %607
86: ; preds = %593, %579, %349, %344, %187, %174
%87 = landingpad { ptr, i32 }
cleanup
br label %607
88: ; preds = %587, %246
%89 = landingpad { ptr, i32 }
cleanup
br label %607
90: ; preds = %565, %69, %39
%91 = phi i8 [ 0, %39 ], [ %567, %565 ], [ %72, %69 ]
%92 = phi i64 [ undef, %39 ], [ %568, %565 ], [ %71, %69 ]
%93 = phi ptr [ null, %39 ], [ %569, %565 ], [ %70, %69 ]
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %22, i64 24, i1 false)
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %16)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(48) %21, i64 48, i1 false)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %20, i64 24, i1 false)
call void @llvm.experimental.noalias.scope.decl(metadata !1187)
call void @llvm.experimental.noalias.scope.decl(metadata !1190)
%94 = getelementptr inbounds { ptr, i64 }, ptr %15, i64 0, i32 1
%95 = load i64, ptr %94, align 8, !alias.scope !1193
%96 = getelementptr inbounds %88, ptr %15, i64 0, i32 1
%97 = load i64, ptr %96, align 8, !alias.scope !1193
%98 = icmp ugt i64 %95, %97
br i1 %98, label %99, label %126
99: ; preds = %90
call void @llvm.experimental.noalias.scope.decl(metadata !1194)
call void @llvm.experimental.noalias.scope.decl(metadata !1197)
%100 = load ptr, ptr %15, align 8, !alias.scope !1200
%101 = icmp ugt i64 %95, 36028797018963967
br i1 %101, label %105, label %102
102: ; preds = %99
%103 = icmp ne ptr %100, null
call void @llvm.assume(i1 %103)
%104 = icmp ugt i64 %97, 36028797018963967
br i1 %104, label %105, label %108
105: ; preds = %102, %99
%106 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.93, %99 ], [ @anon.0f79382001bad1c9081319f05be50b13.96, %102 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %106) #23
to label %107 unwind label %149, !noalias !1187
107: ; preds = %105
unreachable
108: ; preds = %102
%109 = shl nuw nsw i64 %95, 8
%110 = shl nuw nsw i64 %97, 8
%111 = icmp ugt i64 %110, %109
br i1 %111, label %114, label %112
112: ; preds = %108
%113 = icmp eq i64 %97, 0
br i1 %113, label %120, label %121
114: ; preds = %108
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !1200
store ptr @anon.0f79382001bad1c9081319f05be50b13.107, ptr %14, align 8, !alias.scope !1201, !noalias !1204
%115 = getelementptr inbounds { ptr, i64 }, ptr %14, i64 0, i32 1
store i64 1, ptr %115, align 8, !alias.scope !1201, !noalias !1204
%116 = getelementptr inbounds %83, ptr %14, i64 0, i32 1
store ptr null, ptr %116, align 8, !alias.scope !1201, !noalias !1204
%117 = getelementptr inbounds %83, ptr %14, i64 0, i32 2
store ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %117, align 8, !alias.scope !1201, !noalias !1204
%118 = getelementptr inbounds %83, ptr %14, i64 0, i32 2, i32 1
store i64 0, ptr %118, align 8, !alias.scope !1201, !noalias !1204
invoke void @_ZN4core9panicking9panic_fmt17h30d6090f102031dcE(ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %14, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.108) #23
to label %119 unwind label %149, !noalias !1187
119: ; preds = %114
unreachable
120: ; preds = %112
call void @__rust_dealloc(ptr nonnull %100, i64 %109, i64 8) #22, !noalias !1200
br label %129
121: ; preds = %112
%122 = call align 8 ptr @__rust_realloc(ptr nonnull %100, i64 %109, i64 8, i64 %110) #22, !noalias !1200
%123 = icmp eq ptr %122, null
br i1 %123, label %124, label %129
124: ; preds = %121
invoke void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %110, i64 noundef 8) #23
to label %125 unwind label %149, !noalias !1187
125: ; preds = %124
unreachable
126: ; preds = %90
%127 = load ptr, ptr %15, align 8, !alias.scope !1187, !nonnull !25
%128 = icmp ugt i64 %97, %95
br i1 %128, label %137, label %129
129: ; preds = %126, %121, %120
%130 = phi ptr [ %127, %126 ], [ inttoptr (i64 8 to ptr), %120 ], [ %122, %121 ]
%131 = ptrtoint ptr %130 to i64
%132 = and i64 %131, 7
%133 = icmp ne i64 %132, 0
%134 = icmp ugt i64 %97, 36028797018963967
%135 = select i1 %133, i1 true, i1 %134
br i1 %135, label %136, label %158
136: ; preds = %129
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !1187
unreachable
137: ; preds = %126
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13), !noalias !1187
store ptr @anon.0f79382001bad1c9081319f05be50b13.98, ptr %13, align 8, !alias.scope !1207, !noalias !1210
%138 = getelementptr inbounds { ptr, i64 }, ptr %13, i64 0, i32 1
store i64 1, ptr %138, align 8, !alias.scope !1207, !noalias !1210
%139 = getelementptr inbounds %83, ptr %13, i64 0, i32 1
store ptr null, ptr %139, align 8, !alias.scope !1207, !noalias !1210
%140 = getelementptr inbounds %83, ptr %13, i64 0, i32 2
store ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %140, align 8, !alias.scope !1207, !noalias !1210
%141 = getelementptr inbounds %83, ptr %13, i64 0, i32 2, i32 1
store i64 0, ptr %141, align 8, !alias.scope !1207, !noalias !1210
invoke void @_ZN4core9panicking9panic_fmt17h30d6090f102031dcE(ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %13, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.99) #23
to label %142 unwind label %143, !noalias !1187
142: ; preds = %137
unreachable
143: ; preds = %137
%144 = landingpad { ptr, i32 }
cleanup
invoke fastcc void @"_ZN4core3ptr143drop_in_place$LT$alloc..raw_vec..RawVec$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$$GT$17hfa5c83605dcae89dE"(ptr nonnull %127, i64 %95) #24
to label %156 unwind label %145, !noalias !1187
145: ; preds = %143
%146 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1187
unreachable
147: ; preds = %149
%148 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1187
unreachable
149: ; preds = %124, %114, %105
%150 = landingpad { ptr, i32 }
cleanup
invoke fastcc void @"_ZN4core3ptr136drop_in_place$LT$alloc..vec..Vec$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$$GT$17hdb066149c5010294E"(ptr noalias nonnull align 8 dereferenceable(24) %15) #24
to label %156 unwind label %147
151: ; preds = %69
%152 = load i32, ptr %74, align 1, !noalias !1183
%153 = add i32 %76, -1
switch i32 %152, label %565 [
i32 25, label %154
i32 2, label %185
]
154: ; preds = %151
%155 = icmp ult i32 %78, 72
br i1 %155, label %172, label %174
156: ; preds = %149, %143
%157 = phi { ptr, i32 } [ %150, %149 ], [ %144, %143 ]
invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"(ptr noalias nonnull align 8 dereferenceable(48) %16) #24
to label %170 unwind label %168
158: ; preds = %129
%159 = and i8 %91, 1
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15)
%160 = getelementptr inbounds i8, ptr %0, i64 32
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %160, ptr noundef nonnull align 8 dereferenceable(24) %22, i64 24, i1 false)
%161 = getelementptr inbounds i8, ptr %0, i64 56
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %161, ptr noundef nonnull align 8 dereferenceable(48) %21, i64 48, i1 false)
call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17)
store ptr %2, ptr %0, align 8
%162 = getelementptr inbounds i8, ptr %0, i64 8
store i64 %3, ptr %162, align 8
%163 = getelementptr inbounds i8, ptr %0, i64 16
store ptr %93, ptr %163, align 8
%164 = getelementptr inbounds i8, ptr %0, i64 24
store i64 %92, ptr %164, align 8
%165 = getelementptr inbounds i8, ptr %0, i64 104
store ptr %130, ptr %165, align 8
%166 = getelementptr inbounds i8, ptr %0, i64 112
store i64 %97, ptr %166, align 8
%167 = getelementptr inbounds i8, ptr %0, i64 120
store i8 %159, ptr %167, align 8
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20)
call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22)
br label %171
168: ; preds = %613, %609, %607, %563, %170, %156
%169 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
170: ; preds = %156
invoke fastcc void @"_ZN4core3ptr169drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..unit..AttributeValue$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h938b495ded9e9fc3E"(ptr noalias nonnull align 8 dereferenceable(24) %17) #24
to label %611 unwind label %168
171: ; preds = %158, %68
ret void
172: ; preds = %196, %185, %154
%173 = getelementptr inbounds %89, ptr %0, i64 0, i32 1
store i8 2, ptr %173, align 8
invoke fastcc void @"_ZN4core3ptr136drop_in_place$LT$alloc..vec..Vec$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$$GT$17hdb066149c5010294E"(ptr noalias nonnull align 8 dereferenceable(24) %20)
to label %204 unwind label %202
174: ; preds = %154
%175 = add nsw i64 %79, -72
%176 = getelementptr inbounds i8, ptr %74, i64 72
%177 = getelementptr inbounds %93, ptr %74, i64 0, i32 2
%178 = invoke { i64, i64 } @_ZN6memchr6memchr3x864sse26memchr17h77ecfc1a99a92070E(i8 0, ptr noalias noundef nonnull readonly align 1 %177, i64 16)
to label %179 unwind label %86
179: ; preds = %174
%180 = extractvalue { i64, i64 } %178, 1
%181 = extractvalue { i64, i64 } %178, 0
%182 = icmp eq i64 %181, 0
br i1 %182, label %578, label %183
183: ; preds = %179
%184 = icmp ugt i64 %180, 16
br i1 %184, label %587, label %573
185: ; preds = %151
%186 = icmp ult i32 %78, 24
br i1 %186, label %172, label %187
187: ; preds = %185
%188 = getelementptr inbounds %95, ptr %74, i64 0, i32 2
%189 = load i32, ptr %188, align 1, !alias.scope !1213, !noalias !1216
%190 = zext i32 %189 to i64
%191 = getelementptr inbounds %95, ptr %74, i64 0, i32 3
%192 = load i32, ptr %191, align 1, !alias.scope !1213, !noalias !1216
%193 = zext i32 %192 to i64
%194 = shl nuw nsw i64 %193, 4
%195 = invoke { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$13read_bytes_at17h274d63fc503fbe11E"(ptr noalias noundef nonnull readonly align 1 %2, i64 %3, i64 %190, i64 %194)
to label %196 unwind label %86
196: ; preds = %187
%197 = extractvalue { ptr, i64 } %195, 0
%198 = icmp eq ptr %197, null
%199 = extractvalue { ptr, i64 } %195, 1
%200 = icmp ugt i64 %194, %199
%201 = select i1 %198, i1 true, i1 %200
br i1 %201, label %172, label %208
202: ; preds = %172
%203 = landingpad { ptr, i32 }
cleanup
br label %609
204: ; preds = %172
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20)
%205 = load ptr, ptr %21, align 8, !alias.scope !1219
%206 = icmp eq ptr %205, null
br i1 %206, label %58, label %207
207: ; preds = %204
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr noalias nonnull align 8 dereferenceable(48) %21)
to label %58 unwind label %37
208: ; preds = %196
%209 = getelementptr inbounds %95, ptr %74, i64 0, i32 4
%210 = load i32, ptr %209, align 1, !alias.scope !1213, !noalias !1216
%211 = zext i32 %210 to i64
%212 = getelementptr inbounds %95, ptr %74, i64 0, i32 5
%213 = load i32, ptr %212, align 1, !alias.scope !1213, !noalias !1216
%214 = zext i32 %213 to i64
%215 = add nuw nsw i64 %214, %211
call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19)
%216 = getelementptr inbounds %96, ptr %197, i64 %193
call void @llvm.experimental.noalias.scope.decl(metadata !1222)
call void @llvm.experimental.noalias.scope.decl(metadata !1225)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12), !noalias !1228
%217 = icmp eq i32 %192, 0
br i1 %217, label %240, label %218
218: ; preds = %238, %208
%219 = phi ptr [ %220, %238 ], [ %197, %208 ]
%220 = getelementptr inbounds %96, ptr %219, i64 1
%221 = load i32, ptr %219, align 1, !alias.scope !1231, !noalias !1236
%222 = zext i32 %221 to i64
%223 = add nuw nsw i64 %211, %222
%224 = invoke { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$19read_bytes_at_until17he93e9e7b4e443417E"(ptr noalias noundef nonnull readonly align 1 %2, i64 %3, i64 %223, i64 %215, i8 0)
to label %225 unwind label %84
225: ; preds = %218
%226 = extractvalue { ptr, i64 } %224, 0
%227 = icmp eq ptr %226, null
%228 = extractvalue { ptr, i64 } %224, 1
%229 = icmp eq i64 %228, 0
%230 = select i1 %227, i1 true, i1 %229
br i1 %230, label %238, label %231
231: ; preds = %225
%232 = getelementptr i8, ptr %219, i64 4
%233 = load i8, ptr %232, align 1, !alias.scope !1231, !noalias !1236
%234 = icmp ult i8 %233, 32
%235 = and i8 %233, 14
%236 = icmp ne i8 %235, 0
%237 = and i1 %234, %236
br i1 %237, label %241, label %238
238: ; preds = %231, %225
%239 = icmp eq ptr %220, %216
br i1 %239, label %240, label %218, !llvm.loop !1246
240: ; preds = %238, %208
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %19, i8 0, i64 16, i1 false), !alias.scope !1248, !noalias !1249
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !1228
br label %319
241: ; preds = %231
%242 = getelementptr i8, ptr %219, i64 8
%243 = load i64, ptr %242, align 1, !alias.scope !1231, !noalias !1236
%244 = call align 8 dereferenceable(96) ptr @__rust_alloc(i64 96, i64 8) #22, !noalias !1228
%245 = icmp eq ptr %244, null
br i1 %245, label %246, label %248
246: ; preds = %241
invoke void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 96, i64 noundef 8) #23
to label %247 unwind label %88
247: ; preds = %246
unreachable
248: ; preds = %241
%249 = extractvalue { ptr, i64 } %224, 1
%250 = extractvalue { ptr, i64 } %224, 0
store ptr %250, ptr %244, align 8, !noalias !1228
%251 = getelementptr inbounds i8, ptr %244, i64 8
store i64 %249, ptr %251, align 8, !noalias !1228
%252 = getelementptr inbounds i8, ptr %244, i64 16
store i64 %243, ptr %252, align 8, !noalias !1228
store ptr %244, ptr %12, align 8, !noalias !1228
store i64 4, ptr %47, align 8, !noalias !1228
store i64 1, ptr %48, align 8, !noalias !1228
call void @llvm.experimental.noalias.scope.decl(metadata !1250)
call void @llvm.experimental.noalias.scope.decl(metadata !1253)
%253 = icmp eq ptr %220, %216
br i1 %253, label %317, label %254
254: ; preds = %302, %248
%255 = phi ptr [ %288, %302 ], [ %244, %248 ]
%256 = phi i64 [ %298, %302 ], [ 4, %248 ]
%257 = phi i64 [ %297, %302 ], [ 1, %248 ]
%258 = phi ptr [ %261, %302 ], [ %220, %248 ]
br label %259
259: ; preds = %279, %254
%260 = phi ptr [ %261, %279 ], [ %258, %254 ]
%261 = getelementptr inbounds %96, ptr %260, i64 1
%262 = load i32, ptr %260, align 1, !alias.scope !1256, !noalias !1261
%263 = zext i32 %262 to i64
%264 = add nuw nsw i64 %211, %263
%265 = invoke { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$19read_bytes_at_until17he93e9e7b4e443417E"(ptr noalias noundef nonnull readonly align 1 %2, i64 %3, i64 %264, i64 %215, i8 0)
to label %266 unwind label %309, !noalias !1228
266: ; preds = %259
%267 = extractvalue { ptr, i64 } %265, 0
%268 = icmp eq ptr %267, null
%269 = extractvalue { ptr, i64 } %265, 1
%270 = icmp eq i64 %269, 0
%271 = select i1 %268, i1 true, i1 %270
br i1 %271, label %279, label %272
272: ; preds = %266
%273 = getelementptr i8, ptr %260, i64 4
%274 = load i8, ptr %273, align 1, !alias.scope !1256, !noalias !1261
%275 = icmp ult i8 %274, 32
%276 = and i8 %274, 14
%277 = icmp ne i8 %276, 0
%278 = and i1 %275, %277
br i1 %278, label %281, label %279
279: ; preds = %272, %266
%280 = icmp eq ptr %261, %216
br i1 %280, label %317, label %259, !llvm.loop !1246
281: ; preds = %272
%282 = extractvalue { ptr, i64 } %265, 0
%283 = extractvalue { ptr, i64 } %265, 1
%284 = getelementptr i8, ptr %260, i64 8
%285 = load i64, ptr %284, align 1, !alias.scope !1256, !noalias !1261
%286 = icmp eq i64 %257, %256
br i1 %286, label %304, label %287
287: ; preds = %305, %281
%288 = phi ptr [ %306, %305 ], [ %255, %281 ]
%289 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %288, i64 %257
%290 = ptrtoint ptr %289 to i64
%291 = and i64 %290, 7
%292 = icmp eq i64 %291, 0
br i1 %292, label %294, label %293
293: ; preds = %287
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1273
unreachable
294: ; preds = %287
store ptr %282, ptr %289, align 8, !noalias !1276
%295 = getelementptr inbounds i8, ptr %289, i64 8
store i64 %283, ptr %295, align 8, !noalias !1276
%296 = getelementptr inbounds i8, ptr %289, i64 16
store i64 %285, ptr %296, align 8, !noalias !1276
%297 = add i64 %257, 1
%298 = load i64, ptr %47, align 8, !alias.scope !1277, !noalias !1280
%299 = icmp ult i64 %298, %297
br i1 %299, label %300, label %302
300: ; preds = %294
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.75, i64 44, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.77) #23
to label %301 unwind label %313, !noalias !1228
301: ; preds = %300
unreachable
302: ; preds = %294
store i64 %297, ptr %48, align 8, !alias.scope !1277, !noalias !1280
%303 = icmp eq ptr %261, %216
br i1 %303, label %317, label %254
304: ; preds = %281
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h09e56666905e5607E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %12, i64 %256, i64 1)
to label %305 unwind label %311, !noalias !1228
305: ; preds = %304
%306 = load ptr, ptr %12, align 8, !alias.scope !1281, !noalias !1280
br label %287
307: ; preds = %315
%308 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1228
unreachable
309: ; preds = %259
%310 = landingpad { ptr, i32 }
cleanup
br label %315
311: ; preds = %304
%312 = landingpad { ptr, i32 }
cleanup
br label %315
313: ; preds = %300
%314 = landingpad { ptr, i32 }
cleanup
br label %315
315: ; preds = %313, %311, %309
%316 = phi { ptr, i32 } [ %310, %309 ], [ %312, %311 ], [ %314, %313 ]
invoke fastcc void @"_ZN4core3ptr169drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..unit..AttributeValue$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h938b495ded9e9fc3E"(ptr noalias nonnull align 8 dereferenceable(24) %12) #24
to label %607 unwind label %307, !noalias !1228
317: ; preds = %302, %279, %248
%318 = load ptr, ptr %12, align 8, !noalias !1249
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %19, ptr noundef nonnull align 8 dereferenceable(16) %47, i64 16, i1 false), !noalias !1249
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12), !noalias !1228
br label %319
319: ; preds = %317, %240
%320 = phi ptr [ inttoptr (i64 8 to ptr), %240 ], [ %318, %317 ]
call void @llvm.experimental.noalias.scope.decl(metadata !1282)
%321 = load ptr, ptr %22, align 8, !alias.scope !1282
%322 = load i64, ptr %26, align 8, !alias.scope !1282
%323 = icmp eq i64 %322, 0
br i1 %323, label %333, label %324
324: ; preds = %319
%325 = icmp ugt i64 %322, 384307168202282325
br i1 %325, label %326, label %328
326: ; preds = %324
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.93) #23
to label %327 unwind label %331
327: ; preds = %326
unreachable
328: ; preds = %324
%329 = mul nuw nsw i64 %322, 24
%330 = icmp ne ptr %321, null
call void @llvm.assume(i1 %330)
call void @__rust_dealloc(ptr nonnull %321, i64 %329, i64 8) #22, !noalias !1282
br label %333
331: ; preds = %326
%332 = landingpad { ptr, i32 }
cleanup
store ptr %320, ptr %22, align 8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(16) %19, i64 16, i1 false)
br label %607
333: ; preds = %328, %319
store ptr %320, ptr %22, align 8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull align 8 dereferenceable(16) %19, i64 16, i1 false)
call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19)
%334 = load i64, ptr %27, align 8
%335 = ptrtoint ptr %320 to i64
%336 = and i64 %335, 7
%337 = icmp ne i64 %336, 0
%338 = icmp ugt i64 %334, 384307168202282325
%339 = select i1 %337, i1 true, i1 %338
br i1 %25, label %342, label %340
340: ; preds = %333
br i1 %339, label %341, label %349
341: ; preds = %340
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21
unreachable
342: ; preds = %333
br i1 %339, label %343, label %344
343: ; preds = %342
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21
unreachable
344: ; preds = %342
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %5)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11), !noalias !1285
store ptr %5, ptr %11, align 8, !noalias !1288
%345 = call i64 @llvm.ctlz.i64(i64 %334, i1 false), !range !413
%346 = trunc i64 %345 to i32
%347 = sub nuw nsw i32 64, %346
invoke fastcc void @_ZN4core5slice4sort7recurse17ha922cf6696d797b1E(ptr noalias noundef nonnull align 8 %320, i64 %334, ptr noalias noundef nonnull align 8 dereferenceable(8) %11, ptr noalias noundef readonly align 8 dereferenceable(24) null, i32 %347)
to label %348 unwind label %86
348: ; preds = %344
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11), !noalias !1285
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %5)
br label %565
349: ; preds = %340
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %5)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10), !noalias !1292
store ptr %5, ptr %10, align 8, !noalias !1295
%350 = call i64 @llvm.ctlz.i64(i64 %334, i1 false), !range !413
%351 = trunc i64 %350 to i32
%352 = sub nuw nsw i32 64, %351
invoke fastcc void @_ZN4core5slice4sort7recurse17hf486805dab7ff5ecE(ptr noalias noundef nonnull align 8 %320, i64 %334, ptr noalias noundef nonnull align 8 dereferenceable(8) %10, ptr noalias noundef readonly align 8 dereferenceable(24) null, i32 %352)
to label %353 unwind label %86
353: ; preds = %349
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10), !noalias !1292
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %5)
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %18)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !1299
store ptr inttoptr (i64 8 to ptr), ptr %9, align 8, !noalias !1299
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %49, i8 0, i64 16, i1 false), !noalias !1299
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8), !noalias !1299
store ptr inttoptr (i64 8 to ptr), ptr %8, align 8, !noalias !1299
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %51, i8 0, i64 16, i1 false), !noalias !1299
br label %384
354: ; preds = %458, %433, %402, %394
%355 = landingpad { ptr, i32 }
cleanup
br label %356
356: ; preds = %370, %354
%357 = phi { ptr, i32 } [ %371, %370 ], [ %355, %354 ]
invoke fastcc void @"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E"(ptr noalias nonnull align 8 dereferenceable(24) %8) #24
to label %474 unwind label %472, !noalias !1299
358: ; preds = %384, %378
%359 = phi ptr [ %379, %378 ], [ %387, %384 ]
%360 = icmp eq ptr %359, %216
br i1 %360, label %361, label %378
361: ; preds = %358
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !1299
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !1299
call void @llvm.experimental.noalias.scope.decl(metadata !1303)
%362 = load ptr, ptr %7, align 8, !alias.scope !1303, !noalias !1306, !nonnull !25, !noundef !25
%363 = load i64, ptr %53, align 8, !alias.scope !1303, !noalias !1306
%364 = ptrtoint ptr %362 to i64
%365 = and i64 %364, 7
%366 = icmp ne i64 %365, 0
%367 = icmp ugt i64 %363, 230584300921369395
%368 = select i1 %366, i1 true, i1 %367
br i1 %368, label %369, label %372
369: ; preds = %361
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !1308
unreachable
370: ; preds = %372
%371 = landingpad { ptr, i32 }
cleanup
invoke fastcc void @"_ZN4core3ptr164drop_in_place$LT$alloc..vec..Vec$LT$addr2line..function..InlinedFunction$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h074fef07dae071abE"(ptr noalias nonnull align 8 dereferenceable(24) %7) #24
to label %356 unwind label %376, !noalias !1306
372: ; preds = %361
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %5), !noalias !1308
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6), !noalias !1309
store ptr %5, ptr %6, align 8, !noalias !1312
%373 = call i64 @llvm.ctlz.i64(i64 %363, i1 false), !range !413
%374 = trunc i64 %373 to i32
%375 = sub nuw nsw i32 64, %374
invoke fastcc void @_ZN4core5slice4sort7recurse17h8082417d3214f1b3E(ptr noalias noundef nonnull align 8 %362, i64 %363, ptr noalias noundef nonnull align 8 dereferenceable(8) %6, ptr noalias noundef readonly align 8 dereferenceable(40) null, i32 %375)
to label %476 unwind label %370, !noalias !1308
376: ; preds = %370
%377 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1308
unreachable
378: ; preds = %358
%379 = getelementptr inbounds %96, ptr %359, i64 1
%380 = getelementptr i8, ptr %359, i64 4
%381 = load i8, ptr %380, align 1, !noalias !1299
%382 = icmp ult i8 %381, 32
br i1 %382, label %358, label %383
383: ; preds = %378
switch i8 %381, label %464 [
i8 100, label %393
i8 102, label %394
i8 36, label %402
]
384: ; preds = %464, %353
%385 = phi ptr [ inttoptr (i64 8 to ptr), %353 ], [ %465, %464 ]
%386 = phi i64 [ 0, %353 ], [ %466, %464 ]
%387 = phi ptr [ %197, %353 ], [ %379, %464 ]
%388 = phi i64 [ undef, %353 ], [ %467, %464 ]
%389 = phi i64 [ undef, %353 ], [ %468, %464 ]
%390 = phi ptr [ null, %353 ], [ %469, %464 ]
%391 = phi i64 [ undef, %353 ], [ %470, %464 ]
%392 = phi i64 [ 0, %353 ], [ %471, %464 ]
br label %358
393: ; preds = %383
br label %464
394: ; preds = %383
%395 = load i32, ptr %359, align 1, !noalias !1299
%396 = zext i32 %395 to i64
%397 = add nuw nsw i64 %211, %396
%398 = invoke { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$19read_bytes_at_until17he93e9e7b4e443417E"(ptr noalias noundef nonnull readonly align 1 %2, i64 %3, i64 %397, i64 %215, i8 0)
to label %399 unwind label %354
399: ; preds = %394
%400 = extractvalue { ptr, i64 } %398, 0
%401 = icmp eq ptr %400, null
br i1 %401, label %464, label %443
402: ; preds = %383
%403 = load i32, ptr %359, align 1, !noalias !1299
%404 = zext i32 %403 to i64
%405 = add nuw nsw i64 %211, %404
%406 = invoke { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$19read_bytes_at_until17he93e9e7b4e443417E"(ptr noalias noundef nonnull readonly align 1 %2, i64 %3, i64 %405, i64 %215, i8 0)
to label %407 unwind label %354
407: ; preds = %402
%408 = extractvalue { ptr, i64 } %406, 0
%409 = icmp eq ptr %408, null
br i1 %409, label %464, label %410
410: ; preds = %407
%411 = extractvalue { ptr, i64 } %406, 1
%412 = icmp eq i64 %411, 0
br i1 %412, label %416, label %413
413: ; preds = %410
%414 = getelementptr i8, ptr %359, i64 8
%415 = load i64, ptr %414, align 1, !noalias !1299
br label %464
416: ; preds = %410
%417 = icmp ne ptr %390, null
%418 = icmp eq i64 %392, 1
%419 = select i1 %417, i1 %418, i1 false
br i1 %419, label %420, label %464
420: ; preds = %416
%421 = getelementptr i8, ptr %359, i64 8
%422 = load i64, ptr %421, align 1, !noalias !1299
call void @llvm.experimental.noalias.scope.decl(metadata !1316)
%423 = load i64, ptr %49, align 8, !alias.scope !1316, !noalias !1319
%424 = icmp eq i64 %386, %423
br i1 %424, label %433, label %425
425: ; preds = %434, %420
%426 = phi ptr [ %436, %434 ], [ %385, %420 ]
%427 = phi i64 [ %435, %434 ], [ %386, %420 ]
%428 = getelementptr inbounds %67, ptr %426, i64 %427
%429 = ptrtoint ptr %428 to i64
%430 = and i64 %429, 7
%431 = icmp eq i64 %430, 0
br i1 %431, label %437, label %432
432: ; preds = %425
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1321
unreachable
433: ; preds = %420
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1e8dea1a4361a50aE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %9, i64 %386)
to label %434 unwind label %354, !noalias !1299
434: ; preds = %433
%435 = load i64, ptr %50, align 8, !alias.scope !1316, !noalias !1319
%436 = load ptr, ptr %9, align 8, !alias.scope !1316, !noalias !1319
br label %425
437: ; preds = %425
store i64 %388, ptr %428, align 8, !noalias !1316
%438 = getelementptr inbounds i8, ptr %428, i64 8
store i64 %422, ptr %438, align 8, !noalias !1316
%439 = getelementptr inbounds i8, ptr %428, i64 16
store ptr %390, ptr %439, align 8, !noalias !1316
%440 = getelementptr inbounds i8, ptr %428, i64 24
store i64 %389, ptr %440, align 8, !noalias !1316
%441 = getelementptr inbounds i8, ptr %428, i64 32
store i64 %391, ptr %441, align 8, !noalias !1316
%442 = add i64 %427, 1
store i64 %442, ptr %50, align 8, !alias.scope !1316, !noalias !1319
br label %464
443: ; preds = %399
%444 = extractvalue { ptr, i64 } %398, 1
%445 = icmp eq i64 %444, 0
br i1 %445, label %464, label %446
446: ; preds = %443
%447 = load i64, ptr %52, align 8, !noalias !1299
call void @llvm.experimental.noalias.scope.decl(metadata !1324)
%448 = load i64, ptr %51, align 8, !alias.scope !1324, !noalias !1327
%449 = icmp eq i64 %447, %448
br i1 %449, label %458, label %450
450: ; preds = %459, %446
%451 = phi i64 [ %460, %459 ], [ %447, %446 ]
%452 = load ptr, ptr %8, align 8, !alias.scope !1324, !noalias !1327, !nonnull !25, !noundef !25
%453 = getelementptr inbounds { ptr, i64 }, ptr %452, i64 %451
%454 = ptrtoint ptr %453 to i64
%455 = and i64 %454, 7
%456 = icmp eq i64 %455, 0
br i1 %456, label %461, label %457
457: ; preds = %450
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1329
unreachable
458: ; preds = %446
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h127eb28a3a48fcd0E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %8, i64 %447)
to label %459 unwind label %354, !noalias !1299
459: ; preds = %458
%460 = load i64, ptr %52, align 8, !alias.scope !1324, !noalias !1327
br label %450
461: ; preds = %450
store ptr %400, ptr %453, align 8, !noalias !1329
%462 = getelementptr inbounds i8, ptr %453, i64 8
store i64 %444, ptr %462, align 8, !noalias !1332
%463 = add i64 %451, 1
store i64 %463, ptr %52, align 8, !alias.scope !1324, !noalias !1327
br label %464
464: ; preds = %461, %443, %437, %416, %413, %407, %399, %393, %383
%465 = phi ptr [ %385, %383 ], [ %385, %393 ], [ %385, %413 ], [ %426, %437 ], [ %385, %416 ], [ %385, %461 ], [ %385, %443 ], [ %385, %407 ], [ %385, %399 ]
%466 = phi i64 [ %386, %383 ], [ %386, %393 ], [ %386, %413 ], [ %442, %437 ], [ %386, %416 ], [ %386, %461 ], [ %386, %443 ], [ %386, %407 ], [ %386, %399 ]
%467 = phi i64 [ %388, %383 ], [ %388, %393 ], [ %415, %413 ], [ undef, %437 ], [ undef, %416 ], [ %388, %461 ], [ %388, %443 ], [ %388, %407 ], [ %388, %399 ]
%468 = phi i64 [ %389, %383 ], [ %389, %393 ], [ %411, %413 ], [ undef, %437 ], [ undef, %416 ], [ %389, %461 ], [ %389, %443 ], [ %389, %407 ], [ %389, %399 ]
%469 = phi ptr [ %390, %383 ], [ %390, %393 ], [ %408, %413 ], [ null, %437 ], [ null, %416 ], [ %390, %461 ], [ %390, %443 ], [ %390, %407 ], [ %390, %399 ]
%470 = phi i64 [ %391, %383 ], [ undef, %393 ], [ %391, %413 ], [ %391, %437 ], [ %391, %416 ], [ %447, %461 ], [ undef, %443 ], [ %391, %407 ], [ undef, %399 ]
%471 = phi i64 [ %392, %383 ], [ 0, %393 ], [ %392, %413 ], [ 1, %437 ], [ %392, %416 ], [ 1, %461 ], [ 0, %443 ], [ %392, %407 ], [ 0, %399 ]
br label %384
472: ; preds = %475, %356
%473 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1299
unreachable
474: ; preds = %356
br i1 %360, label %607, label %475
475: ; preds = %474
invoke fastcc void @"_ZN4core3ptr164drop_in_place$LT$alloc..vec..Vec$LT$addr2line..function..InlinedFunction$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h074fef07dae071abE"(ptr noalias nonnull align 8 dereferenceable(24) %9) #24
to label %607 unwind label %472, !noalias !1299
476: ; preds = %372
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !1309
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %5), !noalias !1308
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !1333
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !1299
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false), !noalias !1333
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8), !noalias !1299
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !1299
%477 = load ptr, ptr %54, align 8, !nonnull !25, !noundef !25
%478 = load i64, ptr %55, align 8
%479 = ptrtoint ptr %477 to i64
%480 = and i64 %479, 7
%481 = icmp ne i64 %480, 0
%482 = icmp ugt i64 %478, 576460752303423487
%483 = select i1 %481, i1 true, i1 %482
br i1 %483, label %484, label %489
484: ; preds = %476
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.34, i64 162) #21
unreachable
485: ; preds = %561
%486 = landingpad { ptr, i32 }
cleanup
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull align 8 dereferenceable(48) %18, i64 48, i1 false)
br label %607
487: ; preds = %521
%488 = landingpad { ptr, i32 }
cleanup
br label %563
489: ; preds = %476
call void @llvm.experimental.noalias.scope.decl(metadata !1334)
%490 = load i64, ptr %42, align 8, !alias.scope !1334
%491 = icmp ugt i64 %478, %490
br i1 %491, label %516, label %492
492: ; preds = %489
call void @llvm.experimental.noalias.scope.decl(metadata !1337)
%493 = load ptr, ptr %20, align 8, !alias.scope !1340, !nonnull !25, !noundef !25
store i64 %478, ptr %42, align 8, !alias.scope !1340
%494 = getelementptr inbounds %9, ptr %493, i64 %490
%495 = icmp eq i64 %478, %490
br i1 %495, label %558, label %496
496: ; preds = %492
%497 = getelementptr inbounds %9, ptr %493, i64 %478
br label %498
498: ; preds = %505, %496
%499 = phi ptr [ %500, %505 ], [ %497, %496 ]
%500 = getelementptr inbounds %9, ptr %499, i64 1
%501 = getelementptr inbounds %9, ptr %499, i64 0, i32 1
%502 = load i8, ptr %501, align 8, !range !31, !alias.scope !1341, !noalias !1340, !noundef !25
%503 = icmp ult i8 %502, 2
br i1 %503, label %504, label %505
504: ; preds = %498
invoke fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %499) #26
to label %505 unwind label %510, !noalias !1340
505: ; preds = %504, %498
%506 = icmp eq ptr %500, %494
br i1 %506, label %558, label %498
507: ; preds = %512, %510
%508 = phi ptr [ %500, %510 ], [ %513, %512 ]
%509 = icmp eq ptr %508, %494
br i1 %509, label %563, label %512
510: ; preds = %504
%511 = landingpad { ptr, i32 }
cleanup
br label %507
512: ; preds = %507
%513 = getelementptr inbounds %9, ptr %508, i64 1
invoke fastcc void @"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"(ptr noalias nonnull align 8 dereferenceable(256) %508) #27
to label %507 unwind label %514, !noalias !1340
514: ; preds = %512
%515 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1340
unreachable
516: ; preds = %489
%517 = sub i64 %478, %490
call void @llvm.experimental.noalias.scope.decl(metadata !1346)
%518 = load i64, ptr %41, align 8, !alias.scope !1349
%519 = sub i64 %518, %490
%520 = icmp ult i64 %519, %517
br i1 %520, label %521, label %524
521: ; preds = %516
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hde97e9673dc13d1cE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %20, i64 %490, i64 %517)
to label %522 unwind label %487
522: ; preds = %521
%523 = load i64, ptr %42, align 8, !alias.scope !1354
br label %524
524: ; preds = %522, %516
%525 = phi i64 [ %490, %516 ], [ %523, %522 ]
%526 = load ptr, ptr %20, align 8, !alias.scope !1354, !nonnull !25, !noundef !25
%527 = getelementptr inbounds %9, ptr %526, i64 %525
%528 = icmp ugt i64 %517, 1
br i1 %528, label %529, label %532
529: ; preds = %524
%530 = add i64 %517, -1
%531 = add i64 %530, %525
br label %536
532: ; preds = %543, %524
%533 = phi i64 [ %525, %524 ], [ %531, %543 ]
%534 = phi ptr [ %527, %524 ], [ %546, %543 ]
%535 = icmp eq i64 %478, %490
br i1 %535, label %556, label %548
536: ; preds = %543, %529
%537 = phi ptr [ %546, %543 ], [ %527, %529 ]
%538 = phi i64 [ %544, %543 ], [ 1, %529 ]
%539 = ptrtoint ptr %537 to i64
%540 = and i64 %539, 7
%541 = icmp eq i64 %540, 0
br i1 %541, label %543, label %542
542: ; preds = %536
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1355
unreachable
543: ; preds = %536
%544 = add nuw i64 %538, 1
%545 = getelementptr inbounds i8, ptr %537, i64 184
store i8 3, ptr %545, align 8, !noalias !1354
%546 = getelementptr inbounds %9, ptr %537, i64 1
%547 = icmp eq i64 %544, %517
br i1 %547, label %532, label %536
548: ; preds = %532
%549 = ptrtoint ptr %534 to i64
%550 = and i64 %549, 7
%551 = icmp eq i64 %550, 0
br i1 %551, label %553, label %552
552: ; preds = %548
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1358
unreachable
553: ; preds = %548
%554 = getelementptr inbounds i8, ptr %534, i64 184
store i8 3, ptr %554, align 8, !noalias !1354
%555 = add i64 %533, 1
br label %556
556: ; preds = %553, %532
%557 = phi i64 [ %533, %532 ], [ %555, %553 ]
store i64 %557, ptr %42, align 8, !alias.scope !1354
br label %558
558: ; preds = %556, %505, %492
%559 = load ptr, ptr %21, align 8, !alias.scope !1361
%560 = icmp eq ptr %559, null
br i1 %560, label %562, label %561
561: ; preds = %558
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr noalias nonnull align 8 dereferenceable(48) %21)
to label %562 unwind label %485
562: ; preds = %561, %558
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull align 8 dereferenceable(48) %18, i64 48, i1 false)
call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18)
br label %565
563: ; preds = %507, %487
%564 = phi { ptr, i32 } [ %488, %487 ], [ %511, %507 ]
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr noalias nonnull align 8 dereferenceable(48) %18) #24
to label %607 unwind label %168
565: ; preds = %599, %591, %581, %578, %562, %348, %151
%566 = phi i64 [ %605, %599 ], [ %73, %591 ], [ %73, %578 ], [ %73, %581 ], [ %73, %348 ], [ %73, %562 ], [ %73, %151 ]
%567 = phi i8 [ %72, %599 ], [ %72, %591 ], [ %72, %578 ], [ %72, %581 ], [ 1, %348 ], [ %72, %562 ], [ %72, %151 ]
%568 = phi i64 [ %605, %599 ], [ %71, %591 ], [ %71, %578 ], [ %71, %581 ], [ %71, %348 ], [ %71, %562 ], [ %71, %151 ]
%569 = phi ptr [ %606, %599 ], [ %70, %591 ], [ %70, %578 ], [ %70, %581 ], [ %70, %348 ], [ %70, %562 ], [ %70, %151 ]
%570 = icmp eq i32 %153, 0
%571 = icmp ult i64 %83, 8
%572 = select i1 %570, i1 true, i1 %571
br i1 %572, label %90, label %69
573: ; preds = %183
%574 = icmp eq i64 %180, 7
br i1 %574, label %575, label %578
575: ; preds = %573
%576 = load i56, ptr %177, align 1, !alias.scope !1364
%577 = icmp eq i56 %576, 19793688960196447
br i1 %577, label %593, label %578
578: ; preds = %575, %573, %179
br i1 %25, label %579, label %565
579: ; preds = %578
%580 = invoke { i64, i64 } @_ZN6memchr6memchr3x864sse26memchr17h77ecfc1a99a92070E(i8 0, ptr noalias noundef nonnull readonly align 1 %177, i64 16)
to label %581 unwind label %86
581: ; preds = %579
%582 = extractvalue { i64, i64 } %580, 1
%583 = extractvalue { i64, i64 } %580, 0
%584 = icmp eq i64 %583, 0
br i1 %584, label %565, label %585
585: ; preds = %581
%586 = icmp ugt i64 %582, 16
br i1 %586, label %587, label %591
587: ; preds = %585, %183
%588 = phi { i64, i64 } [ %178, %183 ], [ %580, %585 ]
%589 = extractvalue { i64, i64 } %588, 1
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %589, i64 16, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.118) #23
to label %590 unwind label %88
590: ; preds = %587
unreachable
591: ; preds = %585
%592 = icmp eq i64 %582, 0
br i1 %592, label %593, label %565
593: ; preds = %591, %575
%594 = getelementptr i8, ptr %74, i64 64
%595 = load i32, ptr %594, align 1
%596 = zext i32 %595 to i64
%597 = mul nuw nsw i64 %596, 80
%598 = invoke { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$13read_bytes_at17h274d63fc503fbe11E"(ptr noalias noundef nonnull readonly align 1 %176, i64 %175, i64 0, i64 %597)
to label %599 unwind label %86
599: ; preds = %593
%600 = extractvalue { ptr, i64 } %598, 0
%601 = icmp eq ptr %600, null
%602 = extractvalue { ptr, i64 } %598, 1
%603 = icmp ugt i64 %597, %602
%604 = select i1 %601, i1 true, i1 %603
%605 = select i1 %604, i64 %73, i64 %596
%606 = select i1 %604, ptr null, ptr %600
br label %565
607: ; preds = %563, %485, %475, %474, %331, %315, %88, %86, %84
%608 = phi { ptr, i32 } [ %332, %331 ], [ %486, %485 ], [ %564, %563 ], [ %316, %315 ], [ %357, %475 ], [ %357, %474 ], [ %85, %84 ], [ %87, %86 ], [ %89, %88 ]
invoke fastcc void @"_ZN4core3ptr136drop_in_place$LT$alloc..vec..Vec$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$$GT$17hdb066149c5010294E"(ptr noalias nonnull align 8 dereferenceable(24) %20) #24
to label %609 unwind label %168
609: ; preds = %607, %202
%610 = phi { ptr, i32 } [ %608, %607 ], [ %203, %202 ]
invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"(ptr noalias nonnull align 8 dereferenceable(48) %21) #24
to label %613 unwind label %168
611: ; preds = %613, %170
%612 = phi { ptr, i32 } [ %614, %613 ], [ %157, %170 ]
resume { ptr, i32 } %612
613: ; preds = %609, %37
%614 = phi { ptr, i32 } [ %610, %609 ], [ %38, %37 ]
invoke fastcc void @"_ZN4core3ptr169drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..unit..AttributeValue$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h938b495ded9e9fc3E"(ptr noalias nonnull align 8 dereferenceable(24) %22) #24
to label %611 unwind label %168
}
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8
; Function Attrs: uwtable
declare noundef i32 @rust_eh_personality(i32, i32 noundef, i64, ptr, ptr) unnamed_addr #0
; Function Attrs: cold noinline noreturn nounwind uwtable
declare void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1, i64) unnamed_addr #9
; Function Attrs: cold noinline noreturn uwtable
declare void @_ZN4core5slice5index22slice_index_order_fail17h41a682748ef8522cE(i64, i64, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #10
; Function Attrs: cold noinline noreturn uwtable
declare void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64, i64, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #10
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite)
declare void @llvm.assume(i1 noundef) #11
; Function Attrs: cold noinline noreturn uwtable
declare void @_ZN4core5slice5index26slice_start_index_len_fail17h0500cd89dbf096d3E(i64, i64, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #10
; Function Attrs: cold noinline noreturn nounwind uwtable
declare void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() unnamed_addr #9
; Function Attrs: cold noinline noreturn uwtable
declare void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1, i64, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #10
; Function Attrs: cold noinline noreturn uwtable
declare void @_ZN4core9panicking9panic_fmt17h30d6090f102031dcE(ptr noalias nocapture noundef readonly dereferenceable(48), ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #10
; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) uwtable
declare i32 @memcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #12
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #13
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg) #8
; Function Attrs: cold noinline noreturn uwtable
declare void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64, i64, ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #10
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #14
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.ctlz.i64(i64, i1 immarg) #14
; Function Attrs: uwtable
declare void @"_ZN93_$LT$alloc..collections..btree..mem..replace..PanicGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h42ebe3d4ee1ae437E"(ptr noalias noundef nonnull align 1) unnamed_addr #0
; Function Attrs: noreturn uwtable
declare void @_ZN4core9panicking19assert_failed_inner17h63461ade664b237cE(i8 noundef, ptr noundef nonnull align 1, ptr noalias noundef readonly align 8 dereferenceable(24), ptr noundef nonnull align 1, ptr noalias noundef readonly align 8 dereferenceable(24), ptr noalias nocapture noundef readonly dereferenceable(48), ptr noalias noundef readonly align 8 dereferenceable(24)) unnamed_addr #15
; Function Attrs: cold noreturn uwtable
declare void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64, i64 noundef) unnamed_addr #5
; Function Attrs: nounwind allockind("alloc,uninitialized,aligned") allocsize(0) uwtable
declare noalias ptr @__rust_alloc(i64, i64 allocalign) unnamed_addr #16
; Function Attrs: nounwind allockind("realloc,aligned") allocsize(3) uwtable
declare noalias ptr @__rust_realloc(ptr allocptr, i64, i64 allocalign, i64) unnamed_addr #17
; Function Attrs: noreturn uwtable
declare void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() unnamed_addr #15
; Function Attrs: nounwind allockind("free") uwtable
declare void @__rust_dealloc(ptr allocptr, i64, i64) unnamed_addr #18
; Function Attrs: uwtable
declare { i64, i64 } @_ZN6memchr6memchr3x864sse26memchr17h77ecfc1a99a92070E(i8, ptr noalias noundef nonnull readonly align 1, i64) unnamed_addr #19
; Function Attrs: uwtable
declare { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$19read_bytes_at_until17he93e9e7b4e443417E"(ptr noalias noundef nonnull readonly align 1, i64, i64, i64, i8) unnamed_addr #0
; Function Attrs: uwtable
declare { ptr, i64 } @"_ZN68_$LT$$RF$$u5b$u8$u5d$$u20$as$u20$object..read..read_ref..ReadRef$GT$13read_bytes_at17h274d63fc503fbe11E"(ptr noalias noundef nonnull readonly align 1, i64, i64, i64) unnamed_addr #0
; Function Attrs: uwtable
declare i32 @munmap(ptr, i64) unnamed_addr #0
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #20
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #20
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite)
declare void @llvm.experimental.noalias.scope.decl(metadata) #11
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.usub.sat.i64(i64, i64) #14
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umax.i64(i64, i64) #14
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umin.i64(i64, i64) #14
attributes #0 = { uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #1 = { nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #2 = { inlinehint nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #3 = { cold uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #4 = { inlinehint uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #5 = { cold noreturn uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #6 = { noinline nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #7 = { noinline uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { cold noinline noreturn nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #10 = { cold noinline noreturn uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #11 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) }
attributes #12 = { mustprogress nofree nounwind willreturn memory(argmem: read) uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #13 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #14 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #15 = { noreturn uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #16 = { nounwind allockind("alloc,uninitialized,aligned") allocsize(0) uwtable "alloc-family"="__rust_alloc" "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #17 = { nounwind allockind("realloc,aligned") allocsize(3) uwtable "alloc-family"="__rust_alloc" "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #18 = { nounwind allockind("free") uwtable "alloc-family"="__rust_alloc" "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" }
attributes #19 = { uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="core2" "target-features"="+sse2" }
attributes #20 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #21 = { noreturn nounwind }
attributes #22 = { nounwind }
attributes #23 = { noreturn }
attributes #24 = { noinline }
attributes #25 = { noinline noreturn nounwind }
attributes #26 = { "function-inline-cost-multiplier"="4" }
attributes #27 = { noinline "function-inline-cost-multiplier"="2" }
!llvm.module.flags = !{!0}
!0 = !{i32 8, !"PIC Level", i32 2}
!1 = !{!2}
!2 = distinct !{!2, !3, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h12830648439af12dE: argument 0"}
!3 = distinct !{!3, !"_ZN99_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h12830648439af12dE"}
!4 = !{!5}
!5 = distinct !{!5, !6, !"_ZN119_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h2dbb6c1dbbfbe011E: argument 0"}
!6 = distinct !{!6, !"_ZN119_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h2dbb6c1dbbfbe011E"}
!7 = !{!8, !2}
!8 = distinct !{!8, !6, !"_ZN119_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h2dbb6c1dbbfbe011E: argument 1"}
!9 = !{!10, !12, !2}
!10 = distinct !{!10, !11, !"_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h4c23d56558c40d01E: argument 0"}
!11 = distinct !{!11, !"_ZN99_$LT$alloc..collections..btree..map..IntoIter$LT$K$C$V$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h4c23d56558c40d01E"}
!12 = distinct !{!12, !13, !"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hc592b201da01f4c7E: argument 0"}
!13 = distinct !{!13, !"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..IntoIter$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hc592b201da01f4c7E"}
!14 = !{!15}
!15 = distinct !{!15, !16, !"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$16assume_init_drop17h7bec2f8d65ebc30bE: argument 0"}
!16 = distinct !{!16, !"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$16assume_init_drop17h7bec2f8d65ebc30bE"}
!17 = !{!18}
!18 = distinct !{!18, !19, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE: argument 0"}
!19 = distinct !{!19, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"}
!20 = !{!21}
!21 = distinct !{!21, !22, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!22 = distinct !{!22, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!23 = !{i64 0, i64 2}
!24 = !{!21, !18, !15}
!25 = !{}
!26 = !{!27}
!27 = distinct !{!27, !28, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E: argument 0"}
!28 = distinct !{!28, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E"}
!29 = !{!27, !21, !18, !15}
!30 = !{!27, !21, !18, !15, !10, !12, !2}
!31 = !{i8 0, i8 4}
!32 = !{!33}
!33 = distinct !{!33, !34, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E: argument 0"}
!34 = distinct !{!34, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E"}
!35 = !{!36, !33}
!36 = distinct !{!36, !37, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!37 = distinct !{!37, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!38 = !{!39, !33}
!39 = distinct !{!39, !40, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!40 = distinct !{!40, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!41 = !{!42, !44}
!42 = distinct !{!42, !43, !"_ZN4core3ptr114drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h8248569423de93faE: argument 0"}
!43 = distinct !{!43, !"_ZN4core3ptr114drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h8248569423de93faE"}
!44 = distinct !{!44, !45, !"_ZN4core3ptr144drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$$GT$17h2b8449edc0c0b8ebE: argument 0"}
!45 = distinct !{!45, !"_ZN4core3ptr144drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$$GT$17h2b8449edc0c0b8ebE"}
!46 = !{!47}
!47 = distinct !{!47, !48, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E: argument 0"}
!48 = distinct !{!48, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"}
!49 = !{!50}
!50 = distinct !{!50, !51, !"_ZN4core3ptr137drop_in_place$LT$gimli..read..dwarf..Unit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17hebf3e1ebe27aadaaE: argument 0"}
!51 = distinct !{!51, !"_ZN4core3ptr137drop_in_place$LT$gimli..read..dwarf..Unit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17hebf3e1ebe27aadaaE"}
!52 = !{i64 0, i64 48}
!53 = !{!54, !50}
!54 = distinct !{!54, !55, !"_ZN4core3ptr181drop_in_place$LT$core..option..Option$LT$gimli..read..line..IncompleteLineProgram$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17hde9d448d1945d847E: argument 0"}
!55 = distinct !{!55, !"_ZN4core3ptr181drop_in_place$LT$core..option..Option$LT$gimli..read..line..IncompleteLineProgram$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17hde9d448d1945d847E"}
!56 = !{!57, !59, !61}
!57 = distinct !{!57, !58, !"_ZN4core3ptr114drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h8248569423de93faE: argument 0"}
!58 = distinct !{!58, !"_ZN4core3ptr114drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h8248569423de93faE"}
!59 = distinct !{!59, !60, !"_ZN4core3ptr144drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$$GT$17h2b8449edc0c0b8ebE: argument 0"}
!60 = distinct !{!60, !"_ZN4core3ptr144drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$$GT$17h2b8449edc0c0b8ebE"}
!61 = distinct !{!61, !62, !"_ZN4core3ptr119drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h02235005638bc57bE: argument 0"}
!62 = distinct !{!62, !"_ZN4core3ptr119drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$$GT$17h02235005638bc57bE"}
!63 = !{!64, !66, !68}
!64 = distinct !{!64, !65, !"_ZN4core3ptr212drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h70bf58f8ab918285E: argument 0"}
!65 = distinct !{!65, !"_ZN4core3ptr212drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h70bf58f8ab918285E"}
!66 = distinct !{!66, !67, !"_ZN4core3ptr242drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$$GT$17h0cc4b17356f1a379E: argument 0"}
!67 = distinct !{!67, !"_ZN4core3ptr242drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$$GT$17h0cc4b17356f1a379E"}
!68 = distinct !{!68, !69, !"_ZN4core3ptr217drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h0e491c98c5342a9aE: argument 0"}
!69 = distinct !{!69, !"_ZN4core3ptr217drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h0e491c98c5342a9aE"}
!70 = !{!71}
!71 = distinct !{!71, !72, !"_ZN4core3ptr64drop_in_place$LT$alloc..vec..Vec$LT$addr2line..UnitRange$GT$$GT$17h2aa5033e7d6dbfccE: argument 0"}
!72 = distinct !{!72, !"_ZN4core3ptr64drop_in_place$LT$alloc..vec..Vec$LT$addr2line..UnitRange$GT$$GT$17h2aa5033e7d6dbfccE"}
!73 = !{!74}
!74 = distinct !{!74, !75, !"_ZN4core3ptr154drop_in_place$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h49fe2106501d1a42E: argument 0"}
!75 = distinct !{!75, !"_ZN4core3ptr154drop_in_place$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h49fe2106501d1a42E"}
!76 = !{!77}
!77 = distinct !{!77, !78, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E: argument 0"}
!78 = distinct !{!78, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E"}
!79 = !{!77, !74}
!80 = !{!81}
!81 = distinct !{!81, !82, !"_ZN4core3ptr177drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$$GT$17hafbf949ff67d484bE: argument 0"}
!82 = distinct !{!82, !"_ZN4core3ptr177drop_in_place$LT$core..option..Option$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$$GT$17hafbf949ff67d484bE"}
!83 = !{!84}
!84 = distinct !{!84, !85, !"_ZN4core3ptr149drop_in_place$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h34d621bb732e1aaeE: argument 0"}
!85 = distinct !{!85, !"_ZN4core3ptr149drop_in_place$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h34d621bb732e1aaeE"}
!86 = !{!87, !89}
!87 = distinct !{!87, !88, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E: argument 0"}
!88 = distinct !{!88, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"}
!89 = distinct !{!89, !90, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE: argument 0"}
!90 = distinct !{!90, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE"}
!91 = !{!92}
!92 = distinct !{!92, !93, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E: argument 0"}
!93 = distinct !{!93, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E"}
!94 = !{!95}
!95 = distinct !{!95, !96, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E: argument 0"}
!96 = distinct !{!96, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E"}
!97 = !{!98}
!98 = distinct !{!98, !99, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE: argument 0"}
!99 = distinct !{!99, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE"}
!100 = !{!101}
!101 = distinct !{!101, !102, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE: argument 0"}
!102 = distinct !{!102, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE"}
!103 = !{!104}
!104 = distinct !{!104, !105, !"_ZN4core3ptr149drop_in_place$LT$gimli..read..line..LineProgramHeader$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17hdc22bf904df687ebE: argument 0"}
!105 = distinct !{!105, !"_ZN4core3ptr149drop_in_place$LT$gimli..read..line..LineProgramHeader$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17hdc22bf904df687ebE"}
!106 = !{!107}
!107 = distinct !{!107, !108, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE: argument 0"}
!108 = distinct !{!108, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"}
!109 = !{!107, !104}
!110 = !{!111}
!111 = distinct !{!111, !112, !"_ZN4core3ptr169drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..unit..AttributeValue$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h938b495ded9e9fc3E: argument 0"}
!112 = distinct !{!112, !"_ZN4core3ptr169drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..unit..AttributeValue$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h938b495ded9e9fc3E"}
!113 = !{!111, !104}
!114 = !{!115}
!115 = distinct !{!115, !116, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE: argument 0"}
!116 = distinct !{!116, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"}
!117 = !{!115, !104}
!118 = !{!119}
!119 = distinct !{!119, !120, !"_ZN4core3ptr164drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntry$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h2fdb242f9163583eE: argument 0"}
!120 = distinct !{!120, !"_ZN4core3ptr164drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntry$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$$GT$17h2fdb242f9163583eE"}
!121 = !{!119, !104}
!122 = !{!123, !119, !104}
!123 = distinct !{!123, !124, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE: argument 0"}
!124 = distinct !{!124, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE"}
!125 = !{!126}
!126 = distinct !{!126, !127, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E: argument 0"}
!127 = distinct !{!127, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E"}
!128 = !{!129}
!129 = distinct !{!129, !130, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE: argument 0"}
!130 = distinct !{!130, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE"}
!131 = !{!132}
!132 = distinct !{!132, !133, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE: argument 0"}
!133 = distinct !{!133, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE"}
!134 = !{!135}
!135 = distinct !{!135, !136, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h9368f8163f6f88f0E: argument 0"}
!136 = distinct !{!136, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h9368f8163f6f88f0E"}
!137 = !{!138}
!138 = distinct !{!138, !139, !"_ZN4core3ptr149drop_in_place$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h34d621bb732e1aaeE: argument 0"}
!139 = distinct !{!139, !"_ZN4core3ptr149drop_in_place$LT$alloc..boxed..Box$LT$addr2line..ResDwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h34d621bb732e1aaeE"}
!140 = !{!141}
!141 = distinct !{!141, !142, !"_ZN4core3ptr135drop_in_place$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h43bd5f9eae8354c1E: argument 0"}
!142 = distinct !{!142, !"_ZN4core3ptr135drop_in_place$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h43bd5f9eae8354c1E"}
!143 = !{!144}
!144 = distinct !{!144, !145, !"_ZN4core3ptr250drop_in_place$LT$$LP$gimli..read..UnitOffset$C$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$RP$$GT$17h8ddc7c8265847297E: argument 0"}
!145 = distinct !{!145, !"_ZN4core3ptr250drop_in_place$LT$$LP$gimli..read..UnitOffset$C$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$RP$$GT$17h8ddc7c8265847297E"}
!146 = !{!147}
!147 = distinct !{!147, !148, !"_ZN4core3ptr216drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17ha5163b7bdc05a275E: argument 0"}
!148 = distinct !{!148, !"_ZN4core3ptr216drop_in_place$LT$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17ha5163b7bdc05a275E"}
!149 = !{!150}
!150 = distinct !{!150, !151, !"_ZN4core3ptr241drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$$GT$17h2b69fa839924cc75E: argument 0"}
!151 = distinct !{!151, !"_ZN4core3ptr241drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$$GT$17h2b69fa839924cc75E"}
!152 = !{!153}
!153 = distinct !{!153, !154, !"_ZN4core3ptr211drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17hca992423e85b75b9E: argument 0"}
!154 = distinct !{!154, !"_ZN4core3ptr211drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17hca992423e85b75b9E"}
!155 = !{!153, !150, !147, !144, !156}
!156 = distinct !{!156, !157, !"_ZN4core3ptr260drop_in_place$LT$$u5b$$LP$gimli..read..UnitOffset$C$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$RP$$u5d$$GT$17h616a527117519455E: argument 0"}
!157 = distinct !{!157, !"_ZN4core3ptr260drop_in_place$LT$$u5b$$LP$gimli..read..UnitOffset$C$addr2line..lazy..LazyCell$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$RP$$u5d$$GT$17h616a527117519455E"}
!158 = !{!159}
!159 = distinct !{!159, !160, !"_ZN4core3ptr183drop_in_place$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$17heeb8166ca61a78e2E: argument 0"}
!160 = distinct !{!160, !"_ZN4core3ptr183drop_in_place$LT$core..result..Result$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$17heeb8166ca61a78e2E"}
!161 = !{!159, !153, !150, !147, !144, !156}
!162 = !{!163}
!163 = distinct !{!163, !164, !"_ZN4core3ptr134drop_in_place$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h3ca50690548fc880E: argument 0"}
!164 = distinct !{!164, !"_ZN4core3ptr134drop_in_place$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h3ca50690548fc880E"}
!165 = !{!163, !159, !153, !150, !147, !144, !156}
!166 = !{!163, !159, !153, !150, !147, !144, !141}
!167 = !{!168}
!168 = distinct !{!168, !169, !"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$16assume_init_drop17h7bec2f8d65ebc30bE: argument 0"}
!169 = distinct !{!169, !"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$16assume_init_drop17h7bec2f8d65ebc30bE"}
!170 = !{!171}
!171 = distinct !{!171, !172, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE: argument 0"}
!172 = distinct !{!172, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"}
!173 = !{!174}
!174 = distinct !{!174, !175, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!175 = distinct !{!175, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!176 = !{!174, !171, !168}
!177 = !{!178}
!178 = distinct !{!178, !179, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E: argument 0"}
!179 = distinct !{!179, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E"}
!180 = !{!178, !174, !171, !168}
!181 = !{!182, !178, !174, !171, !168}
!182 = distinct !{!182, !183, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E: argument 0"}
!183 = distinct !{!183, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E"}
!184 = !{!185, !187}
!185 = distinct !{!185, !186, !"_ZN4core3ptr212drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h70bf58f8ab918285E: argument 0"}
!186 = distinct !{!186, !"_ZN4core3ptr212drop_in_place$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$17h70bf58f8ab918285E"}
!187 = distinct !{!187, !188, !"_ZN4core3ptr242drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$$GT$17h0cc4b17356f1a379E: argument 0"}
!188 = distinct !{!188, !"_ZN4core3ptr242drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$core..result..Result$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$C$gimli..read..Error$GT$$GT$$GT$$GT$17h0cc4b17356f1a379E"}
!189 = !{!190, !192}
!190 = distinct !{!190, !191, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E: argument 0"}
!191 = distinct !{!191, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E"}
!192 = distinct !{!192, !193, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!193 = distinct !{!193, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!194 = !{!192}
!195 = !{!196}
!196 = distinct !{!196, !197, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E: argument 0"}
!197 = distinct !{!197, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E"}
!198 = !{!199}
!199 = distinct !{!199, !200, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E: argument 0"}
!200 = distinct !{!200, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E"}
!201 = !{!202}
!202 = distinct !{!202, !203, !"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E: argument 0"}
!203 = distinct !{!203, !"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E"}
!204 = !{!205, !202}
!205 = distinct !{!205, !206, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE: argument 0"}
!206 = distinct !{!206, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE"}
!207 = !{!208}
!208 = distinct !{!208, !209, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E: argument 0"}
!209 = distinct !{!209, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E"}
!210 = !{!211}
!211 = distinct !{!211, !212, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!212 = distinct !{!212, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!213 = !{!214}
!214 = distinct !{!214, !215, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E: argument 0"}
!215 = distinct !{!215, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E"}
!216 = !{!214, !211}
!217 = !{!218, !214, !211}
!218 = distinct !{!218, !219, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E: argument 0"}
!219 = distinct !{!219, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E"}
!220 = !{!221}
!221 = distinct !{!221, !222, !"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17hbb1d2a2bc4aabb50E: argument 0"}
!222 = distinct !{!222, !"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17hbb1d2a2bc4aabb50E"}
!223 = !{!224}
!224 = distinct !{!224, !225, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE: argument 0"}
!225 = distinct !{!225, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"}
!226 = !{!227}
!227 = distinct !{!227, !228, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!228 = distinct !{!228, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!229 = !{!227, !224, !230}
!230 = distinct !{!230, !231, !"_ZN4core3ptr64drop_in_place$LT$$u5b$gimli..read..abbrev..Abbreviation$u5d$$GT$17had6225ecba902897E: argument 0"}
!231 = distinct !{!231, !"_ZN4core3ptr64drop_in_place$LT$$u5b$gimli..read..abbrev..Abbreviation$u5d$$GT$17had6225ecba902897E"}
!232 = !{!233}
!233 = distinct !{!233, !234, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E: argument 0"}
!234 = distinct !{!234, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E"}
!235 = !{!233, !227, !224, !230}
!236 = !{!233, !227, !224, !221}
!237 = !{!238}
!238 = distinct !{!238, !239, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!239 = distinct !{!239, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!240 = !{!241}
!241 = distinct !{!241, !242, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE: argument 0"}
!242 = distinct !{!242, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE"}
!243 = !{!244}
!244 = distinct !{!244, !245, !"_ZN4core3ptr99drop_in_place$LT$core..cell..UnsafeCell$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$$GT$17h6a5ca56ebb934d03E: argument 0"}
!245 = distinct !{!245, !"_ZN4core3ptr99drop_in_place$LT$core..cell..UnsafeCell$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$$GT$17h6a5ca56ebb934d03E"}
!246 = !{!247}
!247 = distinct !{!247, !248, !"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h6fcd32c6c4501092E: argument 0"}
!248 = distinct !{!248, !"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h6fcd32c6c4501092E"}
!249 = !{!247, !244}
!250 = !{!251}
!251 = distinct !{!251, !252, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!252 = distinct !{!252, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!253 = !{!251, !254}
!254 = distinct !{!254, !255, !"_ZN4core3ptr56drop_in_place$LT$$u5b$alloc..vec..Vec$LT$u8$GT$$u5d$$GT$17h8662770628791f1fE: argument 0"}
!255 = distinct !{!255, !"_ZN4core3ptr56drop_in_place$LT$$u5b$alloc..vec..Vec$LT$u8$GT$$u5d$$GT$17h8662770628791f1fE"}
!256 = !{!251, !247, !244}
!257 = !{!258}
!258 = distinct !{!258, !259, !"_ZN4core3ptr118drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$$GT$17h686cacdd2d4adc3cE: argument 0"}
!259 = distinct !{!259, !"_ZN4core3ptr118drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$$GT$17h686cacdd2d4adc3cE"}
!260 = !{!261}
!261 = distinct !{!261, !262, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E: argument 0"}
!262 = distinct !{!262, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E"}
!263 = !{!261, !258}
!264 = !{!265, !261, !258}
!265 = distinct !{!265, !266, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!266 = distinct !{!266, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!267 = !{!268, !261, !258}
!268 = distinct !{!268, !269, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!269 = distinct !{!269, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!270 = !{!271}
!271 = distinct !{!271, !272, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE: argument 0"}
!272 = distinct !{!272, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE"}
!273 = !{!274}
!274 = distinct !{!274, !275, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE: argument 0"}
!275 = distinct !{!275, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"}
!276 = !{!277}
!277 = distinct !{!277, !278, !"_ZN4core3ptr148drop_in_place$LT$alloc..boxed..Box$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$$GT$17hfafcb45fb3eab3c5E: argument 0"}
!278 = distinct !{!278, !"_ZN4core3ptr148drop_in_place$LT$alloc..boxed..Box$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$$GT$17hfafcb45fb3eab3c5E"}
!279 = !{!280}
!280 = distinct !{!280, !281, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5c3b9e5ae0e1eb4eE: argument 0"}
!281 = distinct !{!281, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5c3b9e5ae0e1eb4eE"}
!282 = !{!283, !285}
!283 = distinct !{!283, !284, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!284 = distinct !{!284, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!285 = distinct !{!285, !286, !"_ZN4core3ptr52drop_in_place$LT$$u5b$alloc..string..String$u5d$$GT$17h00fd667aa50edfe6E: argument 0"}
!286 = distinct !{!286, !"_ZN4core3ptr52drop_in_place$LT$$u5b$alloc..string..String$u5d$$GT$17h00fd667aa50edfe6E"}
!287 = !{!288}
!288 = distinct !{!288, !289, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!289 = distinct !{!289, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!290 = !{!291}
!291 = distinct !{!291, !292, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb28a40dacf516af2E: argument 0"}
!292 = distinct !{!292, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb28a40dacf516af2E"}
!293 = !{!294}
!294 = distinct !{!294, !295, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE: argument 0"}
!295 = distinct !{!295, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE"}
!296 = !{!297}
!297 = distinct !{!297, !298, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h723ad25bb09a38e8E: argument 0"}
!298 = distinct !{!298, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h723ad25bb09a38e8E"}
!299 = !{i8 0, i8 3}
!300 = !{!301}
!301 = distinct !{!301, !302, !"_ZN4core3ptr37drop_in_place$LT$addr2line..Lines$GT$17ha66e9785ae10bd52E: argument 0"}
!302 = distinct !{!302, !"_ZN4core3ptr37drop_in_place$LT$addr2line..Lines$GT$17ha66e9785ae10bd52E"}
!303 = !{!304}
!304 = distinct !{!304, !305, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE: argument 0"}
!305 = distinct !{!305, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE"}
!306 = !{i64 1}
!307 = !{!308, !310, !311, !313, !314, !316, !317, !319}
!308 = distinct !{!308, !309, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!309 = distinct !{!309, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!310 = distinct !{!310, !309, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!311 = distinct !{!311, !312, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!312 = distinct !{!312, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!313 = distinct !{!313, !312, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!314 = distinct !{!314, !315, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!315 = distinct !{!315, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!316 = distinct !{!316, !315, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!317 = distinct !{!317, !318, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!318 = distinct !{!318, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!319 = distinct !{!319, !318, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!320 = !{!321, !323, !324, !326, !327, !329, !330, !332}
!321 = distinct !{!321, !322, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!322 = distinct !{!322, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!323 = distinct !{!323, !322, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!324 = distinct !{!324, !325, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!325 = distinct !{!325, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!326 = distinct !{!326, !325, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!327 = distinct !{!327, !328, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!328 = distinct !{!328, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!329 = distinct !{!329, !328, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!330 = distinct !{!330, !331, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!331 = distinct !{!331, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!332 = distinct !{!332, !331, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!333 = !{!334}
!334 = distinct !{!334, !335, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 0"}
!335 = distinct !{!335, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E"}
!336 = !{!337}
!337 = distinct !{!337, !335, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 1"}
!338 = !{!339}
!339 = distinct !{!339, !335, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 2"}
!340 = !{!337, !339}
!341 = !{i64 8}
!342 = !{!334, !337}
!343 = !{!334, !337, !339}
!344 = !{!334, !339}
!345 = !{!346}
!346 = distinct !{!346, !347, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 0"}
!347 = distinct !{!347, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E"}
!348 = !{!349, !350}
!349 = distinct !{!349, !347, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 1"}
!350 = distinct !{!350, !347, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 2"}
!351 = !{!349}
!352 = !{!350}
!353 = !{!346, !349}
!354 = !{!346, !349, !350}
!355 = !{!346, !350}
!356 = !{!357}
!357 = distinct !{!357, !358, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 0"}
!358 = distinct !{!358, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E"}
!359 = !{!360, !361}
!360 = distinct !{!360, !358, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 1"}
!361 = distinct !{!361, !358, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 2"}
!362 = !{!361}
!363 = !{!357, !360}
!364 = !{!360}
!365 = !{!357, !360, !361}
!366 = !{!357, !361}
!367 = !{!368, !370, !371, !373, !374, !376, !377, !379}
!368 = distinct !{!368, !369, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!369 = distinct !{!369, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!370 = distinct !{!370, !369, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!371 = distinct !{!371, !372, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!372 = distinct !{!372, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!373 = distinct !{!373, !372, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!374 = distinct !{!374, !375, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!375 = distinct !{!375, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!376 = distinct !{!376, !375, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!377 = distinct !{!377, !378, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!378 = distinct !{!378, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!379 = distinct !{!379, !378, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!380 = !{!381}
!381 = distinct !{!381, !382, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 0"}
!382 = distinct !{!382, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE"}
!383 = !{!384}
!384 = distinct !{!384, !382, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 1"}
!385 = !{!386}
!386 = distinct !{!386, !382, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 2"}
!387 = !{!384, !386}
!388 = !{!381, !384}
!389 = !{!381, !384, !386}
!390 = !{!381, !386}
!391 = !{!392}
!392 = distinct !{!392, !393, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 0"}
!393 = distinct !{!393, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE"}
!394 = !{!395, !396}
!395 = distinct !{!395, !393, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 1"}
!396 = distinct !{!396, !393, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 2"}
!397 = !{!395}
!398 = !{!396}
!399 = !{!392, !395}
!400 = !{!392, !395, !396}
!401 = !{!392, !396}
!402 = !{!403}
!403 = distinct !{!403, !404, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 0"}
!404 = distinct !{!404, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE"}
!405 = !{!406, !407}
!406 = distinct !{!406, !404, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 1"}
!407 = distinct !{!407, !404, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 2"}
!408 = !{!407}
!409 = !{!403, !406}
!410 = !{!406}
!411 = !{!403, !406, !407}
!412 = !{!403, !407}
!413 = !{i64 0, i64 65}
!414 = !{!415}
!415 = distinct !{!415, !416, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!416 = distinct !{!416, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!417 = !{!"branch_weights", i32 2000, i32 1}
!418 = !{!415, !419}
!419 = distinct !{!419, !416, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!420 = !{!419}
!421 = !{!422}
!422 = distinct !{!422, !416, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0:It1"}
!423 = !{!422, !419}
!424 = !{!425}
!425 = distinct !{!425, !416, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0:It2"}
!426 = !{!425, !419}
!427 = !{!428}
!428 = distinct !{!428, !429, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!429 = distinct !{!429, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!430 = !{!428, !431}
!431 = distinct !{!431, !429, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!432 = !{!431}
!433 = !{!434}
!434 = distinct !{!434, !429, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0:It1"}
!435 = !{!434, !431}
!436 = !{!437}
!437 = distinct !{!437, !429, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0:It2"}
!438 = !{!437, !431}
!439 = !{!440}
!440 = distinct !{!440, !441, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!441 = distinct !{!441, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!442 = !{!440, !443}
!443 = distinct !{!443, !441, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!444 = !{!443}
!445 = !{!446}
!446 = distinct !{!446, !447, !"_ZN4core5slice4sort10shift_head17h2676ad12faa1732cE: argument 0"}
!447 = distinct !{!447, !"_ZN4core5slice4sort10shift_head17h2676ad12faa1732cE"}
!448 = !{!449, !451, !452, !454, !455, !457, !458, !460}
!449 = distinct !{!449, !450, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!450 = distinct !{!450, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!451 = distinct !{!451, !450, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!452 = distinct !{!452, !453, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!453 = distinct !{!453, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!454 = distinct !{!454, !453, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!455 = distinct !{!455, !456, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!456 = distinct !{!456, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!457 = distinct !{!457, !456, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!458 = distinct !{!458, !459, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!459 = distinct !{!459, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!460 = distinct !{!460, !459, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!461 = !{!462}
!462 = distinct !{!462, !463, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!463 = distinct !{!463, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!464 = !{!462, !465}
!465 = distinct !{!465, !463, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!466 = !{!465}
!467 = !{!468}
!468 = distinct !{!468, !469, !"_ZN4core5slice4sort10shift_head17h3717b88dba3c0da7E: argument 0"}
!469 = distinct !{!469, !"_ZN4core5slice4sort10shift_head17h3717b88dba3c0da7E"}
!470 = !{!471, !473, !474, !476, !477, !479, !480, !482}
!471 = distinct !{!471, !472, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!472 = distinct !{!472, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!473 = distinct !{!473, !472, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!474 = distinct !{!474, !475, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!475 = distinct !{!475, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!476 = distinct !{!476, !475, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!477 = distinct !{!477, !478, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!478 = distinct !{!478, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!479 = distinct !{!479, !478, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!480 = distinct !{!480, !481, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!481 = distinct !{!481, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!482 = distinct !{!482, !481, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!483 = !{!484, !486, !487, !489, !490, !492, !493, !495}
!484 = distinct !{!484, !485, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!485 = distinct !{!485, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!486 = distinct !{!486, !485, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!487 = distinct !{!487, !488, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!488 = distinct !{!488, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!489 = distinct !{!489, !488, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!490 = distinct !{!490, !491, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!491 = distinct !{!491, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!492 = distinct !{!492, !491, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!493 = distinct !{!493, !494, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!494 = distinct !{!494, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!495 = distinct !{!495, !494, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!496 = !{!497}
!497 = distinct !{!497, !498, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!498 = distinct !{!498, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!499 = !{!497, !500}
!500 = distinct !{!500, !498, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!501 = !{!500}
!502 = !{!503}
!503 = distinct !{!503, !504, !"_ZN4core5slice4sort10shift_head17heedab4aa3bdf50d7E: argument 0"}
!504 = distinct !{!504, !"_ZN4core5slice4sort10shift_head17heedab4aa3bdf50d7E"}
!505 = !{!506}
!506 = distinct !{!506, !507, !"_ZN4core5slice4sort12choose_pivot17ha00c8a2df5976809E: argument 0"}
!507 = distinct !{!507, !"_ZN4core5slice4sort12choose_pivot17ha00c8a2df5976809E"}
!508 = !{!506, !509}
!509 = distinct !{!509, !507, !"_ZN4core5slice4sort12choose_pivot17ha00c8a2df5976809E: argument 1"}
!510 = !{!511, !506, !509}
!511 = distinct !{!511, !512, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E: argument 0"}
!512 = distinct !{!512, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E"}
!513 = !{!514, !506, !509}
!514 = distinct !{!514, !515, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E: argument 0"}
!515 = distinct !{!515, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E"}
!516 = !{!517, !506, !509}
!517 = distinct !{!517, !518, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E: argument 0"}
!518 = distinct !{!518, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E"}
!519 = !{!520}
!520 = distinct !{!520, !521, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h0414d6cdebcc373cE: argument 0"}
!521 = distinct !{!521, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h0414d6cdebcc373cE"}
!522 = !{!523}
!523 = distinct !{!523, !524, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h6cd35ac5110ada2dE: argument 0"}
!524 = distinct !{!524, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h6cd35ac5110ada2dE"}
!525 = !{!526}
!526 = distinct !{!526, !524, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h6cd35ac5110ada2dE: argument 1"}
!527 = !{!528}
!528 = distinct !{!528, !529, !"_ZN4core3mem4swap17hbbf4d7bd5f27ac50E: argument 0"}
!529 = distinct !{!529, !"_ZN4core3mem4swap17hbbf4d7bd5f27ac50E"}
!530 = !{!531}
!531 = distinct !{!531, !529, !"_ZN4core3mem4swap17hbbf4d7bd5f27ac50E: argument 1"}
!532 = !{!533, !528, !523, !520, !506, !535}
!533 = distinct !{!533, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It1"}
!534 = distinct !{!534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE"}
!535 = distinct !{!535, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0"}
!536 = !{!531, !526, !509}
!537 = !{!538, !531, !526, !520, !506, !539}
!538 = distinct !{!538, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It1"}
!539 = distinct !{!539, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1"}
!540 = !{!528, !523, !509}
!541 = !{!542, !528, !523, !520, !506, !543}
!542 = distinct !{!542, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It3"}
!543 = distinct !{!543, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It2"}
!544 = !{!545, !531, !526, !520, !506, !546}
!545 = distinct !{!545, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It3"}
!546 = distinct !{!546, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It2"}
!547 = !{!548}
!548 = distinct !{!548, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It4"}
!549 = !{!550}
!550 = distinct !{!550, !534, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It4"}
!551 = !{!548, !528, !523, !520, !506}
!552 = !{!550, !531, !526, !509}
!553 = !{!550, !531, !526, !520, !506}
!554 = !{!548, !528, !523, !509}
!555 = !{!556}
!556 = distinct !{!556, !557, !"_ZN4core5slice4sort9partition17h6df75a047c1b06f0E: argument 0"}
!557 = distinct !{!557, !"_ZN4core5slice4sort9partition17h6df75a047c1b06f0E"}
!558 = !{!559}
!559 = distinct !{!559, !560, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!560 = distinct !{!560, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!561 = !{!"branch_weights", i32 1, i32 2000}
!562 = !{!559, !563, !556}
!563 = distinct !{!563, !560, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!564 = !{!563}
!565 = !{!559, !556}
!566 = !{!567, !569, !570, !572, !573}
!567 = distinct !{!567, !568, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 0"}
!568 = distinct !{!568, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E"}
!569 = distinct !{!569, !568, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 1"}
!570 = distinct !{!570, !571, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!571 = distinct !{!571, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!572 = distinct !{!572, !571, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!573 = distinct !{!573, !571, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 2"}
!574 = !{!575}
!575 = distinct !{!575, !576, !"_ZN4core5slice4sort19partition_in_blocks17he94ff4a6eab75db4E: argument 0"}
!576 = distinct !{!576, !"_ZN4core5slice4sort19partition_in_blocks17he94ff4a6eab75db4E"}
!577 = !{!575, !556}
!578 = distinct !{!578, !579}
!579 = !{!"llvm.loop.unroll.disable"}
!580 = distinct !{!580, !579}
!581 = !{!582}
!582 = distinct !{!582, !583, !"_ZN4core3ptr4read17h83b727ac3cccdb04E: argument 0"}
!583 = distinct !{!583, !"_ZN4core3ptr4read17h83b727ac3cccdb04E"}
!584 = !{!585}
!585 = distinct !{!585, !586, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!586 = distinct !{!586, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!587 = !{!585, !588, !556}
!588 = distinct !{!588, !586, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!589 = !{!588}
!590 = !{!585, !556}
!591 = !{!592, !594, !595, !597, !598}
!592 = distinct !{!592, !593, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 0"}
!593 = distinct !{!593, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E"}
!594 = distinct !{!594, !593, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 1"}
!595 = distinct !{!595, !596, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!596 = distinct !{!596, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!597 = distinct !{!597, !596, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!598 = distinct !{!598, !596, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 2"}
!599 = !{!600, !602}
!600 = distinct !{!600, !601, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!601 = distinct !{!601, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!602 = distinct !{!602, !601, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!603 = !{!604}
!604 = distinct !{!604, !605, !"_ZN4core5slice4sort15partition_equal17hba94d4a75bd13481E: argument 0"}
!605 = distinct !{!605, !"_ZN4core5slice4sort15partition_equal17hba94d4a75bd13481E"}
!606 = !{!607}
!607 = distinct !{!607, !608, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!608 = distinct !{!608, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!609 = !{!607, !610, !604}
!610 = distinct !{!610, !608, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!611 = !{!610}
!612 = !{!607, !604}
!613 = !{!614, !616, !617, !619, !620}
!614 = distinct !{!614, !615, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 0"}
!615 = distinct !{!615, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E"}
!616 = distinct !{!616, !615, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 1"}
!617 = distinct !{!617, !618, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!618 = distinct !{!618, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!619 = distinct !{!619, !618, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!620 = distinct !{!620, !618, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 2"}
!621 = !{!622}
!622 = distinct !{!622, !623, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h20b7af52924d1dfcE: argument 0"}
!623 = distinct !{!623, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h20b7af52924d1dfcE"}
!624 = !{!625}
!625 = distinct !{!625, !626, !"_ZN4core5slice4sort12choose_pivot17h63198be1b54bb257E: argument 0"}
!626 = distinct !{!626, !"_ZN4core5slice4sort12choose_pivot17h63198be1b54bb257E"}
!627 = !{!625, !628}
!628 = distinct !{!628, !626, !"_ZN4core5slice4sort12choose_pivot17h63198be1b54bb257E: argument 1"}
!629 = !{!630}
!630 = distinct !{!630, !631, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E: argument 2"}
!631 = distinct !{!631, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E"}
!632 = !{!633, !625, !628}
!633 = distinct !{!633, !634, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E: argument 0"}
!634 = distinct !{!634, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E"}
!635 = !{!636}
!636 = distinct !{!636, !637, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E: argument 2"}
!637 = distinct !{!637, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E"}
!638 = !{!639, !625, !628}
!639 = distinct !{!639, !640, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E: argument 0"}
!640 = distinct !{!640, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E"}
!641 = !{!642}
!642 = distinct !{!642, !643, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E: argument 2"}
!643 = distinct !{!643, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E"}
!644 = !{!645, !625, !628}
!645 = distinct !{!645, !646, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E: argument 0"}
!646 = distinct !{!646, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E"}
!647 = !{!648}
!648 = distinct !{!648, !649, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E: argument 2"}
!649 = distinct !{!649, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h84eb6368f6d872c9E"}
!650 = !{!651}
!651 = distinct !{!651, !652, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E: argument 0"}
!652 = distinct !{!652, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E"}
!653 = !{!654}
!654 = distinct !{!654, !655, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 0"}
!655 = distinct !{!655, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E"}
!656 = !{!657}
!657 = distinct !{!657, !655, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 1"}
!658 = !{!659}
!659 = distinct !{!659, !660, !"_ZN4core3mem4swap17hf29c856065843894E: argument 0"}
!660 = distinct !{!660, !"_ZN4core3mem4swap17hf29c856065843894E"}
!661 = !{!662}
!662 = distinct !{!662, !660, !"_ZN4core3mem4swap17hf29c856065843894E: argument 1"}
!663 = !{!664}
!664 = distinct !{!664, !665, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 0"}
!665 = distinct !{!665, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE"}
!666 = !{!667}
!667 = distinct !{!667, !665, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 1"}
!668 = !{!667, !662, !657, !628}
!669 = !{!664, !667, !659, !662, !654, !657, !651, !625}
!670 = !{!628}
!671 = !{!664, !659, !654, !628}
!672 = !{!673}
!673 = distinct !{!673, !674, !"_ZN4core5slice4sort9partition17haa0a4e117c949eddE: argument 0"}
!674 = distinct !{!674, !"_ZN4core5slice4sort9partition17haa0a4e117c949eddE"}
!675 = !{!676}
!676 = distinct !{!676, !677, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!677 = distinct !{!677, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!678 = !{!676, !679, !673}
!679 = distinct !{!679, !677, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!680 = !{!679}
!681 = !{!676, !673}
!682 = !{!683, !685, !686, !688, !689}
!683 = distinct !{!683, !684, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!684 = distinct !{!684, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!685 = distinct !{!685, !684, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!686 = distinct !{!686, !687, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!687 = distinct !{!687, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!688 = distinct !{!688, !687, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!689 = distinct !{!689, !687, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!690 = !{!691, !693, !694, !696, !697, !699, !700, !702}
!691 = distinct !{!691, !692, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!692 = distinct !{!692, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!693 = distinct !{!693, !692, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!694 = distinct !{!694, !695, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!695 = distinct !{!695, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!696 = distinct !{!696, !695, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!697 = distinct !{!697, !698, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!698 = distinct !{!698, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!699 = distinct !{!699, !698, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!700 = distinct !{!700, !701, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!701 = distinct !{!701, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!702 = distinct !{!702, !701, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!703 = !{!704, !706, !707, !709, !710, !712, !713, !715}
!704 = distinct !{!704, !705, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!705 = distinct !{!705, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!706 = distinct !{!706, !705, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!707 = distinct !{!707, !708, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!708 = distinct !{!708, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!709 = distinct !{!709, !708, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!710 = distinct !{!710, !711, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!711 = distinct !{!711, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!712 = distinct !{!712, !711, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!713 = distinct !{!713, !714, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!714 = distinct !{!714, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!715 = distinct !{!715, !714, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!716 = !{!717}
!717 = distinct !{!717, !718, !"_ZN4core5slice4sort19partition_in_blocks17h4e860240a354cc95E: argument 0"}
!718 = distinct !{!718, !"_ZN4core5slice4sort19partition_in_blocks17h4e860240a354cc95E"}
!719 = !{!717, !673}
!720 = !{!721, !723, !724, !726, !727, !729, !730, !732}
!721 = distinct !{!721, !722, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!722 = distinct !{!722, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!723 = distinct !{!723, !722, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!724 = distinct !{!724, !725, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!725 = distinct !{!725, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!726 = distinct !{!726, !725, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!727 = distinct !{!727, !728, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!728 = distinct !{!728, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!729 = distinct !{!729, !728, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!730 = distinct !{!730, !731, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!731 = distinct !{!731, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!732 = distinct !{!732, !731, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!733 = !{!734, !736, !737, !739, !740, !742, !743, !745}
!734 = distinct !{!734, !735, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!735 = distinct !{!735, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!736 = distinct !{!736, !735, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!737 = distinct !{!737, !738, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!738 = distinct !{!738, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!739 = distinct !{!739, !738, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!740 = distinct !{!740, !741, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!741 = distinct !{!741, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!742 = distinct !{!742, !741, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!743 = distinct !{!743, !744, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!744 = distinct !{!744, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!745 = distinct !{!745, !744, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!746 = !{!747}
!747 = distinct !{!747, !748, !"_ZN4core3ptr4read17h849ae357eeb6b14aE: argument 0"}
!748 = distinct !{!748, !"_ZN4core3ptr4read17h849ae357eeb6b14aE"}
!749 = !{!750}
!750 = distinct !{!750, !751, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!751 = distinct !{!751, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!752 = !{!750, !753, !673}
!753 = distinct !{!753, !751, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!754 = !{!753}
!755 = !{!750, !673}
!756 = !{!757, !759, !760, !762, !763}
!757 = distinct !{!757, !758, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!758 = distinct !{!758, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!759 = distinct !{!759, !758, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!760 = distinct !{!760, !761, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!761 = distinct !{!761, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!762 = distinct !{!762, !761, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!763 = distinct !{!763, !761, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!764 = !{!765, !767}
!765 = distinct !{!765, !766, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!766 = distinct !{!766, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!767 = distinct !{!767, !766, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!768 = !{!769, !771, !772, !774, !775, !777, !778, !780}
!769 = distinct !{!769, !770, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!770 = distinct !{!770, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!771 = distinct !{!771, !770, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!772 = distinct !{!772, !773, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!773 = distinct !{!773, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!774 = distinct !{!774, !773, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!775 = distinct !{!775, !776, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!776 = distinct !{!776, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!777 = distinct !{!777, !776, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!778 = distinct !{!778, !779, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!779 = distinct !{!779, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!780 = distinct !{!780, !779, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!781 = !{!782}
!782 = distinct !{!782, !783, !"_ZN4core5slice4sort15partition_equal17head61c0002ec65d9E: argument 0"}
!783 = distinct !{!783, !"_ZN4core5slice4sort15partition_equal17head61c0002ec65d9E"}
!784 = !{!785}
!785 = distinct !{!785, !786, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!786 = distinct !{!786, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!787 = !{!785, !788, !782}
!788 = distinct !{!788, !786, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!789 = !{!788}
!790 = !{!785, !782}
!791 = !{!792, !794, !795, !797, !798}
!792 = distinct !{!792, !793, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!793 = distinct !{!793, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!794 = distinct !{!794, !793, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!795 = distinct !{!795, !796, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!796 = distinct !{!796, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!797 = distinct !{!797, !796, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!798 = distinct !{!798, !796, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!799 = !{!800, !802, !803, !805, !806, !808, !809, !811}
!800 = distinct !{!800, !801, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!801 = distinct !{!801, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!802 = distinct !{!802, !801, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!803 = distinct !{!803, !804, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!804 = distinct !{!804, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!805 = distinct !{!805, !804, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!806 = distinct !{!806, !807, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!807 = distinct !{!807, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!808 = distinct !{!808, !807, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!809 = distinct !{!809, !810, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!810 = distinct !{!810, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!811 = distinct !{!811, !810, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!812 = !{!813, !815, !816, !818, !819, !821, !822, !824}
!813 = distinct !{!813, !814, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!814 = distinct !{!814, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!815 = distinct !{!815, !814, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!816 = distinct !{!816, !817, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!817 = distinct !{!817, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!818 = distinct !{!818, !817, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!819 = distinct !{!819, !820, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!820 = distinct !{!820, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!821 = distinct !{!821, !820, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!822 = distinct !{!822, !823, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!823 = distinct !{!823, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!824 = distinct !{!824, !823, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!825 = !{!826}
!826 = distinct !{!826, !827, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h6ffe643bcf0e2ab9E: argument 0"}
!827 = distinct !{!827, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h6ffe643bcf0e2ab9E"}
!828 = !{!829}
!829 = distinct !{!829, !830, !"_ZN4core5slice4sort12choose_pivot17h9bfc6d9003103b30E: argument 0"}
!830 = distinct !{!830, !"_ZN4core5slice4sort12choose_pivot17h9bfc6d9003103b30E"}
!831 = !{!829, !832}
!832 = distinct !{!832, !830, !"_ZN4core5slice4sort12choose_pivot17h9bfc6d9003103b30E: argument 1"}
!833 = !{!834, !829, !832}
!834 = distinct !{!834, !835, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E: argument 0"}
!835 = distinct !{!835, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E"}
!836 = !{!837, !829, !832}
!837 = distinct !{!837, !838, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E: argument 0"}
!838 = distinct !{!838, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E"}
!839 = !{!840, !829, !832}
!840 = distinct !{!840, !841, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E: argument 0"}
!841 = distinct !{!841, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E"}
!842 = !{!843}
!843 = distinct !{!843, !844, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E: argument 0"}
!844 = distinct !{!844, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E"}
!845 = !{!846}
!846 = distinct !{!846, !847, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 0"}
!847 = distinct !{!847, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E"}
!848 = !{!849}
!849 = distinct !{!849, !847, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 1"}
!850 = !{!851}
!851 = distinct !{!851, !852, !"_ZN4core3mem4swap17hf29c856065843894E: argument 0"}
!852 = distinct !{!852, !"_ZN4core3mem4swap17hf29c856065843894E"}
!853 = !{!854}
!854 = distinct !{!854, !852, !"_ZN4core3mem4swap17hf29c856065843894E: argument 1"}
!855 = !{!856}
!856 = distinct !{!856, !857, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 0"}
!857 = distinct !{!857, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE"}
!858 = !{!859}
!859 = distinct !{!859, !857, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 1"}
!860 = !{!859, !854, !849, !832}
!861 = !{!856, !859, !851, !854, !846, !849, !843, !829}
!862 = !{!832}
!863 = !{!856, !851, !846, !832}
!864 = !{!865}
!865 = distinct !{!865, !866, !"_ZN4core5slice4sort9partition17h7ccabca296a1663aE: argument 0"}
!866 = distinct !{!866, !"_ZN4core5slice4sort9partition17h7ccabca296a1663aE"}
!867 = !{!868}
!868 = distinct !{!868, !869, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!869 = distinct !{!869, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!870 = !{!868, !871, !865}
!871 = distinct !{!871, !869, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!872 = !{!871}
!873 = !{!868, !865}
!874 = !{!875, !877, !878, !880, !881}
!875 = distinct !{!875, !876, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!876 = distinct !{!876, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!877 = distinct !{!877, !876, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!878 = distinct !{!878, !879, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!879 = distinct !{!879, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!880 = distinct !{!880, !879, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!881 = distinct !{!881, !879, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!882 = !{!883}
!883 = distinct !{!883, !884, !"_ZN4core5slice4sort19partition_in_blocks17hda90683e17e6c77fE: argument 0"}
!884 = distinct !{!884, !"_ZN4core5slice4sort19partition_in_blocks17hda90683e17e6c77fE"}
!885 = !{!883, !865}
!886 = distinct !{!886, !579}
!887 = distinct !{!887, !579}
!888 = !{!889}
!889 = distinct !{!889, !890, !"_ZN4core3ptr4read17h849ae357eeb6b14aE: argument 0"}
!890 = distinct !{!890, !"_ZN4core3ptr4read17h849ae357eeb6b14aE"}
!891 = !{!892}
!892 = distinct !{!892, !893, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!893 = distinct !{!893, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!894 = !{!892, !895, !865}
!895 = distinct !{!895, !893, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!896 = !{!895}
!897 = !{!892, !865}
!898 = !{!899, !901, !902, !904, !905}
!899 = distinct !{!899, !900, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!900 = distinct !{!900, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!901 = distinct !{!901, !900, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!902 = distinct !{!902, !903, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!903 = distinct !{!903, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!904 = distinct !{!904, !903, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!905 = distinct !{!905, !903, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!906 = !{!907, !909}
!907 = distinct !{!907, !908, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!908 = distinct !{!908, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!909 = distinct !{!909, !908, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!910 = !{!911}
!911 = distinct !{!911, !912, !"_ZN4core5slice4sort15partition_equal17h9c0cf50038b026eaE: argument 0"}
!912 = distinct !{!912, !"_ZN4core5slice4sort15partition_equal17h9c0cf50038b026eaE"}
!913 = !{!914}
!914 = distinct !{!914, !915, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!915 = distinct !{!915, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!916 = !{!914, !917, !911}
!917 = distinct !{!917, !915, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!918 = !{!917}
!919 = !{!914, !911}
!920 = !{!921, !923, !924, !926, !927}
!921 = distinct !{!921, !922, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!922 = distinct !{!922, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!923 = distinct !{!923, !922, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!924 = distinct !{!924, !925, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!925 = distinct !{!925, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!926 = distinct !{!926, !925, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!927 = distinct !{!927, !925, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!928 = !{!929}
!929 = distinct !{!929, !930, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h6ffe643bcf0e2ab9E: argument 0"}
!930 = distinct !{!930, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h6ffe643bcf0e2ab9E"}
!931 = !{!932}
!932 = distinct !{!932, !933, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!933 = distinct !{!933, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!934 = !{!932, !935}
!935 = distinct !{!935, !933, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!936 = !{!935}
!937 = !{!938}
!938 = distinct !{!938, !939, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!939 = distinct !{!939, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!940 = !{!938, !941}
!941 = distinct !{!941, !939, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!942 = !{!941}
!943 = !{!944}
!944 = distinct !{!944, !945, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!945 = distinct !{!945, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!946 = !{!944, !947}
!947 = distinct !{!947, !945, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!948 = !{!947}
!949 = !{!950}
!950 = distinct !{!950, !951, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!951 = distinct !{!951, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!952 = !{!950, !953}
!953 = distinct !{!953, !951, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!954 = !{!953}
!955 = !{!956, !958, !959, !961, !962, !964, !965, !967}
!956 = distinct !{!956, !957, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!957 = distinct !{!957, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!958 = distinct !{!958, !957, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!959 = distinct !{!959, !960, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!960 = distinct !{!960, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!961 = distinct !{!961, !960, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!962 = distinct !{!962, !963, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!963 = distinct !{!963, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!964 = distinct !{!964, !963, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!965 = distinct !{!965, !966, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!966 = distinct !{!966, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!967 = distinct !{!967, !966, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!968 = !{!969, !971, !972, !974, !975, !977, !978, !980}
!969 = distinct !{!969, !970, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!970 = distinct !{!970, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!971 = distinct !{!971, !970, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!972 = distinct !{!972, !973, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!973 = distinct !{!973, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!974 = distinct !{!974, !973, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!975 = distinct !{!975, !976, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!976 = distinct !{!976, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!977 = distinct !{!977, !976, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!978 = distinct !{!978, !979, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!979 = distinct !{!979, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!980 = distinct !{!980, !979, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!981 = !{!982}
!982 = distinct !{!982, !983, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!983 = distinct !{!983, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!984 = !{!982, !985}
!985 = distinct !{!985, !983, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!986 = !{!985}
!987 = !{!988}
!988 = distinct !{!988, !989, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!989 = distinct !{!989, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!990 = !{!988, !991}
!991 = distinct !{!991, !989, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!992 = !{!991}
!993 = !{!994}
!994 = distinct !{!994, !995, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$16deallocating_end17h0ab96c3922513924E: argument 0"}
!995 = distinct !{!995, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$16deallocating_end17h0ab96c3922513924E"}
!996 = !{!997}
!997 = distinct !{!997, !998, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hcbbc82f8be79332dE: argument 1"}
!998 = distinct !{!998, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hcbbc82f8be79332dE"}
!999 = !{!1000}
!1000 = distinct !{!1000, !1001, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E: argument 0"}
!1001 = distinct !{!1001, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E"}
!1002 = !{!1003}
!1003 = distinct !{!1003, !1001, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E: argument 2"}
!1004 = !{!1000, !1005, !997, !994}
!1005 = distinct !{!1005, !1001, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E: argument 1"}
!1006 = !{!1003, !1007}
!1007 = distinct !{!1007, !998, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hcbbc82f8be79332dE: argument 0"}
!1008 = !{!1005, !1003, !997, !994}
!1009 = !{!1000, !1007}
!1010 = !{!1011, !1013, !1007, !997, !994}
!1011 = distinct !{!1011, !1012, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E: argument 0"}
!1012 = distinct !{!1012, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E"}
!1013 = distinct !{!1013, !1014, !"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h0e92bba15d2b9b04E: argument 0"}
!1014 = distinct !{!1014, !"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h0e92bba15d2b9b04E"}
!1015 = !{!1016, !1018, !1020, !1021, !994}
!1016 = distinct !{!1016, !1017, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE: argument 0"}
!1017 = distinct !{!1017, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE"}
!1018 = distinct !{!1018, !1019, !"_ZN5alloc11collections5btree4node176Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17h0a8c962126d50700E: argument 0"}
!1019 = distinct !{!1019, !"_ZN5alloc11collections5btree4node176Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17h0a8c962126d50700E"}
!1020 = distinct !{!1020, !1019, !"_ZN5alloc11collections5btree4node176Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17h0a8c962126d50700E: argument 1"}
!1021 = distinct !{!1021, !1022, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$16deallocating_end17hfb68d198bd8d58ffE: argument 0"}
!1022 = distinct !{!1022, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$16deallocating_end17hfb68d198bd8d58ffE"}
!1023 = !{!1024, !1026, !1021, !994}
!1024 = distinct !{!1024, !1025, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E: argument 0"}
!1025 = distinct !{!1025, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E"}
!1026 = distinct !{!1026, !1027, !"_ZN5alloc11collections5btree4node127NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$21deallocate_and_ascend17hf612a27a69919affE: argument 0"}
!1027 = distinct !{!1027, !"_ZN5alloc11collections5btree4node127NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$21deallocate_and_ascend17hf612a27a69919affE"}
!1028 = !{!1029, !1031, !1033, !1024, !1026, !1021, !994}
!1029 = distinct !{!1029, !1030, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E: argument 0"}
!1030 = distinct !{!1030, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E"}
!1031 = distinct !{!1031, !1032, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 0"}
!1032 = distinct !{!1032, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E"}
!1033 = distinct !{!1033, !1032, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 1"}
!1034 = !{!1026, !1021, !994}
!1035 = !{!1036, !1038, !1040, !1021, !994}
!1036 = distinct !{!1036, !1037, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE: argument 0"}
!1037 = distinct !{!1037, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE"}
!1038 = distinct !{!1038, !1039, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17hb1cf94fc63665b73E: argument 0"}
!1039 = distinct !{!1039, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17hb1cf94fc63665b73E"}
!1040 = distinct !{!1040, !1039, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17hb1cf94fc63665b73E: argument 1"}
!1041 = !{!1042}
!1042 = distinct !{!1042, !1043, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$27deallocating_next_unchecked17h6a6c829066fde43cE: argument 1"}
!1043 = distinct !{!1043, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$27deallocating_next_unchecked17h6a6c829066fde43cE"}
!1044 = !{i64 0, i64 3}
!1045 = !{!1046}
!1046 = distinct !{!1046, !1043, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$27deallocating_next_unchecked17h6a6c829066fde43cE: argument 0"}
!1047 = !{!1048}
!1048 = distinct !{!1048, !1049, !"_ZN5alloc11collections5btree8navigate39LazyLeafRange$LT$BorrowType$C$K$C$V$GT$10init_front17h80f6b3360dc8d71fE: argument 0"}
!1049 = distinct !{!1049, !"_ZN5alloc11collections5btree8navigate39LazyLeafRange$LT$BorrowType$C$K$C$V$GT$10init_front17h80f6b3360dc8d71fE"}
!1050 = !{!1048, !1042}
!1051 = !{!1052, !1054, !1048, !1046, !1042}
!1052 = distinct !{!1052, !1053, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E: argument 0"}
!1053 = distinct !{!1053, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E"}
!1054 = distinct !{!1054, !1055, !"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h0e92bba15d2b9b04E: argument 0"}
!1055 = distinct !{!1055, !"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h0e92bba15d2b9b04E"}
!1056 = !{!1057, !1059, !1046, !1042}
!1057 = distinct !{!1057, !1058, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked17h6bca2be1d38db0a0E: argument 0:thread"}
!1058 = distinct !{!1058, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked17h6bca2be1d38db0a0E"}
!1059 = distinct !{!1059, !1058, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked17h6bca2be1d38db0a0E: argument 1:thread"}
!1060 = !{!1061, !1063, !1065, !1066, !1068, !1069, !1071, !1072, !1074, !1057, !1059, !1046, !1042}
!1061 = distinct !{!1061, !1062, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE: argument 0"}
!1062 = distinct !{!1062, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE"}
!1063 = distinct !{!1063, !1064, !"_ZN5alloc11collections5btree4node176Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17h0a8c962126d50700E: argument 0"}
!1064 = distinct !{!1064, !"_ZN5alloc11collections5btree4node176Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17h0a8c962126d50700E"}
!1065 = distinct !{!1065, !1064, !"_ZN5alloc11collections5btree4node176Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17h0a8c962126d50700E: argument 1"}
!1066 = distinct !{!1066, !1067, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$17deallocating_next17hf3960475f4767d40E: argument 0"}
!1067 = distinct !{!1067, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$17deallocating_next17hf3960475f4767d40E"}
!1068 = distinct !{!1068, !1067, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$17deallocating_next17hf3960475f4767d40E: argument 1"}
!1069 = distinct !{!1069, !1070, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h3aeae4ce88bd0bbfE: argument 0"}
!1070 = distinct !{!1070, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h3aeae4ce88bd0bbfE"}
!1071 = distinct !{!1071, !1070, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h3aeae4ce88bd0bbfE: argument 1"}
!1072 = distinct !{!1072, !1073, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 0:thread"}
!1073 = distinct !{!1073, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E"}
!1074 = distinct !{!1074, !1073, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 1:thread"}
!1075 = !{!1046, !1042}
!1076 = !{!1077, !1078, !1042}
!1077 = distinct !{!1077, !1073, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 1"}
!1078 = distinct !{!1078, !1058, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked17h6bca2be1d38db0a0E: argument 1"}
!1079 = !{!1080, !1081, !1046}
!1080 = distinct !{!1080, !1073, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 0"}
!1081 = distinct !{!1081, !1058, !"_ZN5alloc11collections5btree8navigate263_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..Leaf$GT$$C$alloc..collections..btree..node..marker..Edge$GT$$GT$27deallocating_next_unchecked17h6bca2be1d38db0a0E: argument 0"}
!1082 = !{!1078}
!1083 = !{!1077}
!1084 = !{!1081, !1078, !1046, !1042}
!1085 = !{!1061, !1063, !1065, !1066, !1068, !1069, !1071, !1080, !1077, !1081, !1078, !1046, !1042}
!1086 = !{!1080, !1077, !1081, !1078, !1046, !1042}
!1087 = !{!1088, !1090, !1092, !1066, !1068, !1069, !1071, !1080, !1077, !1081, !1078, !1046, !1042}
!1088 = distinct !{!1088, !1089, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E: argument 0"}
!1089 = distinct !{!1089, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E"}
!1090 = distinct !{!1090, !1091, !"_ZN5alloc11collections5btree8navigate235_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$C$alloc..collections..btree..node..marker..KV$GT$$GT$14next_leaf_edge17h1e79dc168b6c215bE: argument 0"}
!1091 = distinct !{!1091, !"_ZN5alloc11collections5btree8navigate235_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$C$alloc..collections..btree..node..marker..KV$GT$$GT$14next_leaf_edge17h1e79dc168b6c215bE"}
!1092 = distinct !{!1092, !1091, !"_ZN5alloc11collections5btree8navigate235_$LT$impl$u20$alloc..collections..btree..node..Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$C$alloc..collections..btree..node..marker..KV$GT$$GT$14next_leaf_edge17h1e79dc168b6c215bE: argument 1"}
!1093 = !{!1094, !1096, !1090, !1092, !1066, !1068, !1069, !1071, !1080, !1077, !1081, !1078, !1046, !1042}
!1094 = distinct !{!1094, !1095, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E: argument 0"}
!1095 = distinct !{!1095, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$7descend17he9a3b6958ff5ad58E"}
!1096 = distinct !{!1096, !1097, !"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h0e92bba15d2b9b04E: argument 0"}
!1097 = distinct !{!1097, !"_ZN5alloc11collections5btree8navigate142_$LT$impl$u20$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$$GT$15first_leaf_edge17h0e92bba15d2b9b04E"}
!1098 = !{!1099, !1101, !1066, !1068, !1069, !1071, !1080, !1077, !1081, !1078, !1046, !1042}
!1099 = distinct !{!1099, !1100, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E: argument 0"}
!1100 = distinct !{!1100, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E"}
!1101 = distinct !{!1101, !1102, !"_ZN5alloc11collections5btree4node127NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$21deallocate_and_ascend17hf612a27a69919affE: argument 0"}
!1102 = distinct !{!1102, !"_ZN5alloc11collections5btree4node127NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$21deallocate_and_ascend17hf612a27a69919affE"}
!1103 = !{!1101, !1066, !1068, !1069, !1071, !1080, !1077, !1081, !1078, !1046, !1042}
!1104 = !{!1105, !1107, !1109, !1099, !1101, !1066, !1068, !1069, !1071, !1080, !1077, !1081, !1078, !1046, !1042}
!1105 = distinct !{!1105, !1106, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E: argument 0"}
!1106 = distinct !{!1106, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E"}
!1107 = distinct !{!1107, !1108, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 0"}
!1108 = distinct !{!1108, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E"}
!1109 = distinct !{!1109, !1108, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 1"}
!1110 = !{!1111, !1113, !1115, !1066, !1068, !1069, !1071, !1080, !1077, !1081, !1078, !1046, !1042}
!1111 = distinct !{!1111, !1112, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE: argument 0"}
!1112 = distinct !{!1112, !"_ZN5alloc11collections5btree4node139Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$NodeType$GT$$C$alloc..collections..btree..node..marker..Edge$GT$8new_edge17h649a39dd48ff0cbcE"}
!1113 = distinct !{!1113, !1114, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17hb1cf94fc63665b73E: argument 0"}
!1114 = distinct !{!1114, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17hb1cf94fc63665b73E"}
!1115 = distinct !{!1115, !1114, !"_ZN5alloc11collections5btree4node180Handle$LT$alloc..collections..btree..node..NodeRef$LT$BorrowType$C$K$C$V$C$alloc..collections..btree..node..marker..Internal$GT$$C$alloc..collections..btree..node..marker..Edge$GT$16forget_node_type17hb1cf94fc63665b73E: argument 1"}
!1116 = !{!1117}
!1117 = distinct !{!1117, !1118, !"_ZN4core3ptr182drop_in_place$LT$core..option..Option$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$$GT$17h774ebfaf8ffbdce1E: argument 0"}
!1118 = distinct !{!1118, !"_ZN4core3ptr182drop_in_place$LT$core..option..Option$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$$GT$17h774ebfaf8ffbdce1E"}
!1119 = !{!1120, !1122, !1117}
!1120 = distinct !{!1120, !1121, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E: argument 0"}
!1121 = distinct !{!1121, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E"}
!1122 = distinct !{!1122, !1123, !"_ZN4core3ptr154drop_in_place$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h49fe2106501d1a42E: argument 0"}
!1123 = distinct !{!1123, !"_ZN4core3ptr154drop_in_place$LT$alloc..sync..Arc$LT$gimli..read..dwarf..Dwarf$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$$GT$17h49fe2106501d1a42E"}
!1124 = !{!1125}
!1125 = distinct !{!1125, !1126, !"_ZN68_$LT$alloc..sync..Weak$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbd25df2c7f8751c2E: argument 0"}
!1126 = distinct !{!1126, !"_ZN68_$LT$alloc..sync..Weak$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbd25df2c7f8751c2E"}
!1127 = !{i64 0, i64 -9223372036854775807}
!1128 = !{!1129}
!1129 = distinct !{!1129, !1130, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hce7f3bcce32c779cE: argument 0"}
!1130 = distinct !{!1130, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hce7f3bcce32c779cE"}
!1131 = !{!1132}
!1132 = distinct !{!1132, !1133, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 0"}
!1133 = distinct !{!1133, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E"}
!1134 = !{!1135, !1136}
!1135 = distinct !{!1135, !1133, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 1"}
!1136 = distinct !{!1136, !1133, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 2"}
!1137 = !{!1138}
!1138 = distinct !{!1138, !1139, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hd4aba355d1e769a7E: argument 0"}
!1139 = distinct !{!1139, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hd4aba355d1e769a7E"}
!1140 = !{!1141}
!1141 = distinct !{!1141, !1142, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17haf8372a3851787c5E: argument 0"}
!1142 = distinct !{!1142, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17haf8372a3851787c5E"}
!1143 = !{!1141, !1138}
!1144 = !{!1145, !1138}
!1145 = distinct !{!1145, !1146, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17hd0b0afe6c7e5882eE: argument 0"}
!1146 = distinct !{!1146, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17hd0b0afe6c7e5882eE"}
!1147 = !{!1148}
!1148 = distinct !{!1148, !1149, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h030a40afa43d3ed8E: argument 0"}
!1149 = distinct !{!1149, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h030a40afa43d3ed8E"}
!1150 = !{!1151}
!1151 = distinct !{!1151, !1152, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE: argument 0"}
!1152 = distinct !{!1152, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE"}
!1153 = !{!1151, !1148}
!1154 = !{!1155, !1148}
!1155 = distinct !{!1155, !1156, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h95f794bf15bedb42E: argument 0"}
!1156 = distinct !{!1156, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h95f794bf15bedb42E"}
!1157 = !{!1158}
!1158 = distinct !{!1158, !1159, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h4400310b32329961E: argument 0"}
!1159 = distinct !{!1159, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h4400310b32329961E"}
!1160 = !{!1161}
!1161 = distinct !{!1161, !1162, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E: argument 0"}
!1162 = distinct !{!1162, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E"}
!1163 = !{!1161, !1158}
!1164 = !{!1165, !1158}
!1165 = distinct !{!1165, !1166, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h4f44b38cf5a1d6fbE: argument 0"}
!1166 = distinct !{!1166, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h4f44b38cf5a1d6fbE"}
!1167 = !{!1168}
!1168 = distinct !{!1168, !1169, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h049daca563001f41E: argument 0"}
!1169 = distinct !{!1169, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h049daca563001f41E"}
!1170 = !{!1171}
!1171 = distinct !{!1171, !1172, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E: argument 0"}
!1172 = distinct !{!1172, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E"}
!1173 = !{!1171, !1168}
!1174 = !{!1175, !1168}
!1175 = distinct !{!1175, !1176, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17he5dd252d55ca6c92E: argument 0"}
!1176 = distinct !{!1176, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17he5dd252d55ca6c92E"}
!1177 = !{!1178}
!1178 = distinct !{!1178, !1179, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE: argument 0"}
!1179 = distinct !{!1179, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE"}
!1180 = !{!1181, !1178}
!1181 = distinct !{!1181, !1182, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E: argument 0"}
!1182 = distinct !{!1182, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E"}
!1183 = !{!1184, !1186}
!1184 = distinct !{!1184, !1185, !"_ZN6object4read5macho12load_command28LoadCommandIterator$LT$E$GT$4next17h5c3ae4dceb01387fE: argument 0"}
!1185 = distinct !{!1185, !"_ZN6object4read5macho12load_command28LoadCommandIterator$LT$E$GT$4next17h5c3ae4dceb01387fE"}
!1186 = distinct !{!1186, !1185, !"_ZN6object4read5macho12load_command28LoadCommandIterator$LT$E$GT$4next17h5c3ae4dceb01387fE: argument 1"}
!1187 = !{!1188}
!1188 = distinct !{!1188, !1189, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16into_boxed_slice17hbd3d8dc3edd2fddcE: argument 0"}
!1189 = distinct !{!1189, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16into_boxed_slice17hbd3d8dc3edd2fddcE"}
!1190 = !{!1191}
!1191 = distinct !{!1191, !1192, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$13shrink_to_fit17hee2574a26f4bec95E: argument 0"}
!1192 = distinct !{!1192, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$13shrink_to_fit17hee2574a26f4bec95E"}
!1193 = !{!1191, !1188}
!1194 = !{!1195}
!1195 = distinct !{!1195, !1196, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$13shrink_to_fit17ha7ec3985695128bfE: argument 0"}
!1196 = distinct !{!1196, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$13shrink_to_fit17ha7ec3985695128bfE"}
!1197 = !{!1198}
!1198 = distinct !{!1198, !1199, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$6shrink17h122f1f0d9c11a355E: argument 0"}
!1199 = distinct !{!1199, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$6shrink17h122f1f0d9c11a355E"}
!1200 = !{!1198, !1195, !1191, !1188}
!1201 = !{!1202}
!1202 = distinct !{!1202, !1203, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 0"}
!1203 = distinct !{!1203, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E"}
!1204 = !{!1205, !1206, !1198, !1195, !1191, !1188}
!1205 = distinct !{!1205, !1203, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 1"}
!1206 = distinct !{!1206, !1203, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 2"}
!1207 = !{!1208}
!1208 = distinct !{!1208, !1209, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 0"}
!1209 = distinct !{!1209, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E"}
!1210 = !{!1211, !1212, !1188}
!1211 = distinct !{!1211, !1209, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 1"}
!1212 = distinct !{!1212, !1209, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 2"}
!1213 = !{!1214}
!1214 = distinct !{!1214, !1215, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE: argument 1"}
!1215 = distinct !{!1215, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE"}
!1216 = !{!1217, !1218}
!1217 = distinct !{!1217, !1215, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE: argument 0"}
!1218 = distinct !{!1218, !1215, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE: argument 2"}
!1219 = !{!1220}
!1220 = distinct !{!1220, !1221, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE: argument 0"}
!1221 = distinct !{!1221, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"}
!1222 = !{!1223}
!1223 = distinct !{!1223, !1224, !"_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17hd095127e62839d53E: argument 0"}
!1224 = distinct !{!1224, !"_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17hd095127e62839d53E"}
!1225 = !{!1226}
!1226 = distinct !{!1226, !1227, !"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17h8600f2fbd2c507a3E: argument 0"}
!1227 = distinct !{!1227, !"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17h8600f2fbd2c507a3E"}
!1228 = !{!1226, !1229, !1223, !1230}
!1229 = distinct !{!1229, !1227, !"_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17h8600f2fbd2c507a3E: argument 1"}
!1230 = distinct !{!1230, !1224, !"_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17hd095127e62839d53E: argument 1"}
!1231 = !{!1232, !1234}
!1232 = distinct !{!1232, !1233, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 1"}
!1233 = distinct !{!1233, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E"}
!1234 = distinct !{!1234, !1235, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 1"}
!1235 = distinct !{!1235, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E"}
!1236 = !{!1237, !1238, !1239, !1241, !1242, !1243, !1245, !1226, !1229, !1223, !1230}
!1237 = distinct !{!1237, !1233, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 0"}
!1238 = distinct !{!1238, !1235, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 0"}
!1239 = distinct !{!1239, !1240, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 0"}
!1240 = distinct !{!1240, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E"}
!1241 = distinct !{!1241, !1240, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 1"}
!1242 = distinct !{!1242, !1240, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 2"}
!1243 = distinct !{!1243, !1244, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E: argument 0"}
!1244 = distinct !{!1244, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E"}
!1245 = distinct !{!1245, !1244, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E: argument 1"}
!1246 = distinct !{!1246, !1247}
!1247 = !{!"llvm.loop.unswitch.partial.disable"}
!1248 = !{!1226, !1223}
!1249 = !{!1229, !1230}
!1250 = !{!1251}
!1251 = distinct !{!1251, !1252, !"_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17hb174a3dbf4176aafE: argument 0"}
!1252 = distinct !{!1252, !"_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17hb174a3dbf4176aafE"}
!1253 = !{!1254}
!1254 = distinct !{!1254, !1255, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16extend_desugared17hc02c0729ce77fc17E: argument 0"}
!1255 = distinct !{!1255, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16extend_desugared17hc02c0729ce77fc17E"}
!1256 = !{!1257, !1259}
!1257 = distinct !{!1257, !1258, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 1"}
!1258 = distinct !{!1258, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E"}
!1259 = distinct !{!1259, !1260, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 1"}
!1260 = distinct !{!1260, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E"}
!1261 = !{!1262, !1263, !1264, !1266, !1267, !1268, !1270, !1254, !1271, !1251, !1272, !1226, !1229, !1223, !1230}
!1262 = distinct !{!1262, !1258, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 0"}
!1263 = distinct !{!1263, !1260, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 0"}
!1264 = distinct !{!1264, !1265, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 0"}
!1265 = distinct !{!1265, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E"}
!1266 = distinct !{!1266, !1265, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 1"}
!1267 = distinct !{!1267, !1265, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 2"}
!1268 = distinct !{!1268, !1269, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E: argument 0"}
!1269 = distinct !{!1269, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E"}
!1270 = distinct !{!1270, !1269, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E: argument 1"}
!1271 = distinct !{!1271, !1255, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16extend_desugared17hc02c0729ce77fc17E: argument 1"}
!1272 = distinct !{!1272, !1252, !"_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17hb174a3dbf4176aafE: argument 1"}
!1273 = !{!1274, !1254, !1271, !1251, !1272, !1226, !1229, !1223, !1230}
!1274 = distinct !{!1274, !1275, !"_ZN4core3ptr5write17h7dc3517bfe61ae67E: argument 0"}
!1275 = distinct !{!1275, !"_ZN4core3ptr5write17h7dc3517bfe61ae67E"}
!1276 = !{!1254, !1271, !1251, !1272, !1226, !1229, !1223, !1230}
!1277 = !{!1278, !1254, !1251}
!1278 = distinct !{!1278, !1279, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7set_len17h3d3f0111ab32ce1eE: argument 0"}
!1279 = distinct !{!1279, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7set_len17h3d3f0111ab32ce1eE"}
!1280 = !{!1271, !1272, !1226, !1229, !1223, !1230}
!1281 = !{!1254, !1251}
!1282 = !{!1283}
!1283 = distinct !{!1283, !1284, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE: argument 0"}
!1284 = distinct !{!1284, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE"}
!1285 = !{!1286}
!1286 = distinct !{!1286, !1287, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h53cbd72402db7af6E: argument 0"}
!1287 = distinct !{!1287, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h53cbd72402db7af6E"}
!1288 = !{!1289, !1291, !1286}
!1289 = distinct !{!1289, !1290, !"_ZN4core5slice4sort9quicksort17h55cb9495942f6c18E: argument 0"}
!1290 = distinct !{!1290, !"_ZN4core5slice4sort9quicksort17h55cb9495942f6c18E"}
!1291 = distinct !{!1291, !1290, !"_ZN4core5slice4sort9quicksort17h55cb9495942f6c18E: argument 1"}
!1292 = !{!1293}
!1293 = distinct !{!1293, !1294, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17he7bf67cedc17eeebE: argument 0"}
!1294 = distinct !{!1294, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17he7bf67cedc17eeebE"}
!1295 = !{!1296, !1298, !1293}
!1296 = distinct !{!1296, !1297, !"_ZN4core5slice4sort9quicksort17hf35de0c5f595bb70E: argument 0"}
!1297 = distinct !{!1297, !"_ZN4core5slice4sort9quicksort17hf35de0c5f595bb70E"}
!1298 = distinct !{!1298, !1297, !"_ZN4core5slice4sort9quicksort17hf35de0c5f595bb70E: argument 1"}
!1299 = !{!1300, !1302}
!1300 = distinct !{!1300, !1301, !"_ZN6object4read5macho6symbol27SymbolTable$LT$Mach$C$R$GT$10object_map17h30aafa8c24a5cb89E: argument 0"}
!1301 = distinct !{!1301, !"_ZN6object4read5macho6symbol27SymbolTable$LT$Mach$C$R$GT$10object_map17h30aafa8c24a5cb89E"}
!1302 = distinct !{!1302, !1301, !"_ZN6object4read5macho6symbol27SymbolTable$LT$Mach$C$R$GT$10object_map17h30aafa8c24a5cb89E: argument 1"}
!1303 = !{!1304}
!1304 = distinct !{!1304, !1305, !"_ZN6object4read18SymbolMap$LT$T$GT$3new17h3d417a6b64fbaa84E: argument 1"}
!1305 = distinct !{!1305, !"_ZN6object4read18SymbolMap$LT$T$GT$3new17h3d417a6b64fbaa84E"}
!1306 = !{!1307, !1300, !1302}
!1307 = distinct !{!1307, !1305, !"_ZN6object4read18SymbolMap$LT$T$GT$3new17h3d417a6b64fbaa84E: argument 0"}
!1308 = !{!1307, !1304, !1300, !1302}
!1309 = !{!1310, !1307, !1304, !1300, !1302}
!1310 = distinct !{!1310, !1311, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h3d92a9976347cc2eE: argument 0"}
!1311 = distinct !{!1311, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h3d92a9976347cc2eE"}
!1312 = !{!1313, !1315, !1310, !1307, !1304, !1300, !1302}
!1313 = distinct !{!1313, !1314, !"_ZN4core5slice4sort9quicksort17hbb76ba20d7545c7fE: argument 0"}
!1314 = distinct !{!1314, !"_ZN4core5slice4sort9quicksort17hbb76ba20d7545c7fE"}
!1315 = distinct !{!1315, !1314, !"_ZN4core5slice4sort9quicksort17hbb76ba20d7545c7fE: argument 1"}
!1316 = !{!1317}
!1317 = distinct !{!1317, !1318, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h3e140e2b8dcee52eE: argument 0"}
!1318 = distinct !{!1318, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h3e140e2b8dcee52eE"}
!1319 = !{!1320, !1300, !1302}
!1320 = distinct !{!1320, !1318, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h3e140e2b8dcee52eE: argument 1"}
!1321 = !{!1322, !1317, !1320, !1300, !1302}
!1322 = distinct !{!1322, !1323, !"_ZN4core3ptr5write17ha074602a57b81f9cE: argument 0"}
!1323 = distinct !{!1323, !"_ZN4core3ptr5write17ha074602a57b81f9cE"}
!1324 = !{!1325}
!1325 = distinct !{!1325, !1326, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb2e55b5ea48b15d4E: argument 0"}
!1326 = distinct !{!1326, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb2e55b5ea48b15d4E"}
!1327 = !{!1328, !1300, !1302}
!1328 = distinct !{!1328, !1326, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb2e55b5ea48b15d4E: argument 1"}
!1329 = !{!1330, !1325, !1328, !1300, !1302}
!1330 = distinct !{!1330, !1331, !"_ZN4core3ptr5write17hbfa637c3b6235b71E: argument 0"}
!1331 = distinct !{!1331, !"_ZN4core3ptr5write17hbfa637c3b6235b71E"}
!1332 = !{!1330, !1325, !1300, !1302}
!1333 = !{!1302}
!1334 = !{!1335}
!1335 = distinct !{!1335, !1336, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11resize_with17h5fc3143dc926d0aaE: argument 0"}
!1336 = distinct !{!1336, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11resize_with17h5fc3143dc926d0aaE"}
!1337 = !{!1338}
!1338 = distinct !{!1338, !1339, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h2880dc02a6b1155fE: argument 0"}
!1339 = distinct !{!1339, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h2880dc02a6b1155fE"}
!1340 = !{!1338, !1335}
!1341 = !{!1342, !1344}
!1342 = distinct !{!1342, !1343, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E: argument 0"}
!1343 = distinct !{!1343, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"}
!1344 = distinct !{!1344, !1345, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE: argument 0"}
!1345 = distinct !{!1345, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE"}
!1346 = !{!1347}
!1347 = distinct !{!1347, !1348, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17h31e9e911601f3874E: argument 0"}
!1348 = distinct !{!1348, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17h31e9e911601f3874E"}
!1349 = !{!1350, !1352, !1347, !1335}
!1350 = distinct !{!1350, !1351, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve17h6d6a91bb1011a1e0E: argument 0"}
!1351 = distinct !{!1351, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve17h6d6a91bb1011a1e0E"}
!1352 = distinct !{!1352, !1353, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h5e7c3697410c73bcE: argument 0"}
!1353 = distinct !{!1353, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h5e7c3697410c73bcE"}
!1354 = !{!1347, !1335}
!1355 = !{!1356, !1347, !1335}
!1356 = distinct !{!1356, !1357, !"_ZN4core3ptr5write17hb031079b8324beb1E: argument 0"}
!1357 = distinct !{!1357, !"_ZN4core3ptr5write17hb031079b8324beb1E"}
!1358 = !{!1359, !1347, !1335}
!1359 = distinct !{!1359, !1360, !"_ZN4core3ptr5write17hb031079b8324beb1E: argument 0"}
!1360 = distinct !{!1360, !"_ZN4core3ptr5write17hb031079b8324beb1E"}
!1361 = !{!1362}
!1362 = distinct !{!1362, !1363, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE: argument 0"}
!1363 = distinct !{!1363, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"}
!1364 = !{!1365}
!1365 = distinct !{!1365, !1366, !"_ZN4core5array8equality92_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$A$u3b$$u20$N$u5d$$GT$$u20$for$u20$$u5b$B$u5d$$GT$2eq17h3ba6949910591181E: argument 0"}
!1366 = distinct !{!1366, !"_ZN4core5array8equality92_$LT$impl$u20$core..cmp..PartialEq$LT$$u5b$A$u3b$$u20$N$u5d$$GT$$u20$for$u20$$u5b$B$u5d$$GT$2eq17h3ba6949910591181E"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment