Skip to content

Instantly share code, notes, and snippets.

@pcwalton
Created November 6, 2022 00:05
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/6195ccd7b1b49cde8920f3e65c048b84 to your computer and use it in GitHub Desktop.
Save pcwalton/6195ccd7b1b49cde8920f3e65c048b84 to your computer and use it in GitHub Desktop.
backtrace::symbolize::gimli::macho::Object::parse, 99 elements of argument promotion
; ModuleID = '/Users/pcwalton/Desktop/backtrace.preap.ll'
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 { %11, %12, ptr, ptr }
%11 = type { { ptr, i64 }, i64 }
%12 = type { { ptr, i64 }, 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 }
%31 = type { %32 }
%32 = type { i64, [7 x i64] }
%33 = type { %34, %35 }
%34 = type { %10 }
%35 = type { %36, { ptr, i64 }, { ptr, i64 }, %37, %38, { ptr, i64 }, i8, [7 x i8] }
%36 = type {}
%37 = type { { ptr, i64 }, i64 }
%38 = type { ptr, [5 x i64] }
%39 = type { %33, { ptr, i64 }, %40 }
%40 = type { %41, %43 }
%41 = type { %42 }
%42 = type { { ptr, i64 }, i64 }
%43 = type { %44 }
%44 = type { i64, [2 x i64] }
%45 = type { { ptr, i64 }, i64 }
%46 = type { i64, i64, { ptr, i64 } }
%47 = type { %45 }
%48 = type { %49 }
%49 = type { i64, i64, { ptr, i64 }, i64 }
%50 = type { { { ptr, i64 }, i64 } }
%51 = type { [3 x i64] }
%52 = type { [5 x i64] }
%53 = type { ptr, [5 x i64] }
%54 = type {}
%55 = type { %5, [12 x ptr] }
%56 = type { [1 x i64], { i64, ptr } }
%57 = type { [1 x i64], %58 }
%58 = type { %59, { i64, ptr }, i64 }
%59 = type {}
%60 = type { %61, %61, %62 }
%61 = type { i64 }
%62 = type { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, %63, %64, ptr, i8, [7 x i8] }
%63 = type { { ptr, i64 }, { ptr, i64 } }
%64 = type { { ptr, i64 }, { ptr, i64 } }
%65 = type { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }
%66 = type { [1 x i64], { i64, i64 } }
%67 = type { [1 x i64], { ptr, i64 } }
%68 = type { i64, [2 x i64] }
%69 = type { { ptr, i64 }, i64 }
%70 = type { { ptr, i64 }, i64 }
%71 = type { { ptr, i64 }, i64 }
%72 = type { [120 x i8], i8, [7 x i8] }
%73 = type { %74, %74 }
%74 = type { %75, [4 x i8] }
%75 = type {}
%76 = type { %74, %74, [16 x i8], %77, %77, %77, %77, %74, %74, %74, %74 }
%77 = type { %75, [8 x i8] }
%78 = type { %74, %74, %74, %74, %74, %74 }
%79 = type { %74, i8, i8, %80, %77 }
%80 = type { %75, [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"(i64 %.0.val, ptr %.8.val, i64 %.16.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = alloca %0, align 8
%2 = alloca %1, align 8
call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %2), !noalias !1
%3 = icmp eq ptr %.8.val, null
br i1 %3, label %9, label %4
4: ; preds = %0
store i64 0, ptr %2, align 8, !alias.scope !4, !noalias !7
%5 = getelementptr inbounds i8, ptr %2, i64 8
store i64 %.0.val, ptr %5, align 8, !alias.scope !4, !noalias !7
%6 = getelementptr inbounds i8, ptr %2, i64 16
store ptr %.8.val, ptr %6, align 8, !alias.scope !4, !noalias !7
%7 = getelementptr inbounds i8, ptr %2, i64 40
store i64 %.0.val, ptr %7, align 8, !alias.scope !4, !noalias !7
%8 = getelementptr inbounds i8, ptr %2, i64 48
store ptr %.8.val, ptr %8, align 8, !alias.scope !4, !noalias !7
br label %10
9: ; preds = %0
store i64 2, ptr %2, align 8, !alias.scope !4, !noalias !7
br label %10
10: ; preds = %9, %4
%11 = phi i64 [ 2, %9 ], [ 0, %4 ]
%12 = phi i64 [ 0, %9 ], [ %.16.val, %4 ]
%13 = getelementptr inbounds i8, ptr %2, i64 32
store i64 %11, ptr %13, align 8, !alias.scope !4, !noalias !7
%14 = getelementptr inbounds %1, ptr %2, i64 0, i32 2
store i64 %12, ptr %14, align 8, !alias.scope !4, !noalias !7
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1), !noalias !9
call fastcc void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hb1776e07813d62f4E"(ptr noalias nocapture noundef nonnull dereferenceable(24) %1, ptr noalias noundef nonnull align 8 dereferenceable(72) %2), !noalias !1
%15 = getelementptr inbounds %0, ptr %1, i64 0, i32 1
%16 = load ptr, ptr %15, align 8, !noalias !9
%17 = icmp eq ptr %16, null
br i1 %17, label %.loopexit, label %18
18: ; preds = %10
%19 = getelementptr inbounds i8, ptr %1, i64 16
br label %20
20: ; preds = %53, %18
%21 = phi ptr [ %16, %18 ], [ %54, %53 ]
%22 = load i64, ptr %19, align 8, !noalias !9
%23 = getelementptr inbounds %5, ptr %21, i64 0, i32 4
%24 = load i16, ptr %23, align 2, !noalias !9
%25 = zext i16 %24 to i64
%26 = icmp ult i64 %22, %25
br i1 %26, label %27, label %46
27: ; preds = %20
%28 = icmp ugt i64 %22, 10
br i1 %28, label %29, label %30
29: ; preds = %27
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.132, i64 101) #21, !noalias !9
unreachable
30: ; preds = %27
%31 = getelementptr %6, ptr %21, i64 %22, i32 0, i64 12
tail call void @llvm.experimental.noalias.scope.decl(metadata !14)
tail call void @llvm.experimental.noalias.scope.decl(metadata !17)
%32 = getelementptr inbounds %7, ptr %31, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !20)
%33 = load i64, ptr %32, align 8, !range !23, !alias.scope !24, !noalias !9, !noundef !25
%34 = icmp eq i64 %33, 0
br i1 %34, label %53, label %35
35: ; preds = %30
%36 = getelementptr inbounds %7, ptr %31, i64 0, i32 1, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !26)
%37 = load ptr, ptr %36, align 8, !alias.scope !29, !noalias !9
%38 = getelementptr %7, ptr %31, i64 0, i32 1, i32 1, i64 1
%39 = load i64, ptr %38, align 8, !alias.scope !29, !noalias !9
%40 = icmp eq i64 %39, 0
br i1 %40, label %53, label %41
41: ; preds = %35
%42 = icmp ugt i64 %39, 576460752303423487
br i1 %42, label %46, label %43
43: ; preds = %41
%44 = shl nuw nsw i64 %39, 4
%45 = icmp ne ptr %37, null
tail call void @llvm.assume(i1 %45)
tail call void @__rust_dealloc(ptr nonnull %37, i64 %44, i64 8) #22, !noalias !30
br label %53
46: ; preds = %41, %20
%47 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.57, %41 ], [ @anon.0f79382001bad1c9081319f05be50b13.67, %20 ]
%48 = phi i64 [ 30, %41 ], [ 44, %20 ]
%49 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.93, %41 ], [ @anon.0f79382001bad1c9081319f05be50b13.68, %20 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %47, i64 %48, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %49) #23
to label %50 unwind label %51, !noalias !9
50: ; preds = %46
unreachable
51: ; preds = %46
%52 = 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 %2) #24
to label %56 unwind label %57, !noalias !1
53: ; preds = %43, %35, %30
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1), !noalias !9
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %1), !noalias !9
call fastcc void @"_ZN5alloc11collections5btree3map25IntoIter$LT$K$C$V$C$A$GT$10dying_next17hb1776e07813d62f4E"(ptr noalias nocapture noundef nonnull dereferenceable(24) %1, ptr noalias noundef nonnull align 8 dereferenceable(72) %2), !noalias !1
%54 = load ptr, ptr %15, align 8, !noalias !9
%55 = icmp eq ptr %54, null
br i1 %55, label %.loopexit, label %20
56: ; preds = %51
resume { ptr, i32 } %52
57: ; preds = %51
%58 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1
unreachable
.loopexit: ; preds = %53, %10
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %1), !noalias !9
call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %2), !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"(i64 %.0.val, ptr %.8.val, i64 %.16.val) unnamed_addr #0 {
%1 = icmp eq i64 %.0.val, 0
br i1 %1, label %4, label %2
2: ; preds = %0
%3 = tail call i32 @munmap(ptr %.8.val, i64 %.16.val), !noalias !32
br label %4
4: ; preds = %2, %0
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"(i64 %.0.val, ptr %.8.val, i64 %.16.val, ptr %.24.val, i64 %.32.val) unnamed_addr #0 {
%1 = icmp eq i64 %.0.val, 0
br i1 %1, label %3, label %2
2: ; preds = %0
tail call fastcc void @"_ZN4core3ptr86drop_in_place$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$17h7ead3583c7167e8eE"(ptr %.8.val, i64 %.16.val, ptr %.24.val, i64 %.32.val)
br label %3
3: ; preds = %2, %0
ret void
}
; 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 %.88.val, i64 %.96.val, i64 %.104.val, i64 %.112.val, ptr %.120.val, i64 %.128.val, ptr %.248.val, i64 %.256.val, ptr %.272.val, i64 %.280.val, ptr %.296.val, i64 %.304.val, ptr %.320.val, i64 %.328.val, i64 %.376.val, i64 %.472.val, ptr %.480.val, i64 %.488.val, ptr %.496.val, i64 %.504.val, i64 %.512.val, ptr %.520.val, i64 %.528.val, ptr %.536.val, i64 %.544.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp ne ptr %.88.val, null
tail call void @llvm.assume(i1 %1)
%2 = getelementptr inbounds %7, ptr %.88.val, i64 %.104.val
%3 = icmp eq i64 %.104.val, 0
br i1 %3, label %.loopexit.i, label %.preheader.i
.preheader.i: ; preds = %0, %22
%4 = phi ptr [ %5, %22 ], [ %.88.val, %0 ]
%5 = getelementptr inbounds %7, ptr %4, i64 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !37)
%6 = getelementptr inbounds %7, ptr %4, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !40)
%7 = load i64, ptr %6, align 8, !range !23, !alias.scope !43, !noalias !46, !noundef !25
%8 = icmp eq i64 %7, 0
br i1 %8, label %22, label %9
9: ; preds = %.preheader.i
%10 = getelementptr inbounds %7, ptr %4, i64 0, i32 1, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !49)
%11 = load ptr, ptr %10, align 8, !alias.scope !52, !noalias !46
%12 = getelementptr %7, ptr %4, i64 0, i32 1, i32 1, i64 1
%13 = load i64, ptr %12, align 8, !alias.scope !52, !noalias !46
%14 = icmp eq i64 %13, 0
br i1 %14, label %22, label %15
15: ; preds = %9
%16 = icmp ugt i64 %13, 576460752303423487
br i1 %16, label %17, label %19
17: ; preds = %15
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 %18 unwind label %27, !noalias !46
18: ; preds = %17
unreachable
19: ; preds = %15
%20 = shl nuw nsw i64 %13, 4
%21 = icmp ne ptr %11, null
tail call void @llvm.assume(i1 %21)
tail call void @__rust_dealloc(ptr nonnull %11, i64 %20, i64 8) #22, !noalias !53
br label %22
22: ; preds = %19, %9, %.preheader.i
%23 = icmp eq ptr %5, %2
br i1 %23, label %.loopexit.i, label %.preheader.i
24: ; preds = %29, %27
%25 = phi ptr [ %5, %27 ], [ %30, %29 ]
%26 = icmp eq ptr %25, %2
br i1 %26, label %36, label %29
27: ; preds = %17
%28 = landingpad { ptr, i32 }
cleanup
br label %24
29: ; preds = %24
%30 = getelementptr inbounds %7, ptr %25, i64 1
%31 = getelementptr i8, ptr %25, i64 8
%.val.i = load i64, ptr %31, align 8, !range !23, !alias.scope !54, !noundef !25
%32 = getelementptr i8, ptr %25, i64 16
%.val4.i = load ptr, ptr %32, align 8
%33 = getelementptr i8, ptr %25, i64 24
%.val5.i = load i64, ptr %33, align 8
invoke fastcc void @"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"(i64 %.val.i, ptr %.val4.i, i64 %.val5.i) #24
to label %24 unwind label %34
34: ; preds = %29
%35 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !46
unreachable
36: ; preds = %24
invoke fastcc void @"_ZN4core3ptr84drop_in_place$LT$alloc..raw_vec..RawVec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17h679c3d2202750b59E"(ptr nonnull %.88.val, i64 %.96.val) #24
to label %48 unwind label %44, !noalias !46
.loopexit.i: ; preds = %22, %0
%37 = icmp eq i64 %.96.val, 0
br i1 %37, label %50, label %38
38: ; preds = %.loopexit.i
%39 = icmp ugt i64 %.96.val, 82351536043346212
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 %.96.val, 112
tail call void @__rust_dealloc(ptr nonnull %.88.val, i64 %43, i64 8) #22, !noalias !46
br label %50
44: ; preds = %36
%45 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !46
unreachable
46: ; preds = %40
%47 = landingpad { ptr, i32 }
cleanup
br label %48
48: ; preds = %46, %36
%49 = phi { ptr, i32 } [ %47, %46 ], [ %28, %36 ]
invoke fastcc void @"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hb552a67d31141ef1E"(i64 %.112.val, ptr %.120.val, i64 %.128.val) #24
to label %.body unwind label %51
50: ; preds = %42, %.loopexit.i
invoke fastcc void @"_ZN4core3ptr108drop_in_place$LT$alloc..collections..btree..map..BTreeMap$LT$u64$C$gimli..read..abbrev..Abbreviation$GT$$GT$17hb552a67d31141ef1E"(i64 %.112.val, ptr %.120.val, i64 %.128.val)
to label %"_ZN4core3ptr55drop_in_place$LT$gimli..read..abbrev..Abbreviations$GT$17h477dbe1c431608e8E.exit" unwind label %53
51: ; preds = %48
%52 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
53: ; preds = %50
%54 = landingpad { ptr, i32 }
cleanup
br label %.body
.body: ; preds = %48, %53
%eh.lpad-body = phi { ptr, i32 } [ %54, %53 ], [ %49, %48 ]
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 %.248.val, i64 %.256.val, ptr %.272.val, i64 %.280.val, ptr %.296.val, i64 %.304.val, ptr %.320.val, i64 %.328.val, i64 %.376.val) #24
to label %61 unwind label %57
"_ZN4core3ptr55drop_in_place$LT$gimli..read..abbrev..Abbreviations$GT$17h477dbe1c431608e8E.exit": ; preds = %50
%55 = icmp eq i64 %.376.val, 47
br i1 %55, label %63, label %56
56: ; preds = %"_ZN4core3ptr55drop_in_place$LT$gimli..read..abbrev..Abbreviations$GT$17h477dbe1c431608e8E.exit"
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 %.248.val, i64 %.256.val, ptr %.272.val, i64 %.280.val, ptr %.296.val, i64 %.304.val, ptr %.320.val, i64 %.328.val)
to label %63 unwind label %59
57: ; preds = %.body
%58 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !57
unreachable
59: ; preds = %56
%60 = landingpad { ptr, i32 }
cleanup
br label %61
61: ; preds = %.body, %59
%62 = phi { ptr, i32 } [ %60, %59 ], [ %eh.lpad-body, %.body ]
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"(i64 %.472.val, ptr %.480.val, i64 %.488.val, ptr %.496.val, i64 %.504.val) #24
to label %68 unwind label %66
63: ; preds = %56, %"_ZN4core3ptr55drop_in_place$LT$gimli..read..abbrev..Abbreviations$GT$17h477dbe1c431608e8E.exit"
%64 = icmp eq i64 %.472.val, 0
br i1 %64, label %72, label %65
65: ; preds = %63
invoke fastcc void @"_ZN4core3ptr86drop_in_place$LT$core..result..Result$LT$addr2line..Lines$C$gimli..read..Error$GT$$GT$17h7ead3583c7167e8eE"(ptr %.480.val, i64 %.488.val, ptr %.496.val, i64 %.504.val)
to label %72 unwind label %70
66: ; preds = %61
%67 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
68: ; preds = %61, %70
%69 = phi { ptr, i32 } [ %71, %70 ], [ %62, %61 ]
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"(i64 %.512.val, ptr %.520.val, i64 %.528.val, ptr %.536.val, i64 %.544.val) #24
resume { ptr, i32 } %69
70: ; preds = %65
%71 = landingpad { ptr, i32 }
cleanup
br label %68
72: ; preds = %65, %63
%73 = icmp eq i64 %.512.val, 0
br i1 %73, label %75, label %74
74: ; preds = %72
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 %.520.val, i64 %.528.val, ptr %.536.val, i64 %.544.val)
br label %75
75: ; preds = %74, %72
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 !60)
%2 = load ptr, ptr %0, align 8, !alias.scope !60
%3 = getelementptr i8, ptr %0, i64 8
%4 = load i64, ptr %3, align 8, !alias.scope !60
%5 = icmp eq i64 %4, 0
br i1 %5, label %18, 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 !60
br label %18
13: ; preds = %8
%14 = landingpad { ptr, i32 }
cleanup
%15 = getelementptr inbounds %10, ptr %0, i64 0, i32 1
%.val = load ptr, ptr %15, align 8, !nonnull !25, !noundef !25
%16 = getelementptr %10, ptr %0, i64 0, i32 1, i32 0, i32 1
%.val2 = load i64, ptr %16, align 8
%17 = getelementptr %10, ptr %0, i64 0, i32 1, i32 1
%.val3 = load i64, ptr %17, align 8
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 nonnull %.val, i64 %.val2, i64 %.val3) #24
to label %24 unwind label %22
18: ; preds = %10, %1
%19 = getelementptr inbounds %10, ptr %0, i64 0, i32 1
%.val4 = load ptr, ptr %19, align 8, !nonnull !25, !noundef !25
%20 = getelementptr %10, ptr %0, i64 0, i32 1, i32 0, i32 1
%.val5 = load i64, ptr %20, align 8
%21 = getelementptr %10, ptr %0, i64 0, i32 1, i32 1
%.val6 = load i64, ptr %21, align 8
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 nonnull %.val4, i64 %.val5, i64 %.val6)
to label %30 unwind label %28
22: ; preds = %13, %24
%23 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
24: ; preds = %13, %28
%25 = phi { ptr, i32 } [ %29, %28 ], [ %14, %13 ]
%26 = getelementptr inbounds %10, 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) %26) #24
%27 = getelementptr inbounds %10, 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) %27) #24
to label %43 unwind label %22
28: ; preds = %18
%29 = landingpad { ptr, i32 }
cleanup
br label %24
30: ; preds = %18
%31 = getelementptr inbounds %10, ptr %0, i64 0, i32 2
tail call void @llvm.experimental.noalias.scope.decl(metadata !63)
tail call void @llvm.experimental.noalias.scope.decl(metadata !66)
%32 = load ptr, ptr %31, align 8, !alias.scope !69, !nonnull !25, !noundef !25
%33 = atomicrmw sub ptr %32, i64 1 release, align 8, !noalias !69
%34 = icmp eq i64 %33, 1
br i1 %34, label %35, label %36
35: ; preds = %30
fence acquire, !noalias !66
tail call fastcc void @"_ZN5alloc4sync12Arc$LT$T$GT$9drop_slow17h5d01faaaef3f60bfE"(ptr noalias noundef nonnull align 8 dereferenceable(8) %31)
br label %36
36: ; preds = %35, %30
%37 = getelementptr inbounds %10, ptr %0, i64 0, i32 3
%38 = load ptr, ptr %37, align 8, !alias.scope !70
%39 = icmp eq ptr %38, null
br i1 %39, label %46, label %40
40: ; preds = %36
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) %38)
to label %45 unwind label %41, !noalias !73
41: ; preds = %40
%42 = landingpad { ptr, i32 }
cleanup
tail call fastcc void @_ZN5alloc5alloc8box_free17hf643b5e89b6a4e1cE(ptr noundef nonnull %38) #24, !noalias !73
br label %43
43: ; preds = %41, %24
%44 = phi { ptr, i32 } [ %42, %41 ], [ %25, %24 ]
resume { ptr, i32 } %44
45: ; preds = %40
tail call void @__rust_dealloc(ptr nonnull %38, i64 64, i64 8) #22, !noalias !73
br label %46
46: ; preds = %45, %36
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 %.0.val, i64 %.8.val, i64 %.16.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %1)
%2 = getelementptr inbounds %9, ptr %.0.val, i64 %.16.val
%3 = icmp eq i64 %.16.val, 0
br i1 %3, label %.loopexit, label %.preheader
.preheader: ; preds = %0, %10
%4 = phi ptr [ %5, %10 ], [ %.0.val, %0 ]
%5 = getelementptr inbounds %9, ptr %4, i64 1
%6 = getelementptr inbounds %9, ptr %4, i64 0, i32 1
%7 = load i8, ptr %6, align 8, !range !31, !alias.scope !76, !noundef !25
%8 = icmp ult i8 %7, 2
br i1 %8, label %9, label %10
9: ; preds = %.preheader
invoke fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %4) #26
to label %10 unwind label %15
10: ; preds = %9, %.preheader
%11 = icmp eq ptr %5, %2
br i1 %11, label %.loopexit, label %.preheader
12: ; preds = %17, %15
%13 = phi ptr [ %5, %15 ], [ %18, %17 ]
%14 = icmp eq ptr %13, %2
br i1 %14, label %21, label %17
15: ; preds = %9
%16 = landingpad { ptr, i32 }
cleanup
br label %12
17: ; preds = %12
%18 = getelementptr inbounds %9, ptr %13, 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) %13) #27
to label %12 unwind label %19
19: ; preds = %17
%20 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
21: ; preds = %12
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 %.0.val, i64 %.8.val) #24
to label %31 unwind label %29
.loopexit: ; preds = %10, %0
%22 = icmp eq i64 %.8.val, 0
br i1 %22, label %28, label %23
23: ; preds = %.loopexit
%24 = icmp ugt i64 %.8.val, 36028797018963967
br i1 %24, label %25, label %26
25: ; preds = %23
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 !81
unreachable
26: ; preds = %23
%27 = shl nuw nsw i64 %.8.val, 8
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %27, i64 8) #22
br label %28
28: ; preds = %26, %.loopexit
ret void
29: ; preds = %21
%30 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
31: ; preds = %21
resume { ptr, i32 } %16
}
; 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 %9, 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 !84
unreachable
7: ; preds = %4
%8 = shl nuw nsw i64 %1, 8
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %9
9: ; 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 %.0.val, i64 %.8.val, i64 %.16.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %1)
%2 = getelementptr inbounds %13, ptr %.0.val, i64 %.16.val
br label %3
3: ; preds = %6, %0
%4 = phi ptr [ %.0.val, %0 ], [ %7, %6 ]
%5 = icmp eq ptr %4, %2
br i1 %5, label %68, label %6
6: ; preds = %3
%7 = getelementptr inbounds %13, ptr %4, i64 1
%8 = getelementptr i8, ptr %4, i64 88
%.val28 = load ptr, ptr %8, align 8, !alias.scope !87, !nonnull !25, !noundef !25
%9 = getelementptr i8, ptr %4, i64 96
%.val29 = load i64, ptr %9, align 8
%10 = getelementptr i8, ptr %4, i64 104
%.val30 = load i64, ptr %10, align 8, !alias.scope !87
%11 = getelementptr i8, ptr %4, i64 112
%.val31 = load i64, ptr %11, align 8
%12 = getelementptr i8, ptr %4, i64 120
%.val32 = load ptr, ptr %12, align 8
%13 = getelementptr i8, ptr %4, i64 128
%.val33 = load i64, ptr %13, align 8
%14 = getelementptr i8, ptr %4, i64 248
%.val34 = load ptr, ptr %14, align 8
%15 = getelementptr i8, ptr %4, i64 256
%.val35 = load i64, ptr %15, align 8
%16 = getelementptr i8, ptr %4, i64 272
%.val36 = load ptr, ptr %16, align 8
%17 = getelementptr i8, ptr %4, i64 280
%.val37 = load i64, ptr %17, align 8
%18 = getelementptr i8, ptr %4, i64 296
%.val38 = load ptr, ptr %18, align 8
%19 = getelementptr i8, ptr %4, i64 304
%.val39 = load i64, ptr %19, align 8
%20 = getelementptr i8, ptr %4, i64 320
%.val40 = load ptr, ptr %20, align 8
%21 = getelementptr i8, ptr %4, i64 328
%.val41 = load i64, ptr %21, align 8
%22 = getelementptr i8, ptr %4, i64 376
%.val42 = load i64, ptr %22, align 8
%23 = getelementptr i8, ptr %4, i64 472
%.val43 = load i64, ptr %23, align 8
%24 = getelementptr i8, ptr %4, i64 480
%.val44 = load ptr, ptr %24, align 8
%25 = getelementptr i8, ptr %4, i64 488
%.val45 = load i64, ptr %25, align 8
%26 = getelementptr i8, ptr %4, i64 496
%.val46 = load ptr, ptr %26, align 8
%27 = getelementptr i8, ptr %4, i64 504
%.val47 = load i64, ptr %27, align 8
%28 = getelementptr i8, ptr %4, i64 512
%.val48 = load i64, ptr %28, align 8
%29 = getelementptr i8, ptr %4, i64 520
%.val49 = load ptr, ptr %29, align 8
%30 = getelementptr i8, ptr %4, i64 528
%.val50 = load i64, ptr %30, align 8
%31 = getelementptr i8, ptr %4, i64 536
%.val51 = load ptr, ptr %31, align 8
%32 = getelementptr i8, ptr %4, i64 544
%.val52 = load i64, ptr %32, align 8
invoke fastcc void @"_ZN4core3ptr123drop_in_place$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h22397b25bf0e6170E"(ptr nonnull %.val28, i64 %.val29, i64 %.val30, i64 %.val31, ptr %.val32, i64 %.val33, ptr %.val34, i64 %.val35, ptr %.val36, i64 %.val37, ptr %.val38, i64 %.val39, ptr %.val40, i64 %.val41, i64 %.val42, i64 %.val43, ptr %.val44, i64 %.val45, ptr %.val46, i64 %.val47, i64 %.val48, ptr %.val49, i64 %.val50, ptr %.val51, i64 %.val52)
to label %3 unwind label %36
33: ; preds = %38, %36
%34 = phi ptr [ %7, %36 ], [ %39, %38 ]
%35 = icmp eq ptr %34, %2
br i1 %35, label %67, label %38
36: ; preds = %6
%37 = landingpad { ptr, i32 }
cleanup
br label %33
38: ; preds = %33
%39 = getelementptr inbounds %13, ptr %34, i64 1
%40 = getelementptr i8, ptr %34, i64 88
%.val = load ptr, ptr %40, align 8, !alias.scope !87, !nonnull !25, !noundef !25
%41 = getelementptr i8, ptr %34, i64 96
%.val4 = load i64, ptr %41, align 8
%42 = getelementptr i8, ptr %34, i64 104
%.val5 = load i64, ptr %42, align 8, !alias.scope !87
%43 = getelementptr i8, ptr %34, i64 112
%.val6 = load i64, ptr %43, align 8
%44 = getelementptr i8, ptr %34, i64 120
%.val7 = load ptr, ptr %44, align 8
%45 = getelementptr i8, ptr %34, i64 128
%.val8 = load i64, ptr %45, align 8
%46 = getelementptr i8, ptr %34, i64 248
%.val9 = load ptr, ptr %46, align 8
%47 = getelementptr i8, ptr %34, i64 256
%.val10 = load i64, ptr %47, align 8
%48 = getelementptr i8, ptr %34, i64 272
%.val11 = load ptr, ptr %48, align 8
%49 = getelementptr i8, ptr %34, i64 280
%.val12 = load i64, ptr %49, align 8
%50 = getelementptr i8, ptr %34, i64 296
%.val13 = load ptr, ptr %50, align 8
%51 = getelementptr i8, ptr %34, i64 304
%.val14 = load i64, ptr %51, align 8
%52 = getelementptr i8, ptr %34, i64 320
%.val15 = load ptr, ptr %52, align 8
%53 = getelementptr i8, ptr %34, i64 328
%.val16 = load i64, ptr %53, align 8
%54 = getelementptr i8, ptr %34, i64 376
%.val17 = load i64, ptr %54, align 8
%55 = getelementptr i8, ptr %34, i64 472
%.val18 = load i64, ptr %55, align 8
%56 = getelementptr i8, ptr %34, i64 480
%.val19 = load ptr, ptr %56, align 8
%57 = getelementptr i8, ptr %34, i64 488
%.val20 = load i64, ptr %57, align 8
%58 = getelementptr i8, ptr %34, i64 496
%.val21 = load ptr, ptr %58, align 8
%59 = getelementptr i8, ptr %34, i64 504
%.val22 = load i64, ptr %59, align 8
%60 = getelementptr i8, ptr %34, i64 512
%.val23 = load i64, ptr %60, align 8
%61 = getelementptr i8, ptr %34, i64 520
%.val24 = load ptr, ptr %61, align 8
%62 = getelementptr i8, ptr %34, i64 528
%.val25 = load i64, ptr %62, align 8
%63 = getelementptr i8, ptr %34, i64 536
%.val26 = load ptr, ptr %63, align 8
%64 = getelementptr i8, ptr %34, i64 544
%.val27 = load i64, ptr %64, align 8
invoke fastcc void @"_ZN4core3ptr123drop_in_place$LT$addr2line..ResUnit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h22397b25bf0e6170E"(ptr nonnull %.val, i64 %.val4, i64 %.val5, i64 %.val6, ptr %.val7, i64 %.val8, ptr %.val9, i64 %.val10, ptr %.val11, i64 %.val12, ptr %.val13, i64 %.val14, ptr %.val15, i64 %.val16, i64 %.val17, i64 %.val18, ptr %.val19, i64 %.val20, ptr %.val21, i64 %.val22, i64 %.val23, ptr %.val24, i64 %.val25, ptr %.val26, i64 %.val27) #24
to label %33 unwind label %65
65: ; preds = %38
%66 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
67: ; preds = %33
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 %.0.val, i64 %.8.val) #24
to label %78 unwind label %76
68: ; preds = %3
%69 = icmp eq i64 %.8.val, 0
br i1 %69, label %75, label %70
70: ; preds = %68
%71 = icmp ugt i64 %.8.val, 16470307208669242
br i1 %71, label %72, label %73
72: ; preds = %70
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 !90
unreachable
73: ; preds = %70
%74 = mul nuw nsw i64 %.8.val, 560
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %74, i64 8) #22
br label %75
75: ; preds = %73, %68
ret void
76: ; preds = %67
%77 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
78: ; preds = %67
resume { ptr, i32 } %37
}
; 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
%6 = icmp eq i64 %4, 0
br i1 %6, label %._crit_edge.thread, label %.lr.ph
.lr.ph: ; preds = %1, %"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E.exit"
%7 = phi ptr [ %8, %"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E.exit" ], [ %2, %1 ]
%8 = getelementptr inbounds %9, ptr %7, i64 1
%9 = getelementptr inbounds %9, ptr %7, i64 0, i32 1
%10 = load i8, ptr %9, align 8, !range !31, !alias.scope !93, !noundef !25
%11 = icmp ult i8 %10, 2
br i1 %11, label %12, label %"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E.exit"
12: ; preds = %.lr.ph
invoke fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %7)
to label %"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E.exit" unwind label %17
"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E.exit": ; preds = %12, %.lr.ph
%13 = icmp eq ptr %8, %5
br i1 %13, label %._crit_edge, label %.lr.ph
14: ; preds = %19, %17
%15 = phi ptr [ %8, %17 ], [ %20, %19 ]
%16 = icmp eq ptr %15, %5
br i1 %16, label %23, label %19
17: ; preds = %12
%18 = landingpad { ptr, i32 }
cleanup
br label %14
19: ; preds = %14
%20 = getelementptr inbounds %9, ptr %15, 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) %15) #24
to label %14 unwind label %21
21: ; preds = %19
%22 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
23: ; preds = %14
tail call fastcc void @_ZN5alloc5alloc8box_free17h9468c018c14e5cf6E(ptr noundef nonnull %2, i64 %4) #24
resume { ptr, i32 } %18
._crit_edge: ; preds = %"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E.exit"
br i1 %6, label %._crit_edge.thread, label %24
24: ; preds = %._crit_edge
%25 = shl nsw i64 %4, 8
tail call void @__rust_dealloc(ptr nonnull %2, i64 %25, i64 8) #22
br label %._crit_edge.thread
._crit_edge.thread: ; preds = %1, %24, %._crit_edge
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 %9, 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 !96
unreachable
7: ; preds = %4
%8 = mul nuw nsw i64 %1, 560
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %9
9: ; 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 %.40.val, i64 %.48.val, ptr %.64.val, i64 %.72.val, ptr %.88.val, i64 %.96.val, ptr %.112.val, i64 %.120.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.48.val, 0
br i1 %1, label %11, label %2
2: ; preds = %0
%3 = icmp ugt i64 %.48.val, 2305843009213693951
br i1 %3, label %4, label %6
4: ; preds = %2
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 %5 unwind label %9, !noalias !99
5: ; preds = %4
unreachable
6: ; preds = %2
%7 = shl nuw nsw i64 %.48.val, 2
%8 = icmp ne ptr %.40.val, null
tail call void @llvm.assume(i1 %8)
tail call void @__rust_dealloc(ptr nonnull %.40.val, i64 %7, i64 2) #22, !noalias !102
br label %11
9: ; preds = %4
%10 = landingpad { ptr, i32 }
cleanup
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 %.64.val, i64 %.72.val) #24
to label %22 unwind label %20
11: ; preds = %6, %0
%12 = icmp eq i64 %.72.val, 0
br i1 %12, label %26, label %13
13: ; preds = %11
%14 = icmp ugt i64 %.72.val, 384307168202282325
br i1 %14, label %15, label %17
15: ; preds = %13
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 %16 unwind label %24, !noalias !99
16: ; preds = %15
unreachable
17: ; preds = %13
%18 = mul nuw nsw i64 %.72.val, 24
%19 = icmp ne ptr %.64.val, null
tail call void @llvm.assume(i1 %19)
tail call void @__rust_dealloc(ptr nonnull %.64.val, i64 %18, i64 8) #22, !noalias !105
br label %26
20: ; preds = %35, %22, %9
%21 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !99
unreachable
22: ; preds = %9, %24
%23 = phi { ptr, i32 } [ %25, %24 ], [ %10, %9 ]
invoke fastcc void @"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"(ptr %.88.val, i64 %.96.val) #24
to label %35 unwind label %20
24: ; preds = %15
%25 = landingpad { ptr, i32 }
cleanup
br label %22
26: ; preds = %17, %11
%27 = icmp eq i64 %.96.val, 0
br i1 %27, label %39, label %28
28: ; preds = %26
%29 = icmp ugt i64 %.96.val, 2305843009213693951
br i1 %29, label %30, label %32
30: ; preds = %28
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 %31 unwind label %37, !noalias !99
31: ; preds = %30
unreachable
32: ; preds = %28
%33 = shl nuw nsw i64 %.96.val, 2
%34 = icmp ne ptr %.88.val, null
tail call void @llvm.assume(i1 %34)
tail call void @__rust_dealloc(ptr nonnull %.88.val, i64 %33, i64 2) #22, !noalias !108
br label %39
35: ; preds = %22, %37
%36 = phi { ptr, i32 } [ %38, %37 ], [ %23, %22 ]
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 %.112.val, i64 %.120.val) #24
to label %47 unwind label %20
37: ; preds = %30
%38 = landingpad { ptr, i32 }
cleanup
br label %35
39: ; preds = %32, %26
%40 = icmp eq i64 %.120.val, 0
br i1 %40, label %48, label %41
41: ; preds = %39
%42 = icmp ugt i64 %.120.val, 144115188075855871
br i1 %42, label %43, label %44
43: ; preds = %41
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 !111
unreachable
44: ; preds = %41
%45 = shl nuw nsw i64 %.120.val, 6
%46 = icmp ne ptr %.112.val, null
tail call void @llvm.assume(i1 %46)
tail call void @__rust_dealloc(ptr nonnull %.112.val, i64 %45, i64 8) #22, !noalias !116
br label %48
47: ; preds = %35
resume { ptr, i32 } %36
48: ; preds = %44, %39
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 !117)
%2 = load ptr, ptr %0, align 8, !alias.scope !117, !nonnull !25, !noundef !25
%3 = atomicrmw sub ptr %2, i64 1 release, align 8, !noalias !117
%4 = icmp eq i64 %3, 1
br i1 %4, label %5, label %6
5: ; preds = %1
fence acquire, !noalias !117
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 %.0.val, i64 %.8.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
br i1 %1, label %8, label %2
2: ; preds = %0
%3 = icmp ugt i64 %.8.val, 230584300921369395
br i1 %3, label %4, label %5
4: ; preds = %2
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 !120
unreachable
5: ; preds = %2
%6 = mul nuw nsw i64 %.8.val, 40
%7 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %7)
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %6, i64 8) #22
br label %8
8: ; preds = %5, %0
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 %.0.val, i64 %.8.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
br i1 %1, label %8, label %2
2: ; preds = %0
%3 = icmp ugt i64 %.8.val, 144115188075855871
br i1 %3, label %4, label %5
4: ; preds = %2
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 !123
unreachable
5: ; preds = %2
%6 = shl nuw nsw i64 %.8.val, 6
%7 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %7)
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %6, i64 8) #22
br label %8
8: ; preds = %5, %0
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 %.0.val, i64 %.8.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
br i1 %1, label %8, label %2
2: ; preds = %0
%3 = icmp ugt i64 %.8.val, 384307168202282325
br i1 %3, label %4, label %5
4: ; preds = %2
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 !126
unreachable
5: ; preds = %2
%6 = mul nuw nsw i64 %.8.val, 24
%7 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %7)
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %6, i64 8) #22
br label %8
8: ; preds = %5, %0
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 !129
6: ; preds = %5
%7 = landingpad { ptr, i32 }
cleanup
tail call fastcc void @_ZN5alloc5alloc8box_free17hf643b5e89b6a4e1cE(ptr noundef nonnull %2) #24, !noalias !129
resume { ptr, i32 } %7
8: ; preds = %5
tail call void @__rust_dealloc(ptr nonnull %2, i64 64, i64 8) #22, !noalias !129
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 %.40.val, i64 %.48.val, ptr %.64.val, i64 %.72.val, ptr %.88.val, i64 %.96.val, ptr %.112.val, i64 %.120.val, i64 %.168.val) unnamed_addr #0 {
%1 = icmp eq i64 %.168.val, 47
br i1 %1, label %2, label %3
2: ; preds = %3, %0
ret void
3: ; preds = %0
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 %.40.val, i64 %.48.val, ptr %.64.val, i64 %.72.val, ptr %.88.val, i64 %.96.val, ptr %.112.val, i64 %.120.val)
br label %2
}
; 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 %.0.val, i64 %.8.val, ptr %.16.val, i64 %.24.val) unnamed_addr #1 personality ptr @rust_eh_personality {
%1 = icmp eq ptr %.0.val, null
br i1 %1, label %37, label %2
2: ; preds = %0
%3 = getelementptr inbounds { i64, %30 }, ptr %.0.val, i64 %.8.val
%4 = icmp eq i64 %.8.val, 0
br i1 %4, label %32, label %.preheader
.preheader: ; preds = %2, %28
%5 = phi ptr [ %6, %28 ], [ %.0.val, %2 ]
%6 = getelementptr inbounds { i64, %30 }, ptr %5, i64 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !132)
%7 = getelementptr inbounds { i64, %30 }, ptr %5, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !135)
tail call void @llvm.experimental.noalias.scope.decl(metadata !138)
tail call void @llvm.experimental.noalias.scope.decl(metadata !141)
%8 = load i64, ptr %7, align 8, !range !23, !alias.scope !144, !noalias !147, !noundef !25
%9 = icmp eq i64 %8, 0
br i1 %9, label %28, label %10
10: ; preds = %.preheader
tail call void @llvm.experimental.noalias.scope.decl(metadata !150)
%11 = getelementptr inbounds { i64, %30 }, ptr %5, i64 0, i32 1, i32 0, i32 0, i32 1, i64 3
%12 = load ptr, ptr %11, align 8, !alias.scope !153, !noalias !147
%13 = icmp eq ptr %12, null
br i1 %13, label %28, label %14
14: ; preds = %10
tail call void @llvm.experimental.noalias.scope.decl(metadata !154)
%15 = getelementptr { i64, %30 }, ptr %5, i64 0, i32 1, i32 0, i32 0, i32 1, i64 4
%16 = load i64, ptr %15, align 8, !alias.scope !157, !noalias !147
%17 = icmp eq i64 %16, 0
br i1 %17, label %20, label %18
18: ; preds = %14
%19 = mul nsw i64 %16, 40
tail call void @__rust_dealloc(ptr nonnull %12, i64 %19, i64 8) #22, !noalias !158
br label %20
20: ; preds = %18, %14
%21 = getelementptr { i64, %30 }, ptr %5, i64 0, i32 1, i32 0, i32 0, i32 1, i64 6
%22 = load i64, ptr %21, align 8, !alias.scope !157, !noalias !147
%23 = icmp eq i64 %22, 0
br i1 %23, label %28, label %24
24: ; preds = %20
%25 = getelementptr inbounds { i64, %30 }, ptr %5, i64 0, i32 1, i32 0, i32 0, i32 1, i64 5
%26 = load ptr, ptr %25, align 8, !alias.scope !157, !noalias !147, !nonnull !25, !noundef !25
%27 = shl nsw i64 %22, 5
tail call void @__rust_dealloc(ptr nonnull %26, i64 %27, i64 8) #22, !noalias !158
br label %28
28: ; preds = %24, %20, %10, %.preheader
%29 = icmp eq ptr %6, %3
br i1 %29, label %30, label %.preheader
30: ; preds = %28
%31 = mul nsw i64 %.8.val, 72
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %31, i64 8) #22, !noalias !147
br label %32
32: ; preds = %30, %2
%33 = icmp eq i64 %.24.val, 0
br i1 %33, label %37, label %34
34: ; preds = %32
%35 = icmp ne ptr %.16.val, null
tail call void @llvm.assume(i1 %35)
%36 = mul nsw i64 %.24.val, 24
tail call void @__rust_dealloc(ptr nonnull %.16.val, i64 %36, i64 8) #22, !noalias !147
br label %37
37: ; preds = %34, %32, %0
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 nonnull %0) unnamed_addr #0 personality ptr @rust_eh_personality {
%2 = alloca %0, align 8
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)
%3 = getelementptr inbounds %0, ptr %2, i64 0, i32 1
%4 = load ptr, ptr %3, align 8
%5 = icmp eq ptr %4, null
br i1 %5, label %.loopexit, label %6
6: ; preds = %1
%7 = getelementptr inbounds i8, ptr %2, i64 16
br label %8
8: ; preds = %36, %6
%9 = phi ptr [ %4, %6 ], [ %37, %36 ]
%10 = load i64, ptr %7, align 8
%11 = getelementptr inbounds %5, ptr %9, i64 0, i32 4
%12 = load i16, ptr %11, align 2
%13 = zext i16 %12 to i64
%14 = icmp ult i64 %10, %13
br i1 %14, label %15, label %35
15: ; preds = %8
%16 = icmp ugt i64 %10, 10
br i1 %16, label %17, label %18
17: ; preds = %15
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.132, i64 101) #21
unreachable
18: ; preds = %15
%19 = getelementptr %6, ptr %9, i64 %10, i32 0, i64 12
tail call void @llvm.experimental.noalias.scope.decl(metadata !159)
tail call void @llvm.experimental.noalias.scope.decl(metadata !162)
%20 = getelementptr inbounds %7, ptr %19, i64 0, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !165)
%21 = load i64, ptr %20, align 8, !range !23, !alias.scope !168, !noundef !25
%22 = icmp eq i64 %21, 0
br i1 %22, label %36, label %23
23: ; preds = %18
%24 = getelementptr inbounds %7, ptr %19, i64 0, i32 1, i32 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !169)
%25 = load ptr, ptr %24, align 8, !alias.scope !172
%26 = getelementptr %7, ptr %19, i64 0, i32 1, i32 1, i64 1
%27 = load i64, ptr %26, align 8, !alias.scope !172
%28 = icmp eq i64 %27, 0
br i1 %28, label %36, label %29
29: ; preds = %23
%30 = icmp ugt i64 %27, 576460752303423487
br i1 %30, label %31, label %32
31: ; preds = %29
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 !173
unreachable
32: ; preds = %29
%33 = shl nuw nsw i64 %27, 4
%34 = icmp ne ptr %25, null
tail call void @llvm.assume(i1 %34)
tail call void @__rust_dealloc(ptr nonnull %25, i64 %33, i64 8) #22, !noalias !172
br label %36
35: ; preds = %8
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
36: ; preds = %32, %23, %18
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)
%37 = load ptr, ptr %3, align 8
%38 = icmp eq ptr %37, null
br i1 %38, label %.loopexit, label %8
.loopexit: ; preds = %36, %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"(i64 %.0.val, ptr %.8.val, i64 %.16.val, ptr %.24.val, i64 %.32.val) unnamed_addr #1 {
%1 = icmp eq i64 %.0.val, 0
br i1 %1, label %3, label %2
2: ; preds = %0
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 %.8.val, i64 %.16.val, ptr %.24.val, i64 %.32.val)
br label %3
3: ; preds = %2, %0
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 !176
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 !181
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 %.0.val, i64 %.8.val, ptr %.24.val, i64 %.32.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
br i1 %1, label %11, label %2
2: ; preds = %0
%3 = icmp ugt i64 %.8.val, 230584300921369395
br i1 %3, label %4, label %6
4: ; preds = %2
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 %5 unwind label %9
5: ; preds = %4
unreachable
6: ; preds = %2
%7 = mul nuw nsw i64 %.8.val, 40
%8 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %8)
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %7, i64 8) #22, !noalias !182
br label %11
9: ; preds = %4
%10 = landingpad { ptr, i32 }
cleanup
invoke fastcc void @"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E"(ptr %.24.val, i64 %.32.val) #24
to label %22 unwind label %20
11: ; preds = %6, %0
%12 = icmp eq i64 %.32.val, 0
br i1 %12, label %19, label %13
13: ; preds = %11
%14 = icmp ugt i64 %.32.val, 576460752303423487
br i1 %14, label %15, label %16
15: ; preds = %13
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 !185
unreachable
16: ; preds = %13
%17 = shl nuw nsw i64 %.32.val, 4
%18 = icmp ne ptr %.24.val, null
tail call void @llvm.assume(i1 %18)
tail call void @__rust_dealloc(ptr nonnull %.24.val, i64 %17, i64 8) #22, !noalias !190
br label %19
19: ; preds = %16, %11
ret void
20: ; preds = %9
%21 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
22: ; preds = %9
resume { ptr, i32 } %10
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"(ptr %.0.val, i64 %.8.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
br i1 %1, label %7, label %2
2: ; preds = %0
%3 = icmp slt i64 %.8.val, 0
br i1 %3, label %4, label %5
4: ; preds = %2
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 !191
unreachable
5: ; preds = %2
%6 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %6)
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %.8.val, i64 1) #22
br label %7
7: ; preds = %5, %0
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"(i64 %.8.val, ptr %.16.val, i64 %.24.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
%2 = icmp eq i64 %.24.val, 0
%or.cond = select i1 %1, i1 true, i1 %2
br i1 %or.cond, label %9, label %3
3: ; preds = %0
%4 = icmp ugt i64 %.24.val, 576460752303423487
br i1 %4, label %5, label %6
5: ; preds = %3
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 !194
unreachable
6: ; preds = %3
%7 = shl nuw nsw i64 %.24.val, 4
%8 = icmp ne ptr %.16.val, null
tail call void @llvm.assume(i1 %8)
tail call void @__rust_dealloc(ptr nonnull %.16.val, i64 %7, i64 8) #22, !noalias !201
br label %9
9: ; preds = %6, %0
ret void
}
; 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 nonnull align 8 dereferenceable(64) %0)
to label %5 unwind label %2
2: ; preds = %1
%3 = landingpad { ptr, i32 }
cleanup
%4 = getelementptr inbounds %33, 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 %33, 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 %39, ptr %0, i64 0, i32 1
%14 = load ptr, ptr %13, align 8, !alias.scope !202
%15 = getelementptr %39, ptr %0, i64 0, i32 1, i32 1
%16 = load i64, ptr %15, align 8, !alias.scope !202
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 %39, ptr %0, i64 0, i32 1
%19 = load ptr, ptr %18, align 8, !alias.scope !202
%20 = getelementptr %39, ptr %0, i64 0, i32 1, i32 1
%21 = load i64, ptr %20, align 8, !alias.scope !202
%22 = invoke i32 @munmap(ptr %19, i64 %21)
to label %35 unwind label %33
23: ; preds = %25, %11
%24 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
25: ; preds = %33, %11
%26 = phi { ptr, i32 } [ %34, %33 ], [ %12, %11 ]
%27 = getelementptr inbounds %39, ptr %0, i64 0, i32 2
%.val = load ptr, ptr %27, align 8, !alias.scope !205, !nonnull !25, !noundef !25
%28 = getelementptr %39, ptr %0, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1
%.val1 = load i64, ptr %28, align 8
%29 = getelementptr %39, ptr %0, i64 0, i32 2, i32 0, i32 0, i32 1
%.val2 = load i64, ptr %29, align 8, !alias.scope !205
%30 = getelementptr %39, ptr %0, i64 0, i32 2, i32 1
%.val3 = load i64, ptr %30, align 8
%31 = getelementptr %39, ptr %0, i64 0, i32 2, i32 1, i32 0, i32 1
%.val4 = load ptr, ptr %31, align 8
%32 = getelementptr %39, ptr %0, i64 0, i32 2, i32 1, i32 0, i32 1, i64 1
%.val5 = load i64, ptr %32, align 8
invoke fastcc void @"_ZN4core3ptr62drop_in_place$LT$backtrace..symbolize..gimli..stash..Stash$GT$17h575130cbfcab74efE"(ptr nonnull %.val, i64 %.val1, i64 %.val2, i64 %.val3, ptr %.val4, i64 %.val5) #24
to label %42 unwind label %23
33: ; preds = %17
%34 = landingpad { ptr, i32 }
cleanup
br label %25
35: ; preds = %17
%36 = getelementptr inbounds %39, ptr %0, i64 0, i32 2
%.val6 = load ptr, ptr %36, align 8, !alias.scope !205, !nonnull !25, !noundef !25
%37 = getelementptr %39, ptr %0, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1
%.val7 = load i64, ptr %37, align 8
%38 = getelementptr %39, ptr %0, i64 0, i32 2, i32 0, i32 0, i32 1
%.val8 = load i64, ptr %38, align 8, !alias.scope !205
%39 = getelementptr %39, ptr %0, i64 0, i32 2, i32 1
%.val9 = load i64, ptr %39, align 8
%40 = getelementptr %39, ptr %0, i64 0, i32 2, i32 1, i32 0, i32 1
%.val10 = load ptr, ptr %40, align 8
%41 = getelementptr %39, ptr %0, i64 0, i32 2, i32 1, i32 0, i32 1, i64 1
%.val11 = load i64, ptr %41, align 8
tail call fastcc void @"_ZN4core3ptr62drop_in_place$LT$backtrace..symbolize..gimli..stash..Stash$GT$17h575130cbfcab74efE"(ptr nonnull %.val6, i64 %.val7, i64 %.val8, i64 %.val9, ptr %.val10, i64 %.val11)
ret void
42: ; 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 %.0.val, i64 %.8.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
br i1 %1, label %8, label %2
2: ; preds = %0
%3 = icmp ugt i64 %.8.val, 576460752303423487
br i1 %3, label %4, label %5
4: ; preds = %2
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 !210
unreachable
5: ; preds = %2
%6 = shl nuw nsw i64 %.8.val, 4
%7 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %7)
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %6, i64 8) #22
br label %8
8: ; preds = %5, %0
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 !202
ret void
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr62drop_in_place$LT$backtrace..symbolize..gimli..stash..Stash$GT$17h575130cbfcab74efE"(ptr %.0.val, i64 %.8.val, i64 %.16.val, i64 %.24.val, ptr %.32.val, i64 %.40.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %1)
%2 = getelementptr inbounds %45, ptr %.0.val, i64 %.16.val
%3 = icmp eq i64 %.16.val, 0
br i1 %3, label %.loopexit, label %.preheader
.preheader: ; preds = %0, %16
%4 = phi ptr [ %5, %16 ], [ %.0.val, %0 ]
%5 = getelementptr inbounds %45, ptr %4, i64 1
tail call void @llvm.experimental.noalias.scope.decl(metadata !213)
%6 = load ptr, ptr %4, align 8, !alias.scope !216, !noalias !205
%7 = getelementptr i8, ptr %4, i64 8
%8 = load i64, ptr %7, align 8, !alias.scope !216, !noalias !205
%9 = icmp eq i64 %8, 0
br i1 %9, label %16, label %10
10: ; preds = %.preheader
%11 = icmp slt i64 %8, 0
br i1 %11, label %12, label %14
12: ; preds = %10
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 %13 unwind label %21, !noalias !205
13: ; preds = %12
unreachable
14: ; preds = %10
%15 = icmp ne ptr %6, null
tail call void @llvm.assume(i1 %15)
tail call void @__rust_dealloc(ptr nonnull %6, i64 %8, i64 1) #22, !noalias !219
br label %16
16: ; preds = %14, %.preheader
%17 = icmp eq ptr %5, %2
br i1 %17, label %.loopexit, label %.preheader
18: ; preds = %23, %21
%19 = phi ptr [ %5, %21 ], [ %24, %23 ]
%20 = icmp eq ptr %19, %2
br i1 %20, label %28, label %23
21: ; preds = %12
%22 = landingpad { ptr, i32 }
cleanup
br label %18
23: ; preds = %18
%24 = getelementptr inbounds %45, ptr %19, i64 1
%.val = load ptr, ptr %19, align 8
%25 = getelementptr i8, ptr %19, i64 8
%.val4 = load i64, ptr %25, align 8
invoke fastcc void @"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"(ptr %.val, i64 %.val4) #24
to label %18 unwind label %26
26: ; preds = %23
%27 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !205
unreachable
28: ; preds = %18
invoke fastcc void @"_ZN4core3ptr69drop_in_place$LT$alloc..raw_vec..RawVec$LT$addr2line..LineRow$GT$$GT$17h5c81963e4527ec96E"(ptr nonnull %.0.val, i64 %.8.val) #24
to label %40 unwind label %36, !noalias !205
.loopexit: ; preds = %16, %0
%29 = icmp eq i64 %.8.val, 0
br i1 %29, label %42, label %30
30: ; preds = %.loopexit
%31 = icmp ugt i64 %.8.val, 384307168202282325
br i1 %31, label %32, label %34
32: ; preds = %30
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 %33 unwind label %38
33: ; preds = %32
unreachable
34: ; preds = %30
%35 = mul nuw nsw i64 %.8.val, 24
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %35, i64 8) #22, !noalias !205
br label %42
36: ; preds = %28
%37 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !205
unreachable
38: ; preds = %32
%39 = landingpad { ptr, i32 }
cleanup
br label %40
40: ; preds = %38, %28
%41 = phi { ptr, i32 } [ %39, %38 ], [ %22, %28 ]
invoke fastcc void @"_ZN4core3ptr118drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$$GT$17h686cacdd2d4adc3cE"(i64 %.24.val, ptr %.32.val, i64 %.40.val) #24
to label %49 unwind label %47
42: ; preds = %34, %.loopexit
%43 = icmp eq i64 %.24.val, 0
br i1 %43, label %46, label %44
44: ; preds = %42
%45 = tail call i32 @munmap(ptr %.32.val, i64 %.40.val), !noalias !220
br label %46
46: ; preds = %44, %42
ret void
47: ; preds = %40
%48 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
49: ; preds = %40
resume { ptr, i32 } %41
}
; 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 %35, ptr %0, i64 0, i32 3
tail call void @llvm.experimental.noalias.scope.decl(metadata !227)
%3 = load ptr, ptr %2, align 8, !alias.scope !227
%4 = getelementptr %35, ptr %0, i64 0, i32 3, i32 0, i32 1
%5 = load i64, ptr %4, align 8, !alias.scope !227
%6 = icmp eq i64 %5, 0
br i1 %6, label %20, 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 !227
br label %20
14: ; preds = %9
%15 = landingpad { ptr, i32 }
cleanup
%16 = getelementptr inbounds %35, ptr %0, i64 0, i32 4
%.val5 = load ptr, ptr %16, align 8
%17 = getelementptr %35, ptr %0, i64 0, i32 4, i32 1
%.val6 = load i64, ptr %17, align 8
%18 = getelementptr %35, ptr %0, i64 0, i32 4, i32 1, i64 2
%.val7 = load ptr, ptr %18, align 8
%19 = getelementptr %35, ptr %0, i64 0, i32 4, i32 1, i64 3
%.val8 = load i64, ptr %19, align 8
invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"(ptr %.val5, i64 %.val6, ptr %.val7, i64 %.val8) #24
to label %30 unwind label %28
20: ; preds = %11, %1
%21 = getelementptr inbounds %35, ptr %0, i64 0, i32 4
%22 = load ptr, ptr %21, align 8, !alias.scope !230
%23 = icmp eq ptr %22, null
br i1 %23, label %35, label %24
24: ; preds = %20
%25 = getelementptr %35, ptr %0, i64 0, i32 4, i32 1
%.val2 = load i64, ptr %25, align 8, !alias.scope !233
%26 = getelementptr %35, ptr %0, i64 0, i32 4, i32 1, i64 2
%.val3 = load ptr, ptr %26, align 8
%27 = getelementptr %35, ptr %0, i64 0, i32 4, i32 1, i64 3
%.val4 = load i64, ptr %27, align 8
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr nonnull %22, i64 %.val2, ptr %.val3, i64 %.val4)
to label %35 unwind label %33
28: ; preds = %14, %30
%29 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
30: ; preds = %14, %33
%31 = phi { ptr, i32 } [ %34, %33 ], [ %15, %14 ]
%32 = getelementptr inbounds %35, 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) %32) #24
to label %57 unwind label %28
33: ; preds = %24
%34 = landingpad { ptr, i32 }
cleanup
br label %30
35: ; preds = %24, %20
%36 = getelementptr inbounds %35, ptr %0, i64 0, i32 5
tail call void @llvm.experimental.noalias.scope.decl(metadata !236)
%37 = load ptr, ptr %36, align 8, !alias.scope !236
%38 = getelementptr inbounds %35, ptr %0, i64 0, i32 5, i32 1
%39 = load i64, ptr %38, align 8, !alias.scope !236
%40 = getelementptr inbounds %9, ptr %37, i64 %39
%41 = icmp eq i64 %39, 0
br i1 %41, label %"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE.exit.thread", label %.preheader
.preheader: ; preds = %35, %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E.exit"
%42 = phi ptr [ %43, %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E.exit" ], [ %37, %35 ]
%43 = getelementptr inbounds %9, ptr %42, i64 1
%44 = getelementptr inbounds %9, ptr %42, i64 0, i32 1
%45 = load i8, ptr %44, align 8, !range !31, !alias.scope !239, !noalias !236, !noundef !25
%switch.not = icmp ult i8 %45, 2
br i1 %switch.not, label %46, label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E.exit"
46: ; preds = %.preheader
invoke fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %42)
to label %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E.exit" unwind label %51
"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E.exit": ; preds = %.preheader, %46
%47 = icmp eq ptr %43, %40
br i1 %47, label %"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE.exit", label %.preheader
48: ; preds = %53, %51
%49 = phi ptr [ %43, %51 ], [ %54, %53 ]
%50 = icmp eq ptr %49, %40
br i1 %50, label %.body, label %53
51: ; preds = %46
%52 = landingpad { ptr, i32 }
cleanup
br label %48
53: ; preds = %48
%54 = getelementptr inbounds %9, ptr %49, 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) %49) #24
to label %48 unwind label %55, !noalias !236
55: ; preds = %53
%56 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !236
unreachable
.body: ; preds = %48
tail call fastcc void @_ZN5alloc5alloc8box_free17h9468c018c14e5cf6E(ptr noundef nonnull %37, i64 %39) #24, !noalias !236
br label %57
57: ; preds = %.body, %30
%58 = phi { ptr, i32 } [ %52, %.body ], [ %31, %30 ]
resume { ptr, i32 } %58
"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE.exit": ; preds = %"_ZN4core3ptr85drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$17h2e57cf447ee4b355E.exit"
%59 = shl nsw i64 %39, 8
tail call void @__rust_dealloc(ptr nonnull %37, i64 %59, i64 8) #22, !noalias !236
br label %"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE.exit.thread"
"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE.exit.thread": ; preds = %35, %"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE.exit"
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 %9, 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 !244
unreachable
7: ; preds = %4
%8 = mul nuw nsw i64 %1, 24
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %9
9: ; 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 %.0.val, i64 %.8.val, ptr %.24.val, i64 %.32.val) unnamed_addr #0 {
%1 = icmp eq ptr %.0.val, null
br i1 %1, label %2, label %3
2: ; preds = %3, %0
ret void
3: ; preds = %0
tail call fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr nonnull %.0.val, i64 %.8.val, ptr %.24.val, i64 %.32.val)
br label %2
}
; Function Attrs: uwtable
define internal fastcc void @"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"(ptr %.0.val, i64 %.8.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq i64 %.8.val, 0
br i1 %1, label %8, label %2
2: ; preds = %0
%3 = icmp ugt i64 %.8.val, 2305843009213693951
br i1 %3, label %4, label %5
4: ; preds = %2
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 !247
unreachable
5: ; preds = %2
%6 = shl nuw nsw i64 %.8.val, 2
%7 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %7)
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %6, i64 2) #22
br label %8
8: ; preds = %5, %0
ret void
}
; Function Attrs: nounwind 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 #1 personality ptr @rust_eh_personality {
%3 = getelementptr inbounds %46, ptr %0, i64 %1
%4 = icmp eq i64 %1, 0
br i1 %4, label %5, label %.preheader
5: ; preds = %2
%6 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %6)
br label %21
.preheader: ; preds = %2, %16
%7 = phi ptr [ %8, %16 ], [ %0, %2 ]
%8 = getelementptr inbounds %46, ptr %7, i64 1
%9 = getelementptr i8, ptr %7, i64 24
%10 = load i64, ptr %9, align 8, !alias.scope !250
%11 = icmp eq i64 %10, 0
br i1 %11, label %16, label %12
12: ; preds = %.preheader
%13 = getelementptr i8, ptr %7, i64 16
%14 = load ptr, ptr %13, align 8, !alias.scope !250, !nonnull !25, !noundef !25
%15 = mul nsw i64 %10, 24
tail call void @__rust_dealloc(ptr nonnull %14, i64 %15, i64 8) #22
br label %16
16: ; preds = %12, %.preheader
%17 = icmp eq ptr %8, %3
br i1 %17, label %18, label %.preheader
18: ; preds = %16
%19 = icmp ne ptr %0, null
tail call void @llvm.assume(i1 %19)
%20 = shl nsw i64 %1, 5
tail call void @__rust_dealloc(ptr nonnull %0, i64 %20, i64 8) #22
br label %21
21: ; preds = %18, %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 %9, 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 !253
unreachable
7: ; preds = %4
%8 = mul nuw nsw i64 %1, 112
tail call void @__rust_dealloc(ptr nonnull %0, i64 %8, i64 8) #22
br label %9
9: ; preds = %7, %2
ret void
}
; 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 %.0.val, i64 %.8.val, ptr %.16.val, i64 %.24.val) unnamed_addr #0 personality ptr @rust_eh_personality {
%1 = icmp eq ptr %.0.val, null
br i1 %1, label %51, label %2
2: ; preds = %0
%3 = getelementptr inbounds %47, ptr %.0.val, i64 %.8.val
%4 = icmp eq i64 %.8.val, 0
br i1 %4, label %"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E.exit", label %.preheader.i
.preheader.i: ; preds = %2, %17
%5 = phi ptr [ %6, %17 ], [ %.0.val, %2 ]
%6 = getelementptr inbounds %47, ptr %5, i64 1
%7 = load ptr, ptr %5, align 8, !alias.scope !256, !noalias !261
%8 = getelementptr i8, ptr %5, i64 8
%9 = load i64, ptr %8, align 8, !alias.scope !256, !noalias !261
%10 = icmp eq i64 %9, 0
br i1 %10, label %17, label %11
11: ; preds = %.preheader.i
%12 = icmp slt i64 %9, 0
br i1 %12, label %13, label %15
13: ; preds = %11
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 %14 unwind label %22, !noalias !261
14: ; preds = %13
unreachable
15: ; preds = %11
%16 = icmp ne ptr %7, null
tail call void @llvm.assume(i1 %16), !noalias !261
tail call void @__rust_dealloc(ptr nonnull %7, i64 %9, i64 1) #22, !noalias !264
br label %17
17: ; preds = %15, %.preheader.i
%18 = icmp eq ptr %6, %3
br i1 %18, label %31, label %.preheader.i
19: ; preds = %24, %22
%20 = phi ptr [ %6, %22 ], [ %25, %24 ]
%21 = icmp eq ptr %20, %3
br i1 %21, label %.body, label %24
22: ; preds = %13
%23 = landingpad { ptr, i32 }
cleanup
br label %19
24: ; preds = %19
%25 = getelementptr inbounds %47, ptr %20, i64 1
%26 = load ptr, ptr %20, align 8, !alias.scope !256, !noalias !261
%27 = getelementptr i8, ptr %20, i64 8
%28 = load i64, ptr %27, align 8, !alias.scope !256, !noalias !261
invoke fastcc void @"_ZN4core3ptr39drop_in_place$LT$std..path..PathBuf$GT$17h9ee44820ac6a8ad5E"(ptr %26, i64 %28) #24
to label %19 unwind label %29, !noalias !261
29: ; preds = %24
%30 = landingpad { ptr, i32 }
cleanup
tail call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !261
unreachable
.body: ; preds = %19
tail call fastcc void @_ZN5alloc5alloc8box_free17he7ea593b3f3f4640E(ptr noundef nonnull %.0.val, i64 %.8.val) #24, !noalias !261
tail call fastcc void @"_ZN4core3ptr79drop_in_place$LT$alloc..boxed..Box$LT$$u5b$addr2line..LineSequence$u5d$$GT$$GT$17h2ea6bea798871b70E"(ptr %.16.val, i64 %.24.val) #24, !noalias !261
resume { ptr, i32 } %23
31: ; preds = %17
%32 = mul nsw i64 %.8.val, 24
tail call void @__rust_dealloc(ptr nonnull %.0.val, i64 %32, i64 8) #22, !noalias !261
br label %"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E.exit"
"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E.exit": ; preds = %31, %2
%33 = getelementptr inbounds %46, ptr %.16.val, i64 %.24.val
%34 = icmp eq i64 %.24.val, 0
br i1 %34, label %35, label %.preheader
35: ; preds = %"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E.exit"
%36 = icmp ne ptr %.16.val, null
tail call void @llvm.assume(i1 %36)
br label %51
.preheader: ; preds = %"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E.exit", %46
%37 = phi ptr [ %38, %46 ], [ %.16.val, %"_ZN4core3ptr77drop_in_place$LT$alloc..boxed..Box$LT$$u5b$alloc..string..String$u5d$$GT$$GT$17h438a876c2fbc35a3E.exit" ]
%38 = getelementptr inbounds %46, ptr %37, i64 1
%39 = getelementptr i8, ptr %37, i64 24
%40 = load i64, ptr %39, align 8, !alias.scope !267, !noalias !261
%41 = icmp eq i64 %40, 0
br i1 %41, label %46, label %42
42: ; preds = %.preheader
%43 = getelementptr i8, ptr %37, i64 16
%44 = load ptr, ptr %43, align 8, !alias.scope !267, !noalias !261, !nonnull !25, !noundef !25
%45 = mul nsw i64 %40, 24
tail call void @__rust_dealloc(ptr nonnull %44, i64 %45, i64 8) #22, !noalias !261
br label %46
46: ; preds = %42, %.preheader
%47 = icmp eq ptr %38, %33
br i1 %47, label %48, label %.preheader
48: ; preds = %46
%49 = icmp ne ptr %.16.val, null
tail call void @llvm.assume(i1 %49)
%50 = shl nsw i64 %.24.val, 5
tail call void @__rust_dealloc(ptr nonnull %.16.val, i64 %50, i64 8) #22, !noalias !261
br label %51
51: ; preds = %48, %35, %0
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: nounwind uwtable
define internal fastcc void @_ZN4core5slice4sort10shift_tail17h775ad06d0c05e17eE(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr readnone %2) unnamed_addr #1 personality ptr @rust_eh_personality {
%4 = alloca %48, 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 %49, ptr %0, i64 %7
%9 = add i64 %1, -2
%10 = getelementptr inbounds %49, 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 = %45, %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 %.loopexit, label %27
27: ; preds = %25
%28 = load i64, ptr %4, align 8
%29 = add i64 %1, -3
%30 = getelementptr inbounds %49, ptr %0, i64 %29
%31 = load i64, ptr %30, align 8
%32 = icmp ult i64 %28, %31
br i1 %32, label %.preheader, label %.loopexit
.loopexit.loopexit: ; preds = %63, %46
%.ph = phi ptr [ %51, %46 ], [ %0, %63 ]
%.pre = ptrtoint ptr %.ph to i64
br label %.loopexit
.loopexit: ; preds = %27, %.loopexit.loopexit, %25
%33 = phi i64 [ %18, %25 ], [ %.pre, %.loopexit.loopexit ], [ %18, %27 ]
%34 = phi ptr [ %10, %25 ], [ %.ph, %.loopexit.loopexit ], [ %10, %27 ]
%35 = and i64 %33, 7
%36 = icmp eq i64 %35, 0
br i1 %36, label %37, label %44
37: ; preds = %.loopexit
%38 = ptrtoint ptr %4 to i64
%39 = icmp ugt ptr %4, %34
%40 = sub i64 %38, %33
%41 = sub i64 %33, %38
%42 = select i1 %39, i64 %40, i64 %41
%43 = icmp ult i64 %42, 40
br i1 %43, label %44, label %45
44: ; preds = %37, %.loopexit
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
45: ; preds = %37
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %34, 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
46: ; preds = %63
%47 = add i64 %52, -1
%48 = getelementptr inbounds %49, ptr %0, i64 %47
%49 = load i64, ptr %48, align 8
%50 = icmp ult i64 %28, %49
br i1 %50, label %.preheader, label %.loopexit.loopexit
.preheader: ; preds = %27, %46
%51 = phi ptr [ %48, %46 ], [ %30, %27 ]
%52 = phi i64 [ %47, %46 ], [ %29, %27 ]
%53 = phi i64 [ %52, %46 ], [ %9, %27 ]
%54 = getelementptr inbounds %49, ptr %0, i64 %53
%55 = ptrtoint ptr %51 to i64
%56 = ptrtoint ptr %54 to i64
%57 = icmp eq i64 %53, -9223372036854775808
%58 = sub i64 %55, %56
%59 = sub i64 %56, %55
%60 = select i1 %57, i64 %58, i64 %59
%61 = icmp ult i64 %60, 40
br i1 %61, label %62, label %63
62: ; preds = %.preheader
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
63: ; preds = %.preheader
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %54, ptr noundef nonnull align 8 dereferenceable(40) %51, i64 40, i1 false)
%64 = icmp eq i64 %52, 0
br i1 %64, label %.loopexit.loopexit, label %46
}
; Function Attrs: nounwind uwtable
define internal fastcc void @_ZN4core5slice4sort10shift_tail17h8fcd899ff28c3a50E(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr readnone %2) unnamed_addr #1 personality ptr @rust_eh_personality {
%4 = alloca %50, 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 !270, !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 !270, !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 !271
%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 = %65, %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 %.loopexit, label %37
37: ; preds = %35
%38 = load ptr, ptr %4, align 8, !nonnull !25, !align !270, !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 !270, !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 !284
%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 %.preheader, label %.loopexit
.loopexit.loopexit: ; preds = %91, %66
%.ph = phi ptr [ %79, %66 ], [ %0, %91 ]
%.pre = ptrtoint ptr %.ph to i64
br label %.loopexit
.loopexit: ; preds = %37, %.loopexit.loopexit, %35
%53 = phi i64 [ %28, %35 ], [ %.pre, %.loopexit.loopexit ], [ %28, %37 ]
%54 = phi ptr [ %10, %35 ], [ %.ph, %.loopexit.loopexit ], [ %10, %37 ]
%55 = and i64 %53, 7
%56 = icmp eq i64 %55, 0
br i1 %56, label %57, label %64
57: ; preds = %.loopexit
%58 = ptrtoint ptr %4 to i64
%59 = icmp ugt ptr %4, %54
%60 = sub i64 %58, %53
%61 = sub i64 %53, %58
%62 = select i1 %59, i64 %60, i64 %61
%63 = icmp ult i64 %62, 24
br i1 %63, label %64, label %65
64: ; preds = %57, %.loopexit
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
65: ; preds = %57
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %54, 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
66: ; preds = %91
%67 = add i64 %80, -1
%68 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %67
%69 = load ptr, ptr %68, align 8, !nonnull !25, !align !270, !noundef !25
%70 = getelementptr i8, ptr %68, i64 8
%71 = load i64, ptr %70, align 8
%72 = sub i64 %40, %71
%73 = tail call i64 @llvm.umin.i64(i64 %40, i64 %71)
%74 = tail call i32 @memcmp(ptr nonnull %38, ptr nonnull %69, i64 %73), !alias.scope !284
%75 = sext i32 %74 to i64
%76 = icmp eq i32 %74, 0
%77 = select i1 %76, i64 %72, i64 %75
%78 = icmp slt i64 %77, 0
br i1 %78, label %.preheader, label %.loopexit.loopexit
.preheader: ; preds = %37, %66
%79 = phi ptr [ %68, %66 ], [ %42, %37 ]
%80 = phi i64 [ %67, %66 ], [ %41, %37 ]
%81 = phi i64 [ %80, %66 ], [ %9, %37 ]
%82 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %81
%83 = ptrtoint ptr %79 to i64
%84 = ptrtoint ptr %82 to i64
%85 = icmp eq i64 %81, -9223372036854775808
%86 = sub i64 %83, %84
%87 = sub i64 %84, %83
%88 = select i1 %85, i64 %86, i64 %87
%89 = icmp ult i64 %88, 24
br i1 %89, label %90, label %91
90: ; preds = %.preheader
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
91: ; preds = %.preheader
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %82, ptr noundef nonnull align 8 dereferenceable(24) %79, i64 24, i1 false)
%92 = icmp eq i64 %80, 0
br i1 %92, label %.loopexit.loopexit, label %66
}
; Function Attrs: nounwind uwtable
define internal fastcc void @_ZN4core5slice4sort10shift_tail17hc922730d0576791aE(ptr noalias noundef nonnull align 8 %0, i64 %1, ptr readnone %2) unnamed_addr #1 personality ptr @rust_eh_personality {
%4 = alloca %50, 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 = %49, %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 %.loopexit, 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 %.preheader, label %.loopexit
.loopexit.loopexit: ; preds = %68, %50
%.ph = phi ptr [ %56, %50 ], [ %0, %68 ]
%.pre = ptrtoint ptr %.ph to i64
br label %.loopexit
.loopexit: ; preds = %29, %.loopexit.loopexit, %27
%37 = phi i64 [ %20, %27 ], [ %.pre, %.loopexit.loopexit ], [ %20, %29 ]
%38 = phi ptr [ %10, %27 ], [ %.ph, %.loopexit.loopexit ], [ %10, %29 ]
%39 = and i64 %37, 7
%40 = icmp eq i64 %39, 0
br i1 %40, label %41, label %48
41: ; preds = %.loopexit
%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, 24
br i1 %47, label %48, label %49
48: ; preds = %41, %.loopexit
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(24) %38, 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
50: ; preds = %68
%51 = add i64 %57, -1
%52 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %51
%53 = getelementptr i8, ptr %52, i64 16
%54 = load i64, ptr %53, align 8
%55 = icmp ult i64 %31, %54
br i1 %55, label %.preheader, label %.loopexit.loopexit
.preheader: ; preds = %29, %50
%56 = phi ptr [ %52, %50 ], [ %33, %29 ]
%57 = phi i64 [ %51, %50 ], [ %32, %29 ]
%58 = phi i64 [ %57, %50 ], [ %9, %29 ]
%59 = getelementptr inbounds { { ptr, i64 }, i64 }, 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, 24
br i1 %66, label %67, label %68
67: ; preds = %.preheader
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
68: ; preds = %.preheader
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %59, ptr noundef nonnull align 8 dereferenceable(24) %56, i64 24, i1 false)
%69 = icmp eq i64 %57, 0
br i1 %69, label %.loopexit.loopexit, label %50
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h663746f47d774cdaE"(ptr readonly %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 !297)
tail call void @llvm.experimental.noalias.scope.decl(metadata !300)
tail call void @llvm.experimental.noalias.scope.decl(metadata !302)
%9 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1
%10 = load ptr, ptr %9, align 8, !alias.scope !297, !noalias !304, !nonnull !25, !align !305
%11 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1, i32 1
%12 = load i64, ptr %11, align 8, !alias.scope !297, !noalias !304
%13 = load i64, ptr %2, align 8, !alias.scope !302, !noalias !306
%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 !307
unreachable
16: ; preds = %4
%17 = load i64, ptr %1, align 8, !alias.scope !300, !noalias !308
%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 !307
unreachable
20: ; preds = %16
%21 = getelementptr inbounds %49, ptr %10, i64 %13
%22 = getelementptr inbounds %49, ptr %10, i64 %17
%23 = load i64, ptr %21, align 8, !noalias !307
%24 = load i64, ptr %22, align 8, !noalias !307
%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 !307
%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 !308
unreachable
35: ; preds = %26
store i64 %17, ptr %7, align 8, !noalias !307
%36 = ptrtoint ptr %2 to i64
store i64 %13, ptr %1, align 8, !alias.scope !300, !noalias !308
%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 !297
unreachable
43: ; preds = %35
store i64 %17, ptr %2, align 8, !alias.scope !302, !noalias !306
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !307
%44 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%45 = load ptr, ptr %44, align 8, !alias.scope !297, !noalias !304, !nonnull !25, !align !305, !noundef !25
%46 = load i64, ptr %45, align 8, !noalias !297
%47 = add i64 %46, 1
store i64 %47, ptr %45, align 8, !noalias !297
%48 = load ptr, ptr %9, align 8, !alias.scope !309, !noalias !312
%49 = load i64, ptr %11, align 8, !alias.scope !309, !noalias !312
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 !309)
call void @llvm.experimental.noalias.scope.decl(metadata !315)
call void @llvm.experimental.noalias.scope.decl(metadata !316)
%53 = load i64, ptr %3, align 8, !alias.scope !316, !noalias !317
%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 !318
unreachable
56: ; preds = %50
%57 = load i64, ptr %2, align 8, !alias.scope !315, !noalias !319
%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 !318
unreachable
60: ; preds = %56
%61 = getelementptr inbounds %49, ptr %52, i64 %53
%62 = getelementptr inbounds %49, ptr %52, i64 %57
%63 = load i64, ptr %61, align 8, !noalias !318
%64 = load i64, ptr %62, align 8, !noalias !318
%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 !318
%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 !319
unreachable
75: ; preds = %66
store i64 %57, ptr %6, align 8, !noalias !318
%76 = ptrtoint ptr %3 to i64
store i64 %53, ptr %2, align 8, !alias.scope !315, !noalias !319
%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 !309
unreachable
83: ; preds = %75
store i64 %57, ptr %3, align 8, !alias.scope !316, !noalias !317
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !318
%84 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%85 = load ptr, ptr %84, align 8, !alias.scope !309, !noalias !312, !nonnull !25, !align !305, !noundef !25
%86 = load i64, ptr %85, align 8, !noalias !309
%87 = add i64 %86, 1
store i64 %87, ptr %85, align 8, !noalias !309
%88 = load ptr, ptr %9, align 8, !alias.scope !320, !noalias !323
%89 = load i64, ptr %11, align 8, !alias.scope !320, !noalias !323
%90 = load i64, ptr %2, align 8, !alias.scope !326, !noalias !327
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 !320)
call void @llvm.experimental.noalias.scope.decl(metadata !328)
call void @llvm.experimental.noalias.scope.decl(metadata !326)
%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 !329
unreachable
97: ; preds = %91
%98 = load i64, ptr %1, align 8, !alias.scope !328, !noalias !330
%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 !329
unreachable
101: ; preds = %97
%102 = getelementptr inbounds %49, ptr %94, i64 %92
%103 = getelementptr inbounds %49, ptr %94, i64 %98
%104 = load i64, ptr %102, align 8, !noalias !329
%105 = load i64, ptr %103, align 8, !noalias !329
%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 !329
%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 !330
unreachable
116: ; preds = %107
store i64 %98, ptr %5, align 8, !noalias !329
%117 = ptrtoint ptr %2 to i64
store i64 %92, ptr %1, align 8, !alias.scope !328, !noalias !330
%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 !320
unreachable
124: ; preds = %116
store i64 %98, ptr %2, align 8, !alias.scope !326, !noalias !327
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5), !noalias !329
%125 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%126 = load ptr, ptr %125, align 8, !alias.scope !320, !noalias !323, !nonnull !25, !align !305, !noundef !25
%127 = load i64, ptr %126, align 8, !noalias !320
%128 = add i64 %127, 1
store i64 %128, ptr %126, align 8, !noalias !320
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 %.8.val, i64 %.16.val, ptr %.24.val, ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef align 8 dereferenceable(8) %1) unnamed_addr #2 personality ptr @rust_eh_personality {
%3 = alloca i64, align 8
%4 = icmp ne ptr %.8.val, null
tail call void @llvm.assume(i1 %4)
%5 = load i64, ptr %1, align 8
%6 = icmp ult i64 %5, %.16.val
br i1 %6, label %8, label %7
7: ; preds = %2
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
8: ; preds = %2
%9 = load i64, ptr %0, align 8
%10 = icmp ult i64 %9, %.16.val
br i1 %10, label %12, label %11
11: ; preds = %8
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
12: ; preds = %8
%13 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %.8.val, i64 %5
%14 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %.8.val, i64 %9
%15 = load ptr, ptr %13, align 8, !nonnull !25, !align !270, !noundef !25
%16 = getelementptr i8, ptr %13, i64 8
%17 = load i64, ptr %16, align 8
%18 = load ptr, ptr %14, align 8, !nonnull !25, !align !270, !noundef !25
%19 = getelementptr i8, ptr %14, i64 8
%20 = load i64, ptr %19, align 8
%21 = sub i64 %17, %20
%22 = tail call i64 @llvm.umin.i64(i64 %17, i64 %20)
%23 = tail call i32 @memcmp(ptr nonnull %15, ptr nonnull %18, i64 %22), !alias.scope !331
%24 = sext i32 %23 to i64
%25 = icmp eq i32 %23, 0
%26 = select i1 %25, i64 %21, i64 %24
%27 = icmp slt i64 %26, 0
br i1 %27, label %29, label %28
28: ; preds = %46, %12
ret void
29: ; preds = %12
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3)
%30 = ptrtoint ptr %0 to i64
%31 = ptrtoint ptr %3 to i64
%32 = icmp ult ptr %3, %0
%33 = sub i64 %30, %31
%34 = sub i64 %31, %30
%35 = select i1 %32, i64 %33, i64 %34
%36 = icmp eq i64 %35, 0
br i1 %36, label %37, label %38
37: ; preds = %29
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
38: ; preds = %29
store i64 %9, ptr %3, align 8
%39 = ptrtoint ptr %1 to i64
store i64 %5, ptr %0, align 8
%40 = icmp ugt ptr %3, %1
%41 = sub i64 %31, %39
%42 = sub i64 %39, %31
%43 = select i1 %40, i64 %41, i64 %42
%44 = icmp eq i64 %43, 0
br i1 %44, label %45, label %46
45: ; preds = %38
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
46: ; preds = %38
store i64 %9, ptr %1, align 8
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3)
%47 = icmp ne ptr %.24.val, null
call void @llvm.assume(i1 %47)
%48 = load i64, ptr %.24.val, align 8
%49 = add i64 %48, 1
store i64 %49, ptr %.24.val, align 8
br label %28
}
; Function Attrs: inlinehint nounwind uwtable
define internal fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h9a59aafdf336a9c1E"(ptr readonly %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 !344)
tail call void @llvm.experimental.noalias.scope.decl(metadata !347)
tail call void @llvm.experimental.noalias.scope.decl(metadata !349)
%9 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1
%10 = load ptr, ptr %9, align 8, !alias.scope !344, !noalias !351, !nonnull !25, !align !305
%11 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 1, i32 1
%12 = load i64, ptr %11, align 8, !alias.scope !344, !noalias !351
%13 = load i64, ptr %2, align 8, !alias.scope !349, !noalias !352
%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 !353
unreachable
16: ; preds = %4
%17 = load i64, ptr %1, align 8, !alias.scope !347, !noalias !354
%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 !353
unreachable
20: ; preds = %16
%21 = getelementptr { { ptr, i64 }, i64 }, ptr %10, i64 %13, i32 1
%22 = load i64, ptr %21, align 8, !noalias !353
%23 = getelementptr { { ptr, i64 }, i64 }, ptr %10, i64 %17, i32 1
%24 = load i64, ptr %23, align 8, !noalias !353
%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 !353
%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 !354
unreachable
35: ; preds = %26
store i64 %17, ptr %7, align 8, !noalias !353
%36 = ptrtoint ptr %2 to i64
store i64 %13, ptr %1, align 8, !alias.scope !347, !noalias !354
%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 !344
unreachable
43: ; preds = %35
store i64 %17, ptr %2, align 8, !alias.scope !349, !noalias !352
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7), !noalias !353
%44 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%45 = load ptr, ptr %44, align 8, !alias.scope !344, !noalias !351, !nonnull !25, !align !305, !noundef !25
%46 = load i64, ptr %45, align 8, !noalias !344
%47 = add i64 %46, 1
store i64 %47, ptr %45, align 8, !noalias !344
%48 = load ptr, ptr %9, align 8, !alias.scope !355, !noalias !358
%49 = load i64, ptr %11, align 8, !alias.scope !355, !noalias !358
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 !355)
call void @llvm.experimental.noalias.scope.decl(metadata !361)
call void @llvm.experimental.noalias.scope.decl(metadata !362)
%53 = load i64, ptr %3, align 8, !alias.scope !362, !noalias !363
%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 !364
unreachable
56: ; preds = %50
%57 = load i64, ptr %2, align 8, !alias.scope !361, !noalias !365
%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 !364
unreachable
60: ; preds = %56
%61 = getelementptr { { ptr, i64 }, i64 }, ptr %52, i64 %53, i32 1
%62 = load i64, ptr %61, align 8, !noalias !364
%63 = getelementptr { { ptr, i64 }, i64 }, ptr %52, i64 %57, i32 1
%64 = load i64, ptr %63, align 8, !noalias !364
%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 !364
%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 !365
unreachable
75: ; preds = %66
store i64 %57, ptr %6, align 8, !noalias !364
%76 = ptrtoint ptr %3 to i64
store i64 %53, ptr %2, align 8, !alias.scope !361, !noalias !365
%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 !355
unreachable
83: ; preds = %75
store i64 %57, ptr %3, align 8, !alias.scope !362, !noalias !363
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !364
%84 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%85 = load ptr, ptr %84, align 8, !alias.scope !355, !noalias !358, !nonnull !25, !align !305, !noundef !25
%86 = load i64, ptr %85, align 8, !noalias !355
%87 = add i64 %86, 1
store i64 %87, ptr %85, align 8, !noalias !355
%88 = load ptr, ptr %9, align 8, !alias.scope !366, !noalias !369
%89 = load i64, ptr %11, align 8, !alias.scope !366, !noalias !369
%90 = load i64, ptr %2, align 8, !alias.scope !372, !noalias !373
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 !366)
call void @llvm.experimental.noalias.scope.decl(metadata !374)
call void @llvm.experimental.noalias.scope.decl(metadata !372)
%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 !375
unreachable
97: ; preds = %91
%98 = load i64, ptr %1, align 8, !alias.scope !374, !noalias !376
%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 !375
unreachable
101: ; preds = %97
%102 = getelementptr { { ptr, i64 }, i64 }, ptr %94, i64 %92, i32 1
%103 = load i64, ptr %102, align 8, !noalias !375
%104 = getelementptr { { ptr, i64 }, i64 }, ptr %94, i64 %98, i32 1
%105 = load i64, ptr %104, align 8, !noalias !375
%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 !375
%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 !376
unreachable
116: ; preds = %107
store i64 %98, ptr %5, align 8, !noalias !375
%117 = ptrtoint ptr %2 to i64
store i64 %92, ptr %1, align 8, !alias.scope !374, !noalias !376
%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 !366
unreachable
124: ; preds = %116
store i64 %98, ptr %2, align 8, !alias.scope !372, !noalias !373
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5), !noalias !375
%125 = getelementptr inbounds { ptr, { ptr, i64 }, ptr }, ptr %0, i64 0, i32 2
%126 = load ptr, ptr %125, align 8, !alias.scope !366, !noalias !369, !nonnull !25, !align !305, !noundef !25
%127 = load i64, ptr %126, align 8, !noalias !366
%128 = add i64 %127, 1
store i64 %128, ptr %126, align 8, !noalias !366
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 %51, 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 !377
%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 !378)
%32 = icmp ult i64 %10, %1
br i1 %32, label %33, label %35, !prof !381
33: ; preds = %2
%34 = icmp ult i64 %31, %1
br i1 %34, label %37, label %55, !prof !381
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 !378
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 !382
%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 !384
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 !384
%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 !378, !noalias !384
%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 !384
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 !378
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 !384
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !382
%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 !385)
%78 = icmp ult i64 %9, %1
br i1 %78, label %79, label %35, !prof !381
79: ; preds = %57
%80 = icmp ult i64 %77, %1
br i1 %80, label %81, label %55, !prof !381
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 !387
%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 !384
%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 !385, !noalias !384
%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 !384
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !387
%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 !388)
%119 = icmp ult i64 %118, %1
br i1 %119, label %120, label %35, !prof !381
120: ; preds = %97
%121 = icmp ult i64 %117, %1
br i1 %121, label %122, label %55, !prof !381
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 !390
%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 !384
%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 !388, !noalias !384
%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 !384
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !390
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 %52, 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 !377
%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 !391)
%32 = icmp ult i64 %10, %1
br i1 %32, label %33, label %35, !prof !381
33: ; preds = %2
%34 = icmp ult i64 %31, %1
br i1 %34, label %37, label %55, !prof !381
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 !391
unreachable
37: ; preds = %33
%38 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %10
%39 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %31
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !394
%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 !396
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 !396
%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 !391, !noalias !396
%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 !396
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 !391
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 !396
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !394
%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 !397)
%78 = icmp ult i64 %9, %1
br i1 %78, label %79, label %35, !prof !381
79: ; preds = %57
%80 = icmp ult i64 %77, %1
br i1 %80, label %81, label %55, !prof !381
81: ; preds = %79
%82 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %9
%83 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %77
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !399
%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 !396
%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 !397, !noalias !396
%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 !396
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !399
%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 !400)
%119 = icmp ult i64 %118, %1
br i1 %119, label %120, label %35, !prof !381
120: ; preds = %97
%121 = icmp ult i64 %117, %1
br i1 %121, label %122, label %55, !prof !381
122: ; preds = %120
%123 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %118
%124 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %117
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3), !noalias !402
%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 !396
%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 !400, !noalias !396
%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 !396
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3), !noalias !402
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 %50, align 8
%5 = alloca %51, 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 %.preheader15
12: ; preds = %3
%13 = icmp ugt i64 %6, 1
br i1 %13, label %14, label %.loopexit
14: ; preds = %12
call void @llvm.assume(i1 %7)
%.phi.trans.insert = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 0, i32 1
%.pre = load i64, ptr %.phi.trans.insert, align 8
br label %15
15: ; preds = %21, %14
%16 = phi i64 [ %19, %21 ], [ %.pre, %14 ]
%17 = phi i64 [ %22, %21 ], [ 1, %14 ]
%18 = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 %17, i32 1
%19 = load i64, ptr %18, align 8
%20 = icmp ult i64 %19, %16
br i1 %20, label %.loopexit, label %21
21: ; preds = %15
%22 = add nuw nsw i64 %17, 1
%23 = icmp eq i64 %22, %6
br i1 %23, label %.loopexit, label %15
.loopexit: ; preds = %21, %15, %12
%24 = phi i64 [ 1, %12 ], [ %17, %15 ], [ %6, %21 ]
%25 = icmp eq i64 %24, %6
br label %.loopexit14
.preheader15: ; preds = %3, %125
%26 = phi i64 [ %41, %125 ], [ 1, %3 ]
%27 = phi i64 [ %28, %125 ], [ 0, %3 ]
%28 = add nuw nsw i64 %27, 1
%29 = icmp ult i64 %26, %6
br i1 %29, label %.preheader, label %.loopexit13
.preheader: ; preds = %.preheader15, %44
%30 = phi i1 [ %46, %44 ], [ true, %.preheader15 ]
%31 = phi i64 [ %45, %44 ], [ %26, %.preheader15 ]
%32 = add i64 %31, -1
%33 = icmp ult i64 %32, %6
br i1 %33, label %35, label %34
34: ; preds = %.preheader
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
35: ; preds = %.preheader
call void @llvm.assume(i1 %7)
%36 = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 %31, i32 1
%37 = load i64, ptr %36, align 8
%38 = getelementptr { { ptr, i64 }, i64 }, ptr %0, i64 %32, i32 1
%39 = load i64, ptr %38, align 8
%40 = icmp ult i64 %37, %39
br i1 %40, label %.loopexit13, label %44
.loopexit13: ; preds = %35, %.preheader15
%41 = phi i64 [ %26, %.preheader15 ], [ %31, %35 ]
%42 = phi i1 [ false, %.preheader15 ], [ %30, %35 ]
%43 = icmp eq i64 %6, %41
br i1 %43, label %.loopexit14, label %48
44: ; preds = %35
%45 = add i64 %31, 1
%46 = icmp ult i64 %45, %6
%47 = icmp eq i64 %45, %6
br i1 %47, label %.loopexit14, label %.preheader
48: ; preds = %.loopexit13
%49 = add i64 %41, -1
call void @llvm.experimental.noalias.scope.decl(metadata !403)
%50 = icmp ult i64 %49, %6
br i1 %50, label %51, label %52, !prof !381
51: ; preds = %48
br i1 %42, label %53, label %71, !prof !381
52: ; preds = %48
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %49, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !403
unreachable
53: ; preds = %51
%54 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %49
%55 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %41
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !406
%56 = ptrtoint ptr %54 to i64
%57 = icmp ult ptr %5, %54
%58 = sub i64 %56, %9
%59 = sub i64 %9, %56
%60 = select i1 %57, i64 %58, i64 %59
%61 = icmp ult i64 %60, 24
br i1 %61, label %62, label %63
62: ; preds = %53
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !408
unreachable
63: ; preds = %53
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %54, i64 24, i1 false), !noalias !408
%64 = ptrtoint ptr %55 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(24) %55, i64 24, i1 false), !alias.scope !403, !noalias !408
%65 = icmp ugt ptr %5, %55
%66 = sub i64 %9, %64
%67 = sub i64 %64, %9
%68 = select i1 %65, i64 %66, i64 %67
%69 = icmp ult i64 %68, 24
br i1 %69, label %70, label %72
70: ; preds = %63
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !408
unreachable
71: ; preds = %51
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %41, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !403
unreachable
72: ; preds = %63
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !408
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !406
call fastcc void @_ZN4core5slice4sort10shift_tail17hc922730d0576791aE(ptr noalias noundef nonnull align 8 %0, i64 %41, ptr %2)
%73 = sub i64 %6, %41
call void @llvm.experimental.noalias.scope.decl(metadata !409)
%74 = icmp ugt i64 %73, 1
br i1 %74, label %75, label %125
75: ; preds = %72
%76 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %55, i64 1
call void @llvm.assume(i1 %7)
%77 = getelementptr { { ptr, i64 }, i64 }, ptr %55, i64 1, i32 1
%78 = load i64, ptr %77, align 8, !alias.scope !409
%79 = getelementptr i8, ptr %55, i64 16
%80 = load i64, ptr %79, align 8, !alias.scope !409
%81 = icmp ult i64 %78, %80
br i1 %81, label %82, label %125
82: ; preds = %75
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !409
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %55, i64 24, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(24) %76, i64 24, i1 false), !alias.scope !409
%83 = icmp ugt i64 %73, 2
br i1 %83, label %84, label %.loopexit12
84: ; preds = %82
%85 = load i64, ptr %10, align 8, !noalias !409
%86 = getelementptr { { ptr, i64 }, i64 }, ptr %55, i64 2, i32 1
%87 = load i64, ptr %86, align 8, !alias.scope !409
%88 = icmp ult i64 %87, %85
br i1 %88, label %89, label %.loopexit12
89: ; preds = %84
%90 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %55, i64 2
br label %109
.loopexit12: ; preds = %123, %103, %84, %82
%91 = phi ptr [ %76, %82 ], [ %76, %84 ], [ %110, %103 ], [ %110, %123 ]
%92 = ptrtoint ptr %91 to i64
%93 = and i64 %92, 7
%94 = icmp eq i64 %93, 0
br i1 %94, label %95, label %101
95: ; preds = %.loopexit12
%96 = icmp ugt ptr %4, %91
%97 = sub i64 %11, %92
%98 = sub i64 %92, %11
%99 = select i1 %96, i64 %97, i64 %98
%100 = icmp ult i64 %99, 24
br i1 %100, label %101, label %102
101: ; preds = %95, %.loopexit12
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
102: ; preds = %95
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !409
br label %125
103: ; preds = %123
%104 = add nuw i64 %111, 1
%105 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %55, i64 %111
%106 = getelementptr i8, ptr %105, i64 16
%107 = load i64, ptr %106, align 8, !alias.scope !409
%108 = icmp ult i64 %107, %85
br i1 %108, label %109, label %.loopexit12
109: ; preds = %103, %89
%110 = phi ptr [ %105, %103 ], [ %90, %89 ]
%111 = phi i64 [ %104, %103 ], [ 3, %89 ]
%112 = phi i64 [ %111, %103 ], [ 2, %89 ]
%113 = add i64 %112, -1
%114 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %55, i64 %113
%115 = ptrtoint ptr %110 to i64
%116 = ptrtoint ptr %114 to i64
%117 = icmp eq i64 %112, -9223372036854775808
%118 = sub i64 %115, %116
%119 = sub i64 %116, %115
%120 = select i1 %117, i64 %119, i64 %118
%121 = icmp ult i64 %120, 24
br i1 %121, label %122, label %123
122: ; preds = %109
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
123: ; preds = %109
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 8 dereferenceable(24) %110, i64 24, i1 false), !alias.scope !409
%124 = icmp eq i64 %111, %73
br i1 %124, label %.loopexit12, label %103
125: ; preds = %102, %75, %72
%126 = icmp eq i64 %28, 5
br i1 %126, label %.loopexit14, label %.preheader15
.loopexit14: ; preds = %125, %.loopexit13, %44, %.loopexit
%127 = phi i1 [ %25, %.loopexit ], [ true, %44 ], [ %43, %125 ], [ true, %.loopexit13 ]
ret i1 %127
}
; 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 %50, align 8
%5 = alloca %51, 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 %.preheader15
12: ; preds = %3
%13 = icmp ugt i64 %6, 1
br i1 %13, label %14, label %.loopexit
14: ; preds = %12
call void @llvm.assume(i1 %7)
%.pre = load ptr, ptr %0, align 8
%.phi.trans.insert = getelementptr i8, ptr %0, i64 8
%.pre56 = load i64, ptr %.phi.trans.insert, align 8
br label %15
15: ; preds = %32, %14
%16 = phi i64 [ %22, %32 ], [ %.pre56, %14 ]
%17 = phi ptr [ %20, %32 ], [ %.pre, %14 ]
%18 = phi i64 [ %33, %32 ], [ 1, %14 ]
%19 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %18
%20 = load ptr, ptr %19, align 8, !nonnull !25, !align !270, !noundef !25
%21 = getelementptr i8, ptr %19, i64 8
%22 = load i64, ptr %21, align 8
%23 = sub i64 %22, %16
%24 = call i64 @llvm.umin.i64(i64 %22, i64 %16)
%25 = call i32 @memcmp(ptr nonnull %20, ptr nonnull %17, i64 %24), !alias.scope !412
%26 = sext i32 %25 to i64
%27 = icmp eq i32 %25, 0
%28 = select i1 %27, i64 %23, i64 %26
%29 = icmp sgt i64 %28, -1
br i1 %29, label %32, label %.loopexit
.loopexit: ; preds = %32, %15, %12
%30 = phi i64 [ 1, %12 ], [ %18, %15 ], [ %6, %32 ]
%31 = icmp eq i64 %30, %6
br label %.loopexit14
32: ; preds = %15
%33 = add nuw nsw i64 %18, 1
%34 = icmp eq i64 %33, %6
br i1 %34, label %.loopexit, label %15
.preheader15: ; preds = %3, %165
%35 = phi i64 [ %60, %165 ], [ 1, %3 ]
%36 = phi i64 [ %37, %165 ], [ 0, %3 ]
%37 = add nuw nsw i64 %36, 1
%38 = icmp ult i64 %35, %6
br i1 %38, label %.preheader12, label %.loopexit13
.preheader12: ; preds = %.preheader15, %63
%39 = phi i1 [ %65, %63 ], [ true, %.preheader15 ]
%40 = phi i64 [ %64, %63 ], [ %35, %.preheader15 ]
%41 = add i64 %40, -1
%42 = icmp ult i64 %41, %6
br i1 %42, label %44, label %43
43: ; preds = %.preheader12
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
44: ; preds = %.preheader12
%45 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %40
%46 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i64 %41
call void @llvm.assume(i1 %7)
%47 = load ptr, ptr %45, align 8, !nonnull !25, !align !270, !noundef !25
%48 = getelementptr i8, ptr %45, i64 8
%49 = load i64, ptr %48, align 8
%50 = load ptr, ptr %46, align 8, !nonnull !25, !align !270, !noundef !25
%51 = getelementptr i8, ptr %46, i64 8
%52 = load i64, ptr %51, align 8
%53 = sub i64 %49, %52
%54 = call i64 @llvm.umin.i64(i64 %49, i64 %52)
%55 = call i32 @memcmp(ptr nonnull %47, ptr nonnull %50, i64 %54), !alias.scope !412
%56 = sext i32 %55 to i64
%57 = icmp eq i32 %55, 0
%58 = select i1 %57, i64 %53, i64 %56
%59 = icmp sgt i64 %58, -1
br i1 %59, label %63, label %.loopexit13
.loopexit13: ; preds = %44, %.preheader15
%60 = phi i64 [ %35, %.preheader15 ], [ %40, %44 ]
%61 = phi i1 [ false, %.preheader15 ], [ %39, %44 ]
%62 = icmp eq i64 %6, %60
br i1 %62, label %.loopexit14, label %67
63: ; preds = %44
%64 = add i64 %40, 1
%65 = icmp ult i64 %64, %6
%66 = icmp eq i64 %64, %6
br i1 %66, label %.loopexit14, label %.preheader12
67: ; preds = %.loopexit13
%68 = add i64 %60, -1
call void @llvm.experimental.noalias.scope.decl(metadata !425)
%69 = icmp ult i64 %68, %6
br i1 %69, label %70, label %71, !prof !381
70: ; preds = %67
br i1 %61, label %72, label %90, !prof !381
71: ; preds = %67
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %68, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !425
unreachable
72: ; preds = %70
%73 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %68
%74 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %60
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !428
%75 = ptrtoint ptr %73 to i64
%76 = icmp ult ptr %5, %73
%77 = sub i64 %75, %9
%78 = sub i64 %9, %75
%79 = select i1 %76, i64 %77, i64 %78
%80 = icmp ult i64 %79, 24
br i1 %80, label %81, label %82
81: ; preds = %72
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !430
unreachable
82: ; preds = %72
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %73, i64 24, i1 false), !noalias !430
%83 = ptrtoint ptr %74 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 8 dereferenceable(24) %74, i64 24, i1 false), !alias.scope !425, !noalias !430
%84 = icmp ugt ptr %5, %74
%85 = sub i64 %9, %83
%86 = sub i64 %83, %9
%87 = select i1 %84, i64 %85, i64 %86
%88 = icmp ult i64 %87, 24
br i1 %88, label %89, label %91
89: ; preds = %82
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !430
unreachable
90: ; preds = %70
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %60, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !425
unreachable
91: ; preds = %82
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !430
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !428
call fastcc void @_ZN4core5slice4sort10shift_tail17h8fcd899ff28c3a50E(ptr noalias noundef nonnull align 8 %0, i64 %60, ptr %2)
%92 = sub i64 %6, %60
call void @llvm.experimental.noalias.scope.decl(metadata !431)
%93 = icmp ugt i64 %92, 1
br i1 %93, label %94, label %165
94: ; preds = %91
%95 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %74, i64 1
call void @llvm.assume(i1 %7)
%96 = load ptr, ptr %95, align 8, !alias.scope !431, !nonnull !25, !align !270, !noundef !25
%97 = getelementptr { { ptr, i64 }, i64 }, ptr %74, i64 1, i32 0, i32 1
%98 = load i64, ptr %97, align 8, !alias.scope !431
%99 = load ptr, ptr %74, align 8, !alias.scope !431, !nonnull !25, !align !270, !noundef !25
%100 = getelementptr i8, ptr %74, i64 8
%101 = load i64, ptr %100, align 8, !alias.scope !431
%102 = sub i64 %98, %101
%103 = call i64 @llvm.umin.i64(i64 %98, i64 %101)
%104 = call i32 @memcmp(ptr nonnull %96, ptr nonnull %99, i64 %103), !alias.scope !434, !noalias !431
%105 = sext i32 %104 to i64
%106 = icmp eq i32 %104, 0
%107 = select i1 %106, i64 %102, i64 %105
%108 = icmp slt i64 %107, 0
br i1 %108, label %109, label %165
109: ; preds = %94
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !431
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 8 dereferenceable(24) %74, i64 24, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(24) %95, i64 24, i1 false), !alias.scope !431
%110 = icmp ugt i64 %92, 2
br i1 %110, label %111, label %.loopexit11
111: ; preds = %109
%112 = load ptr, ptr %4, align 8, !noalias !431, !nonnull !25, !align !270, !noundef !25
%113 = load i64, ptr %10, align 8, !noalias !431
%114 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %74, i64 2
%115 = load ptr, ptr %114, align 8, !alias.scope !431, !nonnull !25, !align !270, !noundef !25
%116 = getelementptr { { ptr, i64 }, i64 }, ptr %74, i64 2, i32 0, i32 1
%117 = load i64, ptr %116, align 8, !alias.scope !431
%118 = sub i64 %117, %113
%119 = call i64 @llvm.umin.i64(i64 %117, i64 %113)
%120 = call i32 @memcmp(ptr nonnull %115, ptr nonnull %112, i64 %119), !alias.scope !447
%121 = sext i32 %120 to i64
%122 = icmp eq i32 %120, 0
%123 = select i1 %122, i64 %118, i64 %121
%124 = icmp slt i64 %123, 0
br i1 %124, label %.preheader, label %.loopexit11
.loopexit11: ; preds = %163, %137, %111, %109
%125 = phi ptr [ %95, %109 ], [ %95, %111 ], [ %150, %137 ], [ %150, %163 ]
%126 = ptrtoint ptr %125 to i64
%127 = and i64 %126, 7
%128 = icmp eq i64 %127, 0
br i1 %128, label %129, label %135
129: ; preds = %.loopexit11
%130 = icmp ugt ptr %4, %125
%131 = sub i64 %11, %126
%132 = sub i64 %126, %11
%133 = select i1 %130, i64 %131, i64 %132
%134 = icmp ult i64 %133, 24
br i1 %134, label %135, label %136
135: ; preds = %129, %.loopexit11
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
136: ; preds = %129
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %125, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !431
br label %165
137: ; preds = %163
%138 = add nuw i64 %151, 1
%139 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %74, i64 %151
%140 = load ptr, ptr %139, align 8, !alias.scope !431, !nonnull !25, !align !270, !noundef !25
%141 = getelementptr i8, ptr %139, i64 8
%142 = load i64, ptr %141, align 8, !alias.scope !431
%143 = sub i64 %142, %113
%144 = call i64 @llvm.umin.i64(i64 %142, i64 %113)
%145 = call i32 @memcmp(ptr nonnull %140, ptr nonnull %112, i64 %144), !alias.scope !447
%146 = sext i32 %145 to i64
%147 = icmp eq i32 %145, 0
%148 = select i1 %147, i64 %143, i64 %146
%149 = icmp slt i64 %148, 0
br i1 %149, label %.preheader, label %.loopexit11
.preheader: ; preds = %111, %137
%150 = phi ptr [ %139, %137 ], [ %114, %111 ]
%151 = phi i64 [ %138, %137 ], [ 3, %111 ]
%152 = phi i64 [ %151, %137 ], [ 2, %111 ]
%153 = add i64 %152, -1
%154 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %74, i64 %153
%155 = ptrtoint ptr %150 to i64
%156 = ptrtoint ptr %154 to i64
%157 = icmp eq i64 %152, -9223372036854775808
%158 = sub i64 %155, %156
%159 = sub i64 %156, %155
%160 = select i1 %157, i64 %159, i64 %158
%161 = icmp ult i64 %160, 24
br i1 %161, label %162, label %163
162: ; preds = %.preheader
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
163: ; preds = %.preheader
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %154, ptr noundef nonnull align 8 dereferenceable(24) %150, i64 24, i1 false), !alias.scope !431
%164 = icmp eq i64 %151, %92
br i1 %164, label %.loopexit11, label %137
165: ; preds = %136, %94, %91
%166 = icmp eq i64 %37, 5
br i1 %166, label %.loopexit14, label %.preheader15
.loopexit14: ; preds = %165, %.loopexit13, %63, %.loopexit
%167 = phi i1 [ %31, %.loopexit ], [ true, %63 ], [ %62, %165 ], [ true, %.loopexit13 ]
ret i1 %167
}
; 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 %48, align 8
%5 = alloca %52, 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 %.preheader15
11: ; preds = %3
%12 = icmp ugt i64 %6, 1
br i1 %12, label %13, label %.loopexit
13: ; preds = %11
call void @llvm.assume(i1 %7)
%.pre = load i64, ptr %0, align 8
br label %14
14: ; preds = %20, %13
%15 = phi i64 [ %18, %20 ], [ %.pre, %13 ]
%16 = phi i64 [ %21, %20 ], [ 1, %13 ]
%17 = getelementptr inbounds %49, ptr %0, i64 %16
%18 = load i64, ptr %17, align 8
%19 = icmp ult i64 %18, %15
br i1 %19, label %.loopexit, label %20
20: ; preds = %14
%21 = add nuw nsw i64 %16, 1
%22 = icmp eq i64 %21, %6
br i1 %22, label %.loopexit, label %14
.loopexit: ; preds = %20, %14, %11
%23 = phi i64 [ 1, %11 ], [ %16, %14 ], [ %6, %20 ]
%24 = icmp eq i64 %23, %6
br label %.loopexit14
.preheader15: ; preds = %3, %118
%25 = phi i64 [ %40, %118 ], [ 1, %3 ]
%26 = phi i64 [ %27, %118 ], [ 0, %3 ]
%27 = add nuw nsw i64 %26, 1
%28 = icmp ult i64 %25, %6
br i1 %28, label %.preheader12, label %.loopexit13
.preheader12: ; preds = %.preheader15, %43
%29 = phi i1 [ %45, %43 ], [ true, %.preheader15 ]
%30 = phi i64 [ %44, %43 ], [ %25, %.preheader15 ]
%31 = add i64 %30, -1
%32 = icmp ult i64 %31, %6
br i1 %32, label %34, label %33
33: ; preds = %.preheader12
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
34: ; preds = %.preheader12
%35 = getelementptr inbounds %49, ptr %0, i64 %30
%36 = getelementptr inbounds %49, ptr %0, i64 %31
call void @llvm.assume(i1 %7)
%37 = load i64, ptr %35, align 8
%38 = load i64, ptr %36, align 8
%39 = icmp ult i64 %37, %38
br i1 %39, label %.loopexit13, label %43
.loopexit13: ; preds = %34, %.preheader15
%40 = phi i64 [ %25, %.preheader15 ], [ %30, %34 ]
%41 = phi i1 [ false, %.preheader15 ], [ %29, %34 ]
%42 = icmp eq i64 %6, %40
br i1 %42, label %.loopexit14, label %47
43: ; preds = %34
%44 = add i64 %30, 1
%45 = icmp ult i64 %44, %6
%46 = icmp eq i64 %44, %6
br i1 %46, label %.loopexit14, label %.preheader12
47: ; preds = %.loopexit13
%48 = add i64 %40, -1
call void @llvm.experimental.noalias.scope.decl(metadata !460)
%49 = icmp ult i64 %48, %6
br i1 %49, label %50, label %51, !prof !381
50: ; preds = %47
br i1 %41, label %52, label %70, !prof !381
51: ; preds = %47
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %48, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !460
unreachable
52: ; preds = %50
%53 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %48
%54 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %40
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !463
%55 = ptrtoint ptr %53 to i64
%56 = icmp ult ptr %5, %53
%57 = sub i64 %55, %9
%58 = sub i64 %9, %55
%59 = select i1 %56, i64 %57, i64 %58
%60 = icmp ult i64 %59, 40
br i1 %60, label %61, label %62
61: ; preds = %52
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !465
unreachable
62: ; preds = %52
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(40) %53, i64 40, i1 false), !noalias !465
%63 = ptrtoint ptr %54 to i64
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %53, ptr noundef nonnull align 8 dereferenceable(40) %54, i64 40, i1 false), !alias.scope !460, !noalias !465
%64 = icmp ugt ptr %5, %54
%65 = sub i64 %9, %63
%66 = sub i64 %63, %9
%67 = select i1 %64, i64 %65, i64 %66
%68 = icmp ult i64 %67, 40
br i1 %68, label %69, label %71
69: ; preds = %62
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !465
unreachable
70: ; preds = %50
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %40, i64 %6, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.44) #23, !noalias !460
unreachable
71: ; preds = %62
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %54, ptr noundef nonnull align 8 dereferenceable(40) %5, i64 40, i1 false), !noalias !465
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !463
call fastcc void @_ZN4core5slice4sort10shift_tail17h775ad06d0c05e17eE(ptr noalias noundef nonnull align 8 %0, i64 %40, ptr %2)
%72 = sub i64 %6, %40
call void @llvm.experimental.noalias.scope.decl(metadata !466)
%73 = icmp ugt i64 %72, 1
br i1 %73, label %74, label %118
74: ; preds = %71
%75 = getelementptr inbounds %49, ptr %54, i64 1
call void @llvm.assume(i1 %7)
%76 = load i64, ptr %75, align 8, !alias.scope !466
%77 = load i64, ptr %54, align 8, !alias.scope !466
%78 = icmp ult i64 %76, %77
br i1 %78, label %79, label %118
79: ; preds = %74
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !466
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef nonnull align 8 dereferenceable(40) %54, i64 40, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %54, ptr noundef nonnull align 8 dereferenceable(40) %75, i64 40, i1 false), !alias.scope !466
%80 = icmp ugt i64 %72, 2
br i1 %80, label %81, label %.loopexit11
81: ; preds = %79
%82 = load i64, ptr %4, align 8, !noalias !466
%83 = getelementptr inbounds %49, ptr %54, i64 2
%84 = load i64, ptr %83, align 8, !alias.scope !466
%85 = icmp ult i64 %84, %82
br i1 %85, label %.preheader, label %.loopexit11
.loopexit11: ; preds = %116, %98, %81, %79
%86 = phi ptr [ %75, %79 ], [ %75, %81 ], [ %103, %98 ], [ %103, %116 ]
%87 = ptrtoint ptr %86 to i64
%88 = and i64 %87, 7
%89 = icmp eq i64 %88, 0
br i1 %89, label %90, label %96
90: ; preds = %.loopexit11
%91 = icmp ugt ptr %4, %86
%92 = sub i64 %10, %87
%93 = sub i64 %87, %10
%94 = select i1 %91, i64 %92, i64 %93
%95 = icmp ult i64 %94, 40
br i1 %95, label %96, label %97
96: ; preds = %90, %.loopexit11
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
97: ; preds = %90
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %86, ptr noundef nonnull align 8 dereferenceable(40) %4, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !466
br label %118
98: ; preds = %116
%99 = add nuw i64 %104, 1
%100 = getelementptr inbounds %49, ptr %54, i64 %104
%101 = load i64, ptr %100, align 8, !alias.scope !466
%102 = icmp ult i64 %101, %82
br i1 %102, label %.preheader, label %.loopexit11
.preheader: ; preds = %81, %98
%103 = phi ptr [ %100, %98 ], [ %83, %81 ]
%104 = phi i64 [ %99, %98 ], [ 3, %81 ]
%105 = phi i64 [ %104, %98 ], [ 2, %81 ]
%106 = add i64 %105, -1
%107 = getelementptr inbounds %49, ptr %54, i64 %106
%108 = ptrtoint ptr %103 to i64
%109 = ptrtoint ptr %107 to i64
%110 = icmp eq i64 %105, -9223372036854775808
%111 = sub i64 %108, %109
%112 = sub i64 %109, %108
%113 = select i1 %110, i64 %112, i64 %111
%114 = icmp ult i64 %113, 40
br i1 %114, label %115, label %116
115: ; preds = %.preheader
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
116: ; preds = %.preheader
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %107, ptr noundef nonnull align 8 dereferenceable(40) %103, i64 40, i1 false), !alias.scope !466
%117 = icmp eq i64 %104, %72
br i1 %117, label %.loopexit11, label %98
118: ; preds = %97, %74, %71
%119 = icmp eq i64 %27, 5
br i1 %119, label %.loopexit14, label %.preheader15
.loopexit14: ; preds = %118, %.loopexit13, %43, %.loopexit
%120 = phi i1 [ %24, %.loopexit ], [ true, %43 ], [ %42, %118 ], [ true, %.loopexit13 ]
ret i1 %120
}
; 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 %52, align 8
%7 = alloca %52, align 8
%8 = alloca %48, align 8
%9 = alloca %52, align 8
%10 = alloca %52, align 8
%11 = alloca %52, align 8
%12 = alloca %53, align 8
%13 = alloca i64, align 8
%14 = alloca %53, align 8
%15 = alloca i64, align 8
%16 = alloca %49, 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 %52, align 8
%22 = alloca %48, 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 %.loopexit78, 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 = %723, %35
%49 = phi ptr [ %0, %35 ], [ %726, %723 ]
%50 = phi i64 [ %1, %35 ], [ %725, %723 ]
%51 = phi ptr [ %3, %35 ], [ %724, %723 ]
%52 = phi i32 [ %4, %35 ], [ %74, %723 ]
%53 = phi i8 [ 1, %35 ], [ %617, %723 ]
%54 = phi i8 [ 1, %35 ], [ %612, %723 ]
%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 = %717, %48
%60 = phi ptr [ %49, %48 ], [ %718, %717 ]
%61 = phi i64 [ %50, %48 ], [ %719, %717 ]
%62 = phi i32 [ %52, %48 ], [ %74, %717 ]
%63 = icmp eq i32 %62, 0
br i1 %63, label %71, label %72
.loopexit78: ; preds = %723, %717, %5
%64 = phi i64 [ %1, %5 ], [ %719, %717 ], [ %725, %723 ]
%65 = phi ptr [ %0, %5 ], [ %718, %717 ], [ %726, %723 ]
%66 = load ptr, ptr %2, align 8
%67 = icmp ugt i64 %64, 1
br i1 %67, label %.preheader, label %.loopexit
.preheader: ; preds = %.loopexit78, %.preheader
%68 = phi i64 [ %69, %.preheader ], [ 1, %.loopexit78 ]
%69 = add nuw i64 %68, 1
call fastcc void @_ZN4core5slice4sort10shift_tail17h775ad06d0c05e17eE(ptr noalias noundef nonnull align 8 %65, i64 %69, ptr %66)
%70 = icmp eq i64 %69, %64
br i1 %70, label %.loopexit, label %.preheader
.loopexit: ; preds = %140, %.preheader, %71, %.loopexit78
ret void
71: ; 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 %.loopexit
72: ; preds = %59
br i1 %55, label %137, label %73
73: ; preds = %137, %72
%74 = phi i32 [ %138, %137 ], [ %62, %72 ]
call void @llvm.experimental.noalias.scope.decl(metadata !469)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33), !noalias !472
%75 = lshr i64 %61, 2
store i64 %75, ptr %33, align 8, !noalias !472
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32), !noalias !472
%76 = shl nuw nsw i64 %75, 1
store i64 %76, ptr %32, align 8, !noalias !472
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31), !noalias !472
%77 = mul nuw i64 %75, 3
store i64 %77, ptr %31, align 8, !noalias !472
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30), !noalias !472
store i64 0, ptr %30, align 8, !noalias !472
call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29), !noalias !472
store ptr %2, ptr %29, align 8, !noalias !472
store ptr %60, ptr %36, align 8, !noalias !472
store i64 %61, ptr %37, align 8, !noalias !472
store ptr %30, ptr %38, align 8, !noalias !472
%78 = icmp ugt i64 %61, 49
br i1 %78, label %82, label %79
79: ; preds = %82, %73
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 !472
%80 = load i64, ptr %30, align 8, !noalias !472
%81 = icmp ult i64 %80, 12
br i1 %81, label %128, label %89
82: ; preds = %73
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28), !noalias !474
%83 = add nsw i64 %75, -1
store i64 %83, ptr %28, align 8, !noalias !474
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27), !noalias !474
%84 = add nuw nsw i64 %75, 1
store i64 %84, ptr %27, align 8, !noalias !474
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 !474
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28), !noalias !474
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26), !noalias !477
%85 = add nsw i64 %76, -1
store i64 %85, ptr %26, align 8, !noalias !477
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25), !noalias !477
%86 = or i64 %76, 1
store i64 %86, ptr %25, align 8, !noalias !477
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 !477
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26), !noalias !477
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24), !noalias !480
%87 = add i64 %77, -1
store i64 %87, ptr %24, align 8, !noalias !480
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23), !noalias !480
%88 = add nuw i64 %77, 1
store i64 %88, ptr %23, align 8, !noalias !480
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 !480
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24), !noalias !480
br label %79
89: ; preds = %79
call void @llvm.experimental.noalias.scope.decl(metadata !483)
%90 = lshr i64 %61, 1
%91 = icmp ugt i64 %61, 461168601842738791
br i1 %91, label %92, label %93
92: ; preds = %89
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !483
unreachable
93: ; preds = %89
%94 = getelementptr inbounds %49, ptr %60, i64 %61
%95 = sub nsw i64 0, %90
%96 = getelementptr inbounds %49, ptr %94, i64 %95
call void @llvm.experimental.noalias.scope.decl(metadata !486)
call void @llvm.experimental.noalias.scope.decl(metadata !489)
br label %97
97: ; preds = %111, %93
%98 = phi i64 [ %122, %111 ], [ 0, %93 ]
%99 = xor i64 %98, -1
%100 = add nsw i64 %90, %99
%101 = getelementptr inbounds [0 x %49], ptr %60, i64 0, i64 %98
%102 = getelementptr inbounds [0 x %49], ptr %96, i64 0, i64 %100
call void @llvm.experimental.noalias.scope.decl(metadata !491)
call void @llvm.experimental.noalias.scope.decl(metadata !494)
%103 = ptrtoint ptr %101 to i64
%104 = ptrtoint ptr %102 to i64
%105 = icmp ugt ptr %101, %102
%106 = sub i64 %103, %104
%107 = sub i64 %104, %103
%108 = select i1 %105, i64 %106, i64 %107
%109 = icmp ult i64 %108, 40
br i1 %109, label %110, label %111
110: ; preds = %97
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.27, i64 166) #21
unreachable
111: ; preds = %97
%112 = load <2 x i64>, ptr %101, align 8, !alias.scope !496, !noalias !500
%113 = load <2 x i64>, ptr %102, align 8, !alias.scope !501, !noalias !504
store <2 x i64> %113, ptr %101, align 8, !alias.scope !496, !noalias !500
store <2 x i64> %112, ptr %102, align 8, !alias.scope !501, !noalias !504
%114 = getelementptr inbounds i64, ptr %101, i64 2
%115 = getelementptr inbounds i64, ptr %102, i64 2
%116 = load <2 x i64>, ptr %114, align 8, !alias.scope !505, !noalias !500
%117 = load <2 x i64>, ptr %115, align 8, !alias.scope !508, !noalias !504
store <2 x i64> %117, ptr %114, align 8, !alias.scope !505, !noalias !500
store <2 x i64> %116, ptr %115, align 8, !alias.scope !508, !noalias !504
%118 = getelementptr inbounds i64, ptr %101, i64 4
%119 = getelementptr inbounds i64, ptr %102, i64 4
call void @llvm.experimental.noalias.scope.decl(metadata !511)
call void @llvm.experimental.noalias.scope.decl(metadata !513)
%120 = load i64, ptr %118, align 8, !alias.scope !515, !noalias !516
%121 = load i64, ptr %119, align 8, !alias.scope !517, !noalias !518
store i64 %121, ptr %118, align 8, !alias.scope !515, !noalias !516
store i64 %120, ptr %119, align 8, !alias.scope !517, !noalias !518
%122 = add nuw nsw i64 %98, 1
%123 = icmp eq i64 %122, %90
br i1 %123, label %124, label %97
124: ; preds = %111
%125 = load i64, ptr %32, align 8, !noalias !472
%126 = xor i64 %125, -1
%127 = add i64 %61, %126
br label %132
128: ; preds = %79
%129 = load i64, ptr %32, align 8, !noalias !472
%130 = icmp eq i64 %80, 0
%131 = zext i1 %130 to i8
br label %132
132: ; preds = %128, %124
%133 = phi i8 [ %131, %128 ], [ 1, %124 ]
%134 = phi i64 [ %129, %128 ], [ %127, %124 ]
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30), !noalias !472
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31), !noalias !472
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32), !noalias !472
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33), !noalias !472
%135 = icmp eq i8 %133, 0
%136 = select i1 %57, i1 true, i1 %135
br i1 %136, label %139, label %140
137: ; preds = %72
call fastcc void @_ZN4core5slice4sort14break_patterns17haa2c0f7c35d72ab6E(ptr noalias noundef nonnull align 8 %60, i64 %61)
%138 = add i32 %62, -1
br label %73
139: ; preds = %140, %132
br i1 %58, label %145, label %143
140: ; preds = %132
%141 = load ptr, ptr %2, align 8
%142 = call fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17hb41dba5538d397f7E(ptr noalias noundef nonnull align 8 %60, i64 %61, ptr %141)
br i1 %142, label %.loopexit, label %139
143: ; preds = %139
%144 = icmp ult i64 %134, %61
br i1 %144, label %630, label %635, !prof !381
145: ; preds = %139
call void @llvm.experimental.noalias.scope.decl(metadata !519)
call void @llvm.experimental.noalias.scope.decl(metadata !522)
%146 = icmp eq i64 %50, 0
br i1 %146, label %151, label %.loopexit77, !prof !525
.loopexit77: ; preds = %630, %145
%147 = phi ptr [ %49, %145 ], [ %60, %630 ]
%148 = phi i64 [ %50, %145 ], [ %61, %630 ]
%149 = load ptr, ptr %2, align 8
%150 = icmp ult i64 %134, %148
br i1 %150, label %152, label %169, !prof !381
151: ; preds = %145
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 0, i64 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !522
unreachable
152: ; preds = %.loopexit77
%153 = getelementptr inbounds [0 x %49], ptr %147, i64 0, i64 %134
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21), !noalias !526
%154 = ptrtoint ptr %147 to i64
%155 = icmp ult ptr %21, %147
%156 = sub i64 %154, %42
%157 = sub i64 %42, %154
%158 = select i1 %155, i64 %156, i64 %157
%159 = icmp ult i64 %158, 40
br i1 %159, label %160, label %161
160: ; preds = %152
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !528
unreachable
161: ; preds = %152
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %21, ptr noundef nonnull align 8 dereferenceable(40) %147, i64 40, i1 false), !noalias !528
%162 = ptrtoint ptr %153 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %147, ptr noundef nonnull align 8 dereferenceable(40) %153, i64 40, i1 false), !alias.scope !529, !noalias !528
%163 = icmp ugt ptr %21, %153
%164 = sub i64 %42, %162
%165 = sub i64 %162, %42
%166 = select i1 %163, i64 %164, i64 %165
%167 = icmp ult i64 %166, 40
br i1 %167, label %168, label %170
168: ; preds = %161
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !528
unreachable
169: ; preds = %.loopexit77
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %134, i64 %148, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !522
unreachable
170: ; preds = %161
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %153, ptr noundef nonnull align 8 dereferenceable(40) %21, i64 40, i1 false), !noalias !528
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21), !noalias !526
%171 = add i64 %148, -1
%172 = icmp ugt i64 %171, 230584300921369395
br i1 %172, label %173, label %174
173: ; preds = %170
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !530
unreachable
174: ; preds = %170
%175 = getelementptr inbounds %49, ptr %147, i64 1
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22), !noalias !519
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %22, ptr noundef nonnull align 8 dereferenceable(40) %147, i64 40, i1 false)
%176 = icmp eq i64 %171, 0
br i1 %176, label %177, label %179
177: ; preds = %174
%178 = load i64, ptr %22, align 8, !noalias !519
br label %.loopexit74
179: ; preds = %174
%180 = icmp ne ptr %149, null
call void @llvm.assume(i1 %180)
%181 = load i64, ptr %22, align 8, !noalias !519
br label %184
182: ; preds = %538, %258, %214, %212
%183 = 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 %147) #24
resume { ptr, i32 } %183
184: ; preds = %193, %179
%185 = phi i64 [ 0, %179 ], [ %194, %193 ]
%186 = getelementptr inbounds %49, ptr %175, i64 %185
%187 = load i64, ptr %186, align 8, !alias.scope !519
%188 = icmp ult i64 %187, %181
br i1 %188, label %193, label %.loopexit74
.loopexit74: ; preds = %193, %184, %177
%189 = phi i64 [ %178, %177 ], [ %181, %184 ], [ %181, %193 ]
%190 = phi i64 [ 0, %177 ], [ %171, %193 ], [ %185, %184 ]
%191 = icmp ne ptr %149, null
%192 = call i64 @llvm.umin.i64(i64 %190, i64 %171)
br label %196
193: ; preds = %184
%194 = add nuw i64 %185, 1
%195 = icmp eq i64 %194, %171
br i1 %195, label %.loopexit74, label %184
196: ; preds = %203, %.loopexit74
%197 = phi i64 [ %171, %.loopexit74 ], [ %200, %203 ]
%198 = icmp ugt i64 %197, %190
br i1 %198, label %199, label %207
199: ; preds = %196
%200 = add i64 %197, -1
%201 = icmp ult i64 %200, %171
br i1 %201, label %203, label %202
202: ; preds = %199
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
203: ; preds = %199
%204 = getelementptr inbounds %49, ptr %147, i64 %197
call void @llvm.assume(i1 %191)
%205 = load i64, ptr %204, align 8, !alias.scope !519
%206 = icmp ult i64 %205, %189
br i1 %206, label %207, label %196
207: ; preds = %203, %196
%208 = phi i64 [ %192, %196 ], [ %197, %203 ]
%209 = icmp ult i64 %208, %190
br i1 %209, label %212, label %210
210: ; preds = %207
%211 = icmp ugt i64 %208, %171
br i1 %211, label %214, label %216
212: ; preds = %207
invoke void @_ZN4core5slice5index22slice_index_order_fail17h41a682748ef8522cE(i64 %190, i64 %208, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %213 unwind label %182
213: ; preds = %212
unreachable
214: ; preds = %210
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %208, i64 %171, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %215 unwind label %182
215: ; preds = %214
unreachable
216: ; preds = %210
%217 = getelementptr inbounds %49, ptr %175, i64 %190
call void @llvm.experimental.noalias.scope.decl(metadata !538)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20), !noalias !541
store i64 128, ptr %20, align 8, !noalias !541
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %19), !noalias !541
%218 = getelementptr inbounds %49, ptr %175, i64 %208
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18), !noalias !541
store i64 128, ptr %18, align 8, !noalias !541
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %17), !noalias !541
br label %219
219: ; preds = %388, %216
%220 = phi i64 [ 128, %216 ], [ %234, %388 ]
%221 = phi i64 [ 128, %216 ], [ %235, %388 ]
%222 = phi ptr [ null, %216 ], [ %341, %388 ]
%223 = phi ptr [ null, %216 ], [ %389, %388 ]
%224 = phi ptr [ %218, %216 ], [ %398, %388 ]
%225 = phi ptr [ null, %216 ], [ %282, %388 ]
%226 = phi ptr [ null, %216 ], [ %390, %388 ]
%227 = phi ptr [ %217, %216 ], [ %394, %388 ]
%228 = ptrtoint ptr %224 to i64
%229 = ptrtoint ptr %227 to i64
%230 = sub i64 %228, %229
%231 = udiv i64 %230, 40
%232 = icmp ult i64 %230, 10280
br i1 %232, label %237, label %233
233: ; preds = %255, %219
%234 = phi i64 [ %246, %255 ], [ %220, %219 ]
%235 = phi i64 [ %247, %255 ], [ %221, %219 ]
%236 = icmp eq ptr %226, %225
br i1 %236, label %285, label %.loopexit68
237: ; preds = %219
%238 = icmp ult ptr %226, %225
%239 = icmp ult ptr %223, %222
%240 = select i1 %238, i1 true, i1 %239
%241 = add nsw i64 %231, -128
%242 = select i1 %240, i64 %241, i64 %231
br i1 %238, label %244, label %243
243: ; preds = %237
br i1 %239, label %254, label %251
244: ; preds = %237
store i64 %242, ptr %18, align 8, !noalias !541
br label %245
245: ; preds = %254, %251, %244
%246 = phi i64 [ %220, %254 ], [ %253, %251 ], [ %242, %244 ]
%247 = phi i64 [ %242, %254 ], [ %252, %251 ], [ %221, %244 ]
%248 = icmp ult i64 %247, 129
%249 = icmp ult i64 %246, 129
%250 = select i1 %248, i1 %249, i1 false
br i1 %250, label %255, label %258
251: ; preds = %243
%252 = lshr i64 %242, 1
store i64 %252, ptr %20, align 8, !noalias !541
%253 = sub i64 %242, %252
store i64 %253, ptr %18, align 8, !noalias !541
br label %245
254: ; preds = %243
store i64 %242, ptr %20, align 8, !noalias !541
br label %245
255: ; preds = %245
%256 = add nuw nsw i64 %247, %246
%257 = icmp eq i64 %231, %256
br i1 %257, label %233, label %258
258: ; preds = %255, %245
%259 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.38, %245 ], [ @anon.0f79382001bad1c9081319f05be50b13.40, %255 ]
%260 = phi i64 [ 54, %245 ], [ 50, %255 ]
%261 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.39, %245 ], [ @anon.0f79382001bad1c9081319f05be50b13.41, %255 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %259, i64 %260, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %261) #23
to label %262 unwind label %182
262: ; preds = %258
unreachable
.loopexit69: ; preds = %292, %287
%263 = phi ptr [ undef, %287 ], [ %320, %292 ]
%264 = phi ptr [ %19, %287 ], [ %320, %292 ]
%265 = phi ptr [ %227, %287 ], [ %321, %292 ]
%266 = phi i64 [ 0, %287 ], [ %291, %292 ]
%267 = icmp eq i64 %288, 0
br i1 %267, label %.loopexit68, label %.preheader67
.preheader67: ; preds = %.loopexit69, %.preheader67
%268 = phi ptr [ %278, %.preheader67 ], [ %264, %.loopexit69 ]
%269 = phi ptr [ %279, %.preheader67 ], [ %265, %.loopexit69 ]
%270 = phi i64 [ %272, %.preheader67 ], [ %266, %.loopexit69 ]
%271 = phi i64 [ %280, %.preheader67 ], [ 0, %.loopexit69 ]
%272 = add nuw nsw i64 %270, 1
%273 = trunc i64 %270 to i8
store i8 %273, ptr %268, align 1, !noalias !541
%274 = icmp ne ptr %269, null
call void @llvm.assume(i1 %274)
%275 = load i64, ptr %269, align 8, !alias.scope !541
%276 = icmp uge i64 %275, %189
%277 = zext i1 %276 to i64
%278 = getelementptr inbounds i8, ptr %268, i64 %277
%279 = getelementptr inbounds %49, ptr %269, i64 1
%280 = add nuw nsw i64 %271, 1
%281 = icmp eq i64 %280, %288
br i1 %281, label %.loopexit68, label %.preheader67, !llvm.loop !542
.loopexit68: ; preds = %.preheader67, %285, %.loopexit69, %233
%282 = phi ptr [ %225, %233 ], [ %19, %285 ], [ %263, %.loopexit69 ], [ %278, %.preheader67 ]
%283 = phi ptr [ %226, %233 ], [ %19, %285 ], [ %19, %.loopexit69 ], [ %19, %.preheader67 ]
%284 = icmp eq ptr %223, %222
br i1 %284, label %351, label %.loopexit65
285: ; preds = %233
%286 = icmp eq i64 %235, 0
br i1 %286, label %.loopexit68, label %287
287: ; preds = %285
call void @llvm.assume(i1 %191)
%288 = and i64 %235, 3
%289 = icmp ult i64 %235, 4
br i1 %289, label %.loopexit69, label %290
290: ; preds = %287
%291 = and i64 %235, -4
br label %292
292: ; preds = %292, %290
%293 = phi ptr [ %19, %290 ], [ %320, %292 ]
%294 = phi ptr [ %227, %290 ], [ %321, %292 ]
%295 = phi i64 [ 0, %290 ], [ %315, %292 ]
%296 = trunc i64 %295 to i8
store i8 %296, ptr %293, align 1, !noalias !541
%297 = icmp ne ptr %294, null
call void @llvm.assume(i1 %297)
%298 = load i64, ptr %294, align 8, !alias.scope !541
%299 = icmp uge i64 %298, %189
%300 = zext i1 %299 to i64
%301 = getelementptr inbounds i8, ptr %293, i64 %300
%302 = getelementptr inbounds %49, ptr %294, i64 1
%303 = or i8 %296, 1
store i8 %303, ptr %301, align 1, !noalias !541
%304 = load i64, ptr %302, align 8, !alias.scope !541
%305 = icmp uge i64 %304, %189
%306 = zext i1 %305 to i64
%307 = getelementptr inbounds i8, ptr %301, i64 %306
%308 = getelementptr inbounds %49, ptr %294, i64 2
%309 = or i8 %296, 2
store i8 %309, ptr %307, align 1, !noalias !541
%310 = load i64, ptr %308, align 8, !alias.scope !541
%311 = icmp uge i64 %310, %189
%312 = zext i1 %311 to i64
%313 = getelementptr inbounds i8, ptr %307, i64 %312
%314 = getelementptr inbounds %49, ptr %294, i64 3
%315 = add nuw i64 %295, 4
%316 = or i8 %296, 3
store i8 %316, ptr %313, align 1, !noalias !541
%317 = load i64, ptr %314, align 8, !alias.scope !541
%318 = icmp uge i64 %317, %189
%319 = zext i1 %318 to i64
%320 = getelementptr inbounds i8, ptr %313, i64 %319
%321 = getelementptr inbounds %49, ptr %294, i64 4
%322 = icmp eq i64 %315, %291
br i1 %322, label %.loopexit69, label %292
.loopexit66: ; preds = %358, %353
%323 = phi ptr [ undef, %353 ], [ %386, %358 ]
%324 = phi ptr [ %17, %353 ], [ %386, %358 ]
%325 = phi ptr [ %224, %353 ], [ %381, %358 ]
%326 = phi i64 [ 0, %353 ], [ %357, %358 ]
%327 = icmp eq i64 %354, 0
br i1 %327, label %.loopexit65, label %.preheader64
.preheader64: ; preds = %.loopexit66, %.preheader64
%328 = phi ptr [ %338, %.preheader64 ], [ %324, %.loopexit66 ]
%329 = phi ptr [ %333, %.preheader64 ], [ %325, %.loopexit66 ]
%330 = phi i64 [ %332, %.preheader64 ], [ %326, %.loopexit66 ]
%331 = phi i64 [ %339, %.preheader64 ], [ 0, %.loopexit66 ]
%332 = add nuw nsw i64 %330, 1
%333 = getelementptr inbounds %49, ptr %329, i64 -1
%334 = trunc i64 %330 to i8
store i8 %334, ptr %328, align 1, !noalias !541
%335 = load i64, ptr %333, align 8, !alias.scope !541
%336 = icmp ult i64 %335, %189
%337 = zext i1 %336 to i64
%338 = getelementptr inbounds i8, ptr %328, i64 %337
%339 = add nuw nsw i64 %331, 1
%340 = icmp eq i64 %339, %354
br i1 %340, label %.loopexit65, label %.preheader64, !llvm.loop !544
.loopexit65: ; preds = %.preheader64, %351, %.loopexit66, %.loopexit68
%341 = phi ptr [ %222, %.loopexit68 ], [ %17, %351 ], [ %323, %.loopexit66 ], [ %338, %.preheader64 ]
%342 = phi ptr [ %223, %.loopexit68 ], [ %17, %351 ], [ %17, %.loopexit66 ], [ %17, %.preheader64 ]
%343 = ptrtoint ptr %282 to i64
%344 = ptrtoint ptr %283 to i64
%345 = sub i64 %343, %344
%346 = ptrtoint ptr %341 to i64
%347 = ptrtoint ptr %342 to i64
%348 = sub i64 %346, %347
%349 = call i64 @llvm.umin.i64(i64 %345, i64 %348)
%350 = icmp eq i64 %349, 0
br i1 %350, label %388, label %399
351: ; preds = %.loopexit68
%352 = icmp eq i64 %234, 0
br i1 %352, label %.loopexit65, label %353
353: ; preds = %351
call void @llvm.assume(i1 %191)
%354 = and i64 %234, 3
%355 = icmp ult i64 %234, 4
br i1 %355, label %.loopexit66, label %356
356: ; preds = %353
%357 = and i64 %234, -4
br label %358
358: ; preds = %358, %356
%359 = phi ptr [ %17, %356 ], [ %386, %358 ]
%360 = phi ptr [ %224, %356 ], [ %381, %358 ]
%361 = phi i64 [ 0, %356 ], [ %380, %358 ]
%362 = getelementptr inbounds %49, ptr %360, i64 -1
%363 = trunc i64 %361 to i8
store i8 %363, ptr %359, align 1, !noalias !541
%364 = load i64, ptr %362, align 8, !alias.scope !541
%365 = icmp ult i64 %364, %189
%366 = zext i1 %365 to i64
%367 = getelementptr inbounds i8, ptr %359, i64 %366
%368 = getelementptr inbounds %49, ptr %360, i64 -2
%369 = or i8 %363, 1
store i8 %369, ptr %367, align 1, !noalias !541
%370 = load i64, ptr %368, align 8, !alias.scope !541
%371 = icmp ult i64 %370, %189
%372 = zext i1 %371 to i64
%373 = getelementptr inbounds i8, ptr %367, i64 %372
%374 = getelementptr inbounds %49, ptr %360, i64 -3
%375 = or i8 %363, 2
store i8 %375, ptr %373, align 1, !noalias !541
%376 = load i64, ptr %374, align 8, !alias.scope !541
%377 = icmp ult i64 %376, %189
%378 = zext i1 %377 to i64
%379 = getelementptr inbounds i8, ptr %373, i64 %378
%380 = add nuw i64 %361, 4
%381 = getelementptr inbounds %49, ptr %360, i64 -4
%382 = or i8 %363, 3
store i8 %382, ptr %379, align 1, !noalias !541
%383 = load i64, ptr %381, align 8, !alias.scope !541
%384 = icmp ult i64 %383, %189
%385 = zext i1 %384 to i64
%386 = getelementptr inbounds i8, ptr %379, i64 %385
%387 = icmp eq i64 %380, %357
br i1 %387, label %.loopexit66, label %358
388: ; preds = %448, %.loopexit65
%389 = phi ptr [ %450, %448 ], [ %342, %.loopexit65 ]
%390 = phi ptr [ %449, %448 ], [ %283, %.loopexit65 ]
%391 = icmp eq ptr %390, %282
%392 = select i1 %391, i64 %235, i64 0
%393 = freeze i64 %392
%394 = getelementptr %49, ptr %227, i64 %393
%395 = icmp eq ptr %389, %341
%396 = sub i64 0, %234
%397 = select i1 %395, i64 %396, i64 0
%398 = getelementptr %49, ptr %224, i64 %397
br i1 %232, label %486, label %219
399: ; preds = %.loopexit65
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %16), !noalias !541
%400 = load i8, ptr %283, align 1, !noalias !541
%401 = zext i8 %400 to i64
%402 = getelementptr inbounds %49, ptr %227, i64 %401
%403 = icmp ne ptr %227, null
%404 = ptrtoint ptr %402 to i64
%405 = and i64 %404, 7
%406 = icmp eq i64 %405, 0
%407 = select i1 %403, i1 %406, i1 false
br i1 %407, label %409, label %408
408: ; preds = %399
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !545
unreachable
409: ; preds = %399
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %16, ptr noundef nonnull align 8 dereferenceable(40) %402, i64 40, i1 false)
%410 = load i8, ptr %342, align 1, !noalias !541
%411 = zext i8 %410 to i64
%412 = xor i64 %411, -1
%413 = getelementptr inbounds %49, ptr %224, i64 %412
%414 = load i8, ptr %283, align 1, !noalias !541
%415 = zext i8 %414 to i64
%416 = getelementptr inbounds %49, ptr %227, i64 %415
%417 = ptrtoint ptr %413 to i64
%418 = and i64 %417, 7
%419 = icmp eq i64 %418, 0
br i1 %419, label %420, label %430
420: ; preds = %409
%421 = ptrtoint ptr %416 to i64
%422 = and i64 %421, 7
%423 = icmp eq i64 %422, 0
br i1 %423, label %424, label %430
424: ; preds = %420
%425 = icmp ugt ptr %413, %416
%426 = sub i64 %417, %421
%427 = sub i64 %421, %417
%428 = select i1 %425, i64 %426, i64 %427
%429 = icmp ult i64 %428, 40
br i1 %429, label %430, label %431
430: ; preds = %424, %420, %409
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
431: ; preds = %424
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %416, ptr noundef nonnull align 8 dereferenceable(40) %413, i64 40, i1 false), !alias.scope !541
%432 = icmp ugt i64 %349, 1
br i1 %432, label %.preheader62, label %.loopexit63
.loopexit63.loopexit: ; preds = %484
%433 = ptrtoint ptr %476 to i64
br label %.loopexit63
.loopexit63: ; preds = %.loopexit63.loopexit, %431
%434 = phi i64 [ %417, %431 ], [ %433, %.loopexit63.loopexit ]
%435 = phi i64 [ %412, %431 ], [ %475, %.loopexit63.loopexit ]
%436 = phi ptr [ %342, %431 ], [ %472, %.loopexit63.loopexit ]
%437 = phi ptr [ %283, %431 ], [ %456, %.loopexit63.loopexit ]
%438 = getelementptr inbounds %49, ptr %224, i64 %435
%439 = and i64 %434, 7
%440 = icmp eq i64 %439, 0
br i1 %440, label %441, label %447
441: ; preds = %.loopexit63
%442 = icmp ugt ptr %16, %438
%443 = sub i64 %43, %434
%444 = sub i64 %434, %43
%445 = select i1 %442, i64 %443, i64 %444
%446 = icmp ult i64 %445, 40
br i1 %446, label %447, label %448
447: ; preds = %441, %.loopexit63
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
448: ; preds = %441
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %438, ptr noundef nonnull align 8 dereferenceable(40) %16, i64 40, i1 false)
%449 = getelementptr inbounds i8, ptr %437, i64 1
%450 = getelementptr inbounds i8, ptr %436, i64 1
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16), !noalias !541
br label %388
.preheader62: ; preds = %431, %484
%451 = phi i8 [ %473, %484 ], [ %410, %431 ]
%452 = phi ptr [ %456, %484 ], [ %283, %431 ]
%453 = phi ptr [ %472, %484 ], [ %342, %431 ]
%454 = phi i64 [ %455, %484 ], [ 1, %431 ]
%455 = add nuw i64 %454, 1
%456 = getelementptr inbounds i8, ptr %452, i64 1
%457 = load i8, ptr %456, align 1, !noalias !541
%458 = zext i8 %457 to i64
%459 = getelementptr inbounds %49, ptr %227, i64 %458
%460 = zext i8 %451 to i64
%461 = xor i64 %460, -1
%462 = getelementptr inbounds %49, ptr %224, i64 %461
%463 = ptrtoint ptr %459 to i64
%464 = ptrtoint ptr %462 to i64
%465 = icmp ugt ptr %459, %462
%466 = sub i64 %463, %464
%467 = sub i64 %464, %463
%468 = select i1 %465, i64 %466, i64 %467
%469 = icmp ult i64 %468, 40
br i1 %469, label %470, label %471
470: ; preds = %.preheader62
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
471: ; preds = %.preheader62
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %462, ptr noundef nonnull align 8 dereferenceable(40) %459, i64 40, i1 false), !alias.scope !541
%472 = getelementptr inbounds i8, ptr %453, i64 1
%473 = load i8, ptr %472, align 1, !noalias !541
%474 = zext i8 %473 to i64
%475 = xor i64 %474, -1
%476 = getelementptr inbounds %49, ptr %224, i64 %475
%477 = ptrtoint ptr %476 to i64
%478 = icmp ugt ptr %476, %459
%479 = sub i64 %477, %463
%480 = sub i64 %463, %477
%481 = select i1 %478, i64 %479, i64 %480
%482 = icmp ult i64 %481, 40
br i1 %482, label %483, label %484
483: ; preds = %471
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
484: ; preds = %471
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %459, ptr noundef nonnull align 8 dereferenceable(40) %476, i64 40, i1 false), !alias.scope !541
%485 = icmp eq i64 %455, %349
br i1 %485, label %.loopexit63.loopexit, label %.preheader62
486: ; preds = %388
%487 = icmp ult ptr %390, %282
br i1 %487, label %490, label %488
488: ; preds = %486
%489 = icmp ult ptr %389, %341
br i1 %489, label %530, label %.loopexit72
490: ; preds = %486
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15), !noalias !541
%491 = ptrtoint ptr %398 to i64
%492 = ptrtoint ptr %394 to i64
%493 = sub i64 %491, %492
%494 = udiv i64 %493, 40
store i64 %494, ptr %15, align 8, !noalias !541
%495 = icmp eq i64 %494, %235
br i1 %495, label %496, label %499
496: ; preds = %490
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15), !noalias !541
%497 = icmp eq ptr %394, null
br i1 %497, label %498, label %.preheader70
498: ; preds = %496
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11), !noalias !541
br label %.loopexit71
499: ; preds = %490
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !541
store ptr null, ptr %14, align 8, !noalias !541
br label %538
.preheader70: ; preds = %496, %528
%500 = phi ptr [ %502, %528 ], [ %282, %496 ]
%501 = phi ptr [ %506, %528 ], [ %398, %496 ]
%502 = getelementptr inbounds i8, ptr %500, i64 -1
%503 = load i8, ptr %502, align 1, !noalias !541
%504 = zext i8 %503 to i64
%505 = getelementptr inbounds %49, ptr %394, i64 %504
%506 = getelementptr inbounds %49, ptr %501, i64 -1
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11), !noalias !541
%507 = ptrtoint ptr %505 to i64
%508 = and i64 %507, 7
%509 = icmp eq i64 %508, 0
br i1 %509, label %510, label %.loopexit71
510: ; preds = %.preheader70
%511 = icmp ult ptr %11, %505
%512 = sub i64 %507, %45
%513 = sub i64 %45, %507
%514 = select i1 %511, i64 %512, i64 %513
%515 = icmp ult i64 %514, 40
br i1 %515, label %.loopexit71, label %516
.loopexit71: ; preds = %510, %.preheader70, %498
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
516: ; preds = %510
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %11, ptr noundef nonnull align 8 dereferenceable(40) %505, i64 40, i1 false)
%517 = ptrtoint ptr %506 to i64
%518 = and i64 %517, 7
%519 = icmp eq i64 %518, 0
br i1 %519, label %521, label %520
520: ; preds = %516
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
521: ; preds = %516
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %505, ptr noundef nonnull align 8 dereferenceable(40) %506, i64 40, i1 false), !alias.scope !541
%522 = icmp ugt ptr %11, %506
%523 = sub i64 %45, %517
%524 = sub i64 %517, %45
%525 = select i1 %522, i64 %523, i64 %524
%526 = icmp ult i64 %525, 40
br i1 %526, label %527, label %528
527: ; preds = %521
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
528: ; preds = %521
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %506, ptr noundef nonnull align 8 dereferenceable(40) %11, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11), !noalias !541
%529 = icmp ult ptr %390, %502
br i1 %529, label %.preheader70, label %.loopexit72
530: ; preds = %488
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13), !noalias !541
%531 = ptrtoint ptr %398 to i64
%532 = ptrtoint ptr %394 to i64
%533 = sub i64 %531, %532
%534 = udiv i64 %533, 40
store i64 %534, ptr %13, align 8, !noalias !541
%535 = icmp eq i64 %534, %234
br i1 %535, label %536, label %537
536: ; preds = %530
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !541
br label %544
537: ; preds = %530
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !541
store ptr null, ptr %12, align 8, !noalias !541
br label %538
538: ; preds = %537, %499
%539 = phi ptr [ %13, %537 ], [ %15, %499 ]
%540 = phi ptr [ %18, %537 ], [ %20, %499 ]
%541 = phi ptr [ %12, %537 ], [ %14, %499 ]
%542 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.43, %537 ], [ @anon.0f79382001bad1c9081319f05be50b13.42, %499 ]
invoke fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %539, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %540, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %541, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %542) #23
to label %543 unwind label %182
543: ; preds = %538
unreachable
544: ; preds = %576, %536
%545 = phi ptr [ %394, %536 ], [ %577, %576 ]
%546 = phi ptr [ %341, %536 ], [ %547, %576 ]
%547 = getelementptr inbounds i8, ptr %546, i64 -1
%548 = load i8, ptr %547, align 1, !noalias !541
%549 = zext i8 %548 to i64
%550 = xor i64 %549, -1
%551 = getelementptr inbounds %49, ptr %398, i64 %550
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10), !noalias !541
%552 = icmp ne ptr %545, null
%553 = ptrtoint ptr %545 to i64
%554 = and i64 %553, 7
%555 = icmp eq i64 %554, 0
%556 = select i1 %552, i1 %555, i1 false
br i1 %556, label %557, label %563
557: ; preds = %544
%558 = icmp ult ptr %10, %545
%559 = sub i64 %553, %44
%560 = sub i64 %44, %553
%561 = select i1 %558, i64 %559, i64 %560
%562 = icmp ult i64 %561, 40
br i1 %562, label %563, label %564
563: ; preds = %557, %544
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
564: ; preds = %557
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %10, ptr noundef nonnull align 8 dereferenceable(40) %545, i64 40, i1 false)
%565 = ptrtoint ptr %551 to i64
%566 = and i64 %565, 7
%567 = icmp eq i64 %566, 0
br i1 %567, label %569, label %568
568: ; preds = %564
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
569: ; preds = %564
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %545, ptr noundef nonnull align 8 dereferenceable(40) %551, i64 40, i1 false), !alias.scope !541
%570 = icmp ugt ptr %10, %551
%571 = sub i64 %44, %565
%572 = sub i64 %565, %44
%573 = select i1 %570, i64 %571, i64 %572
%574 = icmp ult i64 %573, 40
br i1 %574, label %575, label %576
575: ; preds = %569
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
576: ; preds = %569
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %551, ptr noundef nonnull align 8 dereferenceable(40) %10, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10), !noalias !541
%577 = getelementptr inbounds %49, ptr %545, i64 1
%578 = icmp ult ptr %389, %547
br i1 %578, label %544, label %.loopexit72
.loopexit72: ; preds = %576, %528, %488
%579 = phi ptr [ %394, %488 ], [ %506, %528 ], [ %577, %576 ]
%580 = ptrtoint ptr %579 to i64
%581 = ptrtoint ptr %217 to i64
%582 = sub i64 %580, %581
%583 = udiv i64 %582, 40
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %17), !noalias !541
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18), !noalias !541
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %19), !noalias !541
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20), !noalias !541
%584 = add i64 %583, %190
%585 = icmp ugt ptr %22, %147
%586 = sub i64 %46, %154
%587 = sub i64 %154, %46
%588 = select i1 %585, i64 %586, i64 %587
%589 = icmp ult i64 %588, 40
br i1 %589, label %590, label %591
590: ; preds = %.loopexit72
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
591: ; preds = %.loopexit72
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %147, ptr noundef nonnull align 8 dereferenceable(40) %22, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22), !noalias !519
call void @llvm.experimental.noalias.scope.decl(metadata !548)
%592 = icmp ugt i64 %148, %584
br i1 %592, label %593, label %609, !prof !381
593: ; preds = %591
%594 = getelementptr inbounds [0 x %49], ptr %147, i64 0, i64 %584
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9), !noalias !551
%595 = icmp ult ptr %9, %147
%596 = sub i64 %154, %47
%597 = sub i64 %47, %154
%598 = select i1 %595, i64 %596, i64 %597
%599 = icmp ult i64 %598, 40
br i1 %599, label %600, label %601
600: ; preds = %593
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !553
unreachable
601: ; preds = %593
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, ptr noundef nonnull align 8 dereferenceable(40) %147, i64 40, i1 false), !noalias !553
%602 = ptrtoint ptr %594 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %147, ptr noundef nonnull align 8 dereferenceable(40) %594, i64 40, i1 false), !alias.scope !554, !noalias !553
%603 = icmp ugt ptr %9, %594
%604 = sub i64 %47, %602
%605 = sub i64 %602, %47
%606 = select i1 %603, i64 %604, i64 %605
%607 = icmp ult i64 %606, 40
br i1 %607, label %608, label %610
608: ; preds = %601
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !553
unreachable
609: ; preds = %591
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %584, i64 %148, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.53) #23, !noalias !548
unreachable
610: ; preds = %601
%611 = icmp uge i64 %190, %208
%612 = zext i1 %611 to i8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %594, ptr noundef nonnull align 8 dereferenceable(40) %9, i64 40, i1 false), !noalias !553
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9), !noalias !551
%613 = sub i64 %148, %584
%614 = call i64 @llvm.umin.i64(i64 %584, i64 %613)
%615 = lshr i64 %148, 3
%616 = icmp uge i64 %614, %615
%617 = zext i1 %616 to i8
%618 = icmp ugt i64 %584, 230584300921369395
br i1 %618, label %619, label %620
619: ; preds = %610
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !555
unreachable
620: ; preds = %610
%621 = icmp ugt i64 %613, 230584300921369395
br i1 %621, label %622, label %623
622: ; preds = %620
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !555
unreachable
623: ; preds = %620
%624 = icmp eq i64 %148, %584
br i1 %624, label %629, label %625
625: ; preds = %623
%626 = add nsw i64 %613, -1
%627 = getelementptr inbounds %49, ptr %594, i64 1
%628 = icmp ult i64 %584, %626
br i1 %628, label %722, label %721
629: ; preds = %623
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 !563
unreachable
630: ; preds = %143
%631 = getelementptr inbounds [0 x %49], ptr %60, i64 0, i64 %134
%632 = load i64, ptr %51, align 8
%633 = load i64, ptr %631, align 8
%634 = icmp ult i64 %632, %633
br i1 %634, label %.loopexit77, label %636
635: ; preds = %143
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %134, i64 %61, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.45) #23
unreachable
636: ; preds = %630
%637 = load ptr, ptr %2, align 8
call void @llvm.experimental.noalias.scope.decl(metadata !567)
call void @llvm.experimental.noalias.scope.decl(metadata !570)
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7), !noalias !573
%638 = ptrtoint ptr %60 to i64
%639 = icmp ult ptr %7, %60
%640 = sub i64 %638, %39
%641 = sub i64 %39, %638
%642 = select i1 %639, i64 %640, i64 %641
%643 = icmp ult i64 %642, 40
br i1 %643, label %644, label %645
644: ; preds = %636
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !575
unreachable
645: ; preds = %636
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 !575
%646 = ptrtoint ptr %631 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %60, ptr noundef nonnull align 8 dereferenceable(40) %631, i64 40, i1 false), !alias.scope !576, !noalias !575
%647 = icmp ugt ptr %7, %631
%648 = sub i64 %39, %646
%649 = sub i64 %646, %39
%650 = select i1 %647, i64 %648, i64 %649
%651 = icmp ult i64 %650, 40
br i1 %651, label %652, label %653
652: ; preds = %645
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !575
unreachable
653: ; preds = %645
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %631, ptr noundef nonnull align 8 dereferenceable(40) %7, i64 40, i1 false), !noalias !575
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7), !noalias !573
%654 = add i64 %61, -1
%655 = icmp ugt i64 %654, 230584300921369395
br i1 %655, label %656, label %657
656: ; preds = %653
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !577
unreachable
657: ; preds = %653
%658 = getelementptr inbounds %49, ptr %60, i64 1
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8), !noalias !567
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)
%659 = icmp ne ptr %637, null
%660 = load i64, ptr %8, align 8, !noalias !567
br label %661
661: ; preds = %711, %657
%662 = phi i64 [ %654, %657 ], [ %680, %711 ]
%663 = phi i64 [ 0, %657 ], [ %712, %711 ]
%664 = icmp ult i64 %663, %662
br i1 %664, label %.preheader60, label %.loopexit61
.preheader60: ; preds = %661, %673
%665 = phi i64 [ %674, %673 ], [ %663, %661 ]
%666 = icmp ult i64 %665, %654
br i1 %666, label %668, label %667
667: ; preds = %.preheader60
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
668: ; preds = %.preheader60
%669 = getelementptr inbounds %49, ptr %658, i64 %665
call void @llvm.assume(i1 %659)
%670 = load i64, ptr %669, align 8, !alias.scope !567
%671 = icmp ult i64 %660, %670
br i1 %671, label %.loopexit61, label %673
.loopexit61: ; preds = %673, %668, %661
%672 = phi i64 [ %663, %661 ], [ %662, %673 ], [ %665, %668 ]
br label %676
673: ; preds = %668
%674 = add nuw i64 %665, 1
%675 = icmp eq i64 %674, %662
br i1 %675, label %.loopexit61, label %.preheader60
676: ; preds = %683, %.loopexit61
%677 = phi i64 [ %662, %.loopexit61 ], [ %680, %683 ]
%678 = icmp ult i64 %672, %677
br i1 %678, label %679, label %704
679: ; preds = %676
%680 = add i64 %677, -1
%681 = icmp ult i64 %680, %654
br i1 %681, label %683, label %682
682: ; preds = %679
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
683: ; preds = %679
%684 = getelementptr inbounds %49, ptr %60, i64 %677
call void @llvm.assume(i1 %659)
%685 = load i64, ptr %684, align 8, !alias.scope !567
%686 = icmp ult i64 %660, %685
br i1 %686, label %676, label %687
687: ; preds = %683
%688 = getelementptr inbounds %49, ptr %658, i64 %672
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6), !noalias !567
%689 = ptrtoint ptr %688 to i64
%690 = icmp ult ptr %6, %688
%691 = sub i64 %689, %40
%692 = sub i64 %40, %689
%693 = select i1 %690, i64 %691, i64 %692
%694 = icmp ult i64 %693, 40
br i1 %694, label %695, label %696
695: ; preds = %687
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
696: ; preds = %687
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef nonnull align 8 dereferenceable(40) %688, i64 40, i1 false)
%697 = ptrtoint ptr %684 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %688, ptr noundef nonnull align 8 dereferenceable(40) %684, i64 40, i1 false), !alias.scope !567
%698 = icmp ugt ptr %6, %684
%699 = sub i64 %40, %697
%700 = sub i64 %697, %40
%701 = select i1 %698, i64 %699, i64 %700
%702 = icmp ult i64 %701, 40
br i1 %702, label %703, label %711
703: ; preds = %696
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
704: ; preds = %676
%705 = icmp ugt ptr %8, %60
%706 = sub i64 %41, %638
%707 = sub i64 %638, %41
%708 = select i1 %705, i64 %706, i64 %707
%709 = icmp ult i64 %708, 40
br i1 %709, label %710, label %713
710: ; preds = %704
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
711: ; preds = %696
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %684, ptr noundef nonnull align 8 dereferenceable(40) %6, i64 40, i1 false)
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6), !noalias !567
%712 = add nuw i64 %672, 1
br label %661
713: ; preds = %704
%714 = add i64 %672, 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 !567
%715 = icmp ult i64 %61, %714
br i1 %715, label %716, label %717
716: ; preds = %713
call void @_ZN4core5slice5index26slice_start_index_len_fail17h0500cd89dbf096d3E(i64 %714, i64 %61, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.46) #23, !noalias !585
unreachable
717: ; preds = %713
%718 = getelementptr inbounds %49, ptr %60, i64 %714
%719 = sub i64 %61, %714
%720 = icmp ult i64 %719, 21
br i1 %720, label %.loopexit78, label %59
721: ; preds = %625
call fastcc void @_ZN4core5slice4sort7recurse17h8082417d3214f1b3E(ptr noalias noundef nonnull align 8 %627, i64 %626, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(40) %594, i32 %74)
br label %723
722: ; preds = %625
call fastcc void @_ZN4core5slice4sort7recurse17h8082417d3214f1b3E(ptr noalias noundef nonnull align 8 %147, i64 %584, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(40) %51, i32 %74)
br label %723
723: ; preds = %722, %721
%724 = phi ptr [ %594, %722 ], [ %51, %721 ]
%725 = phi i64 [ %626, %722 ], [ %584, %721 ]
%726 = phi ptr [ %627, %722 ], [ %147, %721 ]
%727 = icmp ult i64 %725, 21
br i1 %727, label %.loopexit78, 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 %51, align 8
%7 = alloca %51, align 8
%8 = alloca %50, align 8
%9 = alloca %51, align 8
%10 = alloca %51, align 8
%11 = alloca %51, align 8
%12 = alloca %53, align 8
%13 = alloca i64, align 8
%14 = alloca %53, 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 %51, align 8
%22 = alloca %50, 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 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 %.loopexit117, label %35
35: ; preds = %5
%36 = ptrtoint ptr %7 to i64
%37 = getelementptr inbounds i8, ptr %8, i64 8
%38 = ptrtoint ptr %6 to i64
%39 = ptrtoint ptr %8 to i64
%40 = ptrtoint ptr %21 to i64
%41 = getelementptr inbounds i8, ptr %22, i64 8
%42 = ptrtoint ptr %16 to i64
%43 = ptrtoint ptr %10 to i64
%44 = ptrtoint ptr %11 to i64
%45 = ptrtoint ptr %22 to i64
%46 = ptrtoint ptr %9 to i64
br label %47
47: ; preds = %686, %35
%48 = phi ptr [ %0, %35 ], [ %689, %686 ]
%49 = phi i64 [ %1, %35 ], [ %688, %686 ]
%50 = phi ptr [ %3, %35 ], [ %687, %686 ]
%51 = phi i32 [ %4, %35 ], [ %74, %686 ]
%52 = phi i8 [ 1, %35 ], [ %554, %686 ]
%53 = phi i8 [ 1, %35 ], [ %549, %686 ]
%54 = icmp eq i8 %52, 0
%55 = icmp eq i8 %53, 0
%56 = select i1 %54, i1 true, i1 %55
%57 = icmp eq ptr %50, null
%58 = getelementptr i8, ptr %50, i64 8
br label %59
59: ; preds = %680, %47
%60 = phi ptr [ %48, %47 ], [ %681, %680 ]
%61 = phi i64 [ %49, %47 ], [ %682, %680 ]
%62 = phi i32 [ %51, %47 ], [ %74, %680 ]
%63 = icmp eq i32 %62, 0
br i1 %63, label %71, label %72
.loopexit117: ; preds = %686, %680, %5
%64 = phi i64 [ %1, %5 ], [ %682, %680 ], [ %688, %686 ]
%65 = phi ptr [ %0, %5 ], [ %681, %680 ], [ %689, %686 ]
%66 = load ptr, ptr %2, align 8
%67 = icmp ugt i64 %64, 1
br i1 %67, label %.preheader, label %.loopexit
.preheader: ; preds = %.loopexit117, %.preheader
%68 = phi i64 [ %69, %.preheader ], [ 1, %.loopexit117 ]
%69 = add nuw i64 %68, 1
call fastcc void @_ZN4core5slice4sort10shift_tail17h8fcd899ff28c3a50E(ptr noalias noundef nonnull align 8 %65, i64 %69, ptr %66)
%70 = icmp eq i64 %69, %64
br i1 %70, label %.loopexit, label %.preheader
.loopexit: ; preds = %123, %.preheader, %71, %.loopexit117
ret void
71: ; preds = %59
call fastcc void @_ZN4core5slice4sort8heapsort17h209349eaee642c03E(ptr noalias noundef nonnull align 8 %60, i64 %61, ptr noalias noundef nonnull align 8 dereferenceable(8) %2)
br label %.loopexit
72: ; preds = %59
br i1 %54, label %120, label %73
73: ; preds = %120, %72
%74 = phi i32 [ %121, %120 ], [ %62, %72 ]
call void @llvm.experimental.noalias.scope.decl(metadata !588)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33), !noalias !591
%75 = lshr i64 %61, 2
store i64 %75, ptr %33, align 8, !noalias !591
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32), !noalias !591
%76 = shl nuw nsw i64 %75, 1
store i64 %76, ptr %32, align 8, !noalias !591
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31), !noalias !591
%77 = mul nuw i64 %75, 3
store i64 %77, ptr %31, align 8, !noalias !591
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30), !noalias !591
store i64 0, ptr %30, align 8, !noalias !591
%78 = icmp ugt i64 %61, 49
br i1 %78, label %83, label %79
79: ; preds = %83, %73
%80 = icmp ne ptr %60, null
call void @llvm.assume(i1 %80)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %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 nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %32, ptr noalias noundef nonnull align 8 dereferenceable(8) %31)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %32)
%81 = load i64, ptr %30, align 8, !noalias !591
%82 = icmp ult i64 %81, 12
br i1 %82, label %111, label %91
83: ; preds = %73
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29), !noalias !593
%84 = add nsw i64 %75, -1
store i64 %84, ptr %29, align 8, !noalias !593
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28), !noalias !593
%85 = add nuw nsw i64 %75, 1
store i64 %85, ptr %28, align 8, !noalias !593
%86 = icmp ne ptr %60, null
call void @llvm.assume(i1 %86)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %33)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %33, ptr noalias noundef nonnull align 8 dereferenceable(8) %28)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %29, ptr noalias noundef nonnull align 8 dereferenceable(8) %33)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28), !noalias !593
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29), !noalias !593
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27), !noalias !596
%87 = add nsw i64 %76, -1
store i64 %87, ptr %27, align 8, !noalias !596
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26), !noalias !596
%88 = or i64 %76, 1
store i64 %88, ptr %26, align 8, !noalias !596
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %27, ptr noalias noundef nonnull align 8 dereferenceable(8) %32)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %32, ptr noalias noundef nonnull align 8 dereferenceable(8) %26)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %27, ptr noalias noundef nonnull align 8 dereferenceable(8) %32)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26), !noalias !596
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27), !noalias !596
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25), !noalias !599
%89 = add i64 %77, -1
store i64 %89, ptr %25, align 8, !noalias !599
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24), !noalias !599
%90 = add nuw i64 %77, 1
store i64 %90, ptr %24, align 8, !noalias !599
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %25, ptr noalias noundef nonnull align 8 dereferenceable(8) %31)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %31, ptr noalias noundef nonnull align 8 dereferenceable(8) %24)
call fastcc void @"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h7cf3c7181409c90dE"(ptr nonnull %60, i64 %61, ptr nonnull %30, ptr noalias noundef nonnull align 8 dereferenceable(8) %25, ptr noalias noundef nonnull align 8 dereferenceable(8) %31)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24), !noalias !599
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25), !noalias !599
br label %79
91: ; preds = %79
call void @llvm.experimental.noalias.scope.decl(metadata !602)
%92 = lshr i64 %61, 1
%93 = icmp ugt i64 %61, 768614336404564651
br i1 %93, label %94, label %95
94: ; preds = %91
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !602
unreachable
95: ; preds = %91
%96 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %60, i64 %61
%97 = sub nsw i64 0, %92
%98 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %96, i64 %97
call void @llvm.experimental.noalias.scope.decl(metadata !605)
call void @llvm.experimental.noalias.scope.decl(metadata !608)
br label %99
99: ; preds = %99, %95
%100 = phi i64 [ %105, %99 ], [ 0, %95 ]
%101 = xor i64 %100, -1
%102 = add nsw i64 %92, %101
%103 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %60, i64 0, i64 %100
%104 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %98, i64 0, i64 %102
call void @llvm.experimental.noalias.scope.decl(metadata !610)
call void @llvm.experimental.noalias.scope.decl(metadata !613)
call void @llvm.experimental.noalias.scope.decl(metadata !615)
call void @llvm.experimental.noalias.scope.decl(metadata !618)
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) %103, i64 24, i1 false), !noalias !620
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %103, ptr noundef nonnull align 8 dereferenceable(24) %104, i64 24, i1 false), !alias.scope !621, !noalias !622
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %104, ptr noundef nonnull align 8 dereferenceable(24) %23, i64 24, i1 false), !noalias !623
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23)
%105 = add nuw nsw i64 %100, 1
%106 = icmp eq i64 %105, %92
br i1 %106, label %107, label %99
107: ; preds = %99
%108 = load i64, ptr %32, align 8, !noalias !591
%109 = xor i64 %108, -1
%110 = add i64 %61, %109
br label %115
111: ; preds = %79
%112 = load i64, ptr %32, align 8, !noalias !591
%113 = icmp eq i64 %81, 0
%114 = zext i1 %113 to i8
br label %115
115: ; preds = %111, %107
%116 = phi i8 [ %114, %111 ], [ 1, %107 ]
%117 = phi i64 [ %112, %111 ], [ %110, %107 ]
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30), !noalias !591
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31), !noalias !591
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32), !noalias !591
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33), !noalias !591
%118 = icmp eq i8 %116, 0
%119 = select i1 %56, i1 true, i1 %118
br i1 %119, label %122, label %123
120: ; preds = %72
call fastcc void @_ZN4core5slice4sort14break_patterns17h95e829b000ff5ccfE(ptr noalias noundef nonnull align 8 %60, i64 %61)
%121 = add i32 %62, -1
br label %73
122: ; preds = %123, %115
br i1 %57, label %128, label %126
123: ; preds = %115
%124 = load ptr, ptr %2, align 8
%125 = call fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17h6321afa7cfdf947aE(ptr noalias noundef nonnull align 8 %60, i64 %61, ptr %124)
br i1 %125, label %.loopexit, label %122
126: ; preds = %122
%127 = icmp ult i64 %117, %61
br i1 %127, label %567, label %581, !prof !381
128: ; preds = %122
call void @llvm.experimental.noalias.scope.decl(metadata !624)
call void @llvm.experimental.noalias.scope.decl(metadata !627)
%129 = icmp eq i64 %49, 0
br i1 %129, label %134, label %.loopexit116, !prof !525
.loopexit116: ; preds = %567, %128
%130 = phi ptr [ %48, %128 ], [ %60, %567 ]
%131 = phi i64 [ %49, %128 ], [ %61, %567 ]
%132 = load ptr, ptr %2, align 8
%133 = icmp ult i64 %117, %131
br i1 %133, label %135, label %152, !prof !381
134: ; preds = %128
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 0, i64 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !627
unreachable
135: ; preds = %.loopexit116
%136 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %130, i64 0, i64 %117
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21), !noalias !630
%137 = ptrtoint ptr %130 to i64
%138 = icmp ult ptr %21, %130
%139 = sub i64 %137, %40
%140 = sub i64 %40, %137
%141 = select i1 %138, i64 %139, i64 %140
%142 = icmp ult i64 %141, 24
br i1 %142, label %143, label %144
143: ; preds = %135
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !632
unreachable
144: ; preds = %135
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %130, i64 24, i1 false), !noalias !632
%145 = ptrtoint ptr %136 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %136, i64 24, i1 false), !alias.scope !633, !noalias !632
%146 = icmp ugt ptr %21, %136
%147 = sub i64 %40, %145
%148 = sub i64 %145, %40
%149 = select i1 %146, i64 %147, i64 %148
%150 = icmp ult i64 %149, 24
br i1 %150, label %151, label %153
151: ; preds = %144
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !632
unreachable
152: ; preds = %.loopexit116
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %117, i64 %131, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !627
unreachable
153: ; preds = %144
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef nonnull align 8 dereferenceable(24) %21, i64 24, i1 false), !noalias !632
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21), !noalias !630
%154 = add i64 %131, -1
%155 = icmp ugt i64 %154, 384307168202282325
br i1 %155, label %156, label %157
156: ; preds = %153
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !634
unreachable
157: ; preds = %153
%158 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %130, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22), !noalias !624
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %130, i64 24, i1 false)
%159 = icmp eq i64 %154, 0
br i1 %159, label %160, label %163
160: ; preds = %157
%161 = load ptr, ptr %22, align 8, !noalias !624
%162 = load i64, ptr %41, align 8, !noalias !624
br label %.loopexit113
163: ; preds = %157
%164 = icmp ne ptr %132, null
call void @llvm.assume(i1 %164)
%165 = load ptr, ptr %22, align 8, !noalias !624, !nonnull !25, !align !270, !noundef !25
%166 = load i64, ptr %41, align 8, !noalias !624
br label %169
167: ; preds = %475, %261, %216, %214
%168 = 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 %130) #24
resume { ptr, i32 } %168
169: ; preds = %187, %163
%170 = phi i64 [ 0, %163 ], [ %188, %187 ]
%171 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %158, i64 %170
%172 = load ptr, ptr %171, align 8, !alias.scope !624, !nonnull !25, !align !270, !noundef !25
%173 = getelementptr i8, ptr %171, i64 8
%174 = load i64, ptr %173, align 8, !alias.scope !624
%175 = sub i64 %174, %166
%176 = call i64 @llvm.umin.i64(i64 %174, i64 %166)
%177 = call i32 @memcmp(ptr nonnull %172, ptr nonnull %165, i64 %176), !alias.scope !642
%178 = sext i32 %177 to i64
%179 = icmp eq i32 %177, 0
%180 = select i1 %179, i64 %175, i64 %178
%181 = icmp slt i64 %180, 0
br i1 %181, label %187, label %.loopexit113
.loopexit113: ; preds = %187, %169, %160
%182 = phi i64 [ %162, %160 ], [ %166, %169 ], [ %166, %187 ]
%183 = phi ptr [ %161, %160 ], [ %165, %169 ], [ %165, %187 ]
%184 = phi i64 [ 0, %160 ], [ %154, %187 ], [ %170, %169 ]
%185 = icmp ne ptr %132, null
%186 = call i64 @llvm.umin.i64(i64 %184, i64 %154)
br label %190
187: ; preds = %169
%188 = add nuw i64 %170, 1
%189 = icmp eq i64 %188, %154
br i1 %189, label %.loopexit113, label %169
190: ; preds = %197, %.loopexit113
%191 = phi i64 [ %154, %.loopexit113 ], [ %194, %197 ]
%192 = icmp ugt i64 %191, %184
br i1 %192, label %193, label %209
193: ; preds = %190
%194 = add i64 %191, -1
%195 = icmp ult i64 %194, %154
br i1 %195, label %197, label %196
196: ; preds = %193
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
197: ; preds = %193
%198 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %130, i64 %191
call void @llvm.assume(i1 %185)
%199 = load ptr, ptr %198, align 8, !alias.scope !624, !nonnull !25, !align !270, !noundef !25
%200 = getelementptr i8, ptr %198, i64 8
%201 = load i64, ptr %200, align 8, !alias.scope !624
%202 = sub i64 %201, %182
%203 = call i64 @llvm.umin.i64(i64 %201, i64 %182)
%204 = call i32 @memcmp(ptr nonnull %199, ptr nonnull %183, i64 %203), !alias.scope !655
%205 = sext i32 %204 to i64
%206 = icmp eq i32 %204, 0
%207 = select i1 %206, i64 %202, i64 %205
%208 = icmp sgt i64 %207, -1
br i1 %208, label %190, label %209
209: ; preds = %197, %190
%210 = phi i64 [ %186, %190 ], [ %191, %197 ]
%211 = icmp ult i64 %210, %184
br i1 %211, label %214, label %212
212: ; preds = %209
%213 = icmp ugt i64 %210, %154
br i1 %213, label %216, label %218
214: ; preds = %209
invoke void @_ZN4core5slice5index22slice_index_order_fail17h41a682748ef8522cE(i64 %184, i64 %210, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %215 unwind label %167
215: ; preds = %214
unreachable
216: ; preds = %212
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %210, i64 %154, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %217 unwind label %167
217: ; preds = %216
unreachable
218: ; preds = %212
%219 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %158, i64 %184
call void @llvm.experimental.noalias.scope.decl(metadata !668)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20), !noalias !671
store i64 128, ptr %20, align 8, !noalias !671
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %19), !noalias !671
%220 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %158, i64 %210
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18), !noalias !671
store i64 128, ptr %18, align 8, !noalias !671
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %17), !noalias !671
%221 = icmp ne ptr %183, null
br label %222
222: ; preds = %325, %218
%223 = phi i64 [ 128, %218 ], [ %237, %325 ]
%224 = phi i64 [ 128, %218 ], [ %238, %325 ]
%225 = phi ptr [ null, %218 ], [ %293, %325 ]
%226 = phi ptr [ null, %218 ], [ %326, %325 ]
%227 = phi ptr [ %220, %218 ], [ %335, %325 ]
%228 = phi ptr [ null, %218 ], [ %266, %325 ]
%229 = phi ptr [ null, %218 ], [ %327, %325 ]
%230 = phi ptr [ %219, %218 ], [ %331, %325 ]
%231 = ptrtoint ptr %227 to i64
%232 = ptrtoint ptr %230 to i64
%233 = sub i64 %231, %232
%234 = udiv i64 %233, 24
%235 = icmp ult i64 %233, 6168
br i1 %235, label %240, label %236
236: ; preds = %258, %222
%237 = phi i64 [ %249, %258 ], [ %223, %222 ]
%238 = phi i64 [ %250, %258 ], [ %224, %222 ]
%239 = icmp eq ptr %229, %228
br i1 %239, label %269, label %.loopexit108
240: ; preds = %222
%241 = icmp ult ptr %229, %228
%242 = icmp ult ptr %226, %225
%243 = select i1 %241, i1 true, i1 %242
%244 = add nsw i64 %234, -128
%245 = select i1 %243, i64 %244, i64 %234
br i1 %241, label %247, label %246
246: ; preds = %240
br i1 %242, label %257, label %254
247: ; preds = %240
store i64 %245, ptr %18, align 8, !noalias !671
br label %248
248: ; preds = %257, %254, %247
%249 = phi i64 [ %223, %257 ], [ %256, %254 ], [ %245, %247 ]
%250 = phi i64 [ %245, %257 ], [ %255, %254 ], [ %224, %247 ]
%251 = icmp ult i64 %250, 129
%252 = icmp ult i64 %249, 129
%253 = select i1 %251, i1 %252, i1 false
br i1 %253, label %258, label %261
254: ; preds = %246
%255 = lshr i64 %245, 1
store i64 %255, ptr %20, align 8, !noalias !671
%256 = sub i64 %245, %255
store i64 %256, ptr %18, align 8, !noalias !671
br label %248
257: ; preds = %246
store i64 %245, ptr %20, align 8, !noalias !671
br label %248
258: ; preds = %248
%259 = add nuw nsw i64 %250, %249
%260 = icmp eq i64 %234, %259
br i1 %260, label %236, label %261
261: ; preds = %258, %248
%262 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.38, %248 ], [ @anon.0f79382001bad1c9081319f05be50b13.40, %258 ]
%263 = phi i64 [ 54, %248 ], [ 50, %258 ]
%264 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.39, %248 ], [ @anon.0f79382001bad1c9081319f05be50b13.41, %258 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %262, i64 %263, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %264) #23
to label %265 unwind label %167
265: ; preds = %261
unreachable
.loopexit108: ; preds = %272, %269, %236
%266 = phi ptr [ %228, %236 ], [ %19, %269 ], [ %290, %272 ]
%267 = phi ptr [ %229, %236 ], [ %19, %269 ], [ %19, %272 ]
%268 = icmp eq ptr %226, %225
br i1 %268, label %303, label %.loopexit107
269: ; preds = %236
%270 = icmp eq i64 %238, 0
br i1 %270, label %.loopexit108, label %271
271: ; preds = %269
call void @llvm.assume(i1 %185)
call void @llvm.assume(i1 %221)
br label %272
272: ; preds = %272, %271
%273 = phi ptr [ %19, %271 ], [ %290, %272 ]
%274 = phi ptr [ %230, %271 ], [ %291, %272 ]
%275 = phi i64 [ 0, %271 ], [ %276, %272 ]
%276 = add nuw i64 %275, 1
%277 = trunc i64 %275 to i8
store i8 %277, ptr %273, align 1, !noalias !671
%278 = icmp ne ptr %274, null
call void @llvm.assume(i1 %278)
%279 = load ptr, ptr %274, align 8, !alias.scope !671, !nonnull !25, !align !270, !noundef !25
%280 = getelementptr i8, ptr %274, i64 8
%281 = load i64, ptr %280, align 8, !alias.scope !671
%282 = sub i64 %281, %182
%283 = call i64 @llvm.umin.i64(i64 %281, i64 %182)
%284 = call i32 @memcmp(ptr nonnull %279, ptr nonnull %183, i64 %283), !alias.scope !672
%285 = sext i32 %284 to i64
%286 = icmp eq i32 %284, 0
%287 = select i1 %286, i64 %282, i64 %285
%288 = icmp sgt i64 %287, -1
%289 = zext i1 %288 to i64
%290 = getelementptr inbounds i8, ptr %273, i64 %289
%291 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %274, i64 1
%292 = icmp eq i64 %276, %238
br i1 %292, label %.loopexit108, label %272
.loopexit107: ; preds = %306, %303, %.loopexit108
%293 = phi ptr [ %225, %.loopexit108 ], [ %17, %303 ], [ %323, %306 ]
%294 = phi ptr [ %226, %.loopexit108 ], [ %17, %303 ], [ %17, %306 ]
%295 = ptrtoint ptr %266 to i64
%296 = ptrtoint ptr %267 to i64
%297 = sub i64 %295, %296
%298 = ptrtoint ptr %293 to i64
%299 = ptrtoint ptr %294 to i64
%300 = sub i64 %298, %299
%301 = call i64 @llvm.umin.i64(i64 %297, i64 %300)
%302 = icmp eq i64 %301, 0
br i1 %302, label %325, label %336
303: ; preds = %.loopexit108
%304 = icmp eq i64 %237, 0
br i1 %304, label %.loopexit107, label %305
305: ; preds = %303
call void @llvm.assume(i1 %185)
call void @llvm.assume(i1 %221)
br label %306
306: ; preds = %306, %305
%307 = phi ptr [ %17, %305 ], [ %323, %306 ]
%308 = phi ptr [ %227, %305 ], [ %311, %306 ]
%309 = phi i64 [ 0, %305 ], [ %310, %306 ]
%310 = add nuw i64 %309, 1
%311 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %308, i64 -1
%312 = trunc i64 %309 to i8
store i8 %312, ptr %307, align 1, !noalias !671
%313 = load ptr, ptr %311, align 8, !alias.scope !671, !nonnull !25, !align !270, !noundef !25
%314 = getelementptr { { ptr, i64 }, i64 }, ptr %308, i64 -1, i32 0, i32 1
%315 = load i64, ptr %314, align 8, !alias.scope !671
%316 = sub i64 %315, %182
%317 = call i64 @llvm.umin.i64(i64 %315, i64 %182)
%318 = call i32 @memcmp(ptr nonnull %313, ptr nonnull %183, i64 %317), !alias.scope !685
%319 = sext i32 %318 to i64
%320 = icmp eq i32 %318, 0
%321 = select i1 %320, i64 %316, i64 %319
%322 = lshr i64 %321, 63
%323 = getelementptr inbounds i8, ptr %307, i64 %322
%324 = icmp eq i64 %310, %237
br i1 %324, label %.loopexit107, label %306
325: ; preds = %385, %.loopexit107
%326 = phi ptr [ %387, %385 ], [ %294, %.loopexit107 ]
%327 = phi ptr [ %386, %385 ], [ %267, %.loopexit107 ]
%328 = icmp eq ptr %327, %266
%329 = select i1 %328, i64 %238, i64 0
%330 = freeze i64 %329
%331 = getelementptr { { ptr, i64 }, i64 }, ptr %230, i64 %330
%332 = icmp eq ptr %326, %293
%333 = sub i64 0, %237
%334 = select i1 %332, i64 %333, i64 0
%335 = getelementptr { { ptr, i64 }, i64 }, ptr %227, i64 %334
br i1 %235, label %423, label %222
336: ; preds = %.loopexit107
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16), !noalias !671
%337 = load i8, ptr %267, align 1, !noalias !671
%338 = zext i8 %337 to i64
%339 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %230, i64 %338
%340 = icmp ne ptr %230, null
%341 = ptrtoint ptr %339 to i64
%342 = and i64 %341, 7
%343 = icmp eq i64 %342, 0
%344 = select i1 %340, i1 %343, i1 false
br i1 %344, label %346, label %345
345: ; preds = %336
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !698
unreachable
346: ; preds = %336
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %339, i64 24, i1 false)
%347 = load i8, ptr %294, align 1, !noalias !671
%348 = zext i8 %347 to i64
%349 = xor i64 %348, -1
%350 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %227, i64 %349
%351 = load i8, ptr %267, align 1, !noalias !671
%352 = zext i8 %351 to i64
%353 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %230, i64 %352
%354 = ptrtoint ptr %350 to i64
%355 = and i64 %354, 7
%356 = icmp eq i64 %355, 0
br i1 %356, label %357, label %367
357: ; preds = %346
%358 = ptrtoint ptr %353 to i64
%359 = and i64 %358, 7
%360 = icmp eq i64 %359, 0
br i1 %360, label %361, label %367
361: ; preds = %357
%362 = icmp ugt ptr %350, %353
%363 = sub i64 %354, %358
%364 = sub i64 %358, %354
%365 = select i1 %362, i64 %363, i64 %364
%366 = icmp ult i64 %365, 24
br i1 %366, label %367, label %368
367: ; preds = %361, %357, %346
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
368: ; preds = %361
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %353, ptr noundef nonnull align 8 dereferenceable(24) %350, i64 24, i1 false), !alias.scope !671
%369 = icmp ugt i64 %301, 1
br i1 %369, label %.preheader105, label %.loopexit106
.loopexit106.loopexit: ; preds = %421
%370 = ptrtoint ptr %413 to i64
br label %.loopexit106
.loopexit106: ; preds = %.loopexit106.loopexit, %368
%371 = phi i64 [ %354, %368 ], [ %370, %.loopexit106.loopexit ]
%372 = phi i64 [ %349, %368 ], [ %412, %.loopexit106.loopexit ]
%373 = phi ptr [ %294, %368 ], [ %409, %.loopexit106.loopexit ]
%374 = phi ptr [ %267, %368 ], [ %393, %.loopexit106.loopexit ]
%375 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %227, i64 %372
%376 = and i64 %371, 7
%377 = icmp eq i64 %376, 0
br i1 %377, label %378, label %384
378: ; preds = %.loopexit106
%379 = icmp ugt ptr %16, %375
%380 = sub i64 %42, %371
%381 = sub i64 %371, %42
%382 = select i1 %379, i64 %380, i64 %381
%383 = icmp ult i64 %382, 24
br i1 %383, label %384, label %385
384: ; preds = %378, %.loopexit106
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
385: ; preds = %378
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %375, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false)
%386 = getelementptr inbounds i8, ptr %374, i64 1
%387 = getelementptr inbounds i8, ptr %373, i64 1
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16), !noalias !671
br label %325
.preheader105: ; preds = %368, %421
%388 = phi i8 [ %410, %421 ], [ %347, %368 ]
%389 = phi ptr [ %393, %421 ], [ %267, %368 ]
%390 = phi ptr [ %409, %421 ], [ %294, %368 ]
%391 = phi i64 [ %392, %421 ], [ 1, %368 ]
%392 = add nuw i64 %391, 1
%393 = getelementptr inbounds i8, ptr %389, i64 1
%394 = load i8, ptr %393, align 1, !noalias !671
%395 = zext i8 %394 to i64
%396 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %230, i64 %395
%397 = zext i8 %388 to i64
%398 = xor i64 %397, -1
%399 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %227, i64 %398
%400 = ptrtoint ptr %396 to i64
%401 = ptrtoint ptr %399 to i64
%402 = icmp ugt ptr %396, %399
%403 = sub i64 %400, %401
%404 = sub i64 %401, %400
%405 = select i1 %402, i64 %403, i64 %404
%406 = icmp ult i64 %405, 24
br i1 %406, label %407, label %408
407: ; preds = %.preheader105
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
408: ; preds = %.preheader105
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %399, ptr noundef nonnull align 8 dereferenceable(24) %396, i64 24, i1 false), !alias.scope !671
%409 = getelementptr inbounds i8, ptr %390, i64 1
%410 = load i8, ptr %409, align 1, !noalias !671
%411 = zext i8 %410 to i64
%412 = xor i64 %411, -1
%413 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %227, i64 %412
%414 = ptrtoint ptr %413 to i64
%415 = icmp ugt ptr %413, %396
%416 = sub i64 %414, %400
%417 = sub i64 %400, %414
%418 = select i1 %415, i64 %416, i64 %417
%419 = icmp ult i64 %418, 24
br i1 %419, label %420, label %421
420: ; preds = %408
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
421: ; preds = %408
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %396, ptr noundef nonnull align 8 dereferenceable(24) %413, i64 24, i1 false), !alias.scope !671
%422 = icmp eq i64 %392, %301
br i1 %422, label %.loopexit106.loopexit, label %.preheader105
423: ; preds = %325
%424 = icmp ult ptr %327, %266
br i1 %424, label %427, label %425
425: ; preds = %423
%426 = icmp ult ptr %326, %293
br i1 %426, label %467, label %.loopexit111
427: ; preds = %423
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15), !noalias !671
%428 = ptrtoint ptr %335 to i64
%429 = ptrtoint ptr %331 to i64
%430 = sub i64 %428, %429
%431 = udiv i64 %430, 24
store i64 %431, ptr %15, align 8, !noalias !671
%432 = icmp eq i64 %431, %238
br i1 %432, label %433, label %436
433: ; preds = %427
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15), !noalias !671
%434 = icmp eq ptr %331, null
br i1 %434, label %435, label %.preheader109
435: ; preds = %433
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !671
br label %.loopexit110
436: ; preds = %427
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !671
store ptr null, ptr %14, align 8, !noalias !671
br label %475
.preheader109: ; preds = %433, %465
%437 = phi ptr [ %439, %465 ], [ %266, %433 ]
%438 = phi ptr [ %443, %465 ], [ %335, %433 ]
%439 = getelementptr inbounds i8, ptr %437, i64 -1
%440 = load i8, ptr %439, align 1, !noalias !671
%441 = zext i8 %440 to i64
%442 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %331, i64 %441
%443 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %438, i64 -1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !671
%444 = ptrtoint ptr %442 to i64
%445 = and i64 %444, 7
%446 = icmp eq i64 %445, 0
br i1 %446, label %447, label %.loopexit110
447: ; preds = %.preheader109
%448 = icmp ult ptr %11, %442
%449 = sub i64 %444, %44
%450 = sub i64 %44, %444
%451 = select i1 %448, i64 %449, i64 %450
%452 = icmp ult i64 %451, 24
br i1 %452, label %.loopexit110, label %453
.loopexit110: ; preds = %447, %.preheader109, %435
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
453: ; preds = %447
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %442, i64 24, i1 false)
%454 = ptrtoint ptr %443 to i64
%455 = and i64 %454, 7
%456 = icmp eq i64 %455, 0
br i1 %456, label %458, label %457
457: ; preds = %453
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
458: ; preds = %453
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %442, ptr noundef nonnull align 8 dereferenceable(24) %443, i64 24, i1 false), !alias.scope !671
%459 = icmp ugt ptr %11, %443
%460 = sub i64 %44, %454
%461 = sub i64 %454, %44
%462 = select i1 %459, i64 %460, i64 %461
%463 = icmp ult i64 %462, 24
br i1 %463, label %464, label %465
464: ; preds = %458
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
465: ; preds = %458
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %443, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !671
%466 = icmp ult ptr %327, %439
br i1 %466, label %.preheader109, label %.loopexit111
467: ; preds = %425
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13), !noalias !671
%468 = ptrtoint ptr %335 to i64
%469 = ptrtoint ptr %331 to i64
%470 = sub i64 %468, %469
%471 = udiv i64 %470, 24
store i64 %471, ptr %13, align 8, !noalias !671
%472 = icmp eq i64 %471, %237
br i1 %472, label %473, label %474
473: ; preds = %467
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !671
br label %481
474: ; preds = %467
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !671
store ptr null, ptr %12, align 8, !noalias !671
br label %475
475: ; preds = %474, %436
%476 = phi ptr [ %13, %474 ], [ %15, %436 ]
%477 = phi ptr [ %18, %474 ], [ %20, %436 ]
%478 = phi ptr [ %12, %474 ], [ %14, %436 ]
%479 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.43, %474 ], [ @anon.0f79382001bad1c9081319f05be50b13.42, %436 ]
invoke fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %476, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %477, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %478, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %479) #23
to label %480 unwind label %167
480: ; preds = %475
unreachable
481: ; preds = %513, %473
%482 = phi ptr [ %331, %473 ], [ %514, %513 ]
%483 = phi ptr [ %293, %473 ], [ %484, %513 ]
%484 = getelementptr inbounds i8, ptr %483, i64 -1
%485 = load i8, ptr %484, align 1, !noalias !671
%486 = zext i8 %485 to i64
%487 = xor i64 %486, -1
%488 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %335, i64 %487
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !671
%489 = icmp ne ptr %482, null
%490 = ptrtoint ptr %482 to i64
%491 = and i64 %490, 7
%492 = icmp eq i64 %491, 0
%493 = select i1 %489, i1 %492, i1 false
br i1 %493, label %494, label %500
494: ; preds = %481
%495 = icmp ult ptr %10, %482
%496 = sub i64 %490, %43
%497 = sub i64 %43, %490
%498 = select i1 %495, i64 %496, i64 %497
%499 = icmp ult i64 %498, 24
br i1 %499, label %500, label %501
500: ; preds = %494, %481
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
501: ; preds = %494
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %482, i64 24, i1 false)
%502 = ptrtoint ptr %488 to i64
%503 = and i64 %502, 7
%504 = icmp eq i64 %503, 0
br i1 %504, label %506, label %505
505: ; preds = %501
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
506: ; preds = %501
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %482, ptr noundef nonnull align 8 dereferenceable(24) %488, i64 24, i1 false), !alias.scope !671
%507 = icmp ugt ptr %10, %488
%508 = sub i64 %43, %502
%509 = sub i64 %502, %43
%510 = select i1 %507, i64 %508, i64 %509
%511 = icmp ult i64 %510, 24
br i1 %511, label %512, label %513
512: ; preds = %506
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
513: ; preds = %506
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %488, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !671
%514 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %482, i64 1
%515 = icmp ult ptr %326, %484
br i1 %515, label %481, label %.loopexit111
.loopexit111: ; preds = %513, %465, %425
%516 = phi ptr [ %331, %425 ], [ %443, %465 ], [ %514, %513 ]
%517 = ptrtoint ptr %516 to i64
%518 = ptrtoint ptr %219 to i64
%519 = sub i64 %517, %518
%520 = udiv i64 %519, 24
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %17), !noalias !671
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18), !noalias !671
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %19), !noalias !671
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20), !noalias !671
%521 = add i64 %520, %184
%522 = icmp ugt ptr %22, %130
%523 = sub i64 %45, %137
%524 = sub i64 %137, %45
%525 = select i1 %522, i64 %523, i64 %524
%526 = icmp ult i64 %525, 24
br i1 %526, label %527, label %528
527: ; preds = %.loopexit111
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
528: ; preds = %.loopexit111
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %22, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22), !noalias !624
call void @llvm.experimental.noalias.scope.decl(metadata !701)
%529 = icmp ugt i64 %131, %521
br i1 %529, label %530, label %546, !prof !381
530: ; preds = %528
%531 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %130, i64 0, i64 %521
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !704
%532 = icmp ult ptr %9, %130
%533 = sub i64 %137, %46
%534 = sub i64 %46, %137
%535 = select i1 %532, i64 %533, i64 %534
%536 = icmp ult i64 %535, 24
br i1 %536, label %537, label %538
537: ; preds = %530
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !706
unreachable
538: ; preds = %530
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %130, i64 24, i1 false), !noalias !706
%539 = ptrtoint ptr %531 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %531, i64 24, i1 false), !alias.scope !707, !noalias !706
%540 = icmp ugt ptr %9, %531
%541 = sub i64 %46, %539
%542 = sub i64 %539, %46
%543 = select i1 %540, i64 %541, i64 %542
%544 = icmp ult i64 %543, 24
br i1 %544, label %545, label %547
545: ; preds = %538
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !706
unreachable
546: ; preds = %528
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %521, i64 %131, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.53) #23, !noalias !701
unreachable
547: ; preds = %538
%548 = icmp uge i64 %184, %210
%549 = zext i1 %548 to i8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %531, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !706
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !704
%550 = sub i64 %131, %521
%551 = call i64 @llvm.umin.i64(i64 %521, i64 %550)
%552 = lshr i64 %131, 3
%553 = icmp uge i64 %551, %552
%554 = zext i1 %553 to i8
%555 = icmp ugt i64 %521, 384307168202282325
br i1 %555, label %556, label %557
556: ; preds = %547
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !708
unreachable
557: ; preds = %547
%558 = icmp ugt i64 %550, 384307168202282325
br i1 %558, label %559, label %560
559: ; preds = %557
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !708
unreachable
560: ; preds = %557
%561 = icmp eq i64 %131, %521
br i1 %561, label %566, label %562
562: ; preds = %560
%563 = add nsw i64 %550, -1
%564 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %531, i64 1
%565 = icmp ult i64 %521, %563
br i1 %565, label %685, label %684
566: ; preds = %560
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 !716
unreachable
567: ; preds = %126
%568 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %60, i64 0, i64 %117
%569 = load ptr, ptr %50, align 8, !nonnull !25, !align !270, !noundef !25
%570 = load i64, ptr %58, align 8
%571 = load ptr, ptr %568, align 8, !nonnull !25, !align !270, !noundef !25
%572 = getelementptr i8, ptr %568, i64 8
%573 = load i64, ptr %572, align 8
%574 = sub i64 %570, %573
%575 = call i64 @llvm.umin.i64(i64 %570, i64 %573)
%576 = call i32 @memcmp(ptr nonnull %569, ptr nonnull %571, i64 %575), !alias.scope !720
%577 = sext i32 %576 to i64
%578 = icmp eq i32 %576, 0
%579 = select i1 %578, i64 %574, i64 %577
%580 = icmp slt i64 %579, 0
br i1 %580, label %.loopexit116, label %582
581: ; preds = %126
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %117, i64 %61, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.45) #23
unreachable
582: ; preds = %567
%583 = load ptr, ptr %2, align 8
call void @llvm.experimental.noalias.scope.decl(metadata !733)
call void @llvm.experimental.noalias.scope.decl(metadata !736)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !739
%584 = ptrtoint ptr %60 to i64
%585 = icmp ult ptr %7, %60
%586 = sub i64 %584, %36
%587 = sub i64 %36, %584
%588 = select i1 %585, i64 %586, i64 %587
%589 = icmp ult i64 %588, 24
br i1 %589, label %590, label %591
590: ; preds = %582
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !741
unreachable
591: ; preds = %582
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %60, i64 24, i1 false), !noalias !741
%592 = ptrtoint ptr %568 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(24) %568, i64 24, i1 false), !alias.scope !742, !noalias !741
%593 = icmp ugt ptr %7, %568
%594 = sub i64 %36, %592
%595 = sub i64 %592, %36
%596 = select i1 %593, i64 %594, i64 %595
%597 = icmp ult i64 %596, 24
br i1 %597, label %598, label %599
598: ; preds = %591
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !741
unreachable
599: ; preds = %591
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %568, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !741
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !739
%600 = add i64 %61, -1
%601 = icmp ugt i64 %600, 384307168202282325
br i1 %601, label %602, label %603
602: ; preds = %599
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !743
unreachable
603: ; preds = %599
%604 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %60, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8), !noalias !733
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %60, i64 24, i1 false)
%605 = icmp ne ptr %583, null
%606 = load ptr, ptr %8, align 8, !noalias !733
%607 = load i64, ptr %37, align 8, !noalias !733
br label %608
608: ; preds = %674, %603
%609 = phi i64 [ %600, %603 ], [ %635, %674 ]
%610 = phi i64 [ 0, %603 ], [ %675, %674 ]
%611 = icmp ult i64 %610, %609
br i1 %611, label %.preheader103, label %.loopexit104
.preheader103: ; preds = %608, %628
%612 = phi i64 [ %629, %628 ], [ %610, %608 ]
%613 = icmp ult i64 %612, %600
br i1 %613, label %615, label %614
614: ; preds = %.preheader103
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
615: ; preds = %.preheader103
%616 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %604, i64 %612
call void @llvm.assume(i1 %605)
%617 = load ptr, ptr %616, align 8, !alias.scope !733, !nonnull !25, !align !270, !noundef !25
%618 = getelementptr i8, ptr %616, i64 8
%619 = load i64, ptr %618, align 8, !alias.scope !733
%620 = sub i64 %607, %619
%621 = call i64 @llvm.umin.i64(i64 %607, i64 %619)
%622 = call i32 @memcmp(ptr nonnull %606, ptr nonnull %617, i64 %621), !alias.scope !751
%623 = sext i32 %622 to i64
%624 = icmp eq i32 %622, 0
%625 = select i1 %624, i64 %620, i64 %623
%626 = icmp sgt i64 %625, -1
br i1 %626, label %628, label %.loopexit104
.loopexit104: ; preds = %628, %615, %608
%627 = phi i64 [ %610, %608 ], [ %609, %628 ], [ %612, %615 ]
br label %631
628: ; preds = %615
%629 = add nuw i64 %612, 1
%630 = icmp eq i64 %629, %609
br i1 %630, label %.loopexit104, label %.preheader103
631: ; preds = %638, %.loopexit104
%632 = phi i64 [ %609, %.loopexit104 ], [ %635, %638 ]
%633 = icmp ult i64 %627, %632
br i1 %633, label %634, label %667
634: ; preds = %631
%635 = add i64 %632, -1
%636 = icmp ult i64 %635, %600
br i1 %636, label %638, label %637
637: ; preds = %634
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
638: ; preds = %634
%639 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %60, i64 %632
call void @llvm.assume(i1 %605)
%640 = load ptr, ptr %639, align 8, !alias.scope !733, !nonnull !25, !align !270, !noundef !25
%641 = getelementptr i8, ptr %639, i64 8
%642 = load i64, ptr %641, align 8, !alias.scope !733
%643 = sub i64 %607, %642
%644 = call i64 @llvm.umin.i64(i64 %607, i64 %642)
%645 = call i32 @memcmp(ptr nonnull %606, ptr nonnull %640, i64 %644), !alias.scope !764
%646 = sext i32 %645 to i64
%647 = icmp eq i32 %645, 0
%648 = select i1 %647, i64 %643, i64 %646
%649 = icmp slt i64 %648, 0
br i1 %649, label %631, label %650
650: ; preds = %638
%651 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %604, i64 %627
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !733
%652 = ptrtoint ptr %651 to i64
%653 = icmp ult ptr %6, %651
%654 = sub i64 %652, %38
%655 = sub i64 %38, %652
%656 = select i1 %653, i64 %654, i64 %655
%657 = icmp ult i64 %656, 24
br i1 %657, label %658, label %659
658: ; preds = %650
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
659: ; preds = %650
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %651, i64 24, i1 false)
%660 = ptrtoint ptr %639 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %651, ptr noundef nonnull align 8 dereferenceable(24) %639, i64 24, i1 false), !alias.scope !733
%661 = icmp ugt ptr %6, %639
%662 = sub i64 %38, %660
%663 = sub i64 %660, %38
%664 = select i1 %661, i64 %662, i64 %663
%665 = icmp ult i64 %664, 24
br i1 %665, label %666, label %674
666: ; preds = %659
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
667: ; preds = %631
%668 = icmp ugt ptr %8, %60
%669 = sub i64 %39, %584
%670 = sub i64 %584, %39
%671 = select i1 %668, i64 %669, i64 %670
%672 = icmp ult i64 %671, 24
br i1 %672, label %673, label %676
673: ; preds = %667
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
674: ; preds = %659
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %639, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !733
%675 = add nuw i64 %627, 1
br label %608
676: ; preds = %667
%677 = add i64 %627, 1
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8), !noalias !733
%678 = icmp ult i64 %61, %677
br i1 %678, label %679, label %680
679: ; preds = %676
call void @_ZN4core5slice5index26slice_start_index_len_fail17h0500cd89dbf096d3E(i64 %677, i64 %61, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.46) #23, !noalias !777
unreachable
680: ; preds = %676
%681 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %60, i64 %677
%682 = sub i64 %61, %677
%683 = icmp ult i64 %682, 21
br i1 %683, label %.loopexit117, label %59
684: ; preds = %562
call fastcc void @_ZN4core5slice4sort7recurse17ha922cf6696d797b1E(ptr noalias noundef nonnull align 8 %564, i64 %563, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %531, i32 %74)
br label %686
685: ; preds = %562
call fastcc void @_ZN4core5slice4sort7recurse17ha922cf6696d797b1E(ptr noalias noundef nonnull align 8 %130, i64 %521, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(24) %50, i32 %74)
br label %686
686: ; preds = %685, %684
%687 = phi ptr [ %531, %685 ], [ %50, %684 ]
%688 = phi i64 [ %563, %685 ], [ %521, %684 ]
%689 = phi ptr [ %564, %685 ], [ %130, %684 ]
%690 = icmp ult i64 %688, 21
br i1 %690, label %.loopexit117, label %47
}
; 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 %51, align 8
%7 = alloca %51, align 8
%8 = alloca %50, align 8
%9 = alloca %51, align 8
%10 = alloca %51, align 8
%11 = alloca %51, align 8
%12 = alloca %53, align 8
%13 = alloca i64, align 8
%14 = alloca %53, 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 %51, align 8
%22 = alloca %50, 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 %.loopexit76, 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 = %713, %36
%52 = phi ptr [ %0, %36 ], [ %716, %713 ]
%53 = phi i64 [ %1, %36 ], [ %715, %713 ]
%54 = phi ptr [ %3, %36 ], [ %714, %713 ]
%55 = phi i32 [ %4, %36 ], [ %78, %713 ]
%56 = phi i8 [ 1, %36 ], [ %605, %713 ]
%57 = phi i8 [ 1, %36 ], [ %600, %713 ]
%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 = %707, %51
%64 = phi ptr [ %52, %51 ], [ %708, %707 ]
%65 = phi i64 [ %53, %51 ], [ %709, %707 ]
%66 = phi i32 [ %55, %51 ], [ %78, %707 ]
%67 = icmp eq i32 %66, 0
br i1 %67, label %75, label %76
.loopexit76: ; preds = %713, %707, %5
%68 = phi i64 [ %1, %5 ], [ %709, %707 ], [ %715, %713 ]
%69 = phi ptr [ %0, %5 ], [ %708, %707 ], [ %716, %713 ]
%70 = load ptr, ptr %2, align 8
%71 = icmp ugt i64 %68, 1
br i1 %71, label %.preheader, label %.loopexit
.preheader: ; preds = %.loopexit76, %.preheader
%72 = phi i64 [ %73, %.preheader ], [ 1, %.loopexit76 ]
%73 = add nuw i64 %72, 1
call fastcc void @_ZN4core5slice4sort10shift_tail17hc922730d0576791aE(ptr noalias noundef nonnull align 8 %69, i64 %73, ptr %70)
%74 = icmp eq i64 %73, %68
br i1 %74, label %.loopexit, label %.preheader
.loopexit: ; preds = %125, %.preheader, %75, %.loopexit76
ret void
75: ; 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 %.loopexit
76: ; preds = %63
br i1 %58, label %122, label %77
77: ; preds = %122, %76
%78 = phi i32 [ %123, %122 ], [ %66, %76 ]
call void @llvm.experimental.noalias.scope.decl(metadata !780)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34), !noalias !783
%79 = lshr i64 %65, 2
store i64 %79, ptr %34, align 8, !noalias !783
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33), !noalias !783
%80 = shl nuw nsw i64 %79, 1
store i64 %80, ptr %33, align 8, !noalias !783
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32), !noalias !783
%81 = mul nuw i64 %79, 3
store i64 %81, ptr %32, align 8, !noalias !783
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31), !noalias !783
store i64 0, ptr %31, align 8, !noalias !783
call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30), !noalias !783
store ptr %2, ptr %30, align 8, !noalias !783
store ptr %64, ptr %37, align 8, !noalias !783
store i64 %65, ptr %38, align 8, !noalias !783
store ptr %31, ptr %39, align 8, !noalias !783
%82 = icmp ugt i64 %65, 49
br i1 %82, label %86, label %83
83: ; preds = %86, %77
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 !783
%84 = load i64, ptr %31, align 8, !noalias !783
%85 = icmp ult i64 %84, 12
br i1 %85, label %113, label %93
86: ; preds = %77
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29), !noalias !785
%87 = add nsw i64 %79, -1
store i64 %87, ptr %29, align 8, !noalias !785
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28), !noalias !785
%88 = add nuw nsw i64 %79, 1
store i64 %88, ptr %28, align 8, !noalias !785
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 !785
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29), !noalias !785
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27), !noalias !788
%89 = add nsw i64 %80, -1
store i64 %89, ptr %27, align 8, !noalias !788
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26), !noalias !788
%90 = or i64 %80, 1
store i64 %90, ptr %26, align 8, !noalias !788
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 !788
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27), !noalias !788
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25), !noalias !791
%91 = add i64 %81, -1
store i64 %91, ptr %25, align 8, !noalias !791
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24), !noalias !791
%92 = add nuw i64 %81, 1
store i64 %92, ptr %24, align 8, !noalias !791
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 !791
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25), !noalias !791
br label %83
93: ; preds = %83
call void @llvm.experimental.noalias.scope.decl(metadata !794)
%94 = lshr i64 %65, 1
%95 = icmp ugt i64 %65, 768614336404564651
br i1 %95, label %96, label %97
96: ; preds = %93
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !794
unreachable
97: ; preds = %93
%98 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %65
%99 = sub nsw i64 0, %94
%100 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %98, i64 %99
call void @llvm.experimental.noalias.scope.decl(metadata !797)
call void @llvm.experimental.noalias.scope.decl(metadata !800)
br label %101
101: ; preds = %101, %97
%102 = phi i64 [ %107, %101 ], [ 0, %97 ]
%103 = xor i64 %102, -1
%104 = add nsw i64 %94, %103
%105 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %64, i64 0, i64 %102
%106 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %100, i64 0, i64 %104
call void @llvm.experimental.noalias.scope.decl(metadata !802)
call void @llvm.experimental.noalias.scope.decl(metadata !805)
call void @llvm.experimental.noalias.scope.decl(metadata !807)
call void @llvm.experimental.noalias.scope.decl(metadata !810)
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) %105, i64 24, i1 false), !noalias !812
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %105, ptr noundef nonnull align 8 dereferenceable(24) %106, i64 24, i1 false), !alias.scope !813, !noalias !814
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 8 dereferenceable(24) %23, i64 24, i1 false), !noalias !815
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23)
%107 = add nuw nsw i64 %102, 1
%108 = icmp eq i64 %107, %94
br i1 %108, label %109, label %101
109: ; preds = %101
%110 = load i64, ptr %33, align 8, !noalias !783
%111 = xor i64 %110, -1
%112 = add i64 %65, %111
br label %117
113: ; preds = %83
%114 = load i64, ptr %33, align 8, !noalias !783
%115 = icmp eq i64 %84, 0
%116 = zext i1 %115 to i8
br label %117
117: ; preds = %113, %109
%118 = phi i8 [ %116, %113 ], [ 1, %109 ]
%119 = phi i64 [ %114, %113 ], [ %112, %109 ]
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31), !noalias !783
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32), !noalias !783
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33), !noalias !783
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34), !noalias !783
%120 = icmp eq i8 %118, 0
%121 = select i1 %60, i1 true, i1 %120
br i1 %121, label %124, label %125
122: ; preds = %76
call fastcc void @_ZN4core5slice4sort14break_patterns17h95e829b000ff5ccfE(ptr noalias noundef nonnull align 8 %64, i64 %65)
%123 = add i32 %66, -1
br label %77
124: ; preds = %125, %117
br i1 %61, label %130, label %128
125: ; preds = %117
%126 = load ptr, ptr %2, align 8
%127 = call fastcc noundef zeroext i1 @_ZN4core5slice4sort22partial_insertion_sort17h17df4dea3dd14b05E(ptr noalias noundef nonnull align 8 %64, i64 %65, ptr %126)
br i1 %127, label %.loopexit, label %124
128: ; preds = %124
%129 = icmp ult i64 %119, %65
br i1 %129, label %618, label %624, !prof !381
130: ; preds = %124
call void @llvm.experimental.noalias.scope.decl(metadata !816)
call void @llvm.experimental.noalias.scope.decl(metadata !819)
%131 = icmp eq i64 %53, 0
br i1 %131, label %136, label %.loopexit75, !prof !525
.loopexit75: ; preds = %618, %130
%132 = phi ptr [ %52, %130 ], [ %64, %618 ]
%133 = phi i64 [ %53, %130 ], [ %65, %618 ]
%134 = load ptr, ptr %2, align 8
%135 = icmp ult i64 %119, %133
br i1 %135, label %137, label %154, !prof !381
136: ; preds = %130
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 0, i64 0, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !819
unreachable
137: ; preds = %.loopexit75
%138 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %132, i64 0, i64 %119
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21), !noalias !822
%139 = ptrtoint ptr %132 to i64
%140 = icmp ult ptr %21, %132
%141 = sub i64 %139, %44
%142 = sub i64 %44, %139
%143 = select i1 %140, i64 %141, i64 %142
%144 = icmp ult i64 %143, 24
br i1 %144, label %145, label %146
145: ; preds = %137
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !824
unreachable
146: ; preds = %137
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %132, i64 24, i1 false), !noalias !824
%147 = ptrtoint ptr %138 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %132, ptr noundef nonnull align 8 dereferenceable(24) %138, i64 24, i1 false), !alias.scope !825, !noalias !824
%148 = icmp ugt ptr %21, %138
%149 = sub i64 %44, %147
%150 = sub i64 %147, %44
%151 = select i1 %148, i64 %149, i64 %150
%152 = icmp ult i64 %151, 24
br i1 %152, label %153, label %155
153: ; preds = %146
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !824
unreachable
154: ; preds = %.loopexit75
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %119, i64 %133, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.51) #23, !noalias !819
unreachable
155: ; preds = %146
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 8 dereferenceable(24) %21, i64 24, i1 false), !noalias !824
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21), !noalias !822
%156 = add i64 %133, -1
%157 = icmp ugt i64 %156, 384307168202282325
br i1 %157, label %158, label %159
158: ; preds = %155
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !826
unreachable
159: ; preds = %155
%160 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %132, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22), !noalias !816
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %132, i64 24, i1 false)
%161 = icmp ne ptr %134, null
%162 = icmp eq i64 %156, 0
br i1 %162, label %163, label %165
163: ; preds = %159
%164 = load i64, ptr %45, align 8, !noalias !816
br label %.loopexit72
165: ; preds = %159
call void @llvm.assume(i1 %161)
%166 = load i64, ptr %45, align 8, !noalias !816
br label %169
167: ; preds = %526, %242, %198, %196
%168 = 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 %132) #24
resume { ptr, i32 } %168
169: ; preds = %177, %165
%170 = phi i64 [ 0, %165 ], [ %178, %177 ]
%171 = getelementptr { { ptr, i64 }, i64 }, ptr %160, i64 %170, i32 1
%172 = load i64, ptr %171, align 8, !alias.scope !816
%173 = icmp ult i64 %172, %166
br i1 %173, label %177, label %.loopexit72
.loopexit72: ; preds = %177, %169, %163
%174 = phi i64 [ %164, %163 ], [ %166, %169 ], [ %166, %177 ]
%175 = phi i64 [ 0, %163 ], [ %156, %177 ], [ %170, %169 ]
%176 = call i64 @llvm.umin.i64(i64 %175, i64 %156)
br label %180
177: ; preds = %169
%178 = add nuw i64 %170, 1
%179 = icmp eq i64 %178, %156
br i1 %179, label %.loopexit72, label %169
180: ; preds = %187, %.loopexit72
%181 = phi i64 [ %156, %.loopexit72 ], [ %184, %187 ]
%182 = icmp ugt i64 %181, %175
br i1 %182, label %183, label %191
183: ; preds = %180
%184 = add i64 %181, -1
%185 = icmp ult i64 %184, %156
br i1 %185, label %187, label %186
186: ; preds = %183
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
187: ; preds = %183
call void @llvm.assume(i1 %161)
%188 = getelementptr { { ptr, i64 }, i64 }, ptr %132, i64 %181, i32 1
%189 = load i64, ptr %188, align 8, !alias.scope !816
%190 = icmp ult i64 %189, %174
br i1 %190, label %191, label %180
191: ; preds = %187, %180
%192 = phi i64 [ %176, %180 ], [ %181, %187 ]
%193 = icmp ult i64 %192, %175
br i1 %193, label %196, label %194
194: ; preds = %191
%195 = icmp ugt i64 %192, %156
br i1 %195, label %198, label %200
196: ; preds = %191
invoke void @_ZN4core5slice5index22slice_index_order_fail17h41a682748ef8522cE(i64 %175, i64 %192, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %197 unwind label %167
197: ; preds = %196
unreachable
198: ; preds = %194
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %192, i64 %156, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.52) #23
to label %199 unwind label %167
199: ; preds = %198
unreachable
200: ; preds = %194
%201 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %160, i64 %175
call void @llvm.experimental.noalias.scope.decl(metadata !834)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20), !noalias !837
store i64 128, ptr %20, align 8, !noalias !837
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %19), !noalias !837
%202 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %160, i64 %192
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18), !noalias !837
store i64 128, ptr %18, align 8, !noalias !837
call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %17), !noalias !837
br label %203
203: ; preds = %376, %200
%204 = phi i64 [ 128, %200 ], [ %218, %376 ]
%205 = phi i64 [ 128, %200 ], [ %219, %376 ]
%206 = phi ptr [ null, %200 ], [ %328, %376 ]
%207 = phi ptr [ null, %200 ], [ %377, %376 ]
%208 = phi ptr [ %202, %200 ], [ %386, %376 ]
%209 = phi ptr [ null, %200 ], [ %267, %376 ]
%210 = phi ptr [ null, %200 ], [ %378, %376 ]
%211 = phi ptr [ %201, %200 ], [ %382, %376 ]
%212 = ptrtoint ptr %208 to i64
%213 = ptrtoint ptr %211 to i64
%214 = sub i64 %212, %213
%215 = udiv i64 %214, 24
%216 = icmp ult i64 %214, 6168
br i1 %216, label %221, label %217
217: ; preds = %239, %203
%218 = phi i64 [ %230, %239 ], [ %204, %203 ]
%219 = phi i64 [ %231, %239 ], [ %205, %203 ]
%220 = icmp eq ptr %210, %209
br i1 %220, label %270, label %.loopexit66
221: ; preds = %203
%222 = icmp ult ptr %210, %209
%223 = icmp ult ptr %207, %206
%224 = select i1 %222, i1 true, i1 %223
%225 = add nsw i64 %215, -128
%226 = select i1 %224, i64 %225, i64 %215
br i1 %222, label %228, label %227
227: ; preds = %221
br i1 %223, label %238, label %235
228: ; preds = %221
store i64 %226, ptr %18, align 8, !noalias !837
br label %229
229: ; preds = %238, %235, %228
%230 = phi i64 [ %204, %238 ], [ %237, %235 ], [ %226, %228 ]
%231 = phi i64 [ %226, %238 ], [ %236, %235 ], [ %205, %228 ]
%232 = icmp ult i64 %231, 129
%233 = icmp ult i64 %230, 129
%234 = select i1 %232, i1 %233, i1 false
br i1 %234, label %239, label %242
235: ; preds = %227
%236 = lshr i64 %226, 1
store i64 %236, ptr %20, align 8, !noalias !837
%237 = sub i64 %226, %236
store i64 %237, ptr %18, align 8, !noalias !837
br label %229
238: ; preds = %227
store i64 %226, ptr %20, align 8, !noalias !837
br label %229
239: ; preds = %229
%240 = add nuw nsw i64 %231, %230
%241 = icmp eq i64 %215, %240
br i1 %241, label %217, label %242
242: ; preds = %239, %229
%243 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.38, %229 ], [ @anon.0f79382001bad1c9081319f05be50b13.40, %239 ]
%244 = phi i64 [ 54, %229 ], [ 50, %239 ]
%245 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.39, %229 ], [ @anon.0f79382001bad1c9081319f05be50b13.41, %239 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %243, i64 %244, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %245) #23
to label %246 unwind label %167
246: ; preds = %242
unreachable
.loopexit67: ; preds = %277, %272
%247 = phi ptr [ undef, %272 ], [ %306, %277 ]
%248 = phi ptr [ %19, %272 ], [ %306, %277 ]
%249 = phi ptr [ %211, %272 ], [ %307, %277 ]
%250 = phi i64 [ 0, %272 ], [ %276, %277 ]
%251 = icmp eq i64 %273, 0
br i1 %251, label %.loopexit66, label %.preheader65
.preheader65: ; preds = %.loopexit67, %.preheader65
%252 = phi ptr [ %263, %.preheader65 ], [ %248, %.loopexit67 ]
%253 = phi ptr [ %264, %.preheader65 ], [ %249, %.loopexit67 ]
%254 = phi i64 [ %256, %.preheader65 ], [ %250, %.loopexit67 ]
%255 = phi i64 [ %265, %.preheader65 ], [ 0, %.loopexit67 ]
%256 = add nuw nsw i64 %254, 1
%257 = trunc i64 %254 to i8
store i8 %257, ptr %252, align 1, !noalias !837
%258 = icmp ne ptr %253, null
call void @llvm.assume(i1 %258)
%259 = getelementptr i8, ptr %253, i64 16
%260 = load i64, ptr %259, align 8, !alias.scope !837
%261 = icmp uge i64 %260, %174
%262 = zext i1 %261 to i64
%263 = getelementptr inbounds i8, ptr %252, i64 %262
%264 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %253, i64 1
%265 = add nuw nsw i64 %255, 1
%266 = icmp eq i64 %265, %273
br i1 %266, label %.loopexit66, label %.preheader65, !llvm.loop !838
.loopexit66: ; preds = %.preheader65, %270, %.loopexit67, %217
%267 = phi ptr [ %209, %217 ], [ %19, %270 ], [ %247, %.loopexit67 ], [ %263, %.preheader65 ]
%268 = phi ptr [ %210, %217 ], [ %19, %270 ], [ %19, %.loopexit67 ], [ %19, %.preheader65 ]
%269 = icmp eq ptr %207, %206
br i1 %269, label %338, label %.loopexit63
270: ; preds = %217
%271 = icmp eq i64 %219, 0
br i1 %271, label %.loopexit66, label %272
272: ; preds = %270
call void @llvm.assume(i1 %161)
%273 = and i64 %219, 3
%274 = icmp ult i64 %219, 4
br i1 %274, label %.loopexit67, label %275
275: ; preds = %272
%276 = and i64 %219, -4
br label %277
277: ; preds = %277, %275
%278 = phi ptr [ %19, %275 ], [ %306, %277 ]
%279 = phi ptr [ %211, %275 ], [ %307, %277 ]
%280 = phi i64 [ 0, %275 ], [ %300, %277 ]
%281 = trunc i64 %280 to i8
store i8 %281, ptr %278, align 1, !noalias !837
%282 = icmp ne ptr %279, null
call void @llvm.assume(i1 %282)
%283 = getelementptr i8, ptr %279, i64 16
%284 = load i64, ptr %283, align 8, !alias.scope !837
%285 = icmp uge i64 %284, %174
%286 = zext i1 %285 to i64
%287 = getelementptr inbounds i8, ptr %278, i64 %286
%288 = or i8 %281, 1
store i8 %288, ptr %287, align 1, !noalias !837
%289 = getelementptr { { ptr, i64 }, i64 }, ptr %279, i64 1, i32 1
%290 = load i64, ptr %289, align 8, !alias.scope !837
%291 = icmp uge i64 %290, %174
%292 = zext i1 %291 to i64
%293 = getelementptr inbounds i8, ptr %287, i64 %292
%294 = or i8 %281, 2
store i8 %294, ptr %293, align 1, !noalias !837
%295 = getelementptr { { ptr, i64 }, i64 }, ptr %279, i64 2, i32 1
%296 = load i64, ptr %295, align 8, !alias.scope !837
%297 = icmp uge i64 %296, %174
%298 = zext i1 %297 to i64
%299 = getelementptr inbounds i8, ptr %293, i64 %298
%300 = add nuw i64 %280, 4
%301 = or i8 %281, 3
store i8 %301, ptr %299, align 1, !noalias !837
%302 = getelementptr { { ptr, i64 }, i64 }, ptr %279, i64 3, i32 1
%303 = load i64, ptr %302, align 8, !alias.scope !837
%304 = icmp uge i64 %303, %174
%305 = zext i1 %304 to i64
%306 = getelementptr inbounds i8, ptr %299, i64 %305
%307 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %279, i64 4
%308 = icmp eq i64 %300, %276
br i1 %308, label %.loopexit67, label %277
.loopexit64: ; preds = %345, %340
%309 = phi ptr [ undef, %340 ], [ %374, %345 ]
%310 = phi ptr [ %17, %340 ], [ %374, %345 ]
%311 = phi ptr [ %208, %340 ], [ %368, %345 ]
%312 = phi i64 [ 0, %340 ], [ %344, %345 ]
%313 = icmp eq i64 %341, 0
br i1 %313, label %.loopexit63, label %.preheader62
.preheader62: ; preds = %.loopexit64, %.preheader62
%314 = phi ptr [ %325, %.preheader62 ], [ %310, %.loopexit64 ]
%315 = phi ptr [ %319, %.preheader62 ], [ %311, %.loopexit64 ]
%316 = phi i64 [ %318, %.preheader62 ], [ %312, %.loopexit64 ]
%317 = phi i64 [ %326, %.preheader62 ], [ 0, %.loopexit64 ]
%318 = add nuw nsw i64 %316, 1
%319 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %315, i64 -1
%320 = trunc i64 %316 to i8
store i8 %320, ptr %314, align 1, !noalias !837
%321 = getelementptr { { ptr, i64 }, i64 }, ptr %315, i64 -1, i32 1
%322 = load i64, ptr %321, align 8, !alias.scope !837
%323 = icmp ult i64 %322, %174
%324 = zext i1 %323 to i64
%325 = getelementptr inbounds i8, ptr %314, i64 %324
%326 = add nuw nsw i64 %317, 1
%327 = icmp eq i64 %326, %341
br i1 %327, label %.loopexit63, label %.preheader62, !llvm.loop !839
.loopexit63: ; preds = %.preheader62, %338, %.loopexit64, %.loopexit66
%328 = phi ptr [ %206, %.loopexit66 ], [ %17, %338 ], [ %309, %.loopexit64 ], [ %325, %.preheader62 ]
%329 = phi ptr [ %207, %.loopexit66 ], [ %17, %338 ], [ %17, %.loopexit64 ], [ %17, %.preheader62 ]
%330 = ptrtoint ptr %267 to i64
%331 = ptrtoint ptr %268 to i64
%332 = sub i64 %330, %331
%333 = ptrtoint ptr %328 to i64
%334 = ptrtoint ptr %329 to i64
%335 = sub i64 %333, %334
%336 = call i64 @llvm.umin.i64(i64 %332, i64 %335)
%337 = icmp eq i64 %336, 0
br i1 %337, label %376, label %387
338: ; preds = %.loopexit66
%339 = icmp eq i64 %218, 0
br i1 %339, label %.loopexit63, label %340
340: ; preds = %338
call void @llvm.assume(i1 %161)
%341 = and i64 %218, 3
%342 = icmp ult i64 %218, 4
br i1 %342, label %.loopexit64, label %343
343: ; preds = %340
%344 = and i64 %218, -4
br label %345
345: ; preds = %345, %343
%346 = phi ptr [ %17, %343 ], [ %374, %345 ]
%347 = phi ptr [ %208, %343 ], [ %368, %345 ]
%348 = phi i64 [ 0, %343 ], [ %367, %345 ]
%349 = trunc i64 %348 to i8
store i8 %349, ptr %346, align 1, !noalias !837
%350 = getelementptr { { ptr, i64 }, i64 }, ptr %347, i64 -1, i32 1
%351 = load i64, ptr %350, align 8, !alias.scope !837
%352 = icmp ult i64 %351, %174
%353 = zext i1 %352 to i64
%354 = getelementptr inbounds i8, ptr %346, i64 %353
%355 = or i8 %349, 1
store i8 %355, ptr %354, align 1, !noalias !837
%356 = getelementptr { { ptr, i64 }, i64 }, ptr %347, i64 -2, i32 1
%357 = load i64, ptr %356, align 8, !alias.scope !837
%358 = icmp ult i64 %357, %174
%359 = zext i1 %358 to i64
%360 = getelementptr inbounds i8, ptr %354, i64 %359
%361 = or i8 %349, 2
store i8 %361, ptr %360, align 1, !noalias !837
%362 = getelementptr { { ptr, i64 }, i64 }, ptr %347, i64 -3, i32 1
%363 = load i64, ptr %362, align 8, !alias.scope !837
%364 = icmp ult i64 %363, %174
%365 = zext i1 %364 to i64
%366 = getelementptr inbounds i8, ptr %360, i64 %365
%367 = add nuw i64 %348, 4
%368 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %347, i64 -4
%369 = or i8 %349, 3
store i8 %369, ptr %366, align 1, !noalias !837
%370 = getelementptr { { ptr, i64 }, i64 }, ptr %347, i64 -4, i32 1
%371 = load i64, ptr %370, align 8, !alias.scope !837
%372 = icmp ult i64 %371, %174
%373 = zext i1 %372 to i64
%374 = getelementptr inbounds i8, ptr %366, i64 %373
%375 = icmp eq i64 %367, %344
br i1 %375, label %.loopexit64, label %345
376: ; preds = %436, %.loopexit63
%377 = phi ptr [ %438, %436 ], [ %329, %.loopexit63 ]
%378 = phi ptr [ %437, %436 ], [ %268, %.loopexit63 ]
%379 = icmp eq ptr %378, %267
%380 = select i1 %379, i64 %219, i64 0
%381 = freeze i64 %380
%382 = getelementptr { { ptr, i64 }, i64 }, ptr %211, i64 %381
%383 = icmp eq ptr %377, %328
%384 = sub i64 0, %218
%385 = select i1 %383, i64 %384, i64 0
%386 = getelementptr { { ptr, i64 }, i64 }, ptr %208, i64 %385
br i1 %216, label %474, label %203
387: ; preds = %.loopexit63
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16), !noalias !837
%388 = load i8, ptr %268, align 1, !noalias !837
%389 = zext i8 %388 to i64
%390 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %211, i64 %389
%391 = icmp ne ptr %211, null
%392 = ptrtoint ptr %390 to i64
%393 = and i64 %392, 7
%394 = icmp eq i64 %393, 0
%395 = select i1 %391, i1 %394, i1 false
br i1 %395, label %397, label %396
396: ; preds = %387
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !840
unreachable
397: ; preds = %387
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %390, i64 24, i1 false)
%398 = load i8, ptr %329, align 1, !noalias !837
%399 = zext i8 %398 to i64
%400 = xor i64 %399, -1
%401 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %208, i64 %400
%402 = load i8, ptr %268, align 1, !noalias !837
%403 = zext i8 %402 to i64
%404 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %211, i64 %403
%405 = ptrtoint ptr %401 to i64
%406 = and i64 %405, 7
%407 = icmp eq i64 %406, 0
br i1 %407, label %408, label %418
408: ; preds = %397
%409 = ptrtoint ptr %404 to i64
%410 = and i64 %409, 7
%411 = icmp eq i64 %410, 0
br i1 %411, label %412, label %418
412: ; preds = %408
%413 = icmp ugt ptr %401, %404
%414 = sub i64 %405, %409
%415 = sub i64 %409, %405
%416 = select i1 %413, i64 %414, i64 %415
%417 = icmp ult i64 %416, 24
br i1 %417, label %418, label %419
418: ; preds = %412, %408, %397
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
419: ; preds = %412
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %404, ptr noundef nonnull align 8 dereferenceable(24) %401, i64 24, i1 false), !alias.scope !837
%420 = icmp ugt i64 %336, 1
br i1 %420, label %.preheader60, label %.loopexit61
.loopexit61.loopexit: ; preds = %472
%421 = ptrtoint ptr %464 to i64
br label %.loopexit61
.loopexit61: ; preds = %.loopexit61.loopexit, %419
%422 = phi i64 [ %405, %419 ], [ %421, %.loopexit61.loopexit ]
%423 = phi i64 [ %400, %419 ], [ %463, %.loopexit61.loopexit ]
%424 = phi ptr [ %329, %419 ], [ %460, %.loopexit61.loopexit ]
%425 = phi ptr [ %268, %419 ], [ %444, %.loopexit61.loopexit ]
%426 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %208, i64 %423
%427 = and i64 %422, 7
%428 = icmp eq i64 %427, 0
br i1 %428, label %429, label %435
429: ; preds = %.loopexit61
%430 = icmp ugt ptr %16, %426
%431 = sub i64 %46, %422
%432 = sub i64 %422, %46
%433 = select i1 %430, i64 %431, i64 %432
%434 = icmp ult i64 %433, 24
br i1 %434, label %435, label %436
435: ; preds = %429, %.loopexit61
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
436: ; preds = %429
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %426, ptr noundef nonnull align 8 dereferenceable(24) %16, i64 24, i1 false)
%437 = getelementptr inbounds i8, ptr %425, i64 1
%438 = getelementptr inbounds i8, ptr %424, i64 1
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16), !noalias !837
br label %376
.preheader60: ; preds = %419, %472
%439 = phi i8 [ %461, %472 ], [ %398, %419 ]
%440 = phi ptr [ %444, %472 ], [ %268, %419 ]
%441 = phi ptr [ %460, %472 ], [ %329, %419 ]
%442 = phi i64 [ %443, %472 ], [ 1, %419 ]
%443 = add nuw i64 %442, 1
%444 = getelementptr inbounds i8, ptr %440, i64 1
%445 = load i8, ptr %444, align 1, !noalias !837
%446 = zext i8 %445 to i64
%447 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %211, i64 %446
%448 = zext i8 %439 to i64
%449 = xor i64 %448, -1
%450 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %208, i64 %449
%451 = ptrtoint ptr %447 to i64
%452 = ptrtoint ptr %450 to i64
%453 = icmp ugt ptr %447, %450
%454 = sub i64 %451, %452
%455 = sub i64 %452, %451
%456 = select i1 %453, i64 %454, i64 %455
%457 = icmp ult i64 %456, 24
br i1 %457, label %458, label %459
458: ; preds = %.preheader60
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
459: ; preds = %.preheader60
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %450, ptr noundef nonnull align 8 dereferenceable(24) %447, i64 24, i1 false), !alias.scope !837
%460 = getelementptr inbounds i8, ptr %441, i64 1
%461 = load i8, ptr %460, align 1, !noalias !837
%462 = zext i8 %461 to i64
%463 = xor i64 %462, -1
%464 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %208, i64 %463
%465 = ptrtoint ptr %464 to i64
%466 = icmp ugt ptr %464, %447
%467 = sub i64 %465, %451
%468 = sub i64 %451, %465
%469 = select i1 %466, i64 %467, i64 %468
%470 = icmp ult i64 %469, 24
br i1 %470, label %471, label %472
471: ; preds = %459
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
472: ; preds = %459
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %447, ptr noundef nonnull align 8 dereferenceable(24) %464, i64 24, i1 false), !alias.scope !837
%473 = icmp eq i64 %443, %336
br i1 %473, label %.loopexit61.loopexit, label %.preheader60
474: ; preds = %376
%475 = icmp ult ptr %378, %267
br i1 %475, label %478, label %476
476: ; preds = %474
%477 = icmp ult ptr %377, %328
br i1 %477, label %518, label %.loopexit70
478: ; preds = %474
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15), !noalias !837
%479 = ptrtoint ptr %386 to i64
%480 = ptrtoint ptr %382 to i64
%481 = sub i64 %479, %480
%482 = udiv i64 %481, 24
store i64 %482, ptr %15, align 8, !noalias !837
%483 = icmp eq i64 %482, %219
br i1 %483, label %484, label %487
484: ; preds = %478
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15), !noalias !837
%485 = icmp eq ptr %382, null
br i1 %485, label %486, label %.preheader68
486: ; preds = %484
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !837
br label %.loopexit69
487: ; preds = %478
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %14), !noalias !837
store ptr null, ptr %14, align 8, !noalias !837
br label %526
.preheader68: ; preds = %484, %516
%488 = phi ptr [ %490, %516 ], [ %267, %484 ]
%489 = phi ptr [ %494, %516 ], [ %386, %484 ]
%490 = getelementptr inbounds i8, ptr %488, i64 -1
%491 = load i8, ptr %490, align 1, !noalias !837
%492 = zext i8 %491 to i64
%493 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %382, i64 %492
%494 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %489, i64 -1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !837
%495 = ptrtoint ptr %493 to i64
%496 = and i64 %495, 7
%497 = icmp eq i64 %496, 0
br i1 %497, label %498, label %.loopexit69
498: ; preds = %.preheader68
%499 = icmp ult ptr %11, %493
%500 = sub i64 %495, %48
%501 = sub i64 %48, %495
%502 = select i1 %499, i64 %500, i64 %501
%503 = icmp ult i64 %502, 24
br i1 %503, label %.loopexit69, label %504
.loopexit69: ; preds = %498, %.preheader68, %486
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
504: ; preds = %498
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %493, i64 24, i1 false)
%505 = ptrtoint ptr %494 to i64
%506 = and i64 %505, 7
%507 = icmp eq i64 %506, 0
br i1 %507, label %509, label %508
508: ; preds = %504
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
509: ; preds = %504
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %493, ptr noundef nonnull align 8 dereferenceable(24) %494, i64 24, i1 false), !alias.scope !837
%510 = icmp ugt ptr %11, %494
%511 = sub i64 %48, %505
%512 = sub i64 %505, %48
%513 = select i1 %510, i64 %511, i64 %512
%514 = icmp ult i64 %513, 24
br i1 %514, label %515, label %516
515: ; preds = %509
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
516: ; preds = %509
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %494, ptr noundef nonnull align 8 dereferenceable(24) %11, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !837
%517 = icmp ult ptr %378, %490
br i1 %517, label %.preheader68, label %.loopexit70
518: ; preds = %476
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13), !noalias !837
%519 = ptrtoint ptr %386 to i64
%520 = ptrtoint ptr %382 to i64
%521 = sub i64 %519, %520
%522 = udiv i64 %521, 24
store i64 %522, ptr %13, align 8, !noalias !837
%523 = icmp eq i64 %522, %218
br i1 %523, label %524, label %525
524: ; preds = %518
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13), !noalias !837
br label %532
525: ; preds = %518
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !837
store ptr null, ptr %12, align 8, !noalias !837
br label %526
526: ; preds = %525, %487
%527 = phi ptr [ %13, %525 ], [ %15, %487 ]
%528 = phi ptr [ %18, %525 ], [ %20, %487 ]
%529 = phi ptr [ %12, %525 ], [ %14, %487 ]
%530 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.43, %525 ], [ @anon.0f79382001bad1c9081319f05be50b13.42, %487 ]
invoke fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %527, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %528, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %529, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %530) #23
to label %531 unwind label %167
531: ; preds = %526
unreachable
532: ; preds = %564, %524
%533 = phi ptr [ %382, %524 ], [ %565, %564 ]
%534 = phi ptr [ %328, %524 ], [ %535, %564 ]
%535 = getelementptr inbounds i8, ptr %534, i64 -1
%536 = load i8, ptr %535, align 1, !noalias !837
%537 = zext i8 %536 to i64
%538 = xor i64 %537, -1
%539 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %386, i64 %538
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10), !noalias !837
%540 = icmp ne ptr %533, null
%541 = ptrtoint ptr %533 to i64
%542 = and i64 %541, 7
%543 = icmp eq i64 %542, 0
%544 = select i1 %540, i1 %543, i1 false
br i1 %544, label %545, label %551
545: ; preds = %532
%546 = icmp ult ptr %10, %533
%547 = sub i64 %541, %47
%548 = sub i64 %47, %541
%549 = select i1 %546, i64 %547, i64 %548
%550 = icmp ult i64 %549, 24
br i1 %550, label %551, label %552
551: ; preds = %545, %532
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
552: ; preds = %545
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %533, i64 24, i1 false)
%553 = ptrtoint ptr %539 to i64
%554 = and i64 %553, 7
%555 = icmp eq i64 %554, 0
br i1 %555, label %557, label %556
556: ; preds = %552
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.21, i64 112) #21
unreachable
557: ; preds = %552
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %533, ptr noundef nonnull align 8 dereferenceable(24) %539, i64 24, i1 false), !alias.scope !837
%558 = icmp ugt ptr %10, %539
%559 = sub i64 %47, %553
%560 = sub i64 %553, %47
%561 = select i1 %558, i64 %559, i64 %560
%562 = icmp ult i64 %561, 24
br i1 %562, label %563, label %564
563: ; preds = %557
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
564: ; preds = %557
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %539, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10), !noalias !837
%565 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %533, i64 1
%566 = icmp ult ptr %377, %535
br i1 %566, label %532, label %.loopexit70
.loopexit70: ; preds = %564, %516, %476
%567 = phi ptr [ %382, %476 ], [ %494, %516 ], [ %565, %564 ]
%568 = ptrtoint ptr %567 to i64
%569 = ptrtoint ptr %201 to i64
%570 = sub i64 %568, %569
%571 = udiv i64 %570, 24
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %17), !noalias !837
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18), !noalias !837
call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %19), !noalias !837
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20), !noalias !837
%572 = add i64 %571, %175
%573 = icmp ugt ptr %22, %132
%574 = sub i64 %49, %139
%575 = sub i64 %139, %49
%576 = select i1 %573, i64 %574, i64 %575
%577 = icmp ult i64 %576, 24
br i1 %577, label %578, label %579
578: ; preds = %.loopexit70
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
579: ; preds = %.loopexit70
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %132, ptr noundef nonnull align 8 dereferenceable(24) %22, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22), !noalias !816
call void @llvm.experimental.noalias.scope.decl(metadata !843)
%580 = icmp ugt i64 %133, %572
br i1 %580, label %581, label %597, !prof !381
581: ; preds = %579
%582 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %132, i64 0, i64 %572
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9), !noalias !846
%583 = icmp ult ptr %9, %132
%584 = sub i64 %139, %50
%585 = sub i64 %50, %139
%586 = select i1 %583, i64 %584, i64 %585
%587 = icmp ult i64 %586, 24
br i1 %587, label %588, label %589
588: ; preds = %581
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !848
unreachable
589: ; preds = %581
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %132, i64 24, i1 false), !noalias !848
%590 = ptrtoint ptr %582 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %132, ptr noundef nonnull align 8 dereferenceable(24) %582, i64 24, i1 false), !alias.scope !849, !noalias !848
%591 = icmp ugt ptr %9, %582
%592 = sub i64 %50, %590
%593 = sub i64 %590, %50
%594 = select i1 %591, i64 %592, i64 %593
%595 = icmp ult i64 %594, 24
br i1 %595, label %596, label %598
596: ; preds = %589
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !848
unreachable
597: ; preds = %579
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %572, i64 %133, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.53) #23, !noalias !843
unreachable
598: ; preds = %589
%599 = icmp uge i64 %175, %192
%600 = zext i1 %599 to i8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %582, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !noalias !848
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9), !noalias !846
%601 = sub i64 %133, %572
%602 = call i64 @llvm.umin.i64(i64 %572, i64 %601)
%603 = lshr i64 %133, 3
%604 = icmp uge i64 %602, %603
%605 = zext i1 %604 to i8
%606 = icmp ugt i64 %572, 384307168202282325
br i1 %606, label %607, label %608
607: ; preds = %598
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !850
unreachable
608: ; preds = %598
%609 = icmp ugt i64 %601, 384307168202282325
br i1 %609, label %610, label %611
610: ; preds = %608
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !850
unreachable
611: ; preds = %608
%612 = icmp eq i64 %133, %572
br i1 %612, label %617, label %613
613: ; preds = %611
%614 = add nsw i64 %601, -1
%615 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %582, i64 1
%616 = icmp ult i64 %572, %614
br i1 %616, label %712, label %711
617: ; preds = %611
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 !858
unreachable
618: ; preds = %128
%619 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %64, i64 0, i64 %119
%620 = load i64, ptr %62, align 8
%621 = getelementptr i8, ptr %619, i64 16
%622 = load i64, ptr %621, align 8
%623 = icmp ult i64 %620, %622
br i1 %623, label %.loopexit75, label %625
624: ; preds = %128
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %119, i64 %65, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.45) #23
unreachable
625: ; preds = %618
%626 = load ptr, ptr %2, align 8
call void @llvm.experimental.noalias.scope.decl(metadata !862)
call void @llvm.experimental.noalias.scope.decl(metadata !865)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !868
%627 = ptrtoint ptr %64 to i64
%628 = icmp ult ptr %7, %64
%629 = sub i64 %627, %40
%630 = sub i64 %40, %627
%631 = select i1 %628, i64 %629, i64 %630
%632 = icmp ult i64 %631, 24
br i1 %632, label %633, label %634
633: ; preds = %625
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !870
unreachable
634: ; preds = %625
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 !870
%635 = ptrtoint ptr %619 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(24) %619, i64 24, i1 false), !alias.scope !871, !noalias !870
%636 = icmp ugt ptr %7, %619
%637 = sub i64 %40, %635
%638 = sub i64 %635, %40
%639 = select i1 %636, i64 %637, i64 %638
%640 = icmp ult i64 %639, 24
br i1 %640, label %641, label %642
641: ; preds = %634
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !870
unreachable
642: ; preds = %634
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %619, ptr noundef nonnull align 8 dereferenceable(24) %7, i64 24, i1 false), !noalias !870
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !868
%643 = add i64 %65, -1
%644 = icmp ugt i64 %643, 384307168202282325
br i1 %644, label %645, label %646
645: ; preds = %642
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !872
unreachable
646: ; preds = %642
%647 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8), !noalias !862
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)
%648 = icmp ne ptr %626, null
%649 = load i64, ptr %41, align 8, !noalias !862
br label %650
650: ; preds = %701, %646
%651 = phi i64 [ %643, %646 ], [ %669, %701 ]
%652 = phi i64 [ 0, %646 ], [ %702, %701 ]
%653 = icmp ult i64 %652, %651
br i1 %653, label %.preheader58, label %.loopexit59
.preheader58: ; preds = %650, %662
%654 = phi i64 [ %663, %662 ], [ %652, %650 ]
%655 = icmp ult i64 %654, %643
br i1 %655, label %657, label %656
656: ; preds = %.preheader58
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
657: ; preds = %.preheader58
call void @llvm.assume(i1 %648)
%658 = getelementptr { { ptr, i64 }, i64 }, ptr %647, i64 %654, i32 1
%659 = load i64, ptr %658, align 8, !alias.scope !862
%660 = icmp ult i64 %649, %659
br i1 %660, label %.loopexit59, label %662
.loopexit59: ; preds = %662, %657, %650
%661 = phi i64 [ %652, %650 ], [ %651, %662 ], [ %654, %657 ]
br label %665
662: ; preds = %657
%663 = add nuw i64 %654, 1
%664 = icmp eq i64 %663, %651
br i1 %664, label %.loopexit59, label %.preheader58
665: ; preds = %672, %.loopexit59
%666 = phi i64 [ %651, %.loopexit59 ], [ %669, %672 ]
%667 = icmp ult i64 %661, %666
br i1 %667, label %668, label %694
668: ; preds = %665
%669 = add i64 %666, -1
%670 = icmp ult i64 %669, %643
br i1 %670, label %672, label %671
671: ; preds = %668
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21
unreachable
672: ; preds = %668
call void @llvm.assume(i1 %648)
%673 = getelementptr { { ptr, i64 }, i64 }, ptr %64, i64 %666, i32 1
%674 = load i64, ptr %673, align 8, !alias.scope !862
%675 = icmp ult i64 %649, %674
br i1 %675, label %665, label %676
676: ; preds = %672
%677 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %647, i64 %661
%678 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %666
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6), !noalias !862
%679 = ptrtoint ptr %677 to i64
%680 = icmp ult ptr %6, %677
%681 = sub i64 %679, %42
%682 = sub i64 %42, %679
%683 = select i1 %680, i64 %681, i64 %682
%684 = icmp ult i64 %683, 24
br i1 %684, label %685, label %686
685: ; preds = %676
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
686: ; preds = %676
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %677, i64 24, i1 false)
%687 = ptrtoint ptr %678 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %677, ptr noundef nonnull align 8 dereferenceable(24) %678, i64 24, i1 false), !alias.scope !862
%688 = icmp ugt ptr %6, %678
%689 = sub i64 %42, %687
%690 = sub i64 %687, %42
%691 = select i1 %688, i64 %689, i64 %690
%692 = icmp ult i64 %691, 24
br i1 %692, label %693, label %701
693: ; preds = %686
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
694: ; preds = %665
%695 = icmp ugt ptr %8, %64
%696 = sub i64 %43, %627
%697 = sub i64 %627, %43
%698 = select i1 %695, i64 %696, i64 %697
%699 = icmp ult i64 %698, 24
br i1 %699, label %700, label %703
700: ; preds = %694
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21
unreachable
701: ; preds = %686
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %678, ptr noundef nonnull align 8 dereferenceable(24) %6, i64 24, i1 false)
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6), !noalias !862
%702 = add nuw i64 %661, 1
br label %650
703: ; preds = %694
%704 = add i64 %661, 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 !862
%705 = icmp ult i64 %65, %704
br i1 %705, label %706, label %707
706: ; preds = %703
call void @_ZN4core5slice5index26slice_start_index_len_fail17h0500cd89dbf096d3E(i64 %704, i64 %65, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.46) #23, !noalias !880
unreachable
707: ; preds = %703
%708 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %64, i64 %704
%709 = sub i64 %65, %704
%710 = icmp ult i64 %709, 21
br i1 %710, label %.loopexit76, label %63
711: ; preds = %613
call fastcc void @_ZN4core5slice4sort7recurse17hf486805dab7ff5ecE(ptr noalias noundef nonnull align 8 %615, i64 %614, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %582, i32 %78)
br label %713
712: ; preds = %613
call fastcc void @_ZN4core5slice4sort7recurse17hf486805dab7ff5ecE(ptr noalias noundef nonnull align 8 %132, i64 %572, ptr noalias noundef nonnull align 8 dereferenceable(8) %2, ptr noalias noundef readonly align 8 dereferenceable(24) %54, i32 %78)
br label %713
713: ; preds = %712, %711
%714 = phi ptr [ %582, %712 ], [ %54, %711 ]
%715 = phi i64 [ %614, %712 ], [ %572, %711 ]
%716 = phi ptr [ %615, %712 ], [ %132, %711 ]
%717 = icmp ult i64 %715, 21
br i1 %717, label %.loopexit76, 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 %51, align 8
%5 = alloca ptr, align 8
store ptr %2, ptr %5, align 8
%6 = icmp ult i64 %1, 2
br i1 %6, label %.loopexit, label %.split
.split: ; preds = %3
%7 = lshr i64 %1, 1
%8 = add nsw i64 %7, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hdf3181fda3a4ac55E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %8)
%9 = icmp eq i64 %8, 0
br i1 %9, label %._crit_edge.thread, label %.split1
._crit_edge: ; preds = %.split1
%10 = icmp ugt i64 %1, 1
br i1 %10, label %._crit_edge.thread, label %.loopexit
._crit_edge.thread: ; preds = %.split, %._crit_edge
%11 = ptrtoint ptr %0 to i64
%12 = ptrtoint ptr %4 to i64
%13 = icmp ult ptr %4, %0
%14 = sub i64 %11, %12
%15 = sub i64 %12, %11
%16 = select i1 %13, i64 %14, i64 %15
%17 = icmp ult i64 %16, 24
br i1 %17, label %18, label %.preheader
18: ; preds = %._crit_edge.thread
call void @llvm.experimental.noalias.scope.decl(metadata !883)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !886
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !888
unreachable
.split1: ; preds = %.split, %.split1
%19 = phi i64 [ %20, %.split1 ], [ %8, %.split ]
%20 = add nsw i64 %19, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hdf3181fda3a4ac55E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %20)
%21 = icmp eq i64 %20, 0
br i1 %21, label %._crit_edge, label %.split1
.loopexit: ; preds = %35, %._crit_edge, %3
ret void
.preheader: ; preds = %._crit_edge.thread, %35
%22 = phi i64 [ %23, %35 ], [ %1, %._crit_edge.thread ]
%23 = add i64 %22, -1
call void @llvm.experimental.noalias.scope.decl(metadata !883)
%24 = icmp ult i64 %23, %1
br i1 %24, label %25, label %34, !prof !381
25: ; preds = %.preheader
%26 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %23
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !886
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 !888
%27 = ptrtoint ptr %26 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %26, i64 24, i1 false), !alias.scope !883, !noalias !888
%28 = icmp ugt ptr %4, %26
%29 = sub i64 %12, %27
%30 = sub i64 %27, %12
%31 = select i1 %28, i64 %29, i64 %30
%32 = icmp ult i64 %31, 24
br i1 %32, label %33, label %35
33: ; preds = %25
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !888
unreachable
34: ; preds = %.preheader
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %23, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.48) #23, !noalias !883
unreachable
35: ; preds = %25
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !888
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !886
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hdf3181fda3a4ac55E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %23, i64 0)
%36 = icmp ugt i64 %23, 1
br i1 %36, label %.preheader, label %.loopexit
}
; 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 %51, align 8
%5 = alloca ptr, align 8
store ptr %2, ptr %5, align 8
%6 = icmp ult i64 %1, 2
br i1 %6, label %.loopexit, label %.split
.split: ; preds = %3
%7 = lshr i64 %1, 1
%8 = add nsw i64 %7, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hda558f480311d238E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %8)
%9 = icmp eq i64 %8, 0
br i1 %9, label %._crit_edge.thread, label %.split1
._crit_edge: ; preds = %.split1
%10 = icmp ugt i64 %1, 1
br i1 %10, label %._crit_edge.thread, label %.loopexit
._crit_edge.thread: ; preds = %.split, %._crit_edge
%11 = ptrtoint ptr %0 to i64
%12 = ptrtoint ptr %4 to i64
%13 = icmp ult ptr %4, %0
%14 = sub i64 %11, %12
%15 = sub i64 %12, %11
%16 = select i1 %13, i64 %14, i64 %15
%17 = icmp ult i64 %16, 24
br i1 %17, label %18, label %.preheader
18: ; preds = %._crit_edge.thread
call void @llvm.experimental.noalias.scope.decl(metadata !889)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !892
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !894
unreachable
.split1: ; preds = %.split, %.split1
%19 = phi i64 [ %20, %.split1 ], [ %8, %.split ]
%20 = add nsw i64 %19, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hda558f480311d238E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %20)
%21 = icmp eq i64 %20, 0
br i1 %21, label %._crit_edge, label %.split1
.loopexit: ; preds = %35, %._crit_edge, %3
ret void
.preheader: ; preds = %._crit_edge.thread, %35
%22 = phi i64 [ %23, %35 ], [ %1, %._crit_edge.thread ]
%23 = add i64 %22, -1
call void @llvm.experimental.noalias.scope.decl(metadata !889)
%24 = icmp ult i64 %23, %1
br i1 %24, label %25, label %34, !prof !381
25: ; preds = %.preheader
%26 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %0, i64 0, i64 %23
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !892
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 !894
%27 = ptrtoint ptr %26 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %26, i64 24, i1 false), !alias.scope !889, !noalias !894
%28 = icmp ugt ptr %4, %26
%29 = sub i64 %12, %27
%30 = sub i64 %27, %12
%31 = select i1 %28, i64 %29, i64 %30
%32 = icmp ult i64 %31, 24
br i1 %32, label %33, label %35
33: ; preds = %25
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !894
unreachable
34: ; preds = %.preheader
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %23, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.48) #23, !noalias !889
unreachable
35: ; preds = %25
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %4, i64 24, i1 false), !noalias !894
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !892
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hda558f480311d238E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %23, i64 0)
%36 = icmp ugt i64 %23, 1
br i1 %36, label %.preheader, label %.loopexit
}
; 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 %52, align 8
%5 = alloca ptr, align 8
store ptr %2, ptr %5, align 8
%6 = icmp ult i64 %1, 2
br i1 %6, label %.loopexit, label %.split
.split: ; preds = %3
%7 = lshr i64 %1, 1
%8 = add nsw i64 %7, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17h939c8cc424aced15E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %8)
%9 = icmp eq i64 %8, 0
br i1 %9, label %._crit_edge.thread, label %.split1
._crit_edge: ; preds = %.split1
%10 = icmp ugt i64 %1, 1
br i1 %10, label %._crit_edge.thread, label %.loopexit
._crit_edge.thread: ; preds = %.split, %._crit_edge
%11 = ptrtoint ptr %0 to i64
%12 = ptrtoint ptr %4 to i64
%13 = icmp ult ptr %4, %0
%14 = sub i64 %11, %12
%15 = sub i64 %12, %11
%16 = select i1 %13, i64 %14, i64 %15
%17 = icmp ult i64 %16, 40
br i1 %17, label %18, label %.preheader
18: ; preds = %._crit_edge.thread
call void @llvm.experimental.noalias.scope.decl(metadata !895)
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !898
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !900
unreachable
.split1: ; preds = %.split, %.split1
%19 = phi i64 [ %20, %.split1 ], [ %8, %.split ]
%20 = add nsw i64 %19, -1
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17h939c8cc424aced15E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %1, i64 %20)
%21 = icmp eq i64 %20, 0
br i1 %21, label %._crit_edge, label %.split1
.loopexit: ; preds = %35, %._crit_edge, %3
ret void
.preheader: ; preds = %._crit_edge.thread, %35
%22 = phi i64 [ %23, %35 ], [ %1, %._crit_edge.thread ]
%23 = add i64 %22, -1
call void @llvm.experimental.noalias.scope.decl(metadata !895)
%24 = icmp ult i64 %23, %1
br i1 %24, label %25, label %34, !prof !381
25: ; preds = %.preheader
%26 = getelementptr inbounds [0 x %49], ptr %0, i64 0, i64 %23
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4), !noalias !898
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 !900
%27 = ptrtoint ptr %26 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %26, i64 40, i1 false), !alias.scope !895, !noalias !900
%28 = icmp ugt ptr %4, %26
%29 = sub i64 %12, %27
%30 = sub i64 %27, %12
%31 = select i1 %28, i64 %29, i64 %30
%32 = icmp ult i64 %31, 40
br i1 %32, label %33, label %35
33: ; preds = %25
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !900
unreachable
34: ; preds = %.preheader
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %23, i64 %1, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.48) #23, !noalias !895
unreachable
35: ; preds = %25
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %26, ptr noundef nonnull align 8 dereferenceable(40) %4, i64 40, i1 false), !noalias !900
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4), !noalias !898
call fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17h939c8cc424aced15E"(ptr nonnull %5, ptr noalias noundef nonnull align 8 %0, i64 %23, i64 0)
%36 = icmp ugt i64 %23, 1
br i1 %36, label %.preheader, label %.loopexit
}
; Function Attrs: inlinehint uwtable
define internal fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17h939c8cc424aced15E"(ptr readnone %0, ptr noalias noundef nonnull align 8 %1, i64 %2, i64 %3) unnamed_addr #4 personality ptr @rust_eh_personality {
%5 = alloca %52, align 8
%6 = shl i64 %3, 1
%7 = or i64 %6, 1
%8 = icmp ult i64 %7, %2
br i1 %8, label %9, label %.loopexit
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 = %55, %9
%13 = phi i64 [ %7, %9 ], [ %57, %55 ]
%14 = phi i64 [ %6, %9 ], [ %56, %55 ]
%15 = phi i64 [ %3, %9 ], [ %27, %55 ]
%16 = add i64 %14, 2
%17 = icmp ult i64 %16, %2
br i1 %17, label %18, label %26
.loopexit: ; preds = %55, %32, %4
ret void
18: ; preds = %12
%19 = getelementptr inbounds [0 x %49], ptr %1, i64 0, i64 %13
%20 = getelementptr inbounds [0 x %49], ptr %1, i64 0, i64 %16
%21 = load i64, ptr %19, align 8
%22 = load i64, ptr %20, align 8
%23 = icmp ult i64 %21, %22
%24 = freeze i1 %23
%25 = select i1 %24, i64 %16, i64 %13
br label %26
26: ; preds = %18, %12
%27 = phi i64 [ %13, %12 ], [ %25, %18 ]
%28 = icmp ult i64 %15, %2
br i1 %28, label %29, label %31, !prof !381
29: ; preds = %26
%30 = icmp ult i64 %27, %2
br i1 %30, label %32, label %38, !prof !381
31: ; preds = %26
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %15, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.49) #23
unreachable
32: ; preds = %29
%33 = getelementptr inbounds [0 x %49], ptr %1, i64 0, i64 %15
%34 = getelementptr inbounds [0 x %49], ptr %1, i64 0, i64 %27
%35 = load i64, ptr %33, align 8
%36 = load i64, ptr %34, align 8
%37 = icmp ult i64 %35, %36
br i1 %37, label %39, label %.loopexit
38: ; preds = %29
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %27, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.50) #23
unreachable
39: ; preds = %32
call void @llvm.experimental.noalias.scope.decl(metadata !901)
call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5), !noalias !904
%40 = ptrtoint ptr %33 to i64
%41 = icmp ult ptr %5, %33
%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 = %39
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !906
unreachable
47: ; preds = %39
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef nonnull align 8 dereferenceable(40) %33, i64 40, i1 false), !noalias !906
%48 = ptrtoint ptr %34 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %33, ptr noundef nonnull align 8 dereferenceable(40) %34, i64 40, i1 false), !alias.scope !901, !noalias !906
%49 = icmp ugt ptr %5, %34
%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 %55
54: ; preds = %47
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !906
unreachable
55: ; preds = %47
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %34, ptr noundef nonnull align 8 dereferenceable(40) %5, i64 40, i1 false), !noalias !906
call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5), !noalias !904
%56 = shl i64 %27, 1
%57 = or i64 %56, 1
%58 = icmp ult i64 %57, %2
br i1 %58, label %12, label %.loopexit
}
; Function Attrs: inlinehint uwtable
define internal fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hda558f480311d238E"(ptr readnone %0, ptr noalias noundef nonnull align 8 %1, i64 %2, i64 %3) unnamed_addr #4 personality ptr @rust_eh_personality {
%5 = alloca %51, align 8
%6 = shl i64 %3, 1
%7 = or i64 %6, 1
%8 = icmp ult i64 %7, %2
br i1 %8, label %9, label %.loopexit
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 = %75, %9
%13 = phi i64 [ %7, %9 ], [ %77, %75 ]
%14 = phi i64 [ %6, %9 ], [ %76, %75 ]
%15 = phi i64 [ %3, %9 ], [ %37, %75 ]
%16 = add i64 %14, 2
%17 = icmp ult i64 %16, %2
br i1 %17, label %18, label %36
.loopexit: ; preds = %75, %42, %4
ret void
18: ; preds = %12
%19 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %13
%20 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %16
%21 = load ptr, ptr %19, align 8, !nonnull !25, !align !270, !noundef !25
%22 = getelementptr i8, ptr %19, i64 8
%23 = load i64, ptr %22, align 8
%24 = load ptr, ptr %20, align 8, !nonnull !25, !align !270, !noundef !25
%25 = getelementptr i8, ptr %20, i64 8
%26 = load i64, ptr %25, align 8
%27 = sub i64 %23, %26
%28 = call i64 @llvm.umin.i64(i64 %23, i64 %26)
%29 = call i32 @memcmp(ptr nonnull %21, ptr nonnull %24, i64 %28), !alias.scope !907
%30 = sext i32 %29 to i64
%31 = icmp eq i32 %29, 0
%32 = select i1 %31, i64 %27, i64 %30
%33 = freeze i64 %32
%34 = icmp slt i64 %33, 0
%35 = select i1 %34, i64 %16, i64 %13
br label %36
36: ; preds = %18, %12
%37 = phi i64 [ %13, %12 ], [ %35, %18 ]
%38 = icmp ult i64 %15, %2
br i1 %38, label %39, label %41, !prof !381
39: ; preds = %36
%40 = icmp ult i64 %37, %2
br i1 %40, label %42, label %58, !prof !381
41: ; preds = %36
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %15, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.49) #23
unreachable
42: ; preds = %39
%43 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %15
%44 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %37
%45 = load ptr, ptr %43, align 8, !nonnull !25, !align !270, !noundef !25
%46 = getelementptr i8, ptr %43, i64 8
%47 = load i64, ptr %46, align 8
%48 = load ptr, ptr %44, align 8, !nonnull !25, !align !270, !noundef !25
%49 = getelementptr i8, ptr %44, i64 8
%50 = load i64, ptr %49, align 8
%51 = sub i64 %47, %50
%52 = call i64 @llvm.umin.i64(i64 %47, i64 %50)
%53 = call i32 @memcmp(ptr nonnull %45, ptr nonnull %48, i64 %52), !alias.scope !920
%54 = sext i32 %53 to i64
%55 = icmp eq i32 %53, 0
%56 = select i1 %55, i64 %51, i64 %54
%57 = icmp slt i64 %56, 0
br i1 %57, label %59, label %.loopexit
58: ; preds = %39
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %37, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.50) #23
unreachable
59: ; preds = %42
call void @llvm.experimental.noalias.scope.decl(metadata !933)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !936
%60 = ptrtoint ptr %43 to i64
%61 = icmp ult ptr %5, %43
%62 = sub i64 %60, %11
%63 = sub i64 %11, %60
%64 = select i1 %61, i64 %62, i64 %63
%65 = icmp ult i64 %64, 24
br i1 %65, label %66, label %67
66: ; preds = %59
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !938
unreachable
67: ; preds = %59
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %43, i64 24, i1 false), !noalias !938
%68 = ptrtoint ptr %44 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %44, i64 24, i1 false), !alias.scope !933, !noalias !938
%69 = icmp ugt ptr %5, %44
%70 = sub i64 %11, %68
%71 = sub i64 %68, %11
%72 = select i1 %69, i64 %70, i64 %71
%73 = icmp ult i64 %72, 24
br i1 %73, label %74, label %75
74: ; preds = %67
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !938
unreachable
75: ; preds = %67
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !938
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !936
%76 = shl i64 %37, 1
%77 = or i64 %76, 1
%78 = icmp ult i64 %77, %2
br i1 %78, label %12, label %.loopexit
}
; Function Attrs: inlinehint uwtable
define internal fastcc void @"_ZN4core5slice4sort8heapsort28_$u7b$$u7b$closure$u7d$$u7d$17hdf3181fda3a4ac55E"(ptr readnone %0, ptr noalias noundef nonnull align 8 %1, i64 %2, i64 %3) unnamed_addr #4 personality ptr @rust_eh_personality {
%5 = alloca %51, align 8
%6 = shl i64 %3, 1
%7 = or i64 %6, 1
%8 = icmp ult i64 %7, %2
br i1 %8, label %9, label %.loopexit
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 = %57, %9
%13 = phi i64 [ %7, %9 ], [ %59, %57 ]
%14 = phi i64 [ %6, %9 ], [ %58, %57 ]
%15 = phi i64 [ %3, %9 ], [ %27, %57 ]
%16 = add i64 %14, 2
%17 = icmp ult i64 %16, %2
br i1 %17, label %18, label %26
.loopexit: ; preds = %57, %32, %4
ret void
18: ; preds = %12
%19 = getelementptr [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %13, i32 1
%20 = load i64, ptr %19, align 8
%21 = getelementptr [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %16, i32 1
%22 = load i64, ptr %21, align 8
%23 = icmp ult i64 %20, %22
%24 = freeze i1 %23
%25 = select i1 %24, i64 %16, i64 %13
br label %26
26: ; preds = %18, %12
%27 = phi i64 [ %13, %12 ], [ %25, %18 ]
%28 = icmp ult i64 %15, %2
br i1 %28, label %29, label %31, !prof !381
29: ; preds = %26
%30 = icmp ult i64 %27, %2
br i1 %30, label %32, label %40, !prof !381
31: ; preds = %26
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %15, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.49) #23
unreachable
32: ; preds = %29
%33 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %15
%34 = getelementptr inbounds [0 x { { ptr, i64 }, i64 }], ptr %1, i64 0, i64 %27
%35 = getelementptr i8, ptr %33, i64 16
%36 = load i64, ptr %35, align 8
%37 = getelementptr i8, ptr %34, i64 16
%38 = load i64, ptr %37, align 8
%39 = icmp ult i64 %36, %38
br i1 %39, label %41, label %.loopexit
40: ; preds = %29
call void @_ZN4core9panicking18panic_bounds_check17hf3ff76b056e507fbE(i64 %27, i64 %2, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.50) #23
unreachable
41: ; preds = %32
call void @llvm.experimental.noalias.scope.decl(metadata !939)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5), !noalias !942
%42 = ptrtoint ptr %33 to i64
%43 = icmp ult ptr %5, %33
%44 = sub i64 %42, %11
%45 = sub i64 %11, %42
%46 = select i1 %43, i64 %44, i64 %45
%47 = icmp ult i64 %46, 24
br i1 %47, label %48, label %49
48: ; preds = %41
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !944
unreachable
49: ; preds = %41
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %33, i64 24, i1 false), !noalias !944
%50 = ptrtoint ptr %34 to i64
call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %34, i64 24, i1 false), !alias.scope !939, !noalias !944
%51 = icmp ugt ptr %5, %34
%52 = sub i64 %11, %50
%53 = sub i64 %50, %11
%54 = select i1 %51, i64 %52, i64 %53
%55 = icmp ult i64 %54, 24
br i1 %55, label %56, label %57
56: ; preds = %49
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.20, i64 166) #21, !noalias !944
unreachable
57: ; preds = %49
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %5, i64 24, i1 false), !noalias !944
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5), !noalias !942
%58 = shl i64 %27, 1
%59 = or i64 %58, 1
%60 = icmp ult i64 %59, %2
br i1 %60, label %12, label %.loopexit
}
; 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 %53, 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 %54, 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 %64
7: ; preds = %2
tail call void @llvm.experimental.noalias.scope.decl(metadata !945)
tail call void @llvm.experimental.noalias.scope.decl(metadata !948)
tail call void @llvm.experimental.noalias.scope.decl(metadata !951)
tail call void @llvm.experimental.noalias.scope.decl(metadata !954)
%8 = load i64, ptr %1, align 8, !alias.scope !956, !noalias !958
%9 = getelementptr inbounds i8, ptr %1, i64 8
%10 = load i64, ptr %9, align 8, !alias.scope !956, !noalias !958
%11 = getelementptr inbounds i8, ptr %1, i64 16
%12 = load ptr, ptr %11, align 8, !alias.scope !956, !noalias !958
%13 = getelementptr inbounds i8, ptr %1, i64 24
%14 = load i64, ptr %13, align 8, !alias.scope !956, !noalias !958
store i64 2, ptr %1, align 8, !alias.scope !960, !noalias !961
switch i64 %8, label %15 [
i64 2, label %62
i64 1, label %.loopexit
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 %.preheader99, label %.preheader
.preheader99: ; preds = %35, %16
%.ph = phi ptr [ %32, %35 ], [ %12, %16 ]
%.ph100 = phi i64 [ %33, %35 ], [ 0, %16 ]
br label %41
.preheader: ; preds = %16, %27
%19 = phi i64 [ %29, %27 ], [ %10, %16 ]
%20 = phi ptr [ %28, %27 ], [ %12, %16 ]
%21 = icmp ne ptr %20, null
tail call void @llvm.assume(i1 %21)
%22 = getelementptr %55, ptr %20, i64 0, i32 1
%23 = ptrtoint ptr %22 to i64
%24 = and i64 %23, 7
%25 = icmp eq i64 %24, 0
br i1 %25, label %27, label %26
26: ; preds = %.preheader
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !962
unreachable
27: ; preds = %.preheader
%28 = load ptr, ptr %22, align 8, !noalias !962
%29 = add i64 %19, -1
%30 = icmp eq i64 %29, 0
br i1 %30, label %.loopexit, label %.preheader
.loopexit: ; preds = %27, %7
%31 = phi i64 [ %14, %7 ], [ 0, %27 ]
%32 = phi ptr [ %12, %7 ], [ %28, %27 ]
%33 = phi i64 [ %10, %7 ], [ 0, %27 ]
%34 = icmp eq ptr %32, null
br i1 %34, label %62, label %35
35: ; preds = %.loopexit
%36 = getelementptr inbounds %5, ptr %32, i64 0, i32 4
%37 = load i16, ptr %36, align 2, !noalias !967
%38 = zext i16 %37 to i64
%39 = icmp ugt i64 %31, %38
br i1 %39, label %40, label %.preheader99
40: ; preds = %35
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 !967
unreachable
41: ; preds = %.preheader99, %50
%42 = phi ptr [ %44, %50 ], [ %.ph, %.preheader99 ]
%43 = phi i64 [ %47, %50 ], [ %.ph100, %.preheader99 ]
%44 = load ptr, ptr %42, align 8, !noalias !975
%45 = icmp eq ptr %44, null
br i1 %45, label %59, label %46
46: ; preds = %41
%47 = add i64 %43, 1
%48 = icmp eq i64 %47, 0
br i1 %48, label %49, label %50
49: ; preds = %46
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 !980
unreachable
50: ; preds = %46
%51 = getelementptr inbounds %5, ptr %42, i64 0, i32 3
%52 = load i16, ptr %51, align 8, !noalias !980
%53 = icmp eq i64 %43, 0
%54 = select i1 %53, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %42, i64 %54, i64 8) #22, !noalias !986
%55 = getelementptr inbounds %5, ptr %44, i64 0, i32 4
%56 = load i16, ptr %55, align 2, !noalias !987
%57 = icmp ugt i16 %52, %56
br i1 %57, label %58, label %41
58: ; preds = %50
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 !987
unreachable
59: ; preds = %41
%60 = icmp eq i64 %43, 0
%61 = select i1 %60, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %42, i64 %61, i64 8) #22, !noalias !986
br label %62
62: ; preds = %59, %.loopexit, %7
%63 = getelementptr inbounds %0, ptr %0, i64 0, i32 1
store ptr null, ptr %63, align 8
br label %183
64: ; preds = %2
%65 = add i64 %5, -1
store i64 %65, ptr %4, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !993)
%66 = load i64, ptr %1, align 8, !range !996, !alias.scope !993, !noalias !997, !noundef !25
%67 = icmp eq i64 %66, 2
br i1 %67, label %92, label %68
68: ; preds = %64
tail call void @llvm.experimental.noalias.scope.decl(metadata !999)
%69 = icmp eq i64 %66, 0
br i1 %69, label %70, label %93
70: ; preds = %68
%71 = getelementptr inbounds %56, ptr %1, i64 0, i32 1
%72 = load i64, ptr %71, align 8, !alias.scope !1002, !noalias !997
%73 = getelementptr inbounds %56, ptr %1, i64 0, i32 1, i32 1
%74 = load ptr, ptr %73, align 8, !alias.scope !1002, !noalias !997
%75 = icmp eq i64 %72, 0
br i1 %75, label %.loopexit24, label %.preheader23
.preheader23: ; preds = %70, %84
%76 = phi i64 [ %86, %84 ], [ %72, %70 ]
%77 = phi ptr [ %85, %84 ], [ %74, %70 ]
%78 = icmp ne ptr %77, null
tail call void @llvm.assume(i1 %78)
%79 = getelementptr %55, ptr %77, i64 0, i32 1
%80 = ptrtoint ptr %79 to i64
%81 = and i64 %80, 7
%82 = icmp eq i64 %81, 0
br i1 %82, label %84, label %83
83: ; preds = %.preheader23
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !1003
unreachable
84: ; preds = %.preheader23
%85 = load ptr, ptr %79, align 8, !noalias !1003
%86 = add i64 %76, -1
%87 = icmp eq i64 %86, 0
br i1 %87, label %.loopexit24, label %.preheader23
.loopexit24: ; preds = %84, %70
%88 = phi ptr [ %74, %70 ], [ %85, %84 ]
store i64 1, ptr %1, align 8, !alias.scope !1002, !noalias !997
store i64 0, ptr %71, align 8, !alias.scope !1002, !noalias !997
store ptr %88, ptr %73, align 8, !alias.scope !1002, !noalias !997
%89 = getelementptr inbounds i8, ptr %1, i64 24
store i64 0, ptr %89, align 8, !alias.scope !1002, !noalias !997
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %3), !noalias !1008
%90 = getelementptr inbounds %5, ptr %88, i64 0, i32 4
%91 = load i16, ptr %90, align 2, !noalias !1012
br label %105
92: ; preds = %64
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 !1027
unreachable
93: ; preds = %68
%94 = getelementptr inbounds %57, ptr %1, i64 0, i32 1, i32 1, i32 1
%95 = load ptr, ptr %94, align 8, !alias.scope !1028, !noalias !1031
%96 = getelementptr inbounds %57, ptr %1, i64 0, i32 1, i32 2
%97 = load i64, ptr %96, align 8, !alias.scope !1028, !noalias !1031
tail call void @llvm.experimental.noalias.scope.decl(metadata !1034)
tail call void @llvm.experimental.noalias.scope.decl(metadata !1035)
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %3), !noalias !1036
%98 = getelementptr inbounds %5, ptr %95, i64 0, i32 4
%99 = load i16, ptr %98, align 2, !noalias !1037
%100 = zext i16 %99 to i64
%101 = icmp ugt i64 %97, %100
br i1 %101, label %.loopexit20, label %102
102: ; preds = %93
%103 = getelementptr inbounds %57, ptr %1, i64 0, i32 1
%104 = load i64, ptr %103, align 8, !alias.scope !1028, !noalias !1031
br label %105
105: ; preds = %102, %.loopexit24
%106 = phi i64 [ 0, %.loopexit24 ], [ %104, %102 ]
%107 = phi i16 [ %91, %.loopexit24 ], [ %99, %102 ]
%108 = phi ptr [ %88, %.loopexit24 ], [ %95, %102 ]
%109 = phi i64 [ 0, %.loopexit24 ], [ %97, %102 ]
%110 = getelementptr inbounds %57, ptr %1, i64 0, i32 1
br label %113
111: ; preds = %.loopexit20
%112 = 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 %175 unwind label %173, !noalias !1038
113: ; preds = %158, %105
%114 = phi i16 [ %165, %158 ], [ %107, %105 ]
%115 = phi i64 [ %161, %158 ], [ %109, %105 ]
%116 = phi ptr [ %150, %158 ], [ %108, %105 ]
%117 = phi i64 [ %153, %158 ], [ %106, %105 ]
%118 = zext i16 %114 to i64
%119 = icmp ult i64 %115, %118
br i1 %119, label %120, label %149
120: ; preds = %113
%121 = icmp eq i64 %117, 0
%122 = add nuw i64 %115, 1
br i1 %121, label %176, label %123
123: ; preds = %120
%124 = icmp ugt i64 %115, 10
br i1 %124, label %125, label %126
125: ; preds = %123
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.131, i64 97) #21, !noalias !1039
unreachable
126: ; preds = %123
%127 = getelementptr ptr, ptr %116, i64 %122
%128 = getelementptr %55, ptr %127, i64 0, i32 1
%129 = ptrtoint ptr %128 to i64
%130 = and i64 %129, 7
%131 = icmp eq i64 %130, 0
br i1 %131, label %133, label %132
132: ; preds = %126
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !1039
unreachable
133: ; preds = %126
%134 = load ptr, ptr %128, align 8, !noalias !1039
%135 = add i64 %117, -1
%136 = icmp eq i64 %135, 0
br i1 %136, label %.loopexit19, label %.preheader18
.preheader18: ; preds = %133, %145
%137 = phi i64 [ %147, %145 ], [ %135, %133 ]
%138 = phi ptr [ %146, %145 ], [ %134, %133 ]
%139 = icmp ne ptr %138, null
tail call void @llvm.assume(i1 %139)
%140 = getelementptr %55, ptr %138, i64 0, i32 1
%141 = ptrtoint ptr %140 to i64
%142 = and i64 %141, 7
%143 = icmp eq i64 %142, 0
br i1 %143, label %145, label %144
144: ; preds = %.preheader18
tail call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.28, i64 101) #21, !noalias !1045
unreachable
145: ; preds = %.preheader18
%146 = load ptr, ptr %140, align 8, !noalias !1045
%147 = add i64 %137, -1
%148 = icmp eq i64 %147, 0
br i1 %148, label %.loopexit19, label %.preheader18
149: ; preds = %113
%150 = load ptr, ptr %116, align 8, !noalias !1050
%151 = icmp eq ptr %150, null
br i1 %151, label %155, label %152
152: ; preds = %149
%153 = add i64 %117, 1
%154 = icmp eq i64 %153, 0
br i1 %154, label %.loopexit20, label %158
155: ; preds = %149
%156 = icmp eq i64 %117, 0
%157 = select i1 %156, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %116, i64 %157, i64 8) #22, !noalias !1055
br label %.loopexit20
158: ; preds = %152
%159 = getelementptr inbounds %5, ptr %116, i64 0, i32 3
%160 = load i16, ptr %159, align 8, !noalias !1056
%161 = zext i16 %160 to i64
%162 = icmp eq i64 %117, 0
%163 = select i1 %162, i64 1336, i64 1432
tail call void @__rust_dealloc(ptr nonnull %116, i64 %163, i64 8) #22, !noalias !1055
%164 = getelementptr inbounds %5, ptr %150, i64 0, i32 4
%165 = load i16, ptr %164, align 2, !noalias !1062
%166 = icmp ugt i16 %160, %165
br i1 %166, label %.loopexit20, label %113
.loopexit19: ; preds = %145, %133
%167 = phi ptr [ %134, %133 ], [ %146, %145 ]
%168 = icmp eq ptr %167, null
br i1 %168, label %.loopexit20, label %176
.loopexit20: ; preds = %158, %152, %.loopexit19, %155, %93
%169 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.65, %93 ], [ @anon.0f79382001bad1c9081319f05be50b13.14, %.loopexit19 ], [ @anon.0f79382001bad1c9081319f05be50b13.14, %155 ], [ @anon.0f79382001bad1c9081319f05be50b13.69, %152 ], [ @anon.0f79382001bad1c9081319f05be50b13.65, %158 ]
%170 = phi i64 [ 35, %93 ], [ 43, %.loopexit19 ], [ 43, %155 ], [ 28, %152 ], [ 35, %158 ]
%171 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.66, %93 ], [ @anon.0f79382001bad1c9081319f05be50b13.72, %.loopexit19 ], [ @anon.0f79382001bad1c9081319f05be50b13.72, %155 ], [ @anon.0f79382001bad1c9081319f05be50b13.70, %152 ], [ @anon.0f79382001bad1c9081319f05be50b13.66, %158 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 %169, i64 %170, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %171) #23
to label %172 unwind label %111, !noalias !1038
172: ; preds = %.loopexit20
unreachable
173: ; preds = %111
%174 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1038
unreachable
175: ; preds = %111
resume { ptr, i32 } %112
176: ; preds = %.loopexit19, %120
%177 = phi ptr [ %167, %.loopexit19 ], [ %116, %120 ]
%178 = phi i64 [ 0, %.loopexit19 ], [ %122, %120 ]
%179 = getelementptr inbounds %57, ptr %1, i64 0, i32 1, i32 2
%180 = getelementptr inbounds %57, ptr %1, i64 0, i32 1, i32 1, i32 1
store i64 0, ptr %110, align 8, !alias.scope !1028, !noalias !1031
store ptr %177, ptr %180, align 8, !alias.scope !1028, !noalias !1031
store i64 %178, ptr %179, align 8, !alias.scope !1028, !noalias !1031
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %3), !noalias !1036
store i64 %117, ptr %0, align 8
%181 = getelementptr inbounds i8, ptr %0, i64 8
store ptr %116, ptr %181, align 8
%182 = getelementptr inbounds i8, ptr %0, i64 16
store i64 %115, ptr %182, align 8
br label %183
183: ; preds = %176, %62
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 %60, ptr %2, i64 0, i32 2, i32 11
tail call void @llvm.experimental.noalias.scope.decl(metadata !1068)
%4 = load ptr, ptr %3, align 8, !alias.scope !1068
%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 !1071
%8 = icmp eq i64 %7, 1
br i1 %8, label %9, label %10
9: ; preds = %6
fence acquire, !noalias !1071
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 %60, ptr %2, i64 0, i32 1
%14 = atomicrmw sub ptr %13, i64 1 release, align 8, !noalias !1076
%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 !1076
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 %.0.val, i64 %.8.val, i64 %.16.val) unnamed_addr #7 {
%4 = alloca %65, align 8
%5 = alloca %53, align 8
%6 = alloca i64, align 8
%7 = alloca i64, align 8
%8 = icmp eq i64 %2, 0
br i1 %8, label %11, label %9
9: ; preds = %3
%10 = icmp eq i64 %.16.val, 0
br i1 %10, label %19, label %16
11: ; preds = %3
%12 = getelementptr inbounds %66, ptr %0, i64 0, i32 1
store i64 %1, ptr %12, align 8
%13 = getelementptr inbounds %66, ptr %0, i64 0, i32 1, i32 1
store i64 0, ptr %13, align 8
br label %14
14: ; preds = %31, %28, %11
%15 = phi i64 [ 1, %11 ], [ 0, %28 ], [ 1, %31 ]
store i64 %15, ptr %0, align 8
ret void
16: ; preds = %9
%17 = icmp ne ptr %.0.val, null
tail call void @llvm.assume(i1 %17)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7)
store i64 %.16.val, ptr %7, align 8
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6)
store i64 %2, ptr %6, align 8
%18 = icmp eq i64 %.16.val, %2
br i1 %18, label %34, label %51
19: ; preds = %9
%20 = icmp eq i64 %1, 0
br i1 %20, label %21, label %23
21: ; preds = %19
%22 = inttoptr i64 %2 to ptr
br label %25
23: ; preds = %19
%24 = tail call ptr @__rust_alloc(i64 %1, i64 %2) #22
br label %25
25: ; preds = %49, %47, %45, %23, %21
%26 = phi ptr [ %22, %21 ], [ %24, %23 ], [ %50, %49 ], [ %46, %45 ], [ %48, %47 ]
%27 = icmp eq ptr %26, null
br i1 %27, label %31, label %28
28: ; preds = %25
%29 = getelementptr inbounds %67, ptr %0, i64 0, i32 1
store ptr %26, ptr %29, align 8, !alias.scope !1079
%30 = getelementptr inbounds %67, ptr %0, i64 0, i32 1, i32 1
store i64 %1, ptr %30, align 8, !alias.scope !1079
br label %14
31: ; preds = %25
%32 = getelementptr inbounds %66, ptr %0, i64 0, i32 1
store i64 %1, ptr %32, align 8, !alias.scope !1079
%33 = getelementptr inbounds %66, ptr %0, i64 0, i32 1, i32 1
store i64 %2, ptr %33, align 8, !alias.scope !1079
br label %14
34: ; preds = %16
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6)
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7)
%35 = icmp ugt i64 %.8.val, %1
br i1 %35, label %38, label %36
36: ; preds = %34
%37 = icmp eq i64 %.8.val, 0
br i1 %37, label %43, label %49
38: ; preds = %34
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4)
store ptr @anon.0f79382001bad1c9081319f05be50b13.79, ptr %4, align 8, !alias.scope !1082, !noalias !1085
%39 = getelementptr inbounds { ptr, i64 }, ptr %4, i64 0, i32 1
store i64 1, ptr %39, align 8, !alias.scope !1082, !noalias !1085
%40 = getelementptr inbounds %65, ptr %4, i64 0, i32 1
store ptr null, ptr %40, align 8, !alias.scope !1082, !noalias !1085
%41 = getelementptr inbounds %65, ptr %4, i64 0, i32 2
store ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %41, align 8, !alias.scope !1082, !noalias !1085
%42 = getelementptr inbounds %65, ptr %4, i64 0, i32 2, i32 1
store i64 0, ptr %42, align 8, !alias.scope !1082, !noalias !1085
call void @_ZN4core9panicking9panic_fmt17h30d6090f102031dcE(ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %4, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.81) #23
unreachable
43: ; preds = %36
%44 = icmp eq i64 %1, 0
br i1 %44, label %45, label %47
45: ; preds = %43
%46 = inttoptr i64 %2 to ptr
br label %25
47: ; preds = %43
%48 = tail call ptr @__rust_alloc(i64 %1, i64 %2) #22
br label %25
49: ; preds = %36
%50 = tail call ptr @__rust_realloc(ptr nonnull %.0.val, i64 %.8.val, i64 %2, i64 %1) #22
br label %25
51: ; preds = %16
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5)
store ptr null, ptr %5, align 8
call fastcc void @_ZN4core9panicking13assert_failed17h9ed4e42d661dd331E(ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %7, ptr noalias noundef nonnull readonly align 8 dereferenceable(8) %6, ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %5, 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 %68, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1088)
%4 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 1)
%5 = extractvalue { i64, i1 } %4, 1
br i1 %5, label %35, label %6
6: ; preds = %2
%7 = extractvalue { i64, i1 } %4, 0
%8 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%9 = load i64, ptr %8, align 8, !alias.scope !1088
%10 = shl i64 %9, 1
%11 = tail call i64 @llvm.umax.i64(i64 %10, i64 %7)
%12 = tail call i64 @llvm.umax.i64(i64 %11, i64 4)
%13 = icmp ugt i64 %12, 576460752303423487
%14 = shl nuw nsw i64 %12, 4
%15 = select i1 %13, i64 0, i64 8
%16 = select i1 %13, i64 undef, i64 %14
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !1088
%17 = load ptr, ptr %0, align 8, !alias.scope !1088
%18 = icmp eq i64 %9, 0
br i1 %18, label %25, label %19
19: ; preds = %6
%20 = icmp ugt i64 %9, 576460752303423487
br i1 %20, label %21, label %22
21: ; preds = %19
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 !1091
unreachable
22: ; preds = %19
%23 = shl nuw nsw i64 %9, 4
%24 = icmp ne ptr %17, null
tail call void @llvm.assume(i1 %24)
br label %25
25: ; preds = %6, %22
%.sroa.6.0 = phi i64 [ 8, %22 ], [ 0, %6 ]
%.sroa.4.0 = phi i64 [ %23, %22 ], [ undef, %6 ]
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %3, i64 %16, i64 noundef %15, ptr %17, i64 %.sroa.4.0, i64 %.sroa.6.0)
%26 = load i64, ptr %3, align 8, !range !23, !noalias !1088, !noundef !25
%27 = icmp eq i64 %26, 0
%28 = getelementptr inbounds %66, ptr %3, i64 0, i32 1
%29 = load i64, ptr %28, align 8, !noalias !1088
%30 = getelementptr inbounds %66, ptr %3, i64 0, i32 1, i32 1
%31 = load i64, ptr %30, align 8, !noalias !1088
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !1088
br i1 %27, label %32, label %34
32: ; preds = %25
%33 = inttoptr i64 %29 to ptr
store ptr %33, ptr %0, align 8, !alias.scope !1094
store i64 %12, ptr %8, align 8, !alias.scope !1094
br label %37
34: ; preds = %25
switch i64 %31, label %36 [
i64 -9223372036854775807, label %37
i64 0, label %35
]
35: ; preds = %34, %2
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
36: ; preds = %34
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %29, i64 noundef %31) #23
unreachable
37: ; preds = %34, %32
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 %68, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1097)
%4 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 1)
%5 = extractvalue { i64, i1 } %4, 1
br i1 %5, label %35, label %6
6: ; preds = %2
%7 = extractvalue { i64, i1 } %4, 0
%8 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%9 = load i64, ptr %8, align 8, !alias.scope !1097
%10 = shl i64 %9, 1
%11 = tail call i64 @llvm.umax.i64(i64 %10, i64 %7)
%12 = tail call i64 @llvm.umax.i64(i64 %11, i64 4)
%13 = icmp ugt i64 %12, 230584300921369395
%14 = mul nuw nsw i64 %12, 40
%15 = select i1 %13, i64 0, i64 8
%16 = select i1 %13, i64 undef, i64 %14
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !1097
%17 = load ptr, ptr %0, align 8, !alias.scope !1097
%18 = icmp eq i64 %9, 0
br i1 %18, label %25, label %19
19: ; preds = %6
%20 = icmp ugt i64 %9, 230584300921369395
br i1 %20, label %21, label %22
21: ; preds = %19
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 !1100
unreachable
22: ; preds = %19
%23 = mul nuw nsw i64 %9, 40
%24 = icmp ne ptr %17, null
tail call void @llvm.assume(i1 %24)
br label %25
25: ; preds = %6, %22
%.sroa.6.0 = phi i64 [ 8, %22 ], [ 0, %6 ]
%.sroa.4.0 = phi i64 [ %23, %22 ], [ undef, %6 ]
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %3, i64 %16, i64 noundef %15, ptr %17, i64 %.sroa.4.0, i64 %.sroa.6.0)
%26 = load i64, ptr %3, align 8, !range !23, !noalias !1097, !noundef !25
%27 = icmp eq i64 %26, 0
%28 = getelementptr inbounds %66, ptr %3, i64 0, i32 1
%29 = load i64, ptr %28, align 8, !noalias !1097
%30 = getelementptr inbounds %66, ptr %3, i64 0, i32 1, i32 1
%31 = load i64, ptr %30, align 8, !noalias !1097
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !1097
br i1 %27, label %32, label %34
32: ; preds = %25
%33 = inttoptr i64 %29 to ptr
store ptr %33, ptr %0, align 8, !alias.scope !1103
store i64 %12, ptr %8, align 8, !alias.scope !1103
br label %37
34: ; preds = %25
switch i64 %31, label %36 [
i64 -9223372036854775807, label %37
i64 0, label %35
]
35: ; preds = %34, %2
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
36: ; preds = %34
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %29, i64 noundef %31) #23
unreachable
37: ; preds = %34, %32
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) unnamed_addr #3 personality ptr @rust_eh_personality {
%3 = alloca %68, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1106)
%4 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 1)
%5 = extractvalue { i64, i1 } %4, 1
br i1 %5, label %35, label %6
6: ; preds = %2
%7 = extractvalue { i64, i1 } %4, 0
%8 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%9 = load i64, ptr %8, align 8, !alias.scope !1106
%10 = shl i64 %9, 1
%11 = tail call i64 @llvm.umax.i64(i64 %10, i64 %7)
%12 = tail call i64 @llvm.umax.i64(i64 %11, i64 4)
%13 = icmp ugt i64 %12, 384307168202282325
%14 = mul nuw nsw i64 %12, 24
%15 = select i1 %13, i64 0, i64 8
%16 = select i1 %13, i64 undef, i64 %14
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3), !noalias !1106
%17 = load ptr, ptr %0, align 8, !alias.scope !1106
%18 = icmp eq i64 %9, 0
br i1 %18, label %25, label %19
19: ; preds = %6
%20 = icmp ugt i64 %9, 384307168202282325
br i1 %20, label %21, label %22
21: ; preds = %19
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 !1109
unreachable
22: ; preds = %19
%23 = mul nuw nsw i64 %9, 24
%24 = icmp ne ptr %17, null
tail call void @llvm.assume(i1 %24)
br label %25
25: ; preds = %6, %22
%.sroa.6.0 = phi i64 [ 8, %22 ], [ 0, %6 ]
%.sroa.4.0 = phi i64 [ %23, %22 ], [ undef, %6 ]
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %3, i64 %16, i64 noundef %15, ptr %17, i64 %.sroa.4.0, i64 %.sroa.6.0)
%26 = load i64, ptr %3, align 8, !range !23, !noalias !1106, !noundef !25
%27 = icmp eq i64 %26, 0
%28 = getelementptr inbounds %66, ptr %3, i64 0, i32 1
%29 = load i64, ptr %28, align 8, !noalias !1106
%30 = getelementptr inbounds %66, ptr %3, i64 0, i32 1, i32 1
%31 = load i64, ptr %30, align 8, !noalias !1106
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3), !noalias !1106
br i1 %27, label %32, label %34
32: ; preds = %25
%33 = inttoptr i64 %29 to ptr
store ptr %33, ptr %0, align 8, !alias.scope !1112
store i64 %12, ptr %8, align 8, !alias.scope !1112
br label %37
34: ; preds = %25
switch i64 %31, label %36 [
i64 -9223372036854775807, label %37
i64 0, label %35
]
35: ; preds = %34, %2
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
36: ; preds = %34
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %29, i64 noundef %31) #23
unreachable
37: ; preds = %34, %32
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 %68, align 8
tail call void @llvm.experimental.noalias.scope.decl(metadata !1115)
%5 = icmp eq i64 %2, 0
br i1 %5, label %6, label %7
6: ; 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 !1115
unreachable
7: ; preds = %3
%8 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1, i64 %2)
%9 = extractvalue { i64, i1 } %8, 1
br i1 %9, label %39, label %10
10: ; preds = %7
%11 = extractvalue { i64, i1 } %8, 0
%12 = getelementptr { ptr, i64 }, ptr %0, i64 0, i32 1
%13 = load i64, ptr %12, align 8, !alias.scope !1115
%14 = shl i64 %13, 1
%15 = tail call i64 @llvm.umax.i64(i64 %14, i64 %11)
%16 = tail call i64 @llvm.umax.i64(i64 %15, i64 4)
%17 = icmp ugt i64 %16, 36028797018963967
%18 = shl nuw nsw i64 %16, 8
%19 = select i1 %17, i64 0, i64 8
%20 = select i1 %17, i64 undef, i64 %18
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4), !noalias !1115
%21 = load ptr, ptr %0, align 8, !alias.scope !1115
%22 = icmp eq i64 %13, 0
br i1 %22, label %29, label %23
23: ; preds = %10
%24 = icmp ugt i64 %13, 36028797018963967
br i1 %24, label %25, label %26
25: ; preds = %23
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 !1118
unreachable
26: ; preds = %23
%27 = shl nuw nsw i64 %13, 8
%28 = icmp ne ptr %21, null
tail call void @llvm.assume(i1 %28)
br label %29
29: ; preds = %10, %26
%.sroa.6.0 = phi i64 [ 8, %26 ], [ 0, %10 ]
%.sroa.4.0 = phi i64 [ %27, %26 ], [ undef, %10 ]
call fastcc void @_ZN5alloc7raw_vec11finish_grow17hb4f541f4a5d0e68cE(ptr noalias nocapture noundef nonnull dereferenceable(24) %4, i64 %20, i64 noundef %19, ptr %21, i64 %.sroa.4.0, i64 %.sroa.6.0)
%30 = load i64, ptr %4, align 8, !range !23, !noalias !1115, !noundef !25
%31 = icmp eq i64 %30, 0
%32 = getelementptr inbounds %66, ptr %4, i64 0, i32 1
%33 = load i64, ptr %32, align 8, !noalias !1115
%34 = getelementptr inbounds %66, ptr %4, i64 0, i32 1, i32 1
%35 = load i64, ptr %34, align 8, !noalias !1115
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4), !noalias !1115
br i1 %31, label %36, label %38
36: ; preds = %29
%37 = inttoptr i64 %33 to ptr
store ptr %37, ptr %0, align 8, !alias.scope !1121
store i64 %16, ptr %12, align 8, !alias.scope !1121
br label %41
38: ; preds = %29
switch i64 %35, label %40 [
i64 -9223372036854775807, label %41
i64 0, label %39
]
39: ; preds = %38, %7
tail call void @_ZN5alloc7raw_vec17capacity_overflow17hd92760af2ac8e62dE() #23
unreachable
40: ; preds = %38
tail call void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %33, i64 noundef %35) #23
unreachable
41: ; preds = %38, %36
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 %69, align 8
%8 = alloca %70, align 8
%9 = alloca ptr, align 8
%10 = alloca ptr, align 8
%11 = alloca %37, align 8
%12 = alloca %65, align 8
%13 = alloca %65, align 8
%14 = alloca %71, align 8
%15 = getelementptr i8, ptr %1, i64 12
%16 = load i32, ptr %15, align 1
%17 = icmp eq i32 %16, 1
%18 = getelementptr i8, ptr %1, i64 16
%19 = load i32, ptr %18, align 1
%20 = getelementptr i8, ptr %1, i64 20
%21 = load i32, ptr %20, align 1
%22 = zext i32 %21 to i64
%23 = 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 %22)
to label %24 unwind label %27
24: ; preds = %4
%25 = extractvalue { ptr, i64 } %23, 0
%26 = icmp eq ptr %25, null
br i1 %26, label %43, label %29
27: ; preds = %184, %4
%.sroa.11.0 = phi i64 [ %.sroa.11.1, %184 ], [ 0, %4 ]
%.sroa.0.0 = phi ptr [ %.sroa.0.1, %184 ], [ inttoptr (i64 8 to ptr), %4 ]
%28 = landingpad { ptr, i32 }
cleanup
br label %559
29: ; preds = %24
%30 = extractvalue { ptr, i64 } %23, 1
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14)
store ptr inttoptr (i64 8 to ptr), ptr %14, align 8
%31 = getelementptr inbounds { ptr, i64 }, ptr %14, i64 0, i32 1
%32 = getelementptr inbounds %71, ptr %14, i64 0, i32 1
%33 = icmp eq i32 %19, 0
%34 = icmp ult i64 %30, 8
%35 = select i1 %33, i1 true, i1 %34
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %31, i8 0, i64 16, i1 false)
br i1 %35, label %.thread, label %36
36: ; preds = %29
%37 = getelementptr inbounds i8, ptr %11, i64 8
%38 = getelementptr inbounds i8, ptr %11, i64 16
%39 = getelementptr inbounds { ptr, i64 }, ptr %8, i64 0, i32 1
%40 = getelementptr inbounds %70, ptr %8, i64 0, i32 1
%41 = getelementptr inbounds { ptr, i64 }, ptr %7, i64 0, i32 1
%42 = getelementptr inbounds %69, ptr %7, i64 0, i32 1
br label %53
43: ; preds = %24
%44 = getelementptr inbounds %72, ptr %0, i64 0, i32 1
store i8 2, ptr %44, align 8
br label %149
45: ; preds = %184, %182
%46 = icmp eq i64 %.sroa.11.1, 0
br i1 %46, label %149, label %47
47: ; preds = %45
%48 = icmp ugt i64 %.sroa.11.1, 384307168202282325
br i1 %48, label %49, label %50
49: ; preds = %47
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 !1124
unreachable
50: ; preds = %47
%51 = mul nuw nsw i64 %.sroa.11.1, 24
%52 = icmp ne ptr %.sroa.0.1, null
call void @llvm.assume(i1 %52)
call void @__rust_dealloc(ptr nonnull %.sroa.0.1, i64 %51, i64 8) #22, !noalias !1129
br label %149
53: ; preds = %513, %36
%.sroa.22.0 = phi i64 [ undef, %36 ], [ %.sroa.22.2, %513 ]
%.sroa.19.0 = phi i64 [ undef, %36 ], [ %.sroa.19.2, %513 ]
%.sroa.16120.0 = phi ptr [ undef, %36 ], [ %.sroa.16120.2, %513 ]
%.sroa.16.0 = phi i64 [ undef, %36 ], [ %.sroa.16.2, %513 ]
%.sroa.13.0 = phi i64 [ undef, %36 ], [ %.sroa.13.2, %513 ]
%.sroa.0103.0 = phi ptr [ null, %36 ], [ %.sroa.0103.2, %513 ]
%.sroa.11.1 = phi i64 [ 0, %36 ], [ %.sroa.11.4, %513 ]
%.sroa.17.0 = phi i64 [ 0, %36 ], [ %.sroa.17.2, %513 ]
%.sroa.0.1 = phi ptr [ inttoptr (i64 8 to ptr), %36 ], [ %.sroa.0.4, %513 ]
%54 = phi ptr [ null, %36 ], [ %517, %513 ]
%55 = phi i64 [ undef, %36 ], [ %516, %513 ]
%56 = phi i8 [ 0, %36 ], [ %515, %513 ]
%57 = phi i64 [ undef, %36 ], [ %514, %513 ]
%58 = phi ptr [ %25, %36 ], [ %66, %513 ]
%59 = phi i64 [ %30, %36 ], [ %67, %513 ]
%60 = phi i32 [ %19, %36 ], [ %131, %513 ]
%61 = getelementptr inbounds %73, ptr %58, i64 0, i32 1
%62 = load i32, ptr %61, align 1, !noalias !1130
%63 = zext i32 %62 to i64
%64 = icmp ult i64 %59, %63
%65 = getelementptr inbounds i8, ptr %58, i64 %63
%66 = select i1 %64, ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %65
%67 = call i64 @llvm.usub.sat.i64(i64 %59, i64 %63)
br i1 %64, label %.loopexit169, label %129
68: ; preds = %.preheader167
%69 = landingpad { ptr, i32 }
cleanup
br label %553
70: ; preds = %539, %527, %315, %310, %165, %152
%.sroa.11.2 = phi i64 [ %.sroa.0139.1, %310 ], [ %.sroa.0139.1, %315 ], [ %.sroa.11.1, %165 ], [ %.sroa.11.1, %539 ], [ %.sroa.11.1, %527 ], [ %.sroa.11.1, %152 ]
%.sroa.0.2 = phi ptr [ %289, %310 ], [ %289, %315 ], [ %.sroa.0.1, %165 ], [ %.sroa.0.1, %539 ], [ %.sroa.0.1, %527 ], [ %.sroa.0.1, %152 ]
%71 = landingpad { ptr, i32 }
cleanup
br label %553
72: ; preds = %.split.loop.exit
%73 = landingpad { ptr, i32 }
cleanup
br label %553
.loopexit169: ; preds = %513, %53
%.sroa.22.1.ph = phi i64 [ %.sroa.22.0, %53 ], [ %.sroa.22.2, %513 ]
%.sroa.19.1.ph = phi i64 [ %.sroa.19.0, %53 ], [ %.sroa.19.2, %513 ]
%.sroa.16120.1.ph = phi ptr [ %.sroa.16120.0, %53 ], [ %.sroa.16120.2, %513 ]
%.sroa.16.1.ph = phi i64 [ %.sroa.16.0, %53 ], [ %.sroa.16.2, %513 ]
%.sroa.13.1.ph = phi i64 [ %.sroa.13.0, %53 ], [ %.sroa.13.2, %513 ]
%.sroa.0103.1.ph = phi ptr [ %.sroa.0103.0, %53 ], [ %.sroa.0103.2, %513 ]
%.sroa.11.3.ph = phi i64 [ %.sroa.11.1, %53 ], [ %.sroa.11.4, %513 ]
%.sroa.17.1.ph = phi i64 [ %.sroa.17.0, %53 ], [ %.sroa.17.2, %513 ]
%.sroa.0.3.ph = phi ptr [ %.sroa.0.1, %53 ], [ %.sroa.0.4, %513 ]
%.ph = phi i8 [ %56, %53 ], [ %515, %513 ]
%.ph416 = phi i64 [ %55, %53 ], [ %516, %513 ]
%.ph417 = phi ptr [ %54, %53 ], [ %517, %513 ]
%.sroa.0157.0.copyload.pre = load ptr, ptr %14, align 8
%.sroa.6159.0.copyload.pre = load i64, ptr %31, align 8
%.sroa.8.0.copyload.pre = load i64, ptr %32, align 8
%74 = icmp ugt i64 %.sroa.6159.0.copyload.pre, %.sroa.8.0.copyload.pre
br i1 %74, label %75, label %101
75: ; preds = %.loopexit169
%76 = icmp ugt i64 %.sroa.6159.0.copyload.pre, 36028797018963967
br i1 %76, label %80, label %77
77: ; preds = %75
%78 = icmp ne ptr %.sroa.0157.0.copyload.pre, null
call void @llvm.assume(i1 %78)
%79 = icmp ugt i64 %.sroa.8.0.copyload.pre, 36028797018963967
br i1 %79, label %80, label %83
80: ; preds = %77, %75
%81 = phi ptr [ @anon.0f79382001bad1c9081319f05be50b13.93, %75 ], [ @anon.0f79382001bad1c9081319f05be50b13.96, %77 ]
invoke void @_ZN4core9panicking5panic17h2f4a8b6327048456E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.57, i64 30, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) %81) #23
to label %82 unwind label %126, !noalias !1134
82: ; preds = %80
unreachable
83: ; preds = %77
%84 = shl nuw nsw i64 %.sroa.6159.0.copyload.pre, 8
%85 = shl nuw nsw i64 %.sroa.8.0.copyload.pre, 8
%86 = icmp ugt i64 %85, %84
br i1 %86, label %89, label %87
87: ; preds = %83
%88 = icmp eq i64 %.sroa.8.0.copyload.pre, 0
br i1 %88, label %95, label %96
89: ; preds = %83
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %13), !noalias !1137
store ptr @anon.0f79382001bad1c9081319f05be50b13.107, ptr %13, align 8, !alias.scope !1144, !noalias !1147
%90 = getelementptr inbounds { ptr, i64 }, ptr %13, i64 0, i32 1
store i64 1, ptr %90, align 8, !alias.scope !1144, !noalias !1147
%91 = getelementptr inbounds %65, ptr %13, i64 0, i32 1
store ptr null, ptr %91, align 8, !alias.scope !1144, !noalias !1147
%92 = getelementptr inbounds %65, ptr %13, i64 0, i32 2
store ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %92, align 8, !alias.scope !1144, !noalias !1147
%93 = getelementptr inbounds %65, ptr %13, i64 0, i32 2, i32 1
store i64 0, ptr %93, align 8, !alias.scope !1144, !noalias !1147
invoke void @_ZN4core9panicking9panic_fmt17h30d6090f102031dcE(ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %13, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.108) #23
to label %94 unwind label %126, !noalias !1134
94: ; preds = %89
unreachable
95: ; preds = %87
call void @__rust_dealloc(ptr nonnull %.sroa.0157.0.copyload.pre, i64 %84, i64 8) #22, !noalias !1137
br label %.thread
96: ; preds = %87
%97 = call align 8 ptr @__rust_realloc(ptr nonnull %.sroa.0157.0.copyload.pre, i64 %84, i64 8, i64 %85) #22, !noalias !1137
%98 = icmp eq ptr %97, null
br i1 %98, label %99, label %.thread
99: ; preds = %96
invoke void @_ZN5alloc5alloc18handle_alloc_error17hd01c3b751460629fE(i64 %85, i64 noundef 8) #23
to label %100 unwind label %126, !noalias !1134
100: ; preds = %99
unreachable
101: ; preds = %.loopexit169
%102 = icmp ne ptr %.sroa.0157.0.copyload.pre, null
call void @llvm.assume(i1 %102)
%103 = icmp ugt i64 %.sroa.8.0.copyload.pre, %.sroa.6159.0.copyload.pre
br i1 %103, label %114, label %.thread
.thread: ; preds = %29, %101, %96, %95
%104 = phi ptr [ %.ph417, %101 ], [ %.ph417, %95 ], [ %.ph417, %96 ], [ null, %29 ]
%105 = phi i64 [ %.ph416, %101 ], [ %.ph416, %95 ], [ %.ph416, %96 ], [ undef, %29 ]
%106 = phi i8 [ %.ph, %101 ], [ %.ph, %95 ], [ %.ph, %96 ], [ 0, %29 ]
%.sroa.0.3702 = phi ptr [ %.sroa.0.3.ph, %101 ], [ %.sroa.0.3.ph, %95 ], [ %.sroa.0.3.ph, %96 ], [ inttoptr (i64 8 to ptr), %29 ]
%.sroa.17.1698 = phi i64 [ %.sroa.17.1.ph, %101 ], [ %.sroa.17.1.ph, %95 ], [ %.sroa.17.1.ph, %96 ], [ 0, %29 ]
%.sroa.11.3697 = phi i64 [ %.sroa.11.3.ph, %101 ], [ %.sroa.11.3.ph, %95 ], [ %.sroa.11.3.ph, %96 ], [ 0, %29 ]
%.sroa.0103.1694 = phi ptr [ %.sroa.0103.1.ph, %101 ], [ %.sroa.0103.1.ph, %95 ], [ %.sroa.0103.1.ph, %96 ], [ null, %29 ]
%.sroa.13.1691 = phi i64 [ %.sroa.13.1.ph, %101 ], [ %.sroa.13.1.ph, %95 ], [ %.sroa.13.1.ph, %96 ], [ undef, %29 ]
%.sroa.16.1687 = phi i64 [ %.sroa.16.1.ph, %101 ], [ %.sroa.16.1.ph, %95 ], [ %.sroa.16.1.ph, %96 ], [ undef, %29 ]
%.sroa.16120.1686 = phi ptr [ %.sroa.16120.1.ph, %101 ], [ %.sroa.16120.1.ph, %95 ], [ %.sroa.16120.1.ph, %96 ], [ undef, %29 ]
%.sroa.19.1683 = phi i64 [ %.sroa.19.1.ph, %101 ], [ %.sroa.19.1.ph, %95 ], [ %.sroa.19.1.ph, %96 ], [ undef, %29 ]
%.sroa.22.1679 = phi i64 [ %.sroa.22.1.ph, %101 ], [ %.sroa.22.1.ph, %95 ], [ %.sroa.22.1.ph, %96 ], [ undef, %29 ]
%.sroa.8.0.copyload673 = phi i64 [ %.sroa.8.0.copyload.pre, %101 ], [ 0, %95 ], [ %.sroa.8.0.copyload.pre, %96 ], [ 0, %29 ]
%107 = phi ptr [ %.sroa.0157.0.copyload.pre, %101 ], [ inttoptr (i64 8 to ptr), %95 ], [ %97, %96 ], [ inttoptr (i64 8 to ptr), %29 ]
%108 = ptrtoint ptr %107 to i64
%109 = and i64 %108, 7
%110 = icmp ne i64 %109, 0
%111 = icmp ugt i64 %.sroa.8.0.copyload673, 36028797018963967
%112 = select i1 %110, i1 true, i1 %111
br i1 %112, label %113, label %136
113: ; preds = %.thread
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !1134
unreachable
114: ; preds = %101
call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12), !noalias !1134
store ptr @anon.0f79382001bad1c9081319f05be50b13.98, ptr %12, align 8, !alias.scope !1150, !noalias !1153
%115 = getelementptr inbounds { ptr, i64 }, ptr %12, i64 0, i32 1
store i64 1, ptr %115, align 8, !alias.scope !1150, !noalias !1153
%116 = getelementptr inbounds %65, ptr %12, i64 0, i32 1
store ptr null, ptr %116, align 8, !alias.scope !1150, !noalias !1153
%117 = getelementptr inbounds %65, ptr %12, i64 0, i32 2
store ptr @anon.0f79382001bad1c9081319f05be50b13.0, ptr %117, align 8, !alias.scope !1150, !noalias !1153
%118 = getelementptr inbounds %65, ptr %12, i64 0, i32 2, i32 1
store i64 0, ptr %118, align 8, !alias.scope !1150, !noalias !1153
invoke void @_ZN4core9panicking9panic_fmt17h30d6090f102031dcE(ptr noalias nocapture noundef nonnull readonly dereferenceable(48) %12, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.99) #23
to label %119 unwind label %120, !noalias !1134
119: ; preds = %114
unreachable
120: ; preds = %114
%121 = 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 %.sroa.0157.0.copyload.pre, i64 %.sroa.6159.0.copyload.pre) #24
to label %134 unwind label %122, !noalias !1134
122: ; preds = %120
%123 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1134
unreachable
124: ; preds = %126
%125 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1134
unreachable
126: ; preds = %99, %89, %80
%127 = landingpad { ptr, i32 }
cleanup
%128 = icmp ne ptr %.sroa.0157.0.copyload.pre, null
call void @llvm.assume(i1 %128)
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 nonnull %.sroa.0157.0.copyload.pre, i64 %.sroa.6159.0.copyload.pre, i64 %.sroa.8.0.copyload.pre) #24
to label %134 unwind label %124
129: ; preds = %53
%130 = load i32, ptr %58, align 1, !noalias !1130
%131 = add i32 %60, -1
switch i32 %130, label %513 [
i32 25, label %132
i32 2, label %163
]
132: ; preds = %129
%133 = icmp ult i32 %62, 72
br i1 %133, label %150, label %152
134: ; preds = %126, %120
%135 = phi { ptr, i32 } [ %127, %126 ], [ %121, %120 ]
invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"(ptr %.sroa.0103.1.ph, i64 %.sroa.13.1.ph, ptr %.sroa.16120.1.ph, i64 %.sroa.19.1.ph) #24
to label %148 unwind label %146
136: ; preds = %.thread
%137 = and i8 %106, 1
%138 = getelementptr inbounds i8, ptr %0, i64 32
store ptr %.sroa.0.3702, ptr %138, align 8
%.sroa.11.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 40
store i64 %.sroa.11.3697, ptr %.sroa.11.0..sroa_idx, align 8
%.sroa.17.0..sroa_idx = getelementptr inbounds i8, ptr %0, i64 48
store i64 %.sroa.17.1698, ptr %.sroa.17.0..sroa_idx, align 8
%139 = getelementptr inbounds i8, ptr %0, i64 56
store ptr %.sroa.0103.1694, ptr %139, align 8
%.sroa.13.0..sroa_idx112 = getelementptr inbounds i8, ptr %0, i64 64
store i64 %.sroa.13.1691, ptr %.sroa.13.0..sroa_idx112, align 8
%.sroa.16.0..sroa_idx118 = getelementptr inbounds i8, ptr %0, i64 72
store i64 %.sroa.16.1687, ptr %.sroa.16.0..sroa_idx118, align 8
%.sroa.16120.0..sroa_idx125 = getelementptr inbounds i8, ptr %0, i64 80
store ptr %.sroa.16120.1686, ptr %.sroa.16120.0..sroa_idx125, align 8
%.sroa.19.0..sroa_idx131 = getelementptr inbounds i8, ptr %0, i64 88
store i64 %.sroa.19.1683, ptr %.sroa.19.0..sroa_idx131, align 8
%.sroa.22.0..sroa_idx137 = getelementptr inbounds i8, ptr %0, i64 96
store i64 %.sroa.22.1679, ptr %.sroa.22.0..sroa_idx137, align 8
store ptr %2, ptr %0, align 8
%140 = getelementptr inbounds i8, ptr %0, i64 8
store i64 %3, ptr %140, align 8
%141 = getelementptr inbounds i8, ptr %0, i64 16
store ptr %104, ptr %141, align 8
%142 = getelementptr inbounds i8, ptr %0, i64 24
store i64 %105, ptr %142, align 8
%143 = getelementptr inbounds i8, ptr %0, i64 104
store ptr %107, ptr %143, align 8
%144 = getelementptr inbounds i8, ptr %0, i64 112
store i64 %.sroa.8.0.copyload673, ptr %144, align 8
%145 = getelementptr inbounds i8, ptr %0, i64 120
store i8 %137, ptr %145, align 8
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14)
br label %149
146: ; preds = %553, %134, %555, %.loopexit, %148, %559
%147 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25
unreachable
148: ; preds = %134
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 %.sroa.0.3.ph, i64 %.sroa.11.3.ph) #24
to label %557 unwind label %146
149: ; preds = %43, %45, %50, %136
ret void
150: ; preds = %174, %163, %132
%151 = getelementptr inbounds %72, ptr %0, i64 0, i32 1
store i8 2, ptr %151, align 8
%.val79 = load ptr, ptr %14, align 8, !nonnull !25, !noundef !25
%.val80 = load i64, ptr %31, align 8
%.val81 = load i64, ptr %32, 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 nonnull %.val79, i64 %.val80, i64 %.val81)
to label %182 unwind label %180
152: ; preds = %132
%153 = add nsw i64 %63, -72
%154 = getelementptr inbounds i8, ptr %58, i64 72
%155 = getelementptr inbounds %76, ptr %58, i64 0, i32 2
%156 = invoke { i64, i64 } @_ZN6memchr6memchr3x864sse26memchr17h77ecfc1a99a92070E(i8 0, ptr noalias noundef nonnull readonly align 1 %155, i64 16)
to label %157 unwind label %70
157: ; preds = %152
%158 = extractvalue { i64, i64 } %156, 1
%159 = extractvalue { i64, i64 } %156, 0
%160 = icmp eq i64 %159, 0
br i1 %160, label %526, label %161
161: ; preds = %157
%162 = icmp ugt i64 %158, 16
br i1 %162, label %.split.loop.exit, label %521
163: ; preds = %129
%164 = icmp ult i32 %62, 24
br i1 %164, label %150, label %165
165: ; preds = %163
%166 = getelementptr inbounds %78, ptr %58, i64 0, i32 2
%167 = load i32, ptr %166, align 1, !alias.scope !1156, !noalias !1159
%168 = zext i32 %167 to i64
%169 = getelementptr inbounds %78, ptr %58, i64 0, i32 3
%170 = load i32, ptr %169, align 1, !alias.scope !1156, !noalias !1159
%171 = zext i32 %170 to i64
%172 = shl nuw nsw i64 %171, 4
%173 = 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 %168, i64 %172)
to label %174 unwind label %70
174: ; preds = %165
%175 = extractvalue { ptr, i64 } %173, 0
%176 = icmp eq ptr %175, null
%177 = extractvalue { ptr, i64 } %173, 1
%178 = icmp ugt i64 %172, %177
%179 = select i1 %176, i1 true, i1 %178
br i1 %179, label %150, label %185
180: ; preds = %150
%181 = landingpad { ptr, i32 }
cleanup
br label %555
182: ; preds = %150
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14)
%183 = icmp eq ptr %.sroa.0103.0, null
br i1 %183, label %45, label %184
184: ; preds = %182
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr nonnull %.sroa.0103.0, i64 %.sroa.13.0, ptr %.sroa.16120.0, i64 %.sroa.19.0)
to label %45 unwind label %27
185: ; preds = %174
%186 = getelementptr inbounds %78, ptr %58, i64 0, i32 4
%187 = load i32, ptr %186, align 1, !alias.scope !1156, !noalias !1159
%188 = zext i32 %187 to i64
%189 = getelementptr inbounds %78, ptr %58, i64 0, i32 5
%190 = load i32, ptr %189, align 1, !alias.scope !1156, !noalias !1159
%191 = zext i32 %190 to i64
%192 = add nuw nsw i64 %191, %188
%193 = getelementptr inbounds %79, ptr %175, i64 %171
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11), !noalias !1162
%194 = icmp eq i32 %170, 0
br i1 %194, label %.loopexit168, label %.preheader167
.preheader167: ; preds = %185, %214
%195 = phi ptr [ %196, %214 ], [ %175, %185 ]
%196 = getelementptr inbounds %79, ptr %195, i64 1
%197 = load i32, ptr %195, align 1, !alias.scope !1169, !noalias !1174
%198 = zext i32 %197 to i64
%199 = add nuw nsw i64 %198, %188
%200 = 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 %199, i64 %192, i8 0)
to label %201 unwind label %68
201: ; preds = %.preheader167
%202 = extractvalue { ptr, i64 } %200, 0
%203 = icmp eq ptr %202, null
%204 = extractvalue { ptr, i64 } %200, 1
%205 = icmp eq i64 %204, 0
%206 = select i1 %203, i1 true, i1 %205
br i1 %206, label %214, label %207
207: ; preds = %201
%208 = getelementptr i8, ptr %195, i64 4
%209 = load i8, ptr %208, align 1, !alias.scope !1169, !noalias !1174
%210 = icmp ult i8 %209, 32
%211 = and i8 %209, 14
%212 = icmp ne i8 %211, 0
%213 = and i1 %210, %212
br i1 %213, label %216, label %214
214: ; preds = %207, %201
%215 = icmp eq ptr %196, %193
br i1 %215, label %.loopexit168, label %.preheader167, !llvm.loop !1184
.loopexit168: ; preds = %214, %185
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !1162
br label %288
216: ; preds = %207
%217 = extractvalue { ptr, i64 } %200, 0
%218 = extractvalue { ptr, i64 } %200, 1
%219 = getelementptr i8, ptr %195, i64 8
%220 = load i64, ptr %219, align 1, !alias.scope !1169, !noalias !1174
%221 = call align 8 dereferenceable(96) dereferenceable_or_null(96) ptr @__rust_alloc(i64 96, i64 8) #22, !noalias !1162
store ptr %217, ptr %221, align 8, !noalias !1162
%222 = getelementptr inbounds i8, ptr %221, i64 8
store i64 %218, ptr %222, align 8, !noalias !1162
%223 = getelementptr inbounds i8, ptr %221, i64 16
store i64 %220, ptr %223, align 8, !noalias !1162
store ptr %221, ptr %11, align 8, !noalias !1162
store i64 4, ptr %37, align 8, !noalias !1162
store i64 1, ptr %38, align 8, !noalias !1162
call void @llvm.experimental.noalias.scope.decl(metadata !1186)
call void @llvm.experimental.noalias.scope.decl(metadata !1189)
%224 = icmp eq ptr %196, %193
br i1 %224, label %.loopexit163, label %.preheader
.preheader: ; preds = %216, %272
%225 = phi ptr [ %258, %272 ], [ %221, %216 ]
%226 = phi i64 [ %268, %272 ], [ 4, %216 ]
%227 = phi i64 [ %267, %272 ], [ 1, %216 ]
%228 = phi ptr [ %231, %272 ], [ %196, %216 ]
br label %229
229: ; preds = %249, %.preheader
%230 = phi ptr [ %231, %249 ], [ %228, %.preheader ]
%231 = getelementptr inbounds %79, ptr %230, i64 1
%232 = load i32, ptr %230, align 1, !alias.scope !1192, !noalias !1197
%233 = zext i32 %232 to i64
%234 = add nuw nsw i64 %233, %188
%235 = 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 %234, i64 %192, i8 0)
to label %236 unwind label %279, !noalias !1162
236: ; preds = %229
%237 = extractvalue { ptr, i64 } %235, 0
%238 = icmp eq ptr %237, null
%239 = extractvalue { ptr, i64 } %235, 1
%240 = icmp eq i64 %239, 0
%241 = select i1 %238, i1 true, i1 %240
br i1 %241, label %249, label %242
242: ; preds = %236
%243 = getelementptr i8, ptr %230, i64 4
%244 = load i8, ptr %243, align 1, !alias.scope !1192, !noalias !1197
%245 = icmp ult i8 %244, 32
%246 = and i8 %244, 14
%247 = icmp ne i8 %246, 0
%248 = and i1 %245, %247
br i1 %248, label %251, label %249
249: ; preds = %242, %236
%250 = icmp eq ptr %231, %193
br i1 %250, label %.loopexit163, label %229, !llvm.loop !1184
251: ; preds = %242
%252 = extractvalue { ptr, i64 } %235, 0
%253 = extractvalue { ptr, i64 } %235, 1
%254 = getelementptr i8, ptr %230, i64 8
%255 = load i64, ptr %254, align 1, !alias.scope !1192, !noalias !1197
%256 = icmp eq i64 %227, %226
br i1 %256, label %274, label %257
257: ; preds = %275, %251
%258 = phi ptr [ %276, %275 ], [ %225, %251 ]
%259 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %258, i64 %227
%260 = ptrtoint ptr %259 to i64
%261 = and i64 %260, 7
%262 = icmp eq i64 %261, 0
br i1 %262, label %264, label %263
263: ; preds = %257
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1209
unreachable
264: ; preds = %257
store ptr %252, ptr %259, align 8, !noalias !1212
%265 = getelementptr inbounds i8, ptr %259, i64 8
store i64 %253, ptr %265, align 8, !noalias !1212
%266 = getelementptr inbounds i8, ptr %259, i64 16
store i64 %255, ptr %266, align 8, !noalias !1212
%267 = add i64 %227, 1
%268 = load i64, ptr %37, align 8, !alias.scope !1213, !noalias !1216
%269 = icmp ult i64 %268, %267
br i1 %269, label %270, label %272
270: ; preds = %264
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 %271 unwind label %283, !noalias !1162
271: ; preds = %270
unreachable
272: ; preds = %264
store i64 %267, ptr %38, align 8, !alias.scope !1213, !noalias !1216
%273 = icmp eq ptr %231, %193
br i1 %273, label %.loopexit163, label %.preheader
274: ; preds = %251
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h09e56666905e5607E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %11, i64 %226)
to label %275 unwind label %281
275: ; preds = %274
%276 = load ptr, ptr %11, align 8, !alias.scope !1217, !noalias !1216
br label %257
277: ; preds = %285
%278 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1162
unreachable
279: ; preds = %229
%280 = landingpad { ptr, i32 }
cleanup
br label %285
281: ; preds = %274
%282 = landingpad { ptr, i32 }
cleanup
%.val51.pre = load i64, ptr %37, align 8
br label %285
283: ; preds = %270
%284 = landingpad { ptr, i32 }
cleanup
br label %285
285: ; preds = %283, %281, %279
%.val51 = phi i64 [ %226, %279 ], [ %.val51.pre, %281 ], [ %268, %283 ]
%286 = phi { ptr, i32 } [ %280, %279 ], [ %282, %281 ], [ %284, %283 ]
%.val50 = load ptr, ptr %11, align 8
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 %.val50, i64 %.val51) #24
to label %553 unwind label %277
.loopexit163: ; preds = %272, %249, %216
%.sroa.6.0.copyload = phi i64 [ 1, %216 ], [ %227, %249 ], [ %267, %272 ]
%.sroa.0139.0.copyload = phi i64 [ 4, %216 ], [ %226, %249 ], [ %268, %272 ]
%287 = load ptr, ptr %11, align 8, !noalias !1218
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11), !noalias !1162
br label %288
288: ; preds = %.loopexit163, %.loopexit168
%.sroa.0139.1 = phi i64 [ 0, %.loopexit168 ], [ %.sroa.0139.0.copyload, %.loopexit163 ]
%.sroa.6.1 = phi i64 [ 0, %.loopexit168 ], [ %.sroa.6.0.copyload, %.loopexit163 ]
%289 = phi ptr [ inttoptr (i64 8 to ptr), %.loopexit168 ], [ %287, %.loopexit163 ]
%290 = icmp eq i64 %.sroa.11.1, 0
br i1 %290, label %300, label %291
291: ; preds = %288
%292 = icmp ugt i64 %.sroa.11.1, 384307168202282325
br i1 %292, label %293, label %295
293: ; preds = %291
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 %294 unwind label %298
294: ; preds = %293
unreachable
295: ; preds = %291
%296 = mul nuw nsw i64 %.sroa.11.1, 24
%297 = icmp ne ptr %.sroa.0.1, null
call void @llvm.assume(i1 %297)
call void @__rust_dealloc(ptr nonnull %.sroa.0.1, i64 %296, i64 8) #22, !noalias !1219
br label %300
298: ; preds = %293
%299 = landingpad { ptr, i32 }
cleanup
br label %553
300: ; preds = %295, %288
%301 = ptrtoint ptr %289 to i64
%302 = and i64 %301, 7
%303 = icmp ne i64 %302, 0
%304 = icmp ugt i64 %.sroa.6.1, 384307168202282325
%305 = select i1 %303, i1 true, i1 %304
br i1 %17, label %308, label %306
306: ; preds = %300
br i1 %305, label %307, label %315
307: ; preds = %306
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21
unreachable
308: ; preds = %300
br i1 %305, label %309, label %310
309: ; preds = %308
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21
unreachable
310: ; preds = %308
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %5)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10), !noalias !1222
store ptr %5, ptr %10, align 8, !noalias !1225
%311 = call i64 @llvm.ctlz.i64(i64 %.sroa.6.1, i1 false), !range !377
%312 = trunc i64 %311 to i32
%313 = sub nuw nsw i32 64, %312
invoke fastcc void @_ZN4core5slice4sort7recurse17ha922cf6696d797b1E(ptr noalias noundef nonnull align 8 %289, i64 %.sroa.6.1, ptr noalias noundef nonnull align 8 dereferenceable(8) %10, ptr noalias noundef readonly align 8 dereferenceable(24) null, i32 %313)
to label %314 unwind label %70
314: ; preds = %310
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10), !noalias !1222
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %5)
br label %513
315: ; preds = %306
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %5)
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9), !noalias !1229
store ptr %5, ptr %9, align 8, !noalias !1232
%316 = call i64 @llvm.ctlz.i64(i64 %.sroa.6.1, i1 false), !range !377
%317 = trunc i64 %316 to i32
%318 = sub nuw nsw i32 64, %317
invoke fastcc void @_ZN4core5slice4sort7recurse17hf486805dab7ff5ecE(ptr noalias noundef nonnull align 8 %289, i64 %.sroa.6.1, ptr noalias noundef nonnull align 8 dereferenceable(8) %9, ptr noalias noundef readonly align 8 dereferenceable(24) null, i32 %318)
to label %319 unwind label %70
319: ; preds = %315
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9), !noalias !1229
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %5)
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8), !noalias !1236
store ptr inttoptr (i64 8 to ptr), ptr %8, align 8, !noalias !1236
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %39, i8 0, i64 16, i1 false), !noalias !1236
call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7), !noalias !1236
store ptr inttoptr (i64 8 to ptr), ptr %7, align 8, !noalias !1236
call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %41, i8 0, i64 16, i1 false), !noalias !1236
br label %348
320: ; preds = %421, %396, %365, %357
%321 = landingpad { ptr, i32 }
cleanup
br label %322
322: ; preds = %334, %320
%323 = phi { ptr, i32 } [ %335, %334 ], [ %321, %320 ]
%.val54 = load ptr, ptr %7, align 8
%.val55 = load i64, ptr %41, align 8
invoke fastcc void @"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E"(ptr %.val54, i64 %.val55) #24
to label %429 unwind label %427
324: ; preds = %348, %342
%325 = phi ptr [ %343, %342 ], [ %350, %348 ]
%326 = icmp eq ptr %325, %193
br i1 %326, label %327, label %342
327: ; preds = %324
%.sroa.0161.0.copyload = load ptr, ptr %8, align 8, !noalias !1236, !nonnull !25
%.sroa.5.0.copyload = load i64, ptr %39, align 8, !noalias !1236
%328 = ptrtoint ptr %.sroa.0161.0.copyload to i64
%329 = and i64 %328, 7
%330 = icmp ne i64 %329, 0
%331 = icmp ugt i64 %.sroa.6162.0.copyload, 230584300921369395
%332 = select i1 %330, i1 true, i1 %331
br i1 %332, label %333, label %336
333: ; preds = %327
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.35, i64 166) #21, !noalias !1240
unreachable
334: ; preds = %336
%335 = 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 nonnull %.sroa.0161.0.copyload, i64 %.sroa.5.0.copyload) #24
to label %322 unwind label %340
336: ; preds = %327
call void @llvm.lifetime.start.p0(i64 0, ptr nonnull %5), !noalias !1240
call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6), !noalias !1244
store ptr %5, ptr %6, align 8, !noalias !1247
%337 = call i64 @llvm.ctlz.i64(i64 %.sroa.6162.0.copyload, i1 false), !range !377
%338 = trunc i64 %337 to i32
%339 = sub nuw nsw i32 64, %338
invoke fastcc void @_ZN4core5slice4sort7recurse17h8082417d3214f1b3E(ptr noalias noundef nonnull align 8 %.sroa.0161.0.copyload, i64 %.sroa.6162.0.copyload, ptr noalias noundef nonnull align 8 dereferenceable(8) %6, ptr noalias noundef readonly align 8 dereferenceable(40) null, i32 %339)
to label %431 unwind label %334, !noalias !1240
340: ; preds = %334
%341 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1240
unreachable
342: ; preds = %324
%343 = getelementptr inbounds %79, ptr %325, i64 1
%344 = getelementptr i8, ptr %325, i64 4
%345 = load i8, ptr %344, align 1, !noalias !1236
%346 = icmp ult i8 %345, 32
br i1 %346, label %324, label %347
347: ; preds = %342
switch i8 %345, label %.backedge [
i8 100, label %356
i8 102, label %357
i8 36, label %365
]
348: ; preds = %.backedge, %319
%349 = phi ptr [ inttoptr (i64 8 to ptr), %319 ], [ %.be, %.backedge ]
%.sroa.6162.0.copyload = phi i64 [ 0, %319 ], [ %.sroa.6162.0.copyload.be, %.backedge ]
%350 = phi ptr [ %175, %319 ], [ %343, %.backedge ]
%351 = phi i64 [ undef, %319 ], [ %.be1246, %.backedge ]
%352 = phi i64 [ undef, %319 ], [ %.be1247, %.backedge ]
%353 = phi ptr [ null, %319 ], [ %.be1248, %.backedge ]
%354 = phi i64 [ undef, %319 ], [ %.be1249, %.backedge ]
%355 = phi i64 [ 0, %319 ], [ %.be1250, %.backedge ]
br label %324
356: ; preds = %347
br label %.backedge
357: ; preds = %347
%358 = load i32, ptr %325, align 1, !noalias !1236
%359 = zext i32 %358 to i64
%360 = add nuw nsw i64 %359, %188
%361 = 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 %360, i64 %192, i8 0)
to label %362 unwind label %320
362: ; preds = %357
%363 = extractvalue { ptr, i64 } %361, 0
%364 = icmp eq ptr %363, null
br i1 %364, label %.backedge, label %406
365: ; preds = %347
%366 = load i32, ptr %325, align 1, !noalias !1236
%367 = zext i32 %366 to i64
%368 = add nuw nsw i64 %367, %188
%369 = 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 %368, i64 %192, i8 0)
to label %370 unwind label %320
370: ; preds = %365
%371 = extractvalue { ptr, i64 } %369, 0
%372 = icmp eq ptr %371, null
br i1 %372, label %.backedge, label %373
373: ; preds = %370
%374 = extractvalue { ptr, i64 } %369, 1
%375 = icmp eq i64 %374, 0
br i1 %375, label %379, label %376
376: ; preds = %373
%377 = getelementptr i8, ptr %325, i64 8
%378 = load i64, ptr %377, align 1, !noalias !1236
br label %.backedge
379: ; preds = %373
%380 = icmp ne ptr %353, null
%381 = icmp eq i64 %355, 1
%382 = select i1 %380, i1 %381, i1 false
br i1 %382, label %383, label %.backedge
383: ; preds = %379
%384 = getelementptr i8, ptr %325, i64 8
%385 = load i64, ptr %384, align 1, !noalias !1236
call void @llvm.experimental.noalias.scope.decl(metadata !1251)
%386 = load i64, ptr %39, align 8, !alias.scope !1251, !noalias !1254
%387 = icmp eq i64 %.sroa.6162.0.copyload, %386
br i1 %387, label %396, label %388
388: ; preds = %397, %383
%389 = phi ptr [ %399, %397 ], [ %349, %383 ]
%390 = phi i64 [ %398, %397 ], [ %.sroa.6162.0.copyload, %383 ]
%391 = getelementptr inbounds %49, ptr %389, i64 %390
%392 = ptrtoint ptr %391 to i64
%393 = and i64 %392, 7
%394 = icmp eq i64 %393, 0
br i1 %394, label %400, label %395
395: ; preds = %388
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1256
unreachable
396: ; preds = %383
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h1e8dea1a4361a50aE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %8, i64 %.sroa.6162.0.copyload)
to label %397 unwind label %320, !noalias !1236
397: ; preds = %396
%398 = load i64, ptr %40, align 8, !alias.scope !1251, !noalias !1254
%399 = load ptr, ptr %8, align 8, !alias.scope !1251, !noalias !1254
br label %388
400: ; preds = %388
store i64 %351, ptr %391, align 8, !noalias !1251
%401 = getelementptr inbounds i8, ptr %391, i64 8
store i64 %385, ptr %401, align 8, !noalias !1251
%402 = getelementptr inbounds i8, ptr %391, i64 16
store ptr %353, ptr %402, align 8, !noalias !1251
%403 = getelementptr inbounds i8, ptr %391, i64 24
store i64 %352, ptr %403, align 8, !noalias !1251
%404 = getelementptr inbounds i8, ptr %391, i64 32
store i64 %354, ptr %404, align 8, !noalias !1251
%405 = add i64 %390, 1
store i64 %405, ptr %40, align 8, !alias.scope !1251, !noalias !1254
br label %.backedge
406: ; preds = %362
%407 = extractvalue { ptr, i64 } %361, 1
%408 = icmp eq i64 %407, 0
br i1 %408, label %.backedge, label %409
409: ; preds = %406
%410 = load i64, ptr %42, align 8, !noalias !1236
call void @llvm.experimental.noalias.scope.decl(metadata !1259)
%411 = load i64, ptr %41, align 8, !alias.scope !1259, !noalias !1262
%412 = icmp eq i64 %410, %411
br i1 %412, label %421, label %413
413: ; preds = %422, %409
%414 = phi i64 [ %423, %422 ], [ %410, %409 ]
%415 = load ptr, ptr %7, align 8, !alias.scope !1259, !noalias !1262, !nonnull !25, !noundef !25
%416 = getelementptr inbounds { ptr, i64 }, ptr %415, i64 %414
%417 = ptrtoint ptr %416 to i64
%418 = and i64 %417, 7
%419 = icmp eq i64 %418, 0
br i1 %419, label %424, label %420
420: ; preds = %413
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1264
unreachable
421: ; preds = %409
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h127eb28a3a48fcd0E"(ptr noalias noundef nonnull align 8 dereferenceable(16) %7, i64 %410)
to label %422 unwind label %320, !noalias !1236
422: ; preds = %421
%423 = load i64, ptr %42, align 8, !alias.scope !1259, !noalias !1262
br label %413
424: ; preds = %413
store ptr %363, ptr %416, align 8, !noalias !1264
%425 = getelementptr inbounds i8, ptr %416, i64 8
store i64 %407, ptr %425, align 8, !noalias !1267
%426 = add i64 %414, 1
store i64 %426, ptr %42, align 8, !alias.scope !1259, !noalias !1262
br label %.backedge
.backedge: ; preds = %424, %406, %400, %379, %376, %370, %362, %356, %347
%.be = phi ptr [ %349, %347 ], [ %349, %356 ], [ %349, %376 ], [ %389, %400 ], [ %349, %379 ], [ %349, %424 ], [ %349, %406 ], [ %349, %370 ], [ %349, %362 ]
%.sroa.6162.0.copyload.be = phi i64 [ %.sroa.6162.0.copyload, %347 ], [ %.sroa.6162.0.copyload, %356 ], [ %.sroa.6162.0.copyload, %376 ], [ %405, %400 ], [ %.sroa.6162.0.copyload, %379 ], [ %.sroa.6162.0.copyload, %424 ], [ %.sroa.6162.0.copyload, %406 ], [ %.sroa.6162.0.copyload, %370 ], [ %.sroa.6162.0.copyload, %362 ]
%.be1246 = phi i64 [ %351, %347 ], [ %351, %356 ], [ %378, %376 ], [ undef, %400 ], [ undef, %379 ], [ %351, %424 ], [ %351, %406 ], [ %351, %370 ], [ %351, %362 ]
%.be1247 = phi i64 [ %352, %347 ], [ %352, %356 ], [ %374, %376 ], [ undef, %400 ], [ undef, %379 ], [ %352, %424 ], [ %352, %406 ], [ %352, %370 ], [ %352, %362 ]
%.be1248 = phi ptr [ %353, %347 ], [ %353, %356 ], [ %371, %376 ], [ null, %400 ], [ null, %379 ], [ %353, %424 ], [ %353, %406 ], [ %353, %370 ], [ %353, %362 ]
%.be1249 = phi i64 [ %354, %347 ], [ undef, %356 ], [ %354, %376 ], [ %354, %400 ], [ %354, %379 ], [ %410, %424 ], [ undef, %406 ], [ %354, %370 ], [ undef, %362 ]
%.be1250 = phi i64 [ %355, %347 ], [ 0, %356 ], [ %355, %376 ], [ 1, %400 ], [ %355, %379 ], [ 1, %424 ], [ 0, %406 ], [ %355, %370 ], [ 0, %362 ]
br label %348
427: ; preds = %430, %322
%428 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1236
unreachable
429: ; preds = %322
br i1 %326, label %553, label %430
430: ; preds = %429
%.val85 = load ptr, ptr %8, align 8
%.val86 = load i64, ptr %39, align 8
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 %.val85, i64 %.val86) #24
to label %553 unwind label %427
431: ; preds = %336
call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6), !noalias !1244
call void @llvm.lifetime.end.p0(i64 0, ptr nonnull %5), !noalias !1240
%.sroa.11145.24.copyload = load ptr, ptr %7, align 8, !noalias !1268, !nonnull !25
%.sroa.16146.24.copyload = load i64, ptr %41, align 8, !noalias !1268
%.sroa.19147.24.copyload = load i64, ptr %42, align 8, !noalias !1268
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7), !noalias !1236
call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8), !noalias !1236
%432 = ptrtoint ptr %.sroa.11145.24.copyload to i64
%433 = and i64 %432, 7
%434 = icmp ne i64 %433, 0
%435 = icmp ugt i64 %.sroa.19147.24.copyload, 576460752303423487
%436 = select i1 %434, i1 true, i1 %435
br i1 %436, label %437, label %442
437: ; preds = %431
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.34, i64 162) #21
unreachable
438: ; preds = %511
%439 = landingpad { ptr, i32 }
cleanup
br label %553
440: ; preds = %474
%441 = landingpad { ptr, i32 }
cleanup
br label %.loopexit
442: ; preds = %431
call void @llvm.experimental.noalias.scope.decl(metadata !1269)
%443 = load i64, ptr %32, align 8, !alias.scope !1269
%444 = icmp ugt i64 %.sroa.19147.24.copyload, %443
br i1 %444, label %469, label %445
445: ; preds = %442
call void @llvm.experimental.noalias.scope.decl(metadata !1272)
%446 = load ptr, ptr %14, align 8, !alias.scope !1275, !nonnull !25, !noundef !25
store i64 %.sroa.19147.24.copyload, ptr %32, align 8, !alias.scope !1275
%447 = getelementptr inbounds %9, ptr %446, i64 %443
%448 = icmp eq i64 %.sroa.19147.24.copyload, %443
br i1 %448, label %.loopexit165, label %449
449: ; preds = %445
%450 = getelementptr inbounds %9, ptr %446, i64 %.sroa.19147.24.copyload
br label %451
451: ; preds = %458, %449
%452 = phi ptr [ %453, %458 ], [ %450, %449 ]
%453 = getelementptr inbounds %9, ptr %452, i64 1
%454 = getelementptr inbounds %9, ptr %452, i64 0, i32 1
%455 = load i8, ptr %454, align 8, !range !31, !alias.scope !1276, !noalias !1275, !noundef !25
%456 = icmp ult i8 %455, 2
br i1 %456, label %457, label %458
457: ; preds = %451
invoke fastcc void @"_ZN4core3ptr57drop_in_place$LT$backtrace..symbolize..gimli..Mapping$GT$17h422903f912eb808eE"(ptr noalias nonnull align 8 dereferenceable(256) %452) #26
to label %458 unwind label %463, !noalias !1275
458: ; preds = %457, %451
%459 = icmp eq ptr %453, %447
br i1 %459, label %.loopexit165, label %451
460: ; preds = %465, %463
%461 = phi ptr [ %453, %463 ], [ %466, %465 ]
%462 = icmp eq ptr %461, %447
br i1 %462, label %.loopexit, label %465
463: ; preds = %457
%464 = landingpad { ptr, i32 }
cleanup
br label %460
465: ; preds = %460
%466 = getelementptr inbounds %9, ptr %461, 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) %461) #27
to label %460 unwind label %467, !noalias !1275
467: ; preds = %465
%468 = landingpad { ptr, i32 }
cleanup
call void @_ZN4core9panicking15panic_no_unwind17h67e95a1daf30295bE() #25, !noalias !1275
unreachable
469: ; preds = %442
%470 = sub i64 %.sroa.19147.24.copyload, %443
call void @llvm.experimental.noalias.scope.decl(metadata !1281)
%471 = load i64, ptr %31, align 8, !alias.scope !1284
%472 = sub i64 %471, %443
%473 = icmp ult i64 %472, %470
br i1 %473, label %474, label %477
474: ; preds = %469
invoke fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hde97e9673dc13d1cE"(ptr noalias noundef nonnull align 8 dereferenceable(16) %14, i64 %443, i64 %470)
to label %475 unwind label %440
475: ; preds = %474
%476 = load i64, ptr %32, align 8, !alias.scope !1289
br label %477
477: ; preds = %475, %469
%478 = phi i64 [ %443, %469 ], [ %476, %475 ]
%479 = load ptr, ptr %14, align 8, !alias.scope !1289, !nonnull !25, !noundef !25
%480 = getelementptr inbounds %9, ptr %479, i64 %478
%481 = icmp ugt i64 %470, 1
br i1 %481, label %482, label %.loopexit164
482: ; preds = %477
%483 = add i64 %470, -1
%484 = add i64 %483, %478
br label %488
.loopexit164: ; preds = %495, %477
%485 = phi i64 [ %478, %477 ], [ %484, %495 ]
%486 = phi ptr [ %480, %477 ], [ %498, %495 ]
%487 = icmp eq i64 %.sroa.19147.24.copyload, %443
br i1 %487, label %508, label %500
488: ; preds = %495, %482
%489 = phi ptr [ %498, %495 ], [ %480, %482 ]
%490 = phi i64 [ %496, %495 ], [ 1, %482 ]
%491 = ptrtoint ptr %489 to i64
%492 = and i64 %491, 7
%493 = icmp eq i64 %492, 0
br i1 %493, label %495, label %494
494: ; preds = %488
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1290
unreachable
495: ; preds = %488
%496 = add nuw i64 %490, 1
%497 = getelementptr inbounds i8, ptr %489, i64 184
store i8 3, ptr %497, align 8, !noalias !1289
%498 = getelementptr inbounds %9, ptr %489, i64 1
%499 = icmp eq i64 %496, %470
br i1 %499, label %.loopexit164, label %488
500: ; preds = %.loopexit164
%501 = ptrtoint ptr %486 to i64
%502 = and i64 %501, 7
%503 = icmp eq i64 %502, 0
br i1 %503, label %505, label %504
504: ; preds = %500
call void @_ZN4core9panicking18panic_str_nounwind17h96ac42b0000c6d39E(ptr noalias noundef nonnull readonly align 1 @anon.0f79382001bad1c9081319f05be50b13.29, i64 102) #21, !noalias !1293
unreachable
505: ; preds = %500
%506 = getelementptr inbounds i8, ptr %486, i64 184
store i8 3, ptr %506, align 8, !noalias !1289
%507 = add i64 %485, 1
br label %508
508: ; preds = %505, %.loopexit164
%509 = phi i64 [ %485, %.loopexit164 ], [ %507, %505 ]
store i64 %509, ptr %32, align 8, !alias.scope !1289
br label %.loopexit165
.loopexit165: ; preds = %458, %508, %445
%510 = icmp eq ptr %.sroa.0103.0, null
br i1 %510, label %513, label %511
511: ; preds = %.loopexit165
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr nonnull %.sroa.0103.0, i64 %.sroa.13.0, ptr %.sroa.16120.0, i64 %.sroa.19.0)
to label %513 unwind label %438
.loopexit: ; preds = %460, %440
%512 = phi { ptr, i32 } [ %441, %440 ], [ %464, %460 ]
invoke fastcc void @"_ZN4core3ptr44drop_in_place$LT$object..read..ObjectMap$GT$17h9872791401c4c7a7E"(ptr nonnull %.sroa.0161.0.copyload, i64 %.sroa.5.0.copyload, ptr nonnull %.sroa.11145.24.copyload, i64 %.sroa.16146.24.copyload) #24
to label %553 unwind label %146
513: ; preds = %.loopexit165, %511, %545, %537, %529, %526, %314, %129
%.sroa.22.2 = phi i64 [ %.sroa.22.0, %129 ], [ %.sroa.22.0, %314 ], [ %.sroa.22.0, %529 ], [ %.sroa.22.0, %545 ], [ %.sroa.22.0, %537 ], [ %.sroa.22.0, %526 ], [ %.sroa.19147.24.copyload, %511 ], [ %.sroa.19147.24.copyload, %.loopexit165 ]
%.sroa.19.2 = phi i64 [ %.sroa.19.0, %129 ], [ %.sroa.19.0, %314 ], [ %.sroa.19.0, %529 ], [ %.sroa.19.0, %545 ], [ %.sroa.19.0, %537 ], [ %.sroa.19.0, %526 ], [ %.sroa.16146.24.copyload, %511 ], [ %.sroa.16146.24.copyload, %.loopexit165 ]
%.sroa.16120.2 = phi ptr [ %.sroa.16120.0, %129 ], [ %.sroa.16120.0, %314 ], [ %.sroa.16120.0, %529 ], [ %.sroa.16120.0, %545 ], [ %.sroa.16120.0, %537 ], [ %.sroa.16120.0, %526 ], [ %.sroa.11145.24.copyload, %511 ], [ %.sroa.11145.24.copyload, %.loopexit165 ]
%.sroa.16.2 = phi i64 [ %.sroa.16.0, %129 ], [ %.sroa.16.0, %314 ], [ %.sroa.16.0, %529 ], [ %.sroa.16.0, %545 ], [ %.sroa.16.0, %537 ], [ %.sroa.16.0, %526 ], [ %.sroa.6162.0.copyload, %511 ], [ %.sroa.6162.0.copyload, %.loopexit165 ]
%.sroa.13.2 = phi i64 [ %.sroa.13.0, %129 ], [ %.sroa.13.0, %314 ], [ %.sroa.13.0, %529 ], [ %.sroa.13.0, %545 ], [ %.sroa.13.0, %537 ], [ %.sroa.13.0, %526 ], [ %.sroa.5.0.copyload, %511 ], [ %.sroa.5.0.copyload, %.loopexit165 ]
%.sroa.0103.2 = phi ptr [ %.sroa.0103.0, %129 ], [ %.sroa.0103.0, %314 ], [ %.sroa.0103.0, %529 ], [ %.sroa.0103.0, %545 ], [ %.sroa.0103.0, %537 ], [ %.sroa.0103.0, %526 ], [ %.sroa.0161.0.copyload, %511 ], [ %.sroa.0161.0.copyload, %.loopexit165 ]
%.sroa.11.4 = phi i64 [ %.sroa.11.1, %129 ], [ %.sroa.0139.1, %314 ], [ %.sroa.11.1, %529 ], [ %.sroa.11.1, %545 ], [ %.sroa.11.1, %537 ], [ %.sroa.11.1, %526 ], [ %.sroa.0139.1, %511 ], [ %.sroa.0139.1, %.loopexit165 ]
%.sroa.17.2 = phi i64 [ %.sroa.17.0, %129 ], [ %.sroa.6.1, %314 ], [ %.sroa.17.0, %529 ], [ %.sroa.17.0, %545 ], [ %.sroa.17.0, %537 ], [ %.sroa.17.0, %526 ], [ %.sroa.6.1, %511 ], [ %.sroa.6.1, %.loopexit165 ]
%.sroa.0.4 = phi ptr [ %.sroa.0.1, %129 ], [ %289, %314 ], [ %.sroa.0.1, %529 ], [ %.sroa.0.1, %545 ], [ %.sroa.0.1, %537 ], [ %.sroa.0.1, %526 ], [ %289, %511 ], [ %289, %.loopexit165 ]
%514 = phi i64 [ %57, %129 ], [ %57, %314 ], [ %57, %529 ], [ %551, %545 ], [ %57, %537 ], [ %57, %526 ], [ %57, %511 ], [ %57, %.loopexit165 ]
%515 = phi i8 [ %56, %129 ], [ 1, %314 ], [ %56, %529 ], [ %56, %545 ], [ %56, %537 ], [ %56, %526 ], [ %56, %511 ], [ %56, %.loopexit165 ]
%516 = phi i64 [ %55, %129 ], [ %55, %314 ], [ %55, %529 ], [ %551, %545 ], [ %55, %537 ], [ %55, %526 ], [ %55, %511 ], [ %55, %.loopexit165 ]
%517 = phi ptr [ %54, %129 ], [ %54, %314 ], [ %54, %529 ], [ %552, %545 ], [ %54, %537 ], [ %54, %526 ], [ %54, %511 ], [ %54, %.loopexit165 ]
%518 = icmp eq i32 %131, 0
%519 = icmp ult i64 %67, 8
%520 = select i1 %518, i1 true, i1 %519
br i1 %520, label %.loopexit169, label %53
521: ; preds = %161
%522 = icmp eq i64 %158, 7
br i1 %522, label %523, label %526
523: ; preds = %521
%524 = load i56, ptr %155, align 1, !alias.scope !1296
%525 = icmp eq i56 %524, 19793688960196447
br i1 %525, label %539, label %526
526: ; preds = %523, %521, %157
br i1 %17, label %527, label %513
527: ; preds = %526
%528 = invoke { i64, i64 } @_ZN6memchr6memchr3x864sse26memchr17h77ecfc1a99a92070E(i8 0, ptr noalias noundef nonnull readonly align 1 %155, i64 16)
to label %529 unwind label %70
529: ; preds = %527
%530 = extractvalue { i64, i64 } %528, 1
%531 = extractvalue { i64, i64 } %528, 0
%532 = icmp eq i64 %531, 0
br i1 %532, label %513, label %533
533: ; preds = %529
%534 = icmp ugt i64 %530, 16
br i1 %534, label %.split.loop.exit, label %537
.split.loop.exit: ; preds = %161, %533
%.lcssa987.sink = phi { i64, i64 } [ %528, %533 ], [ %156, %161 ]
%535 = extractvalue { i64, i64 } %.lcssa987.sink, 1
invoke void @_ZN4core5slice5index24slice_end_index_len_fail17h2412c6da442c0bc6E(i64 %535, i64 16, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @anon.0f79382001bad1c9081319f05be50b13.118) #23
to label %536 unwind label %72
536: ; preds = %.split.loop.exit
unreachable
537: ; preds = %533
%538 = icmp eq i64 %530, 0
br i1 %538, label %539, label %513
539: ; preds = %537, %523
%540 = getelementptr i8, ptr %58, i64 64
%541 = load i32, ptr %540, align 1
%542 = zext i32 %541 to i64
%543 = mul nuw nsw i64 %542, 80
%544 = 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 %154, i64 %153, i64 0, i64 %543)
to label %545 unwind label %70
545: ; preds = %539
%546 = extractvalue { ptr, i64 } %544, 0
%547 = icmp eq ptr %546, null
%548 = extractvalue { ptr, i64 } %544, 1
%549 = icmp ugt i64 %543, %548
%550 = select i1 %547, i1 true, i1 %549
%551 = select i1 %550, i64 %57, i64 %542
%552 = select i1 %550, ptr null, ptr %546
br label %513
553: ; preds = %430, %.loopexit, %285, %438, %429, %298, %72, %70, %68
%.sroa.19.3 = phi i64 [ %.sroa.19.0, %70 ], [ %.sroa.16146.24.copyload, %438 ], [ %.sroa.19.0, %.loopexit ], [ %.sroa.19.0, %429 ], [ %.sroa.19.0, %430 ], [ %.sroa.19.0, %298 ], [ %.sroa.19.0, %285 ], [ %.sroa.19.0, %68 ], [ %.sroa.19.0, %72 ]
%.sroa.16120.3 = phi ptr [ %.sroa.16120.0, %70 ], [ %.sroa.11145.24.copyload, %438 ], [ %.sroa.16120.0, %.loopexit ], [ %.sroa.16120.0, %429 ], [ %.sroa.16120.0, %430 ], [ %.sroa.16120.0, %298 ], [ %.sroa.16120.0, %285 ], [ %.sroa.16120.0, %68 ], [ %.sroa.16120.0, %72 ]
%.sroa.13.3 = phi i64 [ %.sroa.13.0, %70 ], [ %.sroa.5.0.copyload, %438 ], [ %.sroa.13.0, %.loopexit ], [ %.sroa.13.0, %429 ], [ %.sroa.13.0, %430 ], [ %.sroa.13.0, %298 ], [ %.sroa.13.0, %285 ], [ %.sroa.13.0, %68 ], [ %.sroa.13.0, %72 ]
%.sroa.0103.3 = phi ptr [ %.sroa.0103.0, %70 ], [ %.sroa.0161.0.copyload, %438 ], [ %.sroa.0103.0, %.loopexit ], [ %.sroa.0103.0, %429 ], [ %.sroa.0103.0, %430 ], [ %.sroa.0103.0, %298 ], [ %.sroa.0103.0, %285 ], [ %.sroa.0103.0, %68 ], [ %.sroa.0103.0, %72 ]
%.sroa.11.5 = phi i64 [ %.sroa.11.2, %70 ], [ %.sroa.0139.1, %438 ], [ %.sroa.0139.1, %.loopexit ], [ %.sroa.0139.1, %429 ], [ %.sroa.0139.1, %430 ], [ %.sroa.0139.1, %298 ], [ %.sroa.11.1, %285 ], [ %.sroa.11.1, %68 ], [ %.sroa.11.1, %72 ]
%.sroa.0.5 = phi ptr [ %.sroa.0.2, %70 ], [ %289, %438 ], [ %289, %.loopexit ], [ %289, %429 ], [ %289, %430 ], [ %289, %298 ], [ %.sroa.0.1, %285 ], [ %.sroa.0.1, %68 ], [ %.sroa.0.1, %72 ]
%554 = phi { ptr, i32 } [ %71, %70 ], [ %439, %438 ], [ %512, %.loopexit ], [ %323, %429 ], [ %323, %430 ], [ %299, %298 ], [ %286, %285 ], [ %69, %68 ], [ %73, %72 ]
%.val76 = load ptr, ptr %14, align 8, !nonnull !25, !noundef !25
%.val77 = load i64, ptr %31, align 8
%.val78 = load i64, ptr %32, 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 nonnull %.val76, i64 %.val77, i64 %.val78) #24
to label %555 unwind label %146
555: ; preds = %553, %180
%.sroa.19.4 = phi i64 [ %.sroa.19.0, %180 ], [ %.sroa.19.3, %553 ]
%.sroa.16120.4 = phi ptr [ %.sroa.16120.0, %180 ], [ %.sroa.16120.3, %553 ]
%.sroa.13.4 = phi i64 [ %.sroa.13.0, %180 ], [ %.sroa.13.3, %553 ]
%.sroa.0103.4 = phi ptr [ %.sroa.0103.0, %180 ], [ %.sroa.0103.3, %553 ]
%.sroa.11.6 = phi i64 [ %.sroa.11.1, %180 ], [ %.sroa.11.5, %553 ]
%.sroa.0.6 = phi ptr [ %.sroa.0.1, %180 ], [ %.sroa.0.5, %553 ]
%556 = phi { ptr, i32 } [ %181, %180 ], [ %554, %553 ]
invoke fastcc void @"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"(ptr %.sroa.0103.4, i64 %.sroa.13.4, ptr %.sroa.16120.4, i64 %.sroa.19.4) #24
to label %559 unwind label %146
557: ; preds = %148, %559
%558 = phi { ptr, i32 } [ %560, %559 ], [ %135, %148 ]
resume { ptr, i32 } %558
559: ; preds = %555, %27
%.sroa.11.7 = phi i64 [ %.sroa.11.0, %27 ], [ %.sroa.11.6, %555 ]
%.sroa.0.7 = phi ptr [ %.sroa.0.0, %27 ], [ %.sroa.0.6, %555 ]
%560 = phi { ptr, i32 } [ %28, %27 ], [ %556, %555 ]
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 %.sroa.0.7, i64 %.sroa.11.7) #24
to label %557 unwind label %146
}
; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #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: mustprogress 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: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #13
; Function Attrs: mustprogress 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: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #14
; Function Attrs: mustprogress 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: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #20
; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #20
; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite)
declare void @llvm.experimental.noalias.scope.decl(metadata) #11
; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.usub.sat.i64(i64, i64) #14
; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umax.i64(i64, i64) #14
; Function Attrs: mustprogress 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 = { mustprogress 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 = { mustprogress 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 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #14 = { mustprogress 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 = { mustprogress 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, !35}
!33 = distinct !{!33, !34, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!34 = distinct !{!34, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!35 = distinct !{!35, !36, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E: argument 0"}
!36 = distinct !{!36, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E"}
!37 = !{!38}
!38 = distinct !{!38, !39, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE: argument 0"}
!39 = distinct !{!39, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"}
!40 = !{!41}
!41 = distinct !{!41, !42, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!42 = distinct !{!42, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!43 = !{!41, !38, !44}
!44 = distinct !{!44, !45, !"_ZN4core3ptr64drop_in_place$LT$$u5b$gimli..read..abbrev..Abbreviation$u5d$$GT$17had6225ecba902897E: argument 0"}
!45 = distinct !{!45, !"_ZN4core3ptr64drop_in_place$LT$$u5b$gimli..read..abbrev..Abbreviation$u5d$$GT$17had6225ecba902897E"}
!46 = !{!47}
!47 = distinct !{!47, !48, !"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17hbb1d2a2bc4aabb50E: argument 0"}
!48 = distinct !{!48, !"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17hbb1d2a2bc4aabb50E"}
!49 = !{!50}
!50 = distinct !{!50, !51, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E: argument 0"}
!51 = distinct !{!51, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E"}
!52 = !{!50, !41, !38, !44}
!53 = !{!50, !41, !38, !47}
!54 = !{!55}
!55 = distinct !{!55, !56, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!56 = distinct !{!56, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!57 = !{!58}
!58 = distinct !{!58, !59, !"_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"}
!59 = distinct !{!59, !"_ZN4core3ptr137drop_in_place$LT$gimli..read..dwarf..Unit$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17hebf3e1ebe27aadaaE"}
!60 = !{!61}
!61 = distinct !{!61, !62, !"_ZN4core3ptr64drop_in_place$LT$alloc..vec..Vec$LT$addr2line..UnitRange$GT$$GT$17h2aa5033e7d6dbfccE: argument 0"}
!62 = distinct !{!62, !"_ZN4core3ptr64drop_in_place$LT$alloc..vec..Vec$LT$addr2line..UnitRange$GT$$GT$17h2aa5033e7d6dbfccE"}
!63 = !{!64}
!64 = distinct !{!64, !65, !"_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"}
!65 = distinct !{!65, !"_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"}
!66 = !{!67}
!67 = distinct !{!67, !68, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E: argument 0"}
!68 = distinct !{!68, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E"}
!69 = !{!67, !64}
!70 = !{!71}
!71 = distinct !{!71, !72, !"_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"}
!72 = distinct !{!72, !"_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"}
!73 = !{!74}
!74 = distinct !{!74, !75, !"_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"}
!75 = distinct !{!75, !"_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"}
!76 = !{!77, !79}
!77 = distinct !{!77, !78, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E: argument 0"}
!78 = distinct !{!78, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"}
!79 = distinct !{!79, !80, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE: argument 0"}
!80 = distinct !{!80, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE"}
!81 = !{!82}
!82 = distinct !{!82, !83, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E: argument 0"}
!83 = distinct !{!83, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E"}
!84 = !{!85}
!85 = distinct !{!85, !86, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E: argument 0"}
!86 = distinct !{!86, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E"}
!87 = !{!88}
!88 = distinct !{!88, !89, !"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17hbb1d2a2bc4aabb50E: argument 0"}
!89 = distinct !{!89, !"_ZN4core3ptr77drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..Abbreviation$GT$$GT$17hbb1d2a2bc4aabb50E"}
!90 = !{!91}
!91 = distinct !{!91, !92, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE: argument 0"}
!92 = distinct !{!92, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE"}
!93 = !{!94}
!94 = distinct !{!94, !95, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E: argument 0"}
!95 = distinct !{!95, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"}
!96 = !{!97}
!97 = distinct !{!97, !98, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE: argument 0"}
!98 = distinct !{!98, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h6eb8d6ab9102848cE"}
!99 = !{!100}
!100 = distinct !{!100, !101, !"_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"}
!101 = distinct !{!101, !"_ZN4core3ptr149drop_in_place$LT$gimli..read..line..LineProgramHeader$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$C$usize$GT$$GT$17hdc22bf904df687ebE"}
!102 = !{!103, !100}
!103 = distinct !{!103, !104, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE: argument 0"}
!104 = distinct !{!104, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"}
!105 = !{!106, !100}
!106 = distinct !{!106, !107, !"_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"}
!107 = distinct !{!107, !"_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"}
!108 = !{!109, !100}
!109 = distinct !{!109, !110, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE: argument 0"}
!110 = distinct !{!110, !"_ZN4core3ptr78drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..line..FileEntryFormat$GT$$GT$17hdc74753ffd42435dE"}
!111 = !{!112, !114, !100}
!112 = distinct !{!112, !113, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE: argument 0"}
!113 = distinct !{!113, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE"}
!114 = distinct !{!114, !115, !"_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"}
!115 = distinct !{!115, !"_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"}
!116 = !{!114, !100}
!117 = !{!118}
!118 = distinct !{!118, !119, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E: argument 0"}
!119 = distinct !{!119, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E"}
!120 = !{!121}
!121 = distinct !{!121, !122, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE: argument 0"}
!122 = distinct !{!122, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE"}
!123 = !{!124}
!124 = distinct !{!124, !125, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE: argument 0"}
!125 = distinct !{!125, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h4b4f47f76728f92bE"}
!126 = !{!127}
!127 = distinct !{!127, !128, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h9368f8163f6f88f0E: argument 0"}
!128 = distinct !{!128, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h9368f8163f6f88f0E"}
!129 = !{!130}
!130 = distinct !{!130, !131, !"_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"}
!131 = distinct !{!131, !"_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"}
!132 = !{!133}
!133 = distinct !{!133, !134, !"_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"}
!134 = distinct !{!134, !"_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"}
!135 = !{!136}
!136 = distinct !{!136, !137, !"_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"}
!137 = distinct !{!137, !"_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"}
!138 = !{!139}
!139 = distinct !{!139, !140, !"_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"}
!140 = distinct !{!140, !"_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"}
!141 = !{!142}
!142 = distinct !{!142, !143, !"_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"}
!143 = distinct !{!143, !"_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"}
!144 = !{!142, !139, !136, !133, !145}
!145 = distinct !{!145, !146, !"_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"}
!146 = distinct !{!146, !"_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"}
!147 = !{!148}
!148 = distinct !{!148, !149, !"_ZN4core3ptr135drop_in_place$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h43bd5f9eae8354c1E: argument 0"}
!149 = distinct !{!149, !"_ZN4core3ptr135drop_in_place$LT$addr2line..function..Functions$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h43bd5f9eae8354c1E"}
!150 = !{!151}
!151 = distinct !{!151, !152, !"_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"}
!152 = distinct !{!152, !"_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"}
!153 = !{!151, !142, !139, !136, !133, !145}
!154 = !{!155}
!155 = distinct !{!155, !156, !"_ZN4core3ptr134drop_in_place$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h3ca50690548fc880E: argument 0"}
!156 = distinct !{!156, !"_ZN4core3ptr134drop_in_place$LT$addr2line..function..Function$LT$gimli..read..endian_slice..EndianSlice$LT$gimli..endianity..LittleEndian$GT$$GT$$GT$17h3ca50690548fc880E"}
!157 = !{!155, !151, !142, !139, !136, !133, !145}
!158 = !{!155, !151, !142, !139, !136, !133, !148}
!159 = !{!160}
!160 = distinct !{!160, !161, !"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$16assume_init_drop17h7bec2f8d65ebc30bE: argument 0"}
!161 = distinct !{!161, !"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$16assume_init_drop17h7bec2f8d65ebc30bE"}
!162 = !{!163}
!163 = distinct !{!163, !164, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE: argument 0"}
!164 = distinct !{!164, !"_ZN4core3ptr54drop_in_place$LT$gimli..read..abbrev..Abbreviation$GT$17h8c494c9321ef31bdE"}
!165 = !{!166}
!166 = distinct !{!166, !167, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!167 = distinct !{!167, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!168 = !{!166, !163, !160}
!169 = !{!170}
!170 = distinct !{!170, !171, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E: argument 0"}
!171 = distinct !{!171, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E"}
!172 = !{!170, !166, !163, !160}
!173 = !{!174, !170, !166, !163, !160}
!174 = distinct !{!174, !175, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E: argument 0"}
!175 = distinct !{!175, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E"}
!176 = !{!177, !179}
!177 = distinct !{!177, !178, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E: argument 0"}
!178 = distinct !{!178, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E"}
!179 = distinct !{!179, !180, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!180 = distinct !{!180, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!181 = !{!179}
!182 = !{!183}
!183 = distinct !{!183, !184, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E: argument 0"}
!184 = distinct !{!184, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E"}
!185 = !{!186, !188}
!186 = distinct !{!186, !187, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE: argument 0"}
!187 = distinct !{!187, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE"}
!188 = distinct !{!188, !189, !"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E: argument 0"}
!189 = distinct !{!189, !"_ZN4core3ptr60drop_in_place$LT$alloc..vec..Vec$LT$$RF$$u5b$u8$u5d$$GT$$GT$17h5e5b83b116c8a571E"}
!190 = !{!188}
!191 = !{!192}
!192 = distinct !{!192, !193, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E: argument 0"}
!193 = distinct !{!193, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h365cbf55df4b61b5E"}
!194 = !{!195, !197, !199}
!195 = distinct !{!195, !196, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E: argument 0"}
!196 = distinct !{!196, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hc3b0b40d1625c5c3E"}
!197 = distinct !{!197, !198, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E: argument 0"}
!198 = distinct !{!198, !"_ZN4core3ptr87drop_in_place$LT$alloc..vec..Vec$LT$gimli..read..abbrev..AttributeSpecification$GT$$GT$17h20fe5d782b1bd0b4E"}
!199 = distinct !{!199, !200, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E: argument 0"}
!200 = distinct !{!200, !"_ZN4core3ptr52drop_in_place$LT$gimli..read..abbrev..Attributes$GT$17h5a95dd0dab3e5f03E"}
!201 = !{!197, !199}
!202 = !{!203}
!203 = distinct !{!203, !204, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!204 = distinct !{!204, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!205 = !{!206, !208}
!206 = distinct !{!206, !207, !"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h6fcd32c6c4501092E: argument 0"}
!207 = distinct !{!207, !"_ZN4core3ptr69drop_in_place$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h6fcd32c6c4501092E"}
!208 = distinct !{!208, !209, !"_ZN4core3ptr99drop_in_place$LT$core..cell..UnsafeCell$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$$GT$17h6a5ca56ebb934d03E: argument 0"}
!209 = distinct !{!209, !"_ZN4core3ptr99drop_in_place$LT$core..cell..UnsafeCell$LT$alloc..vec..Vec$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$$GT$17h6a5ca56ebb934d03E"}
!210 = !{!211}
!211 = distinct !{!211, !212, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE: argument 0"}
!212 = distinct !{!212, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb4baf31096e38d2aE"}
!213 = !{!214}
!214 = distinct !{!214, !215, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!215 = distinct !{!215, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!216 = !{!214, !217}
!217 = distinct !{!217, !218, !"_ZN4core3ptr56drop_in_place$LT$$u5b$alloc..vec..Vec$LT$u8$GT$$u5d$$GT$17h8662770628791f1fE: argument 0"}
!218 = distinct !{!218, !"_ZN4core3ptr56drop_in_place$LT$$u5b$alloc..vec..Vec$LT$u8$GT$$u5d$$GT$17h8662770628791f1fE"}
!219 = !{!214, !206, !208}
!220 = !{!221, !223, !225}
!221 = distinct !{!221, !222, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE: argument 0"}
!222 = distinct !{!222, !"_ZN81_$LT$backtrace..symbolize..gimli..mmap..Mmap$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbf51f61062cddacbE"}
!223 = distinct !{!223, !224, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E: argument 0"}
!224 = distinct !{!224, !"_ZN4core3ptr88drop_in_place$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$17hff84760b08997c41E"}
!225 = distinct !{!225, !226, !"_ZN4core3ptr118drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$$GT$17h686cacdd2d4adc3cE: argument 0"}
!226 = distinct !{!226, !"_ZN4core3ptr118drop_in_place$LT$core..cell..UnsafeCell$LT$core..option..Option$LT$backtrace..symbolize..gimli..mmap..Mmap$GT$$GT$$GT$17h686cacdd2d4adc3cE"}
!227 = !{!228}
!228 = distinct !{!228, !229, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE: argument 0"}
!229 = distinct !{!229, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE"}
!230 = !{!231}
!231 = distinct !{!231, !232, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE: argument 0"}
!232 = distinct !{!232, !"_ZN4core3ptr72drop_in_place$LT$core..option..Option$LT$object..read..ObjectMap$GT$$GT$17hc76d77f20e45798bE"}
!233 = !{!234}
!234 = distinct !{!234, !235, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E: argument 0"}
!235 = distinct !{!235, !"_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$object..read..ObjectMapEntry$GT$$GT$17h8e0b204cf8603c10E"}
!236 = !{!237}
!237 = distinct !{!237, !238, !"_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"}
!238 = distinct !{!238, !"_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"}
!239 = !{!240, !242}
!240 = distinct !{!240, !241, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E: argument 0"}
!241 = distinct !{!241, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"}
!242 = distinct !{!242, !243, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE: argument 0"}
!243 = distinct !{!243, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE"}
!244 = !{!245}
!245 = distinct !{!245, !246, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5c3b9e5ae0e1eb4eE: argument 0"}
!246 = distinct !{!246, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h5c3b9e5ae0e1eb4eE"}
!247 = !{!248}
!248 = distinct !{!248, !249, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb28a40dacf516af2E: argument 0"}
!249 = distinct !{!249, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hb28a40dacf516af2E"}
!250 = !{!251}
!251 = distinct !{!251, !252, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE: argument 0"}
!252 = distinct !{!252, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE"}
!253 = !{!254}
!254 = distinct !{!254, !255, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h723ad25bb09a38e8E: argument 0"}
!255 = distinct !{!255, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h723ad25bb09a38e8E"}
!256 = !{!257, !259}
!257 = distinct !{!257, !258, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!258 = distinct !{!258, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!259 = distinct !{!259, !260, !"_ZN4core3ptr52drop_in_place$LT$$u5b$alloc..string..String$u5d$$GT$17h00fd667aa50edfe6E: argument 0"}
!260 = distinct !{!260, !"_ZN4core3ptr52drop_in_place$LT$$u5b$alloc..string..String$u5d$$GT$17h00fd667aa50edfe6E"}
!261 = !{!262}
!262 = distinct !{!262, !263, !"_ZN4core3ptr37drop_in_place$LT$addr2line..Lines$GT$17ha66e9785ae10bd52E: argument 0"}
!263 = distinct !{!263, !"_ZN4core3ptr37drop_in_place$LT$addr2line..Lines$GT$17ha66e9785ae10bd52E"}
!264 = !{!265, !262}
!265 = distinct !{!265, !266, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E: argument 0"}
!266 = distinct !{!266, !"_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hae6b22068b5c9d44E"}
!267 = !{!268}
!268 = distinct !{!268, !269, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE: argument 0"}
!269 = distinct !{!269, !"_ZN4core3ptr54drop_in_place$LT$$u5b$addr2line..LineSequence$u5d$$GT$17h4cb79cb55f1775faE"}
!270 = !{i64 1}
!271 = !{!272, !274, !275, !277, !278, !280, !281, !283}
!272 = distinct !{!272, !273, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!273 = distinct !{!273, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!274 = distinct !{!274, !273, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!275 = distinct !{!275, !276, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!276 = distinct !{!276, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!277 = distinct !{!277, !276, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!278 = distinct !{!278, !279, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!279 = distinct !{!279, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!280 = distinct !{!280, !279, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!281 = distinct !{!281, !282, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!282 = distinct !{!282, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!283 = distinct !{!283, !282, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!284 = !{!285, !287, !288, !290, !291, !293, !294, !296}
!285 = distinct !{!285, !286, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!286 = distinct !{!286, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!287 = distinct !{!287, !286, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!288 = distinct !{!288, !289, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!289 = distinct !{!289, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!290 = distinct !{!290, !289, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!291 = distinct !{!291, !292, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!292 = distinct !{!292, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!293 = distinct !{!293, !292, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!294 = distinct !{!294, !295, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!295 = distinct !{!295, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!296 = distinct !{!296, !295, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!297 = !{!298}
!298 = distinct !{!298, !299, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 0"}
!299 = distinct !{!299, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E"}
!300 = !{!301}
!301 = distinct !{!301, !299, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 1"}
!302 = !{!303}
!303 = distinct !{!303, !299, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 2"}
!304 = !{!301, !303}
!305 = !{i64 8}
!306 = !{!298, !301}
!307 = !{!298, !301, !303}
!308 = !{!298, !303}
!309 = !{!310}
!310 = distinct !{!310, !311, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 0"}
!311 = distinct !{!311, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E"}
!312 = !{!313, !314}
!313 = distinct !{!313, !311, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 1"}
!314 = distinct !{!314, !311, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 2"}
!315 = !{!313}
!316 = !{!314}
!317 = !{!310, !313}
!318 = !{!310, !313, !314}
!319 = !{!310, !314}
!320 = !{!321}
!321 = distinct !{!321, !322, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 0"}
!322 = distinct !{!322, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E"}
!323 = !{!324, !325}
!324 = distinct !{!324, !322, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 1"}
!325 = distinct !{!325, !322, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17he1063ad14222d503E: argument 2"}
!326 = !{!325}
!327 = !{!321, !324}
!328 = !{!324}
!329 = !{!321, !324, !325}
!330 = !{!321, !325}
!331 = !{!332, !334, !335, !337, !338, !340, !341, !343}
!332 = distinct !{!332, !333, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!333 = distinct !{!333, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!334 = distinct !{!334, !333, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!335 = distinct !{!335, !336, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!336 = distinct !{!336, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!337 = distinct !{!337, !336, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!338 = distinct !{!338, !339, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!339 = distinct !{!339, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!340 = distinct !{!340, !339, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!341 = distinct !{!341, !342, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!342 = distinct !{!342, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!343 = distinct !{!343, !342, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!344 = !{!345}
!345 = distinct !{!345, !346, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 0"}
!346 = distinct !{!346, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE"}
!347 = !{!348}
!348 = distinct !{!348, !346, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 1"}
!349 = !{!350}
!350 = distinct !{!350, !346, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 2"}
!351 = !{!348, !350}
!352 = !{!345, !348}
!353 = !{!345, !348, !350}
!354 = !{!345, !350}
!355 = !{!356}
!356 = distinct !{!356, !357, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 0"}
!357 = distinct !{!357, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE"}
!358 = !{!359, !360}
!359 = distinct !{!359, !357, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 1"}
!360 = distinct !{!360, !357, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 2"}
!361 = !{!359}
!362 = !{!360}
!363 = !{!356, !359}
!364 = !{!356, !359, !360}
!365 = !{!356, !360}
!366 = !{!367}
!367 = distinct !{!367, !368, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 0"}
!368 = distinct !{!368, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE"}
!369 = !{!370, !371}
!370 = distinct !{!370, !368, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 1"}
!371 = distinct !{!371, !368, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17hf23bc6abd234b0eaE: argument 2"}
!372 = !{!371}
!373 = !{!367, !370}
!374 = !{!370}
!375 = !{!367, !370, !371}
!376 = !{!367, !371}
!377 = !{i64 0, i64 65}
!378 = !{!379}
!379 = distinct !{!379, !380, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!380 = distinct !{!380, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!381 = !{!"branch_weights", i32 2000, i32 1}
!382 = !{!379, !383}
!383 = distinct !{!383, !380, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!384 = !{!383}
!385 = !{!386}
!386 = distinct !{!386, !380, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0:It1"}
!387 = !{!386, !383}
!388 = !{!389}
!389 = distinct !{!389, !380, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0:It2"}
!390 = !{!389, !383}
!391 = !{!392}
!392 = distinct !{!392, !393, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!393 = distinct !{!393, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!394 = !{!392, !395}
!395 = distinct !{!395, !393, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!396 = !{!395}
!397 = !{!398}
!398 = distinct !{!398, !393, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0:It1"}
!399 = !{!398, !395}
!400 = !{!401}
!401 = distinct !{!401, !393, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0:It2"}
!402 = !{!401, !395}
!403 = !{!404}
!404 = distinct !{!404, !405, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!405 = distinct !{!405, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!406 = !{!404, !407}
!407 = distinct !{!407, !405, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!408 = !{!407}
!409 = !{!410}
!410 = distinct !{!410, !411, !"_ZN4core5slice4sort10shift_head17h2676ad12faa1732cE: argument 0"}
!411 = distinct !{!411, !"_ZN4core5slice4sort10shift_head17h2676ad12faa1732cE"}
!412 = !{!413, !415, !416, !418, !419, !421, !422, !424}
!413 = distinct !{!413, !414, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!414 = distinct !{!414, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!415 = distinct !{!415, !414, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!416 = distinct !{!416, !417, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!417 = distinct !{!417, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!418 = distinct !{!418, !417, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!419 = distinct !{!419, !420, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!420 = distinct !{!420, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!421 = distinct !{!421, !420, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!422 = distinct !{!422, !423, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!423 = distinct !{!423, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!424 = distinct !{!424, !423, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!425 = !{!426}
!426 = distinct !{!426, !427, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!427 = distinct !{!427, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!428 = !{!426, !429}
!429 = distinct !{!429, !427, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!430 = !{!429}
!431 = !{!432}
!432 = distinct !{!432, !433, !"_ZN4core5slice4sort10shift_head17h3717b88dba3c0da7E: argument 0"}
!433 = distinct !{!433, !"_ZN4core5slice4sort10shift_head17h3717b88dba3c0da7E"}
!434 = !{!435, !437, !438, !440, !441, !443, !444, !446}
!435 = distinct !{!435, !436, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!436 = distinct !{!436, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!437 = distinct !{!437, !436, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!438 = distinct !{!438, !439, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!439 = distinct !{!439, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!440 = distinct !{!440, !439, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!441 = distinct !{!441, !442, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!442 = distinct !{!442, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!443 = distinct !{!443, !442, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!444 = distinct !{!444, !445, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!445 = distinct !{!445, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!446 = distinct !{!446, !445, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!447 = !{!448, !450, !451, !453, !454, !456, !457, !459}
!448 = distinct !{!448, !449, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!449 = distinct !{!449, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!450 = distinct !{!450, !449, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!451 = distinct !{!451, !452, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!452 = distinct !{!452, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!453 = distinct !{!453, !452, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!454 = distinct !{!454, !455, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!455 = distinct !{!455, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!456 = distinct !{!456, !455, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!457 = distinct !{!457, !458, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!458 = distinct !{!458, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!459 = distinct !{!459, !458, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!460 = !{!461}
!461 = distinct !{!461, !462, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!462 = distinct !{!462, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!463 = !{!461, !464}
!464 = distinct !{!464, !462, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!465 = !{!464}
!466 = !{!467}
!467 = distinct !{!467, !468, !"_ZN4core5slice4sort10shift_head17heedab4aa3bdf50d7E: argument 0"}
!468 = distinct !{!468, !"_ZN4core5slice4sort10shift_head17heedab4aa3bdf50d7E"}
!469 = !{!470}
!470 = distinct !{!470, !471, !"_ZN4core5slice4sort12choose_pivot17ha00c8a2df5976809E: argument 0"}
!471 = distinct !{!471, !"_ZN4core5slice4sort12choose_pivot17ha00c8a2df5976809E"}
!472 = !{!470, !473}
!473 = distinct !{!473, !471, !"_ZN4core5slice4sort12choose_pivot17ha00c8a2df5976809E: argument 1"}
!474 = !{!475, !470, !473}
!475 = distinct !{!475, !476, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E: argument 0"}
!476 = distinct !{!476, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E"}
!477 = !{!478, !470, !473}
!478 = distinct !{!478, !479, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E: argument 0"}
!479 = distinct !{!479, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E"}
!480 = !{!481, !470, !473}
!481 = distinct !{!481, !482, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E: argument 0"}
!482 = distinct !{!482, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h67dc1d124b396f98E"}
!483 = !{!484}
!484 = distinct !{!484, !485, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h0414d6cdebcc373cE: argument 0"}
!485 = distinct !{!485, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h0414d6cdebcc373cE"}
!486 = !{!487}
!487 = distinct !{!487, !488, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h6cd35ac5110ada2dE: argument 0"}
!488 = distinct !{!488, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h6cd35ac5110ada2dE"}
!489 = !{!490}
!490 = distinct !{!490, !488, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h6cd35ac5110ada2dE: argument 1"}
!491 = !{!492}
!492 = distinct !{!492, !493, !"_ZN4core3mem4swap17hbbf4d7bd5f27ac50E: argument 0"}
!493 = distinct !{!493, !"_ZN4core3mem4swap17hbbf4d7bd5f27ac50E"}
!494 = !{!495}
!495 = distinct !{!495, !493, !"_ZN4core3mem4swap17hbbf4d7bd5f27ac50E: argument 1"}
!496 = !{!497, !492, !487, !484, !470, !499}
!497 = distinct !{!497, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It1"}
!498 = distinct !{!498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE"}
!499 = distinct !{!499, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0"}
!500 = !{!495, !490, !473}
!501 = !{!502, !495, !490, !484, !470, !503}
!502 = distinct !{!502, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It1"}
!503 = distinct !{!503, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1"}
!504 = !{!492, !487, !473}
!505 = !{!506, !492, !487, !484, !470, !507}
!506 = distinct !{!506, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It3"}
!507 = distinct !{!507, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It2"}
!508 = !{!509, !495, !490, !484, !470, !510}
!509 = distinct !{!509, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It3"}
!510 = distinct !{!510, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It2"}
!511 = !{!512}
!512 = distinct !{!512, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 0:It4"}
!513 = !{!514}
!514 = distinct !{!514, !498, !"_ZN4core3mem11swap_simple17h714d442fd095b85eE: argument 1:It4"}
!515 = !{!512, !492, !487, !484, !470}
!516 = !{!514, !495, !490, !473}
!517 = !{!514, !495, !490, !484, !470}
!518 = !{!512, !492, !487, !473}
!519 = !{!520}
!520 = distinct !{!520, !521, !"_ZN4core5slice4sort9partition17h6df75a047c1b06f0E: argument 0"}
!521 = distinct !{!521, !"_ZN4core5slice4sort9partition17h6df75a047c1b06f0E"}
!522 = !{!523}
!523 = distinct !{!523, !524, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!524 = distinct !{!524, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!525 = !{!"branch_weights", i32 1, i32 2000}
!526 = !{!523, !527, !520}
!527 = distinct !{!527, !524, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!528 = !{!527}
!529 = !{!523, !520}
!530 = !{!531, !533, !534, !536, !537}
!531 = distinct !{!531, !532, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 0"}
!532 = distinct !{!532, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E"}
!533 = distinct !{!533, !532, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 1"}
!534 = distinct !{!534, !535, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!535 = distinct !{!535, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!536 = distinct !{!536, !535, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!537 = distinct !{!537, !535, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 2"}
!538 = !{!539}
!539 = distinct !{!539, !540, !"_ZN4core5slice4sort19partition_in_blocks17he94ff4a6eab75db4E: argument 0"}
!540 = distinct !{!540, !"_ZN4core5slice4sort19partition_in_blocks17he94ff4a6eab75db4E"}
!541 = !{!539, !520}
!542 = distinct !{!542, !543}
!543 = !{!"llvm.loop.unroll.disable"}
!544 = distinct !{!544, !543}
!545 = !{!546}
!546 = distinct !{!546, !547, !"_ZN4core3ptr4read17h83b727ac3cccdb04E: argument 0"}
!547 = distinct !{!547, !"_ZN4core3ptr4read17h83b727ac3cccdb04E"}
!548 = !{!549}
!549 = distinct !{!549, !550, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!550 = distinct !{!550, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!551 = !{!549, !552, !520}
!552 = distinct !{!552, !550, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!553 = !{!552}
!554 = !{!549, !520}
!555 = !{!556, !558, !559, !561, !562}
!556 = distinct !{!556, !557, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 0"}
!557 = distinct !{!557, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E"}
!558 = distinct !{!558, !557, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 1"}
!559 = distinct !{!559, !560, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!560 = distinct !{!560, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!561 = distinct !{!561, !560, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!562 = distinct !{!562, !560, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 2"}
!563 = !{!564, !566}
!564 = distinct !{!564, !565, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!565 = distinct !{!565, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!566 = distinct !{!566, !565, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!567 = !{!568}
!568 = distinct !{!568, !569, !"_ZN4core5slice4sort15partition_equal17hba94d4a75bd13481E: argument 0"}
!569 = distinct !{!569, !"_ZN4core5slice4sort15partition_equal17hba94d4a75bd13481E"}
!570 = !{!571}
!571 = distinct !{!571, !572, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!572 = distinct !{!572, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!573 = !{!571, !574, !568}
!574 = distinct !{!574, !572, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!575 = !{!574}
!576 = !{!571, !568}
!577 = !{!578, !580, !581, !583, !584}
!578 = distinct !{!578, !579, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 0"}
!579 = distinct !{!579, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E"}
!580 = distinct !{!580, !579, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h5f1d3c4003f96d24E: argument 1"}
!581 = distinct !{!581, !582, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 0"}
!582 = distinct !{!582, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E"}
!583 = distinct !{!583, !582, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 1"}
!584 = distinct !{!584, !582, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h063bc4bab5884822E: argument 2"}
!585 = !{!586}
!586 = distinct !{!586, !587, !"_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"}
!587 = distinct !{!587, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h20b7af52924d1dfcE"}
!588 = !{!589}
!589 = distinct !{!589, !590, !"_ZN4core5slice4sort12choose_pivot17h63198be1b54bb257E: argument 0"}
!590 = distinct !{!590, !"_ZN4core5slice4sort12choose_pivot17h63198be1b54bb257E"}
!591 = !{!589, !592}
!592 = distinct !{!592, !590, !"_ZN4core5slice4sort12choose_pivot17h63198be1b54bb257E: argument 1"}
!593 = !{!594, !589, !592}
!594 = distinct !{!594, !595, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E: argument 0"}
!595 = distinct !{!595, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E"}
!596 = !{!597, !589, !592}
!597 = distinct !{!597, !598, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E: argument 0"}
!598 = distinct !{!598, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E"}
!599 = !{!600, !589, !592}
!600 = distinct !{!600, !601, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E: argument 0"}
!601 = distinct !{!601, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h360f794d7a2a1573E"}
!602 = !{!603}
!603 = distinct !{!603, !604, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E: argument 0"}
!604 = distinct !{!604, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E"}
!605 = !{!606}
!606 = distinct !{!606, !607, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 0"}
!607 = distinct !{!607, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E"}
!608 = !{!609}
!609 = distinct !{!609, !607, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 1"}
!610 = !{!611}
!611 = distinct !{!611, !612, !"_ZN4core3mem4swap17hf29c856065843894E: argument 0"}
!612 = distinct !{!612, !"_ZN4core3mem4swap17hf29c856065843894E"}
!613 = !{!614}
!614 = distinct !{!614, !612, !"_ZN4core3mem4swap17hf29c856065843894E: argument 1"}
!615 = !{!616}
!616 = distinct !{!616, !617, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 0"}
!617 = distinct !{!617, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE"}
!618 = !{!619}
!619 = distinct !{!619, !617, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 1"}
!620 = !{!619, !614, !609, !592}
!621 = !{!616, !619, !611, !614, !606, !609, !603, !589}
!622 = !{!592}
!623 = !{!616, !611, !606, !592}
!624 = !{!625}
!625 = distinct !{!625, !626, !"_ZN4core5slice4sort9partition17haa0a4e117c949eddE: argument 0"}
!626 = distinct !{!626, !"_ZN4core5slice4sort9partition17haa0a4e117c949eddE"}
!627 = !{!628}
!628 = distinct !{!628, !629, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!629 = distinct !{!629, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!630 = !{!628, !631, !625}
!631 = distinct !{!631, !629, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!632 = !{!631}
!633 = !{!628, !625}
!634 = !{!635, !637, !638, !640, !641}
!635 = distinct !{!635, !636, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!636 = distinct !{!636, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!637 = distinct !{!637, !636, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!638 = distinct !{!638, !639, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!639 = distinct !{!639, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!640 = distinct !{!640, !639, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!641 = distinct !{!641, !639, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!642 = !{!643, !645, !646, !648, !649, !651, !652, !654}
!643 = distinct !{!643, !644, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!644 = distinct !{!644, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!645 = distinct !{!645, !644, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!646 = distinct !{!646, !647, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!647 = distinct !{!647, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!648 = distinct !{!648, !647, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!649 = distinct !{!649, !650, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!650 = distinct !{!650, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!651 = distinct !{!651, !650, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!652 = distinct !{!652, !653, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!653 = distinct !{!653, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!654 = distinct !{!654, !653, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!655 = !{!656, !658, !659, !661, !662, !664, !665, !667}
!656 = distinct !{!656, !657, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!657 = distinct !{!657, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!658 = distinct !{!658, !657, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!659 = distinct !{!659, !660, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!660 = distinct !{!660, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!661 = distinct !{!661, !660, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!662 = distinct !{!662, !663, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!663 = distinct !{!663, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!664 = distinct !{!664, !663, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!665 = distinct !{!665, !666, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!666 = distinct !{!666, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!667 = distinct !{!667, !666, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!668 = !{!669}
!669 = distinct !{!669, !670, !"_ZN4core5slice4sort19partition_in_blocks17h4e860240a354cc95E: argument 0"}
!670 = distinct !{!670, !"_ZN4core5slice4sort19partition_in_blocks17h4e860240a354cc95E"}
!671 = !{!669, !625}
!672 = !{!673, !675, !676, !678, !679, !681, !682, !684}
!673 = distinct !{!673, !674, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!674 = distinct !{!674, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!675 = distinct !{!675, !674, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!676 = distinct !{!676, !677, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!677 = distinct !{!677, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!678 = distinct !{!678, !677, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!679 = distinct !{!679, !680, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!680 = distinct !{!680, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!681 = distinct !{!681, !680, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!682 = distinct !{!682, !683, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!683 = distinct !{!683, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!684 = distinct !{!684, !683, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!685 = !{!686, !688, !689, !691, !692, !694, !695, !697}
!686 = distinct !{!686, !687, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!687 = distinct !{!687, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!688 = distinct !{!688, !687, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!689 = distinct !{!689, !690, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!690 = distinct !{!690, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!691 = distinct !{!691, !690, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!692 = distinct !{!692, !693, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!693 = distinct !{!693, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!694 = distinct !{!694, !693, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!695 = distinct !{!695, !696, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!696 = distinct !{!696, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!697 = distinct !{!697, !696, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!698 = !{!699}
!699 = distinct !{!699, !700, !"_ZN4core3ptr4read17h849ae357eeb6b14aE: argument 0"}
!700 = distinct !{!700, !"_ZN4core3ptr4read17h849ae357eeb6b14aE"}
!701 = !{!702}
!702 = distinct !{!702, !703, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!703 = distinct !{!703, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!704 = !{!702, !705, !625}
!705 = distinct !{!705, !703, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!706 = !{!705}
!707 = !{!702, !625}
!708 = !{!709, !711, !712, !714, !715}
!709 = distinct !{!709, !710, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!710 = distinct !{!710, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!711 = distinct !{!711, !710, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!712 = distinct !{!712, !713, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!713 = distinct !{!713, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!714 = distinct !{!714, !713, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!715 = distinct !{!715, !713, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!716 = !{!717, !719}
!717 = distinct !{!717, !718, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!718 = distinct !{!718, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!719 = distinct !{!719, !718, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!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}
!734 = distinct !{!734, !735, !"_ZN4core5slice4sort15partition_equal17head61c0002ec65d9E: argument 0"}
!735 = distinct !{!735, !"_ZN4core5slice4sort15partition_equal17head61c0002ec65d9E"}
!736 = !{!737}
!737 = distinct !{!737, !738, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!738 = distinct !{!738, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!739 = !{!737, !740, !734}
!740 = distinct !{!740, !738, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!741 = !{!740}
!742 = !{!737, !734}
!743 = !{!744, !746, !747, !749, !750}
!744 = distinct !{!744, !745, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!745 = distinct !{!745, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!746 = distinct !{!746, !745, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!747 = distinct !{!747, !748, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!748 = distinct !{!748, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!749 = distinct !{!749, !748, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!750 = distinct !{!750, !748, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!751 = !{!752, !754, !755, !757, !758, !760, !761, !763}
!752 = distinct !{!752, !753, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!753 = distinct !{!753, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!754 = distinct !{!754, !753, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!755 = distinct !{!755, !756, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!756 = distinct !{!756, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!757 = distinct !{!757, !756, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!758 = distinct !{!758, !759, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!759 = distinct !{!759, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!760 = distinct !{!760, !759, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!761 = distinct !{!761, !762, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!762 = distinct !{!762, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!763 = distinct !{!763, !762, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!764 = !{!765, !767, !768, !770, !771, !773, !774, !776}
!765 = distinct !{!765, !766, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!766 = distinct !{!766, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!767 = distinct !{!767, !766, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!768 = distinct !{!768, !769, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!769 = distinct !{!769, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!770 = distinct !{!770, !769, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!771 = distinct !{!771, !772, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!772 = distinct !{!772, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!773 = distinct !{!773, !772, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!774 = distinct !{!774, !775, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!775 = distinct !{!775, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!776 = distinct !{!776, !775, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!777 = !{!778}
!778 = distinct !{!778, !779, !"_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"}
!779 = distinct !{!779, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h6ffe643bcf0e2ab9E"}
!780 = !{!781}
!781 = distinct !{!781, !782, !"_ZN4core5slice4sort12choose_pivot17h9bfc6d9003103b30E: argument 0"}
!782 = distinct !{!782, !"_ZN4core5slice4sort12choose_pivot17h9bfc6d9003103b30E"}
!783 = !{!781, !784}
!784 = distinct !{!784, !782, !"_ZN4core5slice4sort12choose_pivot17h9bfc6d9003103b30E: argument 1"}
!785 = !{!786, !781, !784}
!786 = distinct !{!786, !787, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E: argument 0"}
!787 = distinct !{!787, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E"}
!788 = !{!789, !781, !784}
!789 = distinct !{!789, !790, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E: argument 0"}
!790 = distinct !{!790, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E"}
!791 = !{!792, !781, !784}
!792 = distinct !{!792, !793, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E: argument 0"}
!793 = distinct !{!793, !"_ZN4core5slice4sort12choose_pivot28_$u7b$$u7b$closure$u7d$$u7d$17h0a4403b81e0e3333E"}
!794 = !{!795}
!795 = distinct !{!795, !796, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E: argument 0"}
!796 = distinct !{!796, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse17h483bde82962b8be0E"}
!797 = !{!798}
!798 = distinct !{!798, !799, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 0"}
!799 = distinct !{!799, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E"}
!800 = !{!801}
!801 = distinct !{!801, !799, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$7reverse7revswap17h154c9a66592cd992E: argument 1"}
!802 = !{!803}
!803 = distinct !{!803, !804, !"_ZN4core3mem4swap17hf29c856065843894E: argument 0"}
!804 = distinct !{!804, !"_ZN4core3mem4swap17hf29c856065843894E"}
!805 = !{!806}
!806 = distinct !{!806, !804, !"_ZN4core3mem4swap17hf29c856065843894E: argument 1"}
!807 = !{!808}
!808 = distinct !{!808, !809, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 0"}
!809 = distinct !{!809, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE"}
!810 = !{!811}
!811 = distinct !{!811, !809, !"_ZN4core3mem11swap_simple17hc6f013b5c8b3104fE: argument 1"}
!812 = !{!811, !806, !801, !784}
!813 = !{!808, !811, !803, !806, !798, !801, !795, !781}
!814 = !{!784}
!815 = !{!808, !803, !798, !784}
!816 = !{!817}
!817 = distinct !{!817, !818, !"_ZN4core5slice4sort9partition17h7ccabca296a1663aE: argument 0"}
!818 = distinct !{!818, !"_ZN4core5slice4sort9partition17h7ccabca296a1663aE"}
!819 = !{!820}
!820 = distinct !{!820, !821, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!821 = distinct !{!821, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!822 = !{!820, !823, !817}
!823 = distinct !{!823, !821, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!824 = !{!823}
!825 = !{!820, !817}
!826 = !{!827, !829, !830, !832, !833}
!827 = distinct !{!827, !828, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!828 = distinct !{!828, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!829 = distinct !{!829, !828, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!830 = distinct !{!830, !831, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!831 = distinct !{!831, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!832 = distinct !{!832, !831, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!833 = distinct !{!833, !831, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!834 = !{!835}
!835 = distinct !{!835, !836, !"_ZN4core5slice4sort19partition_in_blocks17hda90683e17e6c77fE: argument 0"}
!836 = distinct !{!836, !"_ZN4core5slice4sort19partition_in_blocks17hda90683e17e6c77fE"}
!837 = !{!835, !817}
!838 = distinct !{!838, !543}
!839 = distinct !{!839, !543}
!840 = !{!841}
!841 = distinct !{!841, !842, !"_ZN4core3ptr4read17h849ae357eeb6b14aE: argument 0"}
!842 = distinct !{!842, !"_ZN4core3ptr4read17h849ae357eeb6b14aE"}
!843 = !{!844}
!844 = distinct !{!844, !845, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!845 = distinct !{!845, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!846 = !{!844, !847, !817}
!847 = distinct !{!847, !845, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!848 = !{!847}
!849 = !{!844, !817}
!850 = !{!851, !853, !854, !856, !857}
!851 = distinct !{!851, !852, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!852 = distinct !{!852, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!853 = distinct !{!853, !852, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!854 = distinct !{!854, !855, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!855 = distinct !{!855, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!856 = distinct !{!856, !855, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!857 = distinct !{!857, !855, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!858 = !{!859, !861}
!859 = distinct !{!859, !860, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!860 = distinct !{!860, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!861 = distinct !{!861, !860, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!862 = !{!863}
!863 = distinct !{!863, !864, !"_ZN4core5slice4sort15partition_equal17h9c0cf50038b026eaE: argument 0"}
!864 = distinct !{!864, !"_ZN4core5slice4sort15partition_equal17h9c0cf50038b026eaE"}
!865 = !{!866}
!866 = distinct !{!866, !867, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!867 = distinct !{!867, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!868 = !{!866, !869, !863}
!869 = distinct !{!869, !867, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!870 = !{!869}
!871 = !{!866, !863}
!872 = !{!873, !875, !876, !878, !879}
!873 = distinct !{!873, !874, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 0"}
!874 = distinct !{!874, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E"}
!875 = distinct !{!875, !874, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$22split_at_mut_unchecked17h14263f1f81601a07E: argument 1"}
!876 = distinct !{!876, !877, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 0"}
!877 = distinct !{!877, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE"}
!878 = distinct !{!878, !877, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 1"}
!879 = distinct !{!879, !877, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h099cd8de02550c1bE: argument 2"}
!880 = !{!881}
!881 = distinct !{!881, !882, !"_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"}
!882 = distinct !{!882, !"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h6ffe643bcf0e2ab9E"}
!883 = !{!884}
!884 = distinct !{!884, !885, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!885 = distinct !{!885, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!886 = !{!884, !887}
!887 = distinct !{!887, !885, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!888 = !{!887}
!889 = !{!890}
!890 = distinct !{!890, !891, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!891 = distinct !{!891, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!892 = !{!890, !893}
!893 = distinct !{!893, !891, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!894 = !{!893}
!895 = !{!896}
!896 = distinct !{!896, !897, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!897 = distinct !{!897, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!898 = !{!896, !899}
!899 = distinct !{!899, !897, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!900 = !{!899}
!901 = !{!902}
!902 = distinct !{!902, !903, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 0"}
!903 = distinct !{!903, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE"}
!904 = !{!902, !905}
!905 = distinct !{!905, !903, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hd17dc9d99c718d3dE: argument 1"}
!906 = !{!905}
!907 = !{!908, !910, !911, !913, !914, !916, !917, !919}
!908 = distinct !{!908, !909, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!909 = distinct !{!909, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!910 = distinct !{!910, !909, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!911 = distinct !{!911, !912, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!912 = distinct !{!912, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!913 = distinct !{!913, !912, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!914 = distinct !{!914, !915, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!915 = distinct !{!915, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!916 = distinct !{!916, !915, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!917 = distinct !{!917, !918, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!918 = distinct !{!918, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!919 = distinct !{!919, !918, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!920 = !{!921, !923, !924, !926, !927, !929, !930, !932}
!921 = distinct !{!921, !922, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 0"}
!922 = distinct !{!922, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E"}
!923 = distinct !{!923, !922, !"_ZN49_$LT$u8$u20$as$u20$core..slice..cmp..SliceOrd$GT$7compare17hd4690d1b2d7a53c5E: argument 1"}
!924 = distinct !{!924, !925, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 0"}
!925 = distinct !{!925, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E"}
!926 = distinct !{!926, !925, !"_ZN55_$LT$A$u20$as$u20$core..slice..cmp..SlicePartialOrd$GT$15partial_compare17he1f3183a3ca8e020E: argument 1"}
!927 = distinct !{!927, !928, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 0"}
!928 = distinct !{!928, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E"}
!929 = distinct !{!929, !928, !"_ZN4core5slice3cmp63_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$$u5b$T$u5d$$GT$11partial_cmp17h193a540af7108111E: argument 1"}
!930 = distinct !{!930, !931, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 0"}
!931 = distinct !{!931, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E"}
!932 = distinct !{!932, !931, !"_ZN4core3cmp10PartialOrd2lt17h94be365a7c8a0427E: argument 1"}
!933 = !{!934}
!934 = distinct !{!934, !935, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!935 = distinct !{!935, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!936 = !{!934, !937}
!937 = distinct !{!937, !935, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!938 = !{!937}
!939 = !{!940}
!940 = distinct !{!940, !941, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 0"}
!941 = distinct !{!941, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E"}
!942 = !{!940, !943}
!943 = distinct !{!943, !941, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h849e554f27a0e299E: argument 1"}
!944 = !{!943}
!945 = !{!946}
!946 = distinct !{!946, !947, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$16deallocating_end17h0ab96c3922513924E: argument 0"}
!947 = distinct !{!947, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$16deallocating_end17h0ab96c3922513924E"}
!948 = !{!949}
!949 = distinct !{!949, !950, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hcbbc82f8be79332dE: argument 1"}
!950 = distinct !{!950, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hcbbc82f8be79332dE"}
!951 = !{!952}
!952 = distinct !{!952, !953, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E: argument 0"}
!953 = distinct !{!953, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E"}
!954 = !{!955}
!955 = distinct !{!955, !953, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E: argument 2"}
!956 = !{!952, !957, !949, !946}
!957 = distinct !{!957, !953, !"_ZN4core3mem7replace17h3f8b1aa1a6a932b3E: argument 1"}
!958 = !{!955, !959}
!959 = distinct !{!959, !950, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$10take_front17hcbbc82f8be79332dE: argument 0"}
!960 = !{!957, !955, !949, !946}
!961 = !{!952, !959}
!962 = !{!963, !965, !959, !949, !946}
!963 = distinct !{!963, !964, !"_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"}
!964 = distinct !{!964, !"_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"}
!965 = distinct !{!965, !966, !"_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"}
!966 = distinct !{!966, !"_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"}
!967 = !{!968, !970, !972, !973, !946}
!968 = distinct !{!968, !969, !"_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"}
!969 = distinct !{!969, !"_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"}
!970 = distinct !{!970, !971, !"_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"}
!971 = distinct !{!971, !"_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"}
!972 = distinct !{!972, !971, !"_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"}
!973 = distinct !{!973, !974, !"_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"}
!974 = distinct !{!974, !"_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"}
!975 = !{!976, !978, !973, !946}
!976 = distinct !{!976, !977, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E: argument 0"}
!977 = distinct !{!977, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E"}
!978 = distinct !{!978, !979, !"_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"}
!979 = distinct !{!979, !"_ZN5alloc11collections5btree4node127NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$21deallocate_and_ascend17hf612a27a69919affE"}
!980 = !{!981, !983, !985, !976, !978, !973, !946}
!981 = distinct !{!981, !982, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E: argument 0"}
!982 = distinct !{!982, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E"}
!983 = distinct !{!983, !984, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 0"}
!984 = distinct !{!984, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E"}
!985 = distinct !{!985, !984, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 1"}
!986 = !{!978, !973, !946}
!987 = !{!988, !990, !992, !973, !946}
!988 = distinct !{!988, !989, !"_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"}
!989 = distinct !{!989, !"_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"}
!990 = distinct !{!990, !991, !"_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"}
!991 = distinct !{!991, !"_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"}
!992 = distinct !{!992, !991, !"_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"}
!993 = !{!994}
!994 = distinct !{!994, !995, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$27deallocating_next_unchecked17h6a6c829066fde43cE: argument 1"}
!995 = distinct !{!995, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$27deallocating_next_unchecked17h6a6c829066fde43cE"}
!996 = !{i64 0, i64 3}
!997 = !{!998}
!998 = distinct !{!998, !995, !"_ZN5alloc11collections5btree8navigate75LazyLeafRange$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$GT$27deallocating_next_unchecked17h6a6c829066fde43cE: argument 0"}
!999 = !{!1000}
!1000 = distinct !{!1000, !1001, !"_ZN5alloc11collections5btree8navigate39LazyLeafRange$LT$BorrowType$C$K$C$V$GT$10init_front17h80f6b3360dc8d71fE: argument 0"}
!1001 = distinct !{!1001, !"_ZN5alloc11collections5btree8navigate39LazyLeafRange$LT$BorrowType$C$K$C$V$GT$10init_front17h80f6b3360dc8d71fE"}
!1002 = !{!1000, !994}
!1003 = !{!1004, !1006, !1000, !998, !994}
!1004 = distinct !{!1004, !1005, !"_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"}
!1005 = distinct !{!1005, !"_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"}
!1006 = distinct !{!1006, !1007, !"_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"}
!1007 = distinct !{!1007, !"_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"}
!1008 = !{!1009, !1011, !998, !994}
!1009 = distinct !{!1009, !1010, !"_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"}
!1010 = distinct !{!1010, !"_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"}
!1011 = distinct !{!1011, !1010, !"_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"}
!1012 = !{!1013, !1015, !1017, !1018, !1020, !1021, !1023, !1024, !1026, !1009, !1011, !998, !994}
!1013 = distinct !{!1013, !1014, !"_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"}
!1014 = distinct !{!1014, !"_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"}
!1015 = distinct !{!1015, !1016, !"_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"}
!1016 = distinct !{!1016, !"_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"}
!1017 = distinct !{!1017, !1016, !"_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"}
!1018 = distinct !{!1018, !1019, !"_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"}
!1019 = distinct !{!1019, !"_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"}
!1020 = distinct !{!1020, !1019, !"_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"}
!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$27deallocating_next_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h3aeae4ce88bd0bbfE: 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$27deallocating_next_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h3aeae4ce88bd0bbfE"}
!1023 = distinct !{!1023, !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$27deallocating_next_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h3aeae4ce88bd0bbfE: argument 1"}
!1024 = distinct !{!1024, !1025, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 0:thread"}
!1025 = distinct !{!1025, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E"}
!1026 = distinct !{!1026, !1025, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 1:thread"}
!1027 = !{!998, !994}
!1028 = !{!1029, !1030, !994}
!1029 = distinct !{!1029, !1025, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 1"}
!1030 = distinct !{!1030, !1010, !"_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"}
!1031 = !{!1032, !1033, !998}
!1032 = distinct !{!1032, !1025, !"_ZN5alloc11collections5btree3mem7replace17hd73dd4558e734ce5E: argument 0"}
!1033 = distinct !{!1033, !1010, !"_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"}
!1034 = !{!1030}
!1035 = !{!1029}
!1036 = !{!1033, !1030, !998, !994}
!1037 = !{!1013, !1015, !1017, !1018, !1020, !1021, !1023, !1032, !1029, !1033, !1030, !998, !994}
!1038 = !{!1032, !1029, !1033, !1030, !998, !994}
!1039 = !{!1040, !1042, !1044, !1018, !1020, !1021, !1023, !1032, !1029, !1033, !1030, !998, !994}
!1040 = distinct !{!1040, !1041, !"_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"}
!1041 = distinct !{!1041, !"_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"}
!1042 = distinct !{!1042, !1043, !"_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"}
!1043 = distinct !{!1043, !"_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"}
!1044 = distinct !{!1044, !1043, !"_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"}
!1045 = !{!1046, !1048, !1042, !1044, !1018, !1020, !1021, !1023, !1032, !1029, !1033, !1030, !998, !994}
!1046 = distinct !{!1046, !1047, !"_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"}
!1047 = distinct !{!1047, !"_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"}
!1048 = distinct !{!1048, !1049, !"_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"}
!1049 = distinct !{!1049, !"_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"}
!1050 = !{!1051, !1053, !1018, !1020, !1021, !1023, !1032, !1029, !1033, !1030, !998, !994}
!1051 = distinct !{!1051, !1052, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E: argument 0"}
!1052 = distinct !{!1052, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend17h4200a35610f31663E"}
!1053 = distinct !{!1053, !1054, !"_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"}
!1054 = distinct !{!1054, !"_ZN5alloc11collections5btree4node127NodeRef$LT$alloc..collections..btree..node..marker..Dying$C$K$C$V$C$alloc..collections..btree..node..marker..LeafOrInternal$GT$21deallocate_and_ascend17hf612a27a69919affE"}
!1055 = !{!1053, !1018, !1020, !1021, !1023, !1032, !1029, !1033, !1030, !998, !994}
!1056 = !{!1057, !1059, !1061, !1051, !1053, !1018, !1020, !1021, !1023, !1032, !1029, !1033, !1030, !998, !994}
!1057 = distinct !{!1057, !1058, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E: argument 0"}
!1058 = distinct !{!1058, !"_ZN5alloc11collections5btree4node40NodeRef$LT$BorrowType$C$K$C$V$C$Type$GT$6ascend28_$u7b$$u7b$closure$u7d$$u7d$17h26d19949570a3890E"}
!1059 = distinct !{!1059, !1060, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 0"}
!1060 = distinct !{!1060, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E"}
!1061 = distinct !{!1061, !1060, !"_ZN4core6option15Option$LT$T$GT$3map17hf821799b25d274d1E: argument 1"}
!1062 = !{!1063, !1065, !1067, !1018, !1020, !1021, !1023, !1032, !1029, !1033, !1030, !998, !994}
!1063 = distinct !{!1063, !1064, !"_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"}
!1064 = distinct !{!1064, !"_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"}
!1065 = distinct !{!1065, !1066, !"_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"}
!1066 = distinct !{!1066, !"_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"}
!1067 = distinct !{!1067, !1066, !"_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"}
!1068 = !{!1069}
!1069 = distinct !{!1069, !1070, !"_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"}
!1070 = distinct !{!1070, !"_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"}
!1071 = !{!1072, !1074, !1069}
!1072 = distinct !{!1072, !1073, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E: argument 0"}
!1073 = distinct !{!1073, !"_ZN67_$LT$alloc..sync..Arc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9252d7b5f7c6e926E"}
!1074 = distinct !{!1074, !1075, !"_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"}
!1075 = distinct !{!1075, !"_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"}
!1076 = !{!1077}
!1077 = distinct !{!1077, !1078, !"_ZN68_$LT$alloc..sync..Weak$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbd25df2c7f8751c2E: argument 0"}
!1078 = distinct !{!1078, !"_ZN68_$LT$alloc..sync..Weak$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbd25df2c7f8751c2E"}
!1079 = !{!1080}
!1080 = distinct !{!1080, !1081, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hce7f3bcce32c779cE: argument 0"}
!1081 = distinct !{!1081, !"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hce7f3bcce32c779cE"}
!1082 = !{!1083}
!1083 = distinct !{!1083, !1084, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 0"}
!1084 = distinct !{!1084, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E"}
!1085 = !{!1086, !1087}
!1086 = distinct !{!1086, !1084, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 1"}
!1087 = distinct !{!1087, !1084, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 2"}
!1088 = !{!1089}
!1089 = distinct !{!1089, !1090, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hd4aba355d1e769a7E: argument 0"}
!1090 = distinct !{!1090, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hd4aba355d1e769a7E"}
!1091 = !{!1092, !1089}
!1092 = distinct !{!1092, !1093, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17haf8372a3851787c5E: argument 0"}
!1093 = distinct !{!1093, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17haf8372a3851787c5E"}
!1094 = !{!1095, !1089}
!1095 = distinct !{!1095, !1096, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17hd0b0afe6c7e5882eE: argument 0"}
!1096 = distinct !{!1096, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17hd0b0afe6c7e5882eE"}
!1097 = !{!1098}
!1098 = distinct !{!1098, !1099, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h030a40afa43d3ed8E: argument 0"}
!1099 = distinct !{!1099, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h030a40afa43d3ed8E"}
!1100 = !{!1101, !1098}
!1101 = distinct !{!1101, !1102, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE: argument 0"}
!1102 = distinct !{!1102, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hbc304d0fbfd5902cE"}
!1103 = !{!1104, !1098}
!1104 = distinct !{!1104, !1105, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h95f794bf15bedb42E: argument 0"}
!1105 = distinct !{!1105, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h95f794bf15bedb42E"}
!1106 = !{!1107}
!1107 = distinct !{!1107, !1108, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h4400310b32329961E: argument 0"}
!1108 = distinct !{!1108, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h4400310b32329961E"}
!1109 = !{!1110, !1107}
!1110 = distinct !{!1110, !1111, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E: argument 0"}
!1111 = distinct !{!1111, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E"}
!1112 = !{!1113, !1107}
!1113 = distinct !{!1113, !1114, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h4f44b38cf5a1d6fbE: argument 0"}
!1114 = distinct !{!1114, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h4f44b38cf5a1d6fbE"}
!1115 = !{!1116}
!1116 = distinct !{!1116, !1117, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h049daca563001f41E: argument 0"}
!1117 = distinct !{!1117, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h049daca563001f41E"}
!1118 = !{!1119, !1116}
!1119 = distinct !{!1119, !1120, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E: argument 0"}
!1120 = distinct !{!1120, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h80ab53012b7cdf07E"}
!1121 = !{!1122, !1116}
!1122 = distinct !{!1122, !1123, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17he5dd252d55ca6c92E: argument 0"}
!1123 = distinct !{!1123, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17he5dd252d55ca6c92E"}
!1124 = !{!1125, !1127}
!1125 = distinct !{!1125, !1126, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E: argument 0"}
!1126 = distinct !{!1126, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h7d3efa153ea4f1b6E"}
!1127 = distinct !{!1127, !1128, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE: argument 0"}
!1128 = distinct !{!1128, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE"}
!1129 = !{!1127}
!1130 = !{!1131, !1133}
!1131 = distinct !{!1131, !1132, !"_ZN6object4read5macho12load_command28LoadCommandIterator$LT$E$GT$4next17h5c3ae4dceb01387fE: argument 0"}
!1132 = distinct !{!1132, !"_ZN6object4read5macho12load_command28LoadCommandIterator$LT$E$GT$4next17h5c3ae4dceb01387fE"}
!1133 = distinct !{!1133, !1132, !"_ZN6object4read5macho12load_command28LoadCommandIterator$LT$E$GT$4next17h5c3ae4dceb01387fE: argument 1"}
!1134 = !{!1135}
!1135 = distinct !{!1135, !1136, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16into_boxed_slice17hbd3d8dc3edd2fddcE: argument 0"}
!1136 = distinct !{!1136, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16into_boxed_slice17hbd3d8dc3edd2fddcE"}
!1137 = !{!1138, !1140, !1142, !1135}
!1138 = distinct !{!1138, !1139, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$6shrink17h122f1f0d9c11a355E: argument 0"}
!1139 = distinct !{!1139, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$6shrink17h122f1f0d9c11a355E"}
!1140 = distinct !{!1140, !1141, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$13shrink_to_fit17ha7ec3985695128bfE: argument 0"}
!1141 = distinct !{!1141, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$13shrink_to_fit17ha7ec3985695128bfE"}
!1142 = distinct !{!1142, !1143, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$13shrink_to_fit17hee2574a26f4bec95E: argument 0"}
!1143 = distinct !{!1143, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$13shrink_to_fit17hee2574a26f4bec95E"}
!1144 = !{!1145}
!1145 = distinct !{!1145, !1146, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 0"}
!1146 = distinct !{!1146, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E"}
!1147 = !{!1148, !1149, !1138, !1140, !1142, !1135}
!1148 = distinct !{!1148, !1146, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 1"}
!1149 = distinct !{!1149, !1146, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 2"}
!1150 = !{!1151}
!1151 = distinct !{!1151, !1152, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 0"}
!1152 = distinct !{!1152, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E"}
!1153 = !{!1154, !1155, !1135}
!1154 = distinct !{!1154, !1152, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 1"}
!1155 = distinct !{!1155, !1152, !"_ZN4core3fmt9Arguments6new_v117h3a6f820ab8866b67E: argument 2"}
!1156 = !{!1157}
!1157 = distinct !{!1157, !1158, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE: argument 1"}
!1158 = distinct !{!1158, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE"}
!1159 = !{!1160, !1161}
!1160 = distinct !{!1160, !1158, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE: argument 0"}
!1161 = distinct !{!1161, !1158, !"_ZN6object4read5macho12load_command55_$LT$impl$u20$object..macho..SymtabCommand$LT$E$GT$$GT$7symbols17hdd2468e24a8420edE: argument 2"}
!1162 = !{!1163, !1165, !1166, !1168}
!1163 = distinct !{!1163, !1164, !"_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"}
!1164 = distinct !{!1164, !"_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"}
!1165 = distinct !{!1165, !1164, !"_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"}
!1166 = distinct !{!1166, !1167, !"_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"}
!1167 = distinct !{!1167, !"_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"}
!1168 = distinct !{!1168, !1167, !"_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"}
!1169 = !{!1170, !1172}
!1170 = distinct !{!1170, !1171, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 1"}
!1171 = distinct !{!1171, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E"}
!1172 = distinct !{!1172, !1173, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 1"}
!1173 = distinct !{!1173, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E"}
!1174 = !{!1175, !1176, !1177, !1179, !1180, !1181, !1183, !1163, !1165, !1166, !1168}
!1175 = distinct !{!1175, !1171, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 0"}
!1176 = distinct !{!1176, !1173, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 0"}
!1177 = distinct !{!1177, !1178, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 0"}
!1178 = distinct !{!1178, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E"}
!1179 = distinct !{!1179, !1178, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 1"}
!1180 = distinct !{!1180, !1178, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 2"}
!1181 = distinct !{!1181, !1182, !"_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"}
!1182 = distinct !{!1182, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E"}
!1183 = distinct !{!1183, !1182, !"_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"}
!1184 = distinct !{!1184, !1185}
!1185 = !{!"llvm.loop.unswitch.partial.disable"}
!1186 = !{!1187}
!1187 = distinct !{!1187, !1188, !"_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"}
!1188 = distinct !{!1188, !"_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"}
!1189 = !{!1190}
!1190 = distinct !{!1190, !1191, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16extend_desugared17hc02c0729ce77fc17E: argument 0"}
!1191 = distinct !{!1191, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16extend_desugared17hc02c0729ce77fc17E"}
!1192 = !{!1193, !1195}
!1193 = distinct !{!1193, !1194, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 1"}
!1194 = distinct !{!1194, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E"}
!1195 = distinct !{!1195, !1196, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 1"}
!1196 = distinct !{!1196, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E"}
!1197 = !{!1198, !1199, !1200, !1202, !1203, !1204, !1206, !1190, !1207, !1187, !1208, !1163, !1165, !1166, !1168}
!1198 = distinct !{!1198, !1194, !"_ZN9backtrace9symbolize5gimli5macho6Object5parse28_$u7b$$u7b$closure$u7d$$u7d$17h6893891de6838370E: argument 0"}
!1199 = distinct !{!1199, !1196, !"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$8call_mut17h5d54ff391cd94f26E: argument 0"}
!1200 = distinct !{!1200, !1201, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 0"}
!1201 = distinct !{!1201, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E"}
!1202 = distinct !{!1202, !1201, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 1"}
!1203 = distinct !{!1203, !1201, !"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8find_map17h64f7a43bbc98f396E: argument 2"}
!1204 = distinct !{!1204, !1205, !"_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"}
!1205 = distinct !{!1205, !"_ZN115_$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hcebe55ba16c78d07E"}
!1206 = distinct !{!1206, !1205, !"_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"}
!1207 = distinct !{!1207, !1191, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$16extend_desugared17hc02c0729ce77fc17E: argument 1"}
!1208 = distinct !{!1208, !1188, !"_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"}
!1209 = !{!1210, !1190, !1207, !1187, !1208, !1163, !1165, !1166, !1168}
!1210 = distinct !{!1210, !1211, !"_ZN4core3ptr5write17h7dc3517bfe61ae67E: argument 0"}
!1211 = distinct !{!1211, !"_ZN4core3ptr5write17h7dc3517bfe61ae67E"}
!1212 = !{!1190, !1207, !1187, !1208, !1163, !1165, !1166, !1168}
!1213 = !{!1214, !1190, !1187}
!1214 = distinct !{!1214, !1215, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7set_len17h3d3f0111ab32ce1eE: argument 0"}
!1215 = distinct !{!1215, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7set_len17h3d3f0111ab32ce1eE"}
!1216 = !{!1207, !1208, !1163, !1165, !1166, !1168}
!1217 = !{!1190, !1187}
!1218 = !{!1165, !1168}
!1219 = !{!1220}
!1220 = distinct !{!1220, !1221, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE: argument 0"}
!1221 = distinct !{!1221, !"_ZN4core3ptr74drop_in_place$LT$alloc..vec..Vec$LT$$LP$$RF$$u5b$u8$u5d$$C$u64$RP$$GT$$GT$17h4e950d4bce3d2a9eE"}
!1222 = !{!1223}
!1223 = distinct !{!1223, !1224, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h53cbd72402db7af6E: argument 0"}
!1224 = distinct !{!1224, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h53cbd72402db7af6E"}
!1225 = !{!1226, !1228, !1223}
!1226 = distinct !{!1226, !1227, !"_ZN4core5slice4sort9quicksort17h55cb9495942f6c18E: argument 0"}
!1227 = distinct !{!1227, !"_ZN4core5slice4sort9quicksort17h55cb9495942f6c18E"}
!1228 = distinct !{!1228, !1227, !"_ZN4core5slice4sort9quicksort17h55cb9495942f6c18E: argument 1"}
!1229 = !{!1230}
!1230 = distinct !{!1230, !1231, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17he7bf67cedc17eeebE: argument 0"}
!1231 = distinct !{!1231, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17he7bf67cedc17eeebE"}
!1232 = !{!1233, !1235, !1230}
!1233 = distinct !{!1233, !1234, !"_ZN4core5slice4sort9quicksort17hf35de0c5f595bb70E: argument 0"}
!1234 = distinct !{!1234, !"_ZN4core5slice4sort9quicksort17hf35de0c5f595bb70E"}
!1235 = distinct !{!1235, !1234, !"_ZN4core5slice4sort9quicksort17hf35de0c5f595bb70E: argument 1"}
!1236 = !{!1237, !1239}
!1237 = distinct !{!1237, !1238, !"_ZN6object4read5macho6symbol27SymbolTable$LT$Mach$C$R$GT$10object_map17h30aafa8c24a5cb89E: argument 0"}
!1238 = distinct !{!1238, !"_ZN6object4read5macho6symbol27SymbolTable$LT$Mach$C$R$GT$10object_map17h30aafa8c24a5cb89E"}
!1239 = distinct !{!1239, !1238, !"_ZN6object4read5macho6symbol27SymbolTable$LT$Mach$C$R$GT$10object_map17h30aafa8c24a5cb89E: argument 1"}
!1240 = !{!1241, !1243, !1237, !1239}
!1241 = distinct !{!1241, !1242, !"_ZN6object4read18SymbolMap$LT$T$GT$3new17h3d417a6b64fbaa84E: argument 0"}
!1242 = distinct !{!1242, !"_ZN6object4read18SymbolMap$LT$T$GT$3new17h3d417a6b64fbaa84E"}
!1243 = distinct !{!1243, !1242, !"_ZN6object4read18SymbolMap$LT$T$GT$3new17h3d417a6b64fbaa84E: argument 1"}
!1244 = !{!1245, !1241, !1243, !1237, !1239}
!1245 = distinct !{!1245, !1246, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h3d92a9976347cc2eE: argument 0"}
!1246 = distinct !{!1246, !"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$20sort_unstable_by_key17h3d92a9976347cc2eE"}
!1247 = !{!1248, !1250, !1245, !1241, !1243, !1237, !1239}
!1248 = distinct !{!1248, !1249, !"_ZN4core5slice4sort9quicksort17hbb76ba20d7545c7fE: argument 0"}
!1249 = distinct !{!1249, !"_ZN4core5slice4sort9quicksort17hbb76ba20d7545c7fE"}
!1250 = distinct !{!1250, !1249, !"_ZN4core5slice4sort9quicksort17hbb76ba20d7545c7fE: argument 1"}
!1251 = !{!1252}
!1252 = distinct !{!1252, !1253, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h3e140e2b8dcee52eE: argument 0"}
!1253 = distinct !{!1253, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h3e140e2b8dcee52eE"}
!1254 = !{!1255, !1237, !1239}
!1255 = distinct !{!1255, !1253, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h3e140e2b8dcee52eE: argument 1"}
!1256 = !{!1257, !1252, !1255, !1237, !1239}
!1257 = distinct !{!1257, !1258, !"_ZN4core3ptr5write17ha074602a57b81f9cE: argument 0"}
!1258 = distinct !{!1258, !"_ZN4core3ptr5write17ha074602a57b81f9cE"}
!1259 = !{!1260}
!1260 = distinct !{!1260, !1261, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb2e55b5ea48b15d4E: argument 0"}
!1261 = distinct !{!1261, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb2e55b5ea48b15d4E"}
!1262 = !{!1263, !1237, !1239}
!1263 = distinct !{!1263, !1261, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hb2e55b5ea48b15d4E: argument 1"}
!1264 = !{!1265, !1260, !1263, !1237, !1239}
!1265 = distinct !{!1265, !1266, !"_ZN4core3ptr5write17hbfa637c3b6235b71E: argument 0"}
!1266 = distinct !{!1266, !"_ZN4core3ptr5write17hbfa637c3b6235b71E"}
!1267 = !{!1265, !1260, !1237, !1239}
!1268 = !{!1239}
!1269 = !{!1270}
!1270 = distinct !{!1270, !1271, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11resize_with17h5fc3143dc926d0aaE: argument 0"}
!1271 = distinct !{!1271, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11resize_with17h5fc3143dc926d0aaE"}
!1272 = !{!1273}
!1273 = distinct !{!1273, !1274, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h2880dc02a6b1155fE: argument 0"}
!1274 = distinct !{!1274, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$8truncate17h2880dc02a6b1155fE"}
!1275 = !{!1273, !1270}
!1276 = !{!1277, !1279}
!1277 = distinct !{!1277, !1278, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E: argument 0"}
!1278 = distinct !{!1278, !"_ZN4core3ptr113drop_in_place$LT$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$GT$17hcc0bd856533d6092E"}
!1279 = distinct !{!1279, !1280, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE: argument 0"}
!1280 = distinct !{!1280, !"_ZN4core3ptr123drop_in_place$LT$$u5b$core..option..Option$LT$core..option..Option$LT$backtrace..symbolize..gimli..Mapping$GT$$GT$$u5d$$GT$17h12ca9cf5cf88fadbE"}
!1281 = !{!1282}
!1282 = distinct !{!1282, !1283, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17h31e9e911601f3874E: argument 0"}
!1283 = distinct !{!1283, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$11extend_with17h31e9e911601f3874E"}
!1284 = !{!1285, !1287, !1282, !1270}
!1285 = distinct !{!1285, !1286, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve17h6d6a91bb1011a1e0E: argument 0"}
!1286 = distinct !{!1286, !"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve17h6d6a91bb1011a1e0E"}
!1287 = distinct !{!1287, !1288, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h5e7c3697410c73bcE: argument 0"}
!1288 = distinct !{!1288, !"_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h5e7c3697410c73bcE"}
!1289 = !{!1282, !1270}
!1290 = !{!1291, !1282, !1270}
!1291 = distinct !{!1291, !1292, !"_ZN4core3ptr5write17hb031079b8324beb1E: argument 0"}
!1292 = distinct !{!1292, !"_ZN4core3ptr5write17hb031079b8324beb1E"}
!1293 = !{!1294, !1282, !1270}
!1294 = distinct !{!1294, !1295, !"_ZN4core3ptr5write17hb031079b8324beb1E: argument 0"}
!1295 = distinct !{!1295, !"_ZN4core3ptr5write17hb031079b8324beb1E"}
!1296 = !{!1297}
!1297 = distinct !{!1297, !1298, !"_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"}
!1298 = distinct !{!1298, !"_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