-
Notifications
You must be signed in to change notification settings - Fork 341
How not to be explicit about "runtime's memory" #763
Comments
There is a |
It's possible/plausible that you also mean: don't even attempt to lift cross-references or data at all, and just lift the code, leaving all addresses as integers. That would be a very interesting mode to implement, and should be quite easy. You could achieve this with a new flag, that would be like Here are the steps you'd follow:
|
First of all, thank you for your answer. [for.cpp] #include <iostream>
int main() {
int rt = 0;
for (int i = 0; i < 10; i++) {
rt += i;
}
return rt;
} If I convert this code directly into IR, I can get the following code. [for.ll] ; ModuleID = 'for.cpp'
source_filename = "for.cpp"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%"class.std::ios_base::Init" = type { i8 }
@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1
@__dso_handle = external global i8
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_for.cpp, i8* null }
; Function Attrs: noinline uwtable
define internal void @__cxx_global_var_init() #0 section ".text.startup" {
call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit)
%1 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementpt
ret void
}
declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1
declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1
; Function Attrs: nounwind
declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) #2
; Function Attrs: noinline norecurse nounwind uwtable
define i32 @main() #3 {
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i32, align 4
store i32 0, i32* %1, align 4
store i32 0, i32* %2, align 4
store i32 0, i32* %3, align 4
br label %4
; <label>:4: ; preds = %11, %0
%5 = load i32, i32* %3, align 4
%6 = icmp slt i32 %5, 10
br i1 %6, label %7, label %14
; <label>:7: ; preds = %4
%8 = load i32, i32* %3, align 4
%9 = load i32, i32* %2, align 4
%10 = add nsw i32 %9, %8
store i32 %10, i32* %2, align 4
br label %11
; <label>:11: ; preds = %7
%12 = load i32, i32* %3, align 4
%13 = add nsw i32 %12, 1
store i32 %13, i32* %3, align 4
br label %4
; <label>:14: ; preds = %4
%15 = load i32, i32* %2, align 4
ret i32 %15
}
; Function Attrs: noinline uwtable
define internal void @_GLOBAL__sub_I_for.cpp() #0 section ".text.startup" {
call void @__cxx_global_var_init()
ret void
}
attributes #0 = { noinline uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"=
attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { nounwind }
attributes #3 = { noinline norecurse nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-th"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "
!llvm.ident = !{!0}
!0 = !{!"Obfuscator-LLVM clang version 4.0.1 (based on Obfuscator-LLVM 4.0.1)"} However, it is difficult to obtain the above results by converting [for_mcsema_lifted.ll] ; ModuleID = './lifted/for.bc'
source_filename = "llvm-link"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu-elf"
%struct.State = type { %struct.ArchState, [32 x %union.VectorReg], %struct.ArithFlags, %union.anon, %struct.Segments, %struct.AddressSpace, %struct.GPR, %struct.X87Stack, %struct.MMX, %struct.FPUStatusFlags, %union.anon, %union.FPU, %struct.SegmentCaches }
%struct.ArchState = type { i32, i32, %union.anon }
%union.VectorReg = type { %union.vec512_t }
%union.vec512_t = type { %struct.uint64v8_t }
%struct.uint64v8_t = type { [8 x i64] }
%struct.ArithFlags = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
%struct.Segments = type { i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector }
%union.SegmentSelector = type { i16 }
%struct.AddressSpace = type { i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg }
%struct.Reg = type { %union.anon }
%struct.GPR = type { i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg }
%struct.X87Stack = type { [8 x %struct.anon.3] }
%struct.anon.3 = type { i64, double }
%struct.MMX = type { [8 x %struct.anon.4] }
%struct.anon.4 = type { i64, %union.vec64_t }
%union.vec64_t = type { %struct.uint64v1_t }
%struct.uint64v1_t = type { [1 x i64] }
%struct.FPUStatusFlags = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [4 x i8] }
%union.anon = type { i64 }
%union.FPU = type { %struct.anon.13 }
%struct.anon.13 = type { %struct.FpuFXSAVE, [96 x i8] }
%struct.FpuFXSAVE = type { %union.SegmentSelector, %union.SegmentSelector, %union.FPUAbridgedTagWord, i8, i16, i32, %union.SegmentSelector, i16, i32, %union.SegmentSelector, i16, %union.FPUControlStatus, %union.FPUControlStatus, [8 x %struct.FPUStackElem], [16 x %union.vec128_t] }
%union.FPUAbridgedTagWord = type { i8 }
%union.FPUControlStatus = type { i32 }
%struct.FPUStackElem = type { %union.anon.11, [6 x i8] }
%union.anon.11 = type { %struct.float80_t }
%struct.float80_t = type { [10 x i8] }
%union.vec128_t = type { %struct.uint128v1_t }
%struct.uint128v1_t = type { [1 x i128] }
%struct.SegmentCaches = type { %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow }
%struct.SegmentShadow = type { %union.anon, i32, i32 }
%seg_0_LOAD_6e8_type = type <{ [8 x i8], [8 x i8], [8 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [8 x i8], [24 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [8 x i8], [24 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [8 x i8], [40 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [28 x i8], [4 x i8], [28 x i8], [4 x i8], [52 x i8], [4 x i8], [8 x i8], [8 x i8], [20 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [28 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [212 x i8], [4 x i8], [8 x i8], [4 x i8], [32 x i8], [4 x i8], [12 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8] }>
%seg_1000__init_1b_type = type <{ [27 x i8], [5 x i8], [48 x i8], [16 x i8], [32 x i8], [84 x i8], [4 x i8], [4 x i8], [4 x i8], [60 x i8], [4 x i8], [60 x i8], [4 x i8], [20 x i8], [4 x i8], [196 x i8], [4 x i8], [44 x i8], [4 x i8], [5 x i8], [3 x i8], [13 x i8] }>
%seg_2000__rodata_5_type = type <{ [4 x i8], [1 x i8], [3 x i8], [84 x i8], [4 x i8], [4 x i8], [4 x i8], [36 x i8], [4 x i8], [36 x i8], [4 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [184 x i8], [8 x i8] }>
%seg_3d90__init_array_18_type = type <{ i8*, i8*, i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [84 x i8], [4 x i8], [20 x i8], i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, [8 x i8], i8*, [8 x i8], [1 x i8] }>
%struct.Memory = type opaque
@__mcsema_reg_state = thread_local(initialexec) global %struct.State zeroinitializer
@__mcsema_stack = internal thread_local(initialexec) global [1048576 x i8] zeroinitializer
@0 = internal global i1 false
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 101, void ()* @__mcsema_constructor, i8* null }]
@llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 101, void ()* @__mcsema_destructor, i8* null }]
@__mcsema_all_segments = internal global <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }> <{ %seg_0_LOAD_6e8_type <{ [8 x i8] c"\7FELF\02\01\01\00", [8 x i8] zeroinitializer, [8 x i8] c"\03\00>\00\01\00\00\00", i8* bitcast (i64 (i64, i64, i64, i64, i64, i64, i64, i64)* @start to i8*), [4 x i8] c"@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\B8:\00\00", [8 x i8] zeroinitializer, [24 x i8] c"@\008\00\0D\00@\00\1F\00\1E\00\06\00\00\00\04\00\00\00@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D8\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D8\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\03\00\00\00\04\00\00\00\18\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\01\00\00\00\04\00\00\00", [24 x i8] zeroinitializer, [4 x i8] c"\E8\06\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\E8\06\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\00\00\05\00\00\00\00\10\00\00", [4 x i8] zeroinitializer, i8* bitcast (void ()* @.init_proc to i8*), [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\85\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\85\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\00\00\04\00\00\00\00 \00\00", [4 x i8] zeroinitializer, i8* @data_2000, [4 x i8] c"\00 \00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8\01\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8\01\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\00\00\06\00\00\00\90-\00\00", [4 x i8] zeroinitializer, i8* bitcast (i8** @data_3d90 to i8*), [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\80\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\88\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\02\00\00\00\06\00\00\00\A8-\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\04\00\00\00\04\00\00\008\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\04\00\00\00\04\00\00\00X\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"X\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"X\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"D\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"D\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\04\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"S\E5td\04\00\00\008\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"P\E5td\04\00\00\00\08 \00\00", [4 x i8] zeroinitializer, i8* @data_2008, [4 x i8] c"\08 \00\00", [4 x i8] zeroinitializer, [4 x i8] c"T\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"T\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\04\00\00\00", [4 x i8] zeroinitializer, [8 x i8] c"Q\E5td\06\00\00\00", [40 x i8] zeroinitializer, [4 x i8] c"\10\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"R\E5td\04\00\00\00\90-\00\00", [4 x i8] zeroinitializer, i8* bitcast (i8** @data_3d90 to i8*), [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"p\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"p\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [28 x i8] c"/lib64/ld-linux-x86-64.so.2\00", [4 x i8] zeroinitializer, [28 x i8] c"\04\00\00\00\10\00\00\00\05\00\00\00GNU\00\02\00\00\C0\04\00\00\00\03\00\00\00", [4 x i8] zeroinitializer, [52 x i8] c"\04\00\00\00\14\00\00\00\03\00\00\00GNU\00\A3\18\80,\18K\B8q\E1\AF\9B\D8&\7F\E9\991\CA7\87\04\00\00\00\10\00\00\00\01\00\00\00GNU\00", [4 x i8] zeroinitializer, [8 x i8] c"\03\00\00\00\02\00\00\00", [8 x i8] zeroinitializer, [20 x i8] c"\02\00\00\00\08\00\00\00\01\00\00\00\06\00\00\00\00\00\81\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D1e\CEm", [28 x i8] zeroinitializer, [8 x i8] c"\8F\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"m\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\1F\00\00\00 \00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\AB\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\10\00\00\00 \00\00\00", [16 x i8] zeroinitializer, [8 x i8] c";\00\00\00 \00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"U\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\9C\00\00\00\22\00\00\00", [16 x i8] zeroinitializer, [212 x i8] c"\00libstdc++.so.6\00__gmon_start__\00_ITM_deregisterTMCloneTable\00_ITM_registerTMCloneTable\00_ZNSt8ios_base4InitD1Ev\00_ZNSt8ios_base4InitC1Ev\00libc.so.6\00__cxa_atexit\00__cxa_finalize\00__libc_start_main\00GLIBCXX_3.4\00GLIBC_2.2.5", [4 x i8] zeroinitializer, [8 x i8] c"\02\00\03\00\00\00\02\00", [4 x i8] zeroinitializer, [32 x i8] c"\03\00\02\00\01\00\01\00\01\00\00\00\10\00\00\00 \00\00\00t)\92\08\00\00\03\00\BD\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\01\00\85\00\00\00\10\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"u\1Ai\09\00\00\02\00\C9\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"`\11\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\98=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\E3\11\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A0=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \11\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08@\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08@\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\08\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\D8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\03\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\E0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\04\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\E8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\05\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\F0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\06\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\F8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\07\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\C0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\07\00\00\00\01\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\C8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\07\00\00\00\02\00\00\00", [8 x i8] zeroinitializer }>, [2328 x i8] zeroinitializer, %seg_1000__init_1b_type <{ [27 x i8] c"\F3\0F\1E\FAH\83\EC\08H\8B\05\D9/\00\00H\85\C0t\02\FF\D0H\83\C4\08\C3", [5 x i8] zeroinitializer, [48 x i8] c"\FF5\8A/\00\00\F2\FF%\8B/\00\00\0F\1F\00\F3\0F\1E\FAh\00\00\00\00\F2\E9\E1\FF\FF\FF\90\F3\0F\1E\FAh\01\00\00\00\F2\E9\D1\FF\FF\FF\90", [16 x i8] c"\F3\0F\1E\FA\F2\FF%u/\00\00\0F\1FD\00\00", [32 x i8] c"\F3\0F\1E\FA\F2\FF%U/\00\00\0F\1FD\00\00\F3\0F\1E\FA\F2\FF%M/\00\00\0F\1FD\00\00", [84 x i8] c"\F3\0F\1E\FA1\EDI\89\D1^H\89\E2H\83\E4\F0PTL\8D\05\D6\01\00\00H\8D\0D_\01\00\00H\8D=\C1\00\00\00\FF\152/\00\00\F4\90H\8D=Y/\00\00H\8D\05R/\00\00H9\F8t\15H\8B\05\0E/\00\00H\85\C0t\09\FF\E0\0F\1F\80", [4 x i8] zeroinitializer, [4 x i8] c"\C3\0F\1F\80", [4 x i8] zeroinitializer, [60 x i8] c"H\8D=)/\00\00H\8D5\22/\00\00H)\FEH\C1\FE\03H\89\F0H\C1\E8?H\01\C6H\D1\FEt\14H\8B\05\E5.\00\00H\85\C0t\08\FF\E0f\0F\1FD\00\00\C3\0F\1F\80", [4 x i8] zeroinitializer, [60 x i8] c"\F3\0F\1E\FA\80=\E5.\00\00\00u+UH\83=\9A.\00\00\00H\89\E5t\0CH\8B=\C6.\00\00\E8\09\FF\FF\FF\E8d\FF\FF\FF\C6\05\BD.\00\00\01]\C3\0F\1F\00\C3\0F\1F\80", [4 x i8] zeroinitializer, [20 x i8] c"\F3\0F\1E\FA\E9w\FF\FF\FF\F3\0F\1E\FAUH\89\E5\C7E\F8", [4 x i8] zeroinitializer, [196 x i8] c"\C7E\FC\00\00\00\00\83}\FC\09\7F\0C\8BE\FC\01E\F8\83E\FC\01\EB\EE\8BE\F8]\C3\F3\0F\1E\FAUH\89\E5H\83\EC\10\89}\FC\89u\F8\83}\FC\01u2\81}\F8\FF\FF\00\00u)H\8D=S.\00\00\E8\AD\FE\FF\FFH\8D\15>.\00\00H\8D5@.\00\00H\8B\05 .\00\00H\89\C7\E8\80\FE\FF\FF\90\C9\C3\F3\0F\1E\FAUH\89\E5\BE\FF\FF\00\00\BF\01\00\00\00\E8\9C\FF\FF\FF]\C3\0F\1F@\00\F3\0F\1E\FAAWL\8D=\83+\00\00AVI\89\D6AUI\89\F5ATA\89\FCUH\8D-|+\00\00SL)\FDH\83\EC\08\E8\CF\FD\FF\FFH\C1\FD\03t\1F1\DB\0F\1F\80", [4 x i8] zeroinitializer, [44 x i8] c"L\89\F2L\89\EED\89\E7A\FF\14\DFH\83\C3\01H9\DDu\EAH\83\C4\08[]A\\A]A^A_\C3ff.\0F\1F\84\00", [4 x i8] zeroinitializer, [5 x i8] c"\F3\0F\1E\FA\C3", [3 x i8] zeroinitializer, [13 x i8] c"\F3\0F\1E\FAH\83\EC\08H\83\C4\08\C3" }>, [3451 x i8] zeroinitializer, %seg_2000__rodata_5_type <{ [4 x i8] c"\01\00\02\00", [1 x i8] zeroinitializer, [3 x i8] zeroinitializer, [84 x i8] c"\01\1B\03;T\00\00\00\09\00\00\00\18\F0\FF\FF\88\00\00\00H\F0\FF\FF\B0\00\00\00X\F0\FF\FF\C8\00\00\00x\F0\FF\FFp\00\00\00a\F1\FF\FF\E0\00\00\00\8E\F1\FF\FF\00\01\00\00\DB\F1\FF\FF \01\00\00\F8\F1\FF\FF@\01\00\00h\F2\FF\FF\88\01\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\14\00\00\00", [4 x i8] zeroinitializer, [36 x i8] c"\01zR\00\01x\10\01\1B\0C\07\08\90\01\00\00\14\00\00\00\1C\00\00\00\00\F0\FF\FF/\00\00\00\00D\07\10", [4 x i8] zeroinitializer, [36 x i8] c"$\00\00\004\00\00\00\88\EF\FF\FF0\00\00\00\00\0E\10F\0E\18J\0F\0Bw\08\80\00?\1A:*3$\22", [4 x i8] zeroinitializer, [16 x i8] c"\14\00\00\00\\\00\00\00\90\EF\FF\FF\10\00\00\00", [8 x i8] zeroinitializer, [16 x i8] c"\14\00\00\00t\00\00\00\88\EF\FF\FF \00\00\00", [8 x i8] zeroinitializer, [184 x i8] c"\1C\00\00\00\8C\00\00\00y\F0\FF\FF-\00\00\00\00E\0E\10\86\02C\0D\06d\0C\07\08\00\00\00\1C\00\00\00\AC\00\00\00\86\F0\FF\FFM\00\00\00\00E\0E\10\86\02C\0D\06\02D\0C\07\08\00\00\1C\00\00\00\CC\00\00\00\B3\F0\FF\FF\19\00\00\00\00E\0E\10\86\02C\0D\06P\0C\07\08\00\00\00D\00\00\00\EC\00\00\00\B0\F0\FF\FFe\00\00\00\00F\0E\10\8F\02I\0E\18\8E\03E\0E \8D\04E\0E(\8C\05D\0E0\86\06H\0E8\83\07G\0E@n\0E8A\0E0A\0E(B\0E B\0E\18B\0E\10B\0E\08\00\10\00\00\004\01\00\00\D8\F0\FF\FF\05\00\00\00", [8 x i8] zeroinitializer }>, [7144 x i8] zeroinitializer, %seg_3d90__init_array_18_type <{ i8* bitcast (void ()* @frame_dummy to i8*), i8* bitcast (i64 (i64, i64, i64, i64, i64, i64, i64, i64)* @_GLOBAL__sub_I_main to i8*), i8* bitcast (void ()* @__do_global_dtors_aux to i8*), [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\85\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0D\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"x\12\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\19\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1B\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\10\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1A\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A0=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F5\FE\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\A0\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\05\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A0\04\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\06\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\C8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0A\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D5\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0B\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\15\00\00\00", [12 x i8] zeroinitializer, [4 x i8] c"\03\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8?\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\02\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"0\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\14\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\07\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\17\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\B8\06\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\07\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\C8\05\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F0\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\09\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1E\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\FB\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\08", [4 x i8] zeroinitializer, [4 x i8] c"\FE\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\88\05\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\FF\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\02\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F0\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"v\05\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F9\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\04\00\00\00", [84 x i8] zeroinitializer, [4 x i8] c"\A8=\00\00", [20 x i8] zeroinitializer, i8* bitcast (i64 (i64, i64, i64)* @__cxa_atexit to i8*), i8* bitcast (i64 (i64)* @_ZNSt8ios_base4InitC1Ev to i8*), i8* bitcast (i64 (i64)* @__cxa_finalize to i8*), i8* bitcast (i64 (i64)* @_ITM_deregisterTMCloneTable to i8*), i8* bitcast (void (i32 (i32, i8**, i8**)*, i32, i8**, i8*, i32 (i32, i8**, i8**)*, void ()*, void ()*, i32*)* @__libc_start_main to i8*), i8* bitcast (void ()* @__gmon_start__ to i8*), i8* bitcast (i64 (i64, i64)* @_ITM_registerTMCloneTable to i8*), i8* bitcast (i64 (i64)* @_ZNSt8ios_base4InitD1Ev to i8*), [8 x i8] zeroinitializer, i8* bitcast (i8** @data_4008 to i8*), [8 x i8] zeroinitializer, [1 x i8] zeroinitializer }> }>, section ".section_0"
@data_1256 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 17, i32 22)
@data_1237 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 191)
@data_1158 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 11, i32 56)
@data_112d = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 11, i32 13)
@data_11ae = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 54)
@data_1014 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 0, i32 20)
@data_1012 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 0, i32 18)
@data_1231 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 185)
@data_3d90 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 0)
@data_11fa = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 130)
@data_102d = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 2, i32 13)
@data_3fb8 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 110, i32 12)
@data_3fb0 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 110, i32 4)
@data_1147 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 11, i32 39)
@data_1119 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 9, i32 57)
@data_3ff0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 117)
@data_10d9 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 7, i32 1)
@data_3fd8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 114)
@data_4010 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 121, i32 0)
@data_10ae = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 5, i32 46)
@data_3fe0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 115)
@data_107b = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 4, i32 27)
@data_3fc8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 112)
@data_106b = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 4, i32 11)
@data_3fc0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 111)
@data_105b = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 3, i32 11)
@data_3fd0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 113)
@data_11e0 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 104)
@data_3ff8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 118)
@data_4008 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 120)
@data_4011 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 121, i32 1)
@data_1016 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 0, i32 22)
@data_3fe8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 116)
@data_1240 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 17, i32 0)
@data_2000 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 4, i32 0, i32 0)
@data_2008 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 4, i32 3, i32 0)
@RSP_2312_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0)
@RSP_2312_307bf40 = private thread_local(initialexec) alias i64*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0) to i64**)
@OF_2077_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 13)
@SF_2073_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 9)
@ZF_2071_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 7)
@AF_2069_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 5)
@PF_2067_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 3)
@CF_2065_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 1)
@R9_2360_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 19, i32 0, i32 0)
@R8_2344_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 17, i32 0, i32 0)
@RCX_2248_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 5, i32 0, i32 0)
@RSI_2280_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 9, i32 0, i32 0)
@RAX_2216_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 1, i32 0, i32 0)
@RDI_2296_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0)
@RDX_2264_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 7, i32 0, i32 0)
@RIP_2472_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 33, i32 0, i32 0) to i8**)
@RBP_2328_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 15, i32 0, i32 0)
@RBP_2328_307bf40 = private thread_local(initialexec) alias i64*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 15, i32 0, i32 0) to i64**)
@RSI_2280_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 9, i32 0, i32 0) to i8**)
@RDX_2264_3082870 = private thread_local(initialexec) alias i8**, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 7, i32 0, i32 0) to i8***)
@RDI_2296_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0) to i8**)
@RSI_2280_3074310 = private thread_local(initialexec) alias i32, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 9, i32 0, i32 0) to i32*)
@RDI_2296_3074310 = private thread_local(initialexec) alias i32, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0) to i32*)
@RIP_2472_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 33, i32 0, i32 0)
@RDI_2296_30828d0 = private thread_local(initialexec) alias i32 (i32, i8**, i8**)*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0) to i32 (i32, i8**, i8**)**)
@RCX_2248_30817d0 = private thread_local(initialexec) alias void ()*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 5, i32 0, i32 0) to void ()**)
@R8_2344_30817d0 = private thread_local(initialexec) alias void ()*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 17, i32 0, i32 0) to void ()**)
@RAX_2216_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 1, i32 0, i32 0) to i8**)
@R12_2408_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 25, i32 0, i32 0)
@RBX_2232_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 3, i32 0, i32 0)
@R13_2424_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 27, i32 0, i32 0)
@R14_2440_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 29, i32 0, i32 0)
@R15_2456_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 31, i32 0, i32 0)
@R15_2456_3082870 = private thread_local(initialexec) alias i8**, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 31, i32 0, i32 0) to i8***)
@R12_2408_3074310 = private thread_local(initialexec) alias i32, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 25, i32 0, i32 0) to i32*)
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_sync_hyper_call(%struct.State* dereferenceable(3376), %struct.Memory*, i32) #0
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare !remill.function.type !1215 i32 @llvm.ctpop.i32(i32) #1
; Function Attrs: noduplicate noinline nounwind optnone
define dso_local %struct.Memory* @__remill_error(%struct.State* dereferenceable(3376) %0, i64 %1, %struct.Memory* %2) #2 !remill.function.type !1215 {
call void @abort(), !mcsema_real_eip !1216
unreachable, !mcsema_real_eip !1216
}
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_store_load(%struct.Memory*) #3
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_store_store(%struct.Memory*) #3
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_load_load(%struct.Memory*) #3
; Function Attrs: nounwind readnone
declare !remill.function.type !1215 dso_local i32 @__remill_fpu_exception_test_and_clear(i32, i32) #4
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_load_store(%struct.Memory*) #5
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_atomic_begin(%struct.Memory*) #5
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_atomic_end(%struct.Memory*) #5
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_delay_slot_begin(%struct.Memory*) #5
; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_delay_slot_end(%struct.Memory*) #5
; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_function_call(%struct.State* nonnull, i64, %struct.Memory*) #6
; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_function_return(%struct.State* nonnull, i64, %struct.Memory*) #6
; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_jump(%struct.State* nonnull, i64, %struct.Memory*) #6
; Function Attrs: noduplicate noinline nounwind optnone
define dso_local %struct.Memory* @__remill_missing_block(%struct.State* nonnull %0, i64 %1, %struct.Memory* %2) #6 !remill.function.type !1215 {
call void @abort(), !mcsema_real_eip !1216
unreachable, !mcsema_real_eip !1216
}
; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_async_hyper_call(%struct.State* nonnull, i64, %struct.Memory*) #6
; Function Attrs: nobuiltin noinline
define private void @__libc_csu_init() #7 {
%1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
%2 = call %struct.Memory* @sub_1200___libc_csu_init(%struct.State* %1, i64 4608, %struct.Memory* null), !mcsema_real_eip !1216
ret void, !mcsema_real_eip !1216
}
; Function Attrs: nobuiltin noinline
define private void @__libc_csu_fini() #7 {
%1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
%2 = call %struct.Memory* @sub_1270___libc_csu_fini(%struct.State* %1, i64 4720, %struct.Memory* null), !mcsema_real_eip !1216
ret void, !mcsema_real_eip !1216
}
; Function Attrs: nobuiltin noinline
define private void @frame_dummy() #7 {
%1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
%2 = call %struct.Memory* @sub_1160_frame_dummy(%struct.State* %1, i64 4448, %struct.Memory* null), !mcsema_real_eip !1216
ret void, !mcsema_real_eip !1216
}
; Function Attrs: nobuiltin noinline
define private void @__do_global_dtors_aux() #7 {
%1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
%2 = call %struct.Memory* @sub_1120___do_global_dtors_aux(%struct.State* %1, i64 4384, %struct.Memory* null), !mcsema_real_eip !1216
ret void, !mcsema_real_eip !1216
}
; Function Attrs: nobuiltin noinline
define private void @.init_proc() #7 {
%1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
%2 = call %struct.Memory* @sub_1000__init_proc(%struct.State* %1, i64 4096, %struct.Memory* null), !mcsema_real_eip !1216
ret void, !mcsema_real_eip !1216
}
; Function Attrs: noreturn
declare void @abort() #8
; Function Attrs: noinline
define internal %struct.Memory* @sub_1000__init_proc(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1000:
%0 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1216
%1 = sub i64 %0, 8, !mcsema_real_eip !1216
store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1216
%2 = load i64, i64* bitcast (i8** @data_3fe8 to i64*), align 8, !mcsema_real_eip !1216
store i64 %2, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1216
store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1216
%3 = trunc i64 %2 to i32, !mcsema_real_eip !1216
%4 = and i32 %3, 255, !mcsema_real_eip !1216
%5 = call i32 @llvm.ctpop.i32(i32 %4) #13, !range !1235, !mcsema_real_eip !1216
%6 = trunc i32 %5 to i8, !mcsema_real_eip !1216
%7 = and i8 %6, 1, !mcsema_real_eip !1216
%8 = xor i8 %7, 1, !mcsema_real_eip !1216
store i8 %8, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1216
%9 = icmp eq i64 %2, 0, !mcsema_real_eip !1216
%10 = zext i1 %9 to i8, !mcsema_real_eip !1216
store i8 %10, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1216
%11 = lshr i64 %2, 63, !mcsema_real_eip !1216
%12 = trunc i64 %11 to i8, !mcsema_real_eip !1216
store i8 %12, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1216
store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1216
store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1216
store i8* @data_1012, i8** @RIP_2472_307bde0, align 8, !mcsema_real_eip !1216
br i1 %9, label %inst_1016, label %inst_1014, !mcsema_real_eip !1241
inst_1016: ; preds = %inst_1014, %inst_1000
%13 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1242
%14 = add i64 8, %13, !mcsema_real_eip !1242
%15 = icmp ult i64 %14, %13, !mcsema_real_eip !1242
%16 = icmp ult i64 %14, 8, !mcsema_real_eip !1242
%17 = or i1 %15, %16, !mcsema_real_eip !1242
%18 = zext i1 %17 to i8, !mcsema_real_eip !1242
store i8 %18, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1242
%19 = trunc i64 %14 to i32, !mcsema_real_eip !1242
%20 = and i32 %19, 255, !mcsema_real_eip !1242
%21 = call i32 @llvm.ctpop.i32(i32 %20) #13, !range !1235, !mcsema_real_eip !1242
%22 = trunc i32 %21 to i8, !mcsema_real_eip !1242
%23 = and i8 %22, 1, !mcsema_real_eip !1242
%24 = xor i8 %23, 1, !mcsema_real_eip !1242
store i8 %24, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1242
%25 = xor i64 8, %13, !mcsema_real_eip !1242
%26 = xor i64 %25, %14, !mcsema_real_eip !1242
%27 = lshr i64 %26, 4, !mcsema_real_eip !1242
%28 = trunc i64 %27 to i8, !mcsema_real_eip !1242
%29 = and i8 %28, 1, !mcsema_real_eip !1242
store i8 %29, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1242
%30 = icmp eq i64 %14, 0, !mcsema_real_eip !1242
%31 = zext i1 %30 to i8, !mcsema_real_eip !1242
store i8 %31, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1242
%32 = lshr i64 %14, 63, !mcsema_real_eip !1242
%33 = trunc i64 %32 to i8, !mcsema_real_eip !1242
store i8 %33, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1242
%34 = lshr i64 %13, 63, !mcsema_real_eip !1242
%35 = xor i64 %32, %34, !mcsema_real_eip !1242
%36 = add nuw nsw i64 %35, %32, !mcsema_real_eip !1242
%37 = icmp eq i64 %36, 2, !mcsema_real_eip !1242
%38 = zext i1 %37 to i8, !mcsema_real_eip !1242
store i8 %38, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1242
%39 = add i64 %14, 8, !mcsema_real_eip !1242
store i64 %39, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1242
ret %struct.Memory* %memory, !mcsema_real_eip !1242
inst_1014: ; preds = %inst_1000
%40 = icmp eq i8 %10, 0, !mcsema_real_eip !1241
%41 = select i1 %40, i64 ptrtoint (i8* @data_1014 to i64), i64 ptrtoint (i8* @data_1016 to i64), !mcsema_real_eip !1241
%42 = add i64 %41, 2, !mcsema_real_eip !1241
%43 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1241
%44 = add i64 %1, -8, !mcsema_real_eip !1241
%45 = inttoptr i64 %44 to i64*, !mcsema_real_eip !1241
%46 = getelementptr i64, i64* %43, i32 -1, !mcsema_real_eip !1241
store i64 %42, i64* %46, align 8, !mcsema_real_eip !1241
%47 = inttoptr i64 %2 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1241
%48 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
%49 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
%50 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
%51 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
%52 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
%53 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
%54 = getelementptr i64, i64* %45, i32 1, !mcsema_real_eip !1241
%55 = load i64, i64* %54, align 8, !mcsema_real_eip !1241
%56 = getelementptr i64, i64* %45, i32 2, !mcsema_real_eip !1241
%57 = load i64, i64* %56, align 8, !mcsema_real_eip !1241
%58 = call i64 %47(i64 %48, i64 %49, i64 %50, i64 %51, i64 %52, i64 %53, i64 %55, i64 %57) #13, !mcsema_real_eip !1241
store i64 %58, i64* @RAX_2216_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
store i64 %1, i64* @RSP_2312_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
br label %inst_1016, !mcsema_real_eip !1242
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1169_main(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1169:
%0 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1248
%1 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1248
%2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1248
%3 = add i64 %2, -8, !mcsema_real_eip !1248
%4 = getelementptr i64, i64* %1, i32 -1, !mcsema_real_eip !1248
store i64 %0, i64* %4, align 8, !mcsema_real_eip !1248
%5 = sub i64 %3, 8, !mcsema_real_eip !1250
%6 = inttoptr i64 %5 to i32*, !mcsema_real_eip !1250
store i32 0, i32* %6, align 4, !mcsema_real_eip !1250
%7 = sub i64 %3, 4, !mcsema_real_eip !1251
%8 = inttoptr i64 %7 to i32*, !mcsema_real_eip !1251
store i32 0, i32* %8, align 4, !mcsema_real_eip !1251
br label %inst_117f, !mcsema_real_eip !1252
inst_117f: ; preds = %inst_1185, %inst_1169
%9 = load i32, i32* %8, align 4, !mcsema_real_eip !1253
%10 = sub i32 %9, 9, !mcsema_real_eip !1253
%11 = icmp ult i32 %9, 9, !mcsema_real_eip !1253
%12 = zext i1 %11 to i8, !mcsema_real_eip !1253
store i8 %12, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1253
%13 = and i32 %10, 255, !mcsema_real_eip !1253
%14 = call i32 @llvm.ctpop.i32(i32 %13) #13, !range !1235, !mcsema_real_eip !1253
%15 = trunc i32 %14 to i8, !mcsema_real_eip !1253
%16 = and i8 %15, 1, !mcsema_real_eip !1253
%17 = xor i8 %16, 1, !mcsema_real_eip !1253
store i8 %17, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1253
%18 = xor i32 %9, 9, !mcsema_real_eip !1253
%19 = xor i32 %18, %10, !mcsema_real_eip !1253
%20 = lshr i32 %19, 4, !mcsema_real_eip !1253
%21 = trunc i32 %20 to i8, !mcsema_real_eip !1253
%22 = and i8 %21, 1, !mcsema_real_eip !1253
store i8 %22, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1253
%23 = icmp eq i32 %10, 0, !mcsema_real_eip !1253
%24 = zext i1 %23 to i8, !mcsema_real_eip !1253
store i8 %24, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1253
%25 = lshr i32 %10, 31, !mcsema_real_eip !1253
%26 = trunc i32 %25 to i8, !mcsema_real_eip !1253
store i8 %26, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1253
%27 = lshr i32 %9, 31, !mcsema_real_eip !1253
%28 = xor i32 %25, %27, !mcsema_real_eip !1253
%29 = add nuw nsw i32 %28, %27, !mcsema_real_eip !1253
%30 = icmp eq i32 %29, 2, !mcsema_real_eip !1253
%31 = zext i1 %30 to i8, !mcsema_real_eip !1253
store i8 %31, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1253
%32 = icmp eq i8 %24, 0, !mcsema_real_eip !1253
%33 = icmp eq i8 %26, 0, !mcsema_real_eip !1253
%34 = xor i1 %33, %30, !mcsema_real_eip !1253
%35 = and i1 %32, %34, !mcsema_real_eip !1253
%36 = load i32, i32* %6, align 4, !mcsema_real_eip !1253
br i1 %35, label %inst_1191, label %inst_1185, !mcsema_real_eip !1253
inst_1191: ; preds = %inst_117f
%37 = zext i32 %36 to i64, !mcsema_real_eip !1254
store i64 %37, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1254
%38 = load i64, i64* %4, align 8, !mcsema_real_eip !1254
store i64 %38, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1254
%39 = add i64 %2, 8, !mcsema_real_eip !1254
store i64 %39, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1254
ret %struct.Memory* %memory, !mcsema_real_eip !1254
inst_1185: ; preds = %inst_117f
%40 = add i32 %36, %9, !mcsema_real_eip !1254
store i32 %40, i32* %6, align 4, !mcsema_real_eip !1254
%41 = load i32, i32* %8, align 4, !mcsema_real_eip !1254
%42 = add i32 %41, 1, !mcsema_real_eip !1254
store i32 %42, i32* %8, align 4, !mcsema_real_eip !1254
br label %inst_117f, !mcsema_real_eip !1254
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1030(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1030:
%0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1255
%1 = add i64 %0, -8, !mcsema_real_eip !1255
%2 = inttoptr i64 %1 to i64*, !mcsema_real_eip !1255
store i64 0, i64* %2, align 8, !mcsema_real_eip !1255
store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1255
%3 = call %struct.Memory* @sub_1020(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1255
ret %struct.Memory* %3, !mcsema_real_eip !1255
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1160_frame_dummy(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1160:
%0 = call %struct.Memory* @sub_10e0_register_tm_clones(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1256
ret %struct.Memory* %0, !mcsema_real_eip !1256
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1040(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1040:
%0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1256
%1 = add i64 %0, -8, !mcsema_real_eip !1256
%2 = inttoptr i64 %1 to i64*, !mcsema_real_eip !1256
store i64 1, i64* %2, align 8, !mcsema_real_eip !1256
store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1256
%3 = call %struct.Memory* @sub_1020(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1256
ret %struct.Memory* %3, !mcsema_real_eip !1256
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1196__Z41__static_initialization_and_destruction_0ii(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1196:
%0 = load i32, i32* @RDI_2296_3074310, align 4, !mcsema_real_eip !1257
%1 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1258
%2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1258
%3 = add i64 %2, -8, !mcsema_real_eip !1258
%4 = inttoptr i64 %3 to i64*, !mcsema_real_eip !1258
store i64 %1, i64* %4, align 8, !mcsema_real_eip !1258
store i64 %3, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1258
%5 = sub i64 %3, 16, !mcsema_real_eip !1258
store i64 %5, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1258
%6 = sub i64 %3, 4, !mcsema_real_eip !1259
%7 = inttoptr i64 %6 to i32*, !mcsema_real_eip !1259
store i32 %0, i32* %7, align 4, !mcsema_real_eip !1259
%8 = sub i64 %3, 8, !mcsema_real_eip !1260
%9 = load i32, i32* @RSI_2280_3074310, align 4, !mcsema_real_eip !1260
%10 = inttoptr i64 %8 to i32*, !mcsema_real_eip !1260
store i32 %9, i32* %10, align 4, !mcsema_real_eip !1260
%11 = load i32, i32* %7, align 4, !mcsema_real_eip !1260
%12 = sub i32 %11, 1, !mcsema_real_eip !1260
%13 = icmp ult i32 %11, 1, !mcsema_real_eip !1260
%14 = zext i1 %13 to i8, !mcsema_real_eip !1260
store i8 %14, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1260
%15 = and i32 %12, 255, !mcsema_real_eip !1260
%16 = call i32 @llvm.ctpop.i32(i32 %15) #13, !range !1235, !mcsema_real_eip !1260
%17 = trunc i32 %16 to i8, !mcsema_real_eip !1260
%18 = and i8 %17, 1, !mcsema_real_eip !1260
%19 = xor i8 %18, 1, !mcsema_real_eip !1260
store i8 %19, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1260
%20 = xor i32 %11, 1, !mcsema_real_eip !1260
%21 = xor i32 %20, %12, !mcsema_real_eip !1260
%22 = lshr i32 %21, 4, !mcsema_real_eip !1260
%23 = trunc i32 %22 to i8, !mcsema_real_eip !1260
%24 = and i8 %23, 1, !mcsema_real_eip !1260
store i8 %24, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1260
%25 = icmp eq i32 %12, 0, !mcsema_real_eip !1260
%26 = zext i1 %25 to i8, !mcsema_real_eip !1260
store i8 %26, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1260
%27 = lshr i32 %12, 31, !mcsema_real_eip !1260
%28 = trunc i32 %27 to i8, !mcsema_real_eip !1260
store i8 %28, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1260
%29 = lshr i32 %11, 31, !mcsema_real_eip !1260
%30 = xor i32 %27, %29, !mcsema_real_eip !1260
%31 = add nuw nsw i32 %30, %29, !mcsema_real_eip !1260
%32 = icmp eq i32 %31, 2, !mcsema_real_eip !1260
%33 = zext i1 %32 to i8, !mcsema_real_eip !1260
store i8 %33, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1260
%34 = icmp eq i8 %26, 0, !mcsema_real_eip !1260
br i1 %34, label %inst_11e0, label %inst_11ae, !mcsema_real_eip !1261
inst_11e0: ; preds = %inst_11b7, %inst_11ae, %inst_1196
%35 = phi %struct.Memory* [ %memory, %inst_1196 ], [ %memory, %inst_11ae ], [ %73, %inst_11b7 ], !mcsema_real_eip !1262
%36 = load i64*, i64** @RBP_2328_307bf40, align 8, !mcsema_real_eip !1262
%37 = load i64, i64* @RBP_2328_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1262
%38 = load i64, i64* %36, align 8, !mcsema_real_eip !1262
store i64 %38, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1262
%39 = add i64 %37, 8, !mcsema_real_eip !1262
%40 = add i64 %39, 8, !mcsema_real_eip !1262
store i64 %40, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1262
ret %struct.Memory* %35, !mcsema_real_eip !1262
inst_11ae: ; preds = %inst_1196
%41 = load i32, i32* %10, align 4, !mcsema_real_eip !1262
%42 = sub i32 %41, 65535, !mcsema_real_eip !1262
%43 = icmp ult i32 %41, 65535, !mcsema_real_eip !1262
%44 = zext i1 %43 to i8, !mcsema_real_eip !1262
store i8 %44, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1262
%45 = and i32 %42, 255, !mcsema_real_eip !1262
%46 = call i32 @llvm.ctpop.i32(i32 %45) #13, !range !1235, !mcsema_real_eip !1262
%47 = trunc i32 %46 to i8, !mcsema_real_eip !1262
%48 = and i8 %47, 1, !mcsema_real_eip !1262
%49 = xor i8 %48, 1, !mcsema_real_eip !1262
store i8 %49, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1262
%50 = xor i32 %41, 65535, !mcsema_real_eip !1262
%51 = xor i32 %50, %42, !mcsema_real_eip !1262
%52 = lshr i32 %51, 4, !mcsema_real_eip !1262
%53 = trunc i32 %52 to i8, !mcsema_real_eip !1262
%54 = and i8 %53, 1, !mcsema_real_eip !1262
store i8 %54, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1262
%55 = icmp eq i32 %42, 0, !mcsema_real_eip !1262
%56 = zext i1 %55 to i8, !mcsema_real_eip !1262
store i8 %56, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1262
%57 = lshr i32 %42, 31, !mcsema_real_eip !1262
%58 = trunc i32 %57 to i8, !mcsema_real_eip !1262
store i8 %58, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1262
%59 = lshr i32 %41, 31, !mcsema_real_eip !1262
%60 = xor i32 %57, %59, !mcsema_real_eip !1262
%61 = add nuw nsw i32 %60, %59, !mcsema_real_eip !1262
%62 = icmp eq i32 %61, 2, !mcsema_real_eip !1262
%63 = zext i1 %62 to i8, !mcsema_real_eip !1262
store i8 %63, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1262
%64 = icmp eq i8 %56, 0, !mcsema_real_eip !1262
br i1 %64, label %inst_11e0, label %inst_11b7, !mcsema_real_eip !1262
inst_11b7: ; preds = %inst_11ae
store i8* @data_4011, i8** @RDI_2296_307bde0, align 8, !mcsema_real_eip !1263
%65 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1263
%66 = add i64 %65, -8, !mcsema_real_eip !1263
%67 = inttoptr i64 %66 to i64*, !mcsema_real_eip !1263
store i64 add (i64 ptrtoint (i8* @data_11ae to i64), i64 21), i64* %67, align 8, !mcsema_real_eip !1263
store i64 %66, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
%68 = call %struct.Memory* @sub_1070___ZNSt8ios_base4InitC1Ev(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1263
store i8** @data_4008, i8*** @RDX_2264_3082870, align 8, !mcsema_real_eip !1263
store i8* @data_4011, i8** @RSI_2280_307bde0, align 8, !mcsema_real_eip !1263
%69 = load i64, i64* bitcast (i8** @data_3ff8 to i64*), align 8, !mcsema_real_eip !1263
store i64 %69, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
store i64 %69, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
%70 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1263
%71 = add i64 %70, -8, !mcsema_real_eip !1263
%72 = inttoptr i64 %71 to i64*, !mcsema_real_eip !1263
store i64 ptrtoint (i8* @data_11e0 to i64), i64* %72, align 8, !mcsema_real_eip !1263
store i64 %71, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
%73 = call %struct.Memory* @sub_1060____cxa_atexit(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %68), !mcsema_real_eip !1264
br label %inst_11e0, !mcsema_real_eip !1264
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1050(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1050:
%0 = load i64, i64* bitcast (i8** @data_3fd0 to i64*), align 8, !mcsema_real_eip !1265
store i64 %0, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1265
%1 = icmp eq i64 %0, 4187, !mcsema_real_eip !1265
br i1 %1, label %inst_105b, label %2, !mcsema_real_eip !1265
inst_105b: ; preds = %2, %inst_1050
ret %struct.Memory* %memory, !mcsema_real_eip !1265
2: ; preds = %inst_1050
%3 = sub i64 ptrtoint (i8* @data_105b to i64), %0, !mcsema_real_eip !1265
%4 = trunc i64 %3 to i32, !mcsema_real_eip !1265
%5 = zext i32 %4 to i64, !mcsema_real_eip !1265
%6 = icmp eq i64 %5, 0, !mcsema_real_eip !1265
br i1 %6, label %inst_105b, label %7, !mcsema_real_eip !1265
7: ; preds = %2
%8 = inttoptr i64 %0 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1265
%9 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1265
%10 = load i64, i64* @RSP_2312_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
%11 = add i64 %10, 8, !mcsema_real_eip !1265
%12 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
%13 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
%14 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
%15 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
%16 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
%17 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
%18 = getelementptr i64, i64* %9, i32 1, !mcsema_real_eip !1265
%19 = load i64, i64* %18, align 8, !mcsema_real_eip !1265
%20 = getelementptr i64, i64* %9, i32 2, !mcsema_real_eip !1265
%21 = load i64, i64* %20, align 8, !mcsema_real_eip !1265
%22 = call i64 %8(i64 %12, i64 %13, i64 %14, i64 %15, i64 %16, i64 %17, i64 %19, i64 %21) #13, !mcsema_real_eip !1265
store i64 %22, i64* @RAX_2216_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
store i64 %11, i64* @RSP_2312_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
ret %struct.Memory* %memory, !mcsema_real_eip !1265
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1060____cxa_atexit(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1060:
%0 = load i64, i64* bitcast (i8** @data_3fc0 to i64*), align 8, !mcsema_real_eip !1271
store i64 %0, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1271
%1 = icmp eq i64 %0, 4203, !mcsema_real_eip !1271
br i1 %1, label %inst_106b, label %2, !mcsema_real_eip !1271
inst_106b: ; preds = %2, %inst_1060
ret %struct.Memory* %memory, !mcsema_real_eip !1271
2: ; preds = %inst_1060
%3 = sub i64 ptrtoint (i8* @data_106b to i64), %0, !mcsema_real_eip !1271
%4 = trunc i64 %3 to i32, !mcsema_real_eip !1271
%5 = zext i32 %4 to i64, !mcsema_real_eip !1271
%6 = icmp eq i64 %5, 0, !mcsema_real_eip !1271
br i1 %6, label %inst_106b, label %7, !mcsema_real_eip !1271
7: ; preds = %2
%8 = inttoptr i64 %0 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1271
%9 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1271
%10 = load i64, i64* @RSP_2312_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
%11 = add i64 %10, 8, !mcsema_real_eip !1271
%12 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
%13 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
%14 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
%15 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
%16 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
%17 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
%18 = getelementptr i64, i64* %9, i32 1, !mcsema_real_eip !1271
%19 = load i64, i64* %18, align 8, !mcsema_real_eip !1271
%20 = getelementptr i64, i64* %9, i32 2, !mcsema_real_eip !1271
%21 = load i64, i64* %20, align 8, !mcsema_real_eip !1271
%22 = call i64 %8(i64 %12, i64 %13, i64 %14, i64 %15, i64 %16, i64 %17, i64 %19, i64 %21) #13, !mcsema_real_eip !1271
store i64 %22, i64* @RAX_2216_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
store i64 %11, i64* @RSP_2312_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
ret %struct.Memory* %memory, !mcsema_real_eip !1271
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1070___ZNSt8ios_base4InitC1Ev(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1070:
%0 = load i64, i64* bitcast (i8** @data_3fc8 to i64*), align 8, !mcsema_real_eip !1277
store i64 %0, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1277
%1 = icmp eq i64 %0, 4219, !mcsema_real_eip !1277
br i1 %1, label %inst_107b, label %2, !mcsema_real_eip !1277
inst_107b: ; preds = %2, %inst_1070
ret %struct.Memory* %memory, !mcsema_real_eip !1277
2: ; preds = %inst_1070
%3 = sub i64 ptrtoint (i8* @data_107b to i64), %0, !mcsema_real_eip !1277
%4 = trunc i64 %3 to i32, !mcsema_real_eip !1277
%5 = zext i32 %4 to i64, !mcsema_real_eip !1277
%6 = icmp eq i64 %5, 0, !mcsema_real_eip !1277
br i1 %6, label %inst_107b, label %7, !mcsema_real_eip !1277
7: ; preds = %2
%8 = inttoptr i64 %0 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1277
%9 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1277
%10 = load i64, i64* @RSP_2312_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
%11 = add i64 %10, 8, !mcsema_real_eip !1277
%12 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
%13 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
%14 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
%15 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
%16 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
%17 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
%18 = getelementptr i64, i64* %9, i32 1, !mcsema_real_eip !1277
%19 = load i64, i64* %18, align 8, !mcsema_real_eip !1277
%20 = getelementptr i64, i64* %9, i32 2, !mcsema_real_eip !1277
%21 = load i64, i64* %20, align 8, !mcsema_real_eip !1277
%22 = call i64 %8(i64 %12, i64 %13, i64 %14, i64 %15, i64 %16, i64 %17, i64 %19, i64 %21) #13, !mcsema_real_eip !1277
store i64 %22, i64* @RAX_2216_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
store i64 %11, i64* @RSP_2312_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
ret %struct.Memory* %memory, !mcsema_real_eip !1277
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1080_start(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1080:
store i64 0, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
%0 = load i64, i64* @RDX_2264_3074328, align 8, !mcsema_real_eip !1283
store i64 %0, i64* @R9_2360_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
%1 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1283
%2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1283
%3 = add i64 %2, 8, !mcsema_real_eip !1283
%4 = load i64, i64* %1, align 8, !mcsema_real_eip !1283
store i64 %4, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
store i64 %3, i64* @RDX_2264_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
%5 = and i64 -16, %3, !mcsema_real_eip !1283
%6 = inttoptr i64 %5 to i64*, !mcsema_real_eip !1283
store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1283
%7 = trunc i64 %5 to i32, !mcsema_real_eip !1283
%8 = and i32 %7, 255, !mcsema_real_eip !1283
%9 = call i32 @llvm.ctpop.i32(i32 %8) #13, !range !1235, !mcsema_real_eip !1283
%10 = trunc i32 %9 to i8, !mcsema_real_eip !1283
%11 = and i8 %10, 1, !mcsema_real_eip !1283
%12 = xor i8 %11, 1, !mcsema_real_eip !1283
store i8 %12, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1283
%13 = icmp eq i64 %5, 0, !mcsema_real_eip !1283
%14 = zext i1 %13 to i8, !mcsema_real_eip !1283
store i8 %14, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1283
%15 = lshr i64 %5, 63, !mcsema_real_eip !1283
%16 = trunc i64 %15 to i8, !mcsema_real_eip !1283
store i8 %16, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1283
store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1283
store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1283
%17 = load i64, i64* @RAX_2216_3074328, align 8, !mcsema_real_eip !1284
%18 = add i64 %5, -8, !mcsema_real_eip !1284
%19 = getelementptr i64, i64* %6, i32 -1, !mcsema_real_eip !1284
store i64 %17, i64* %19, align 8, !mcsema_real_eip !1284
%20 = add i64 %18, -8, !mcsema_real_eip !1284
%21 = getelementptr i64, i64* %19, i32 -1, !mcsema_real_eip !1284
store i64 %18, i64* %21, align 8, !mcsema_real_eip !1284
store void ()* @__libc_csu_fini, void ()** @R8_2344_30817d0, align 8, !mcsema_real_eip !1284
store void ()* @__libc_csu_init, void ()** @RCX_2248_30817d0, align 8, !mcsema_real_eip !1284
store i32 (i32, i8**, i8**)* @main, i32 (i32, i8**, i8**)** @RDI_2296_30828d0, align 8, !mcsema_real_eip !1284
%22 = getelementptr i64, i64* %21, i32 -1, !mcsema_real_eip !1284
%23 = load i64, i64* bitcast (i8** @data_3fe0 to i64*), align 8, !mcsema_real_eip !1284
store i64 ptrtoint (i8** @data_3fe0 to i64), i64* %22, align 8, !mcsema_real_eip !1284
%24 = inttoptr i64 %23 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1284
%25 = getelementptr i64, i64* %22, i32 1, !mcsema_real_eip !1284
%26 = load i64, i64* %25, align 8, !mcsema_real_eip !1284
%27 = getelementptr i64, i64* %22, i32 2, !mcsema_real_eip !1284
%28 = load i64, i64* %27, align 8, !mcsema_real_eip !1284
%29 = call i64 %24(i64 ptrtoint (i32 (i32, i8**, i8**)* @main to i64), i64 %4, i64 %3, i64 ptrtoint (void ()* @__libc_csu_init to i64), i64 ptrtoint (void ()* @__libc_csu_fini to i64), i64 %0, i64 %26, i64 %28) #13, !mcsema_real_eip !1284
store i64 %29, i64* @RAX_2216_3074328, align 8, !alias.scope !1285, !noalias !1288, !mcsema_real_eip !1284
store i64 %20, i64* @RSP_2312_3074328, align 8, !alias.scope !1285, !noalias !1288, !mcsema_real_eip !1284
store i8* @data_10ae, i8** @RIP_2472_307bde0, align 8, !mcsema_real_eip !1284
call void @abort() #13, !mcsema_real_eip !1284
unreachable, !mcsema_real_eip !1284
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_10b0_deregister_tm_clones(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_10b0:
store i8* @data_4010, i8** @RDI_2296_307bde0, align 8, !mcsema_real_eip !1290
store i8* @data_4010, i8** @RAX_2216_307bde0, align 8, !mcsema_real_eip !1290
store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1290
store i8 1, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1290
store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1290
store i8 1, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1290
store i8 0, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1290
store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1290
%0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1290
%1 = add i64 %0, 8, !mcsema_real_eip !1290
store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1290
ret %struct.Memory* %memory, !mcsema_real_eip !1290
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1278__term_proc(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1278:
%0 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1291
%1 = sub i64 %0, 8, !mcsema_real_eip !1291
%2 = icmp ult i64 %0, 8, !mcsema_real_eip !1291
%3 = lshr i64 %1, 63, !mcsema_real_eip !1291
%4 = lshr i64 %0, 63, !mcsema_real_eip !1291
%5 = xor i64 %3, %4, !mcsema_real_eip !1291
%6 = add nuw nsw i64 %5, %4, !mcsema_real_eip !1291
%7 = icmp eq i64 %6, 2, !mcsema_real_eip !1291
%8 = zext i1 %7 to i8, !mcsema_real_eip !1291
%9 = icmp ult i64 %0, %1, !mcsema_real_eip !1291
%10 = or i1 %9, %2, !mcsema_real_eip !1291
%11 = zext i1 %10 to i8, !mcsema_real_eip !1291
store i8 %11, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1291
%12 = trunc i64 %0 to i32, !mcsema_real_eip !1291
%13 = and i32 %12, 255, !mcsema_real_eip !1291
%14 = call i32 @llvm.ctpop.i32(i32 %13) #13, !range !1235, !mcsema_real_eip !1291
%15 = trunc i32 %14 to i8, !mcsema_real_eip !1291
%16 = and i8 %15, 1, !mcsema_real_eip !1291
%17 = xor i8 %16, 1, !mcsema_real_eip !1291
store i8 %17, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1291
%18 = xor i64 8, %1, !mcsema_real_eip !1291
%19 = xor i64 %18, %0, !mcsema_real_eip !1291
%20 = lshr i64 %19, 4, !mcsema_real_eip !1291
%21 = trunc i64 %20 to i8, !mcsema_real_eip !1291
%22 = and i8 %21, 1, !mcsema_real_eip !1291
store i8 %22, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1291
%23 = icmp eq i64 %0, 0, !mcsema_real_eip !1291
%24 = zext i1 %23 to i8, !mcsema_real_eip !1291
store i8 %24, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1291
%25 = trunc i64 %4 to i8, !mcsema_real_eip !1291
store i8 %25, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1291
store i8 %8, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1291
%26 = add i64 %0, 8, !mcsema_real_eip !1291
store i64 %26, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1291
ret %struct.Memory* %memory, !mcsema_real_eip !1291
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_10e0_register_tm_clones(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_10e0:
store i8* @data_4010, i8** @RDI_2296_307bde0, align 8, !mcsema_real_eip !1292
store i64 0, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1292
store i64 0, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1292
store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
store i8 1, i8* @PF_2067_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
store i8 1, i8* @ZF_2071_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
store i8 0, i8* @SF_2073_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
%0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1292
%1 = add i64 %0, 8, !mcsema_real_eip !1292
store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1292
ret %struct.Memory* %memory, !mcsema_real_eip !1292
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1120___do_global_dtors_aux(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1120:
%0 = load i8, i8* @data_4010, align 1, !mcsema_real_eip !1293
store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1293
%1 = zext i8 %0 to i32, !mcsema_real_eip !1293
%2 = call i32 @llvm.ctpop.i32(i32 %1) #13, !range !1235, !mcsema_real_eip !1293
%3 = trunc i32 %2 to i8, !mcsema_real_eip !1293
%4 = and i8 %3, 1, !mcsema_real_eip !1293
%5 = xor i8 %4, 1, !mcsema_real_eip !1293
store i8 %5, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1293
store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1293
%6 = icmp eq i8 %0, 0, !mcsema_real_eip !1293
%7 = zext i1 %6 to i8, !mcsema_real_eip !1293
store i8 %7, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1293
%8 = lshr i8 %0, 7, !mcsema_real_eip !1293
store i8 %8, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1293
store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1293
%9 = icmp eq i8 %7, 0, !mcsema_real_eip !1293
br i1 %9, label %inst_1158, label %inst_112d, !mcsema_real_eip !1293
inst_1147: ; preds = %inst_113b, %inst_112d
%10 = phi i64 [ %40, %inst_112d ], [ ptrtoint (i8* @data_1147 to i64), %inst_113b ], !mcsema_real_eip !1294
%11 = phi %struct.Memory* [ %memory, %inst_112d ], [ %46, %inst_113b ], !mcsema_real_eip !1294
%12 = add i64 %10, 5, !mcsema_real_eip !1294
%13 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1294
%14 = add i64 %13, -8, !mcsema_real_eip !1294
%15 = inttoptr i64 %14 to i64*, !mcsema_real_eip !1294
store i64 %12, i64* %15, align 8, !mcsema_real_eip !1294
store i64 %14, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1294
%16 = call %struct.Memory* @sub_10b0_deregister_tm_clones(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %11), !mcsema_real_eip !1295
store i8 1, i8* @data_4010, align 1, !mcsema_real_eip !1295
%17 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1295
%18 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1295
%19 = add i64 %18, 8, !mcsema_real_eip !1295
%20 = load i64, i64* %17, align 8, !mcsema_real_eip !1295
store i64 %20, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1295
%21 = add i64 %19, 8, !mcsema_real_eip !1295
store i64 %21, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1295
ret %struct.Memory* %16, !mcsema_real_eip !1296
inst_1158: ; preds = %inst_1120
%22 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1297
%23 = add i64 %22, 8, !mcsema_real_eip !1297
store i64 %23, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1297
ret %struct.Memory* %memory, !mcsema_real_eip !1297
inst_112d: ; preds = %inst_1120
%24 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1293
%25 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1293
%26 = add i64 %25, -8, !mcsema_real_eip !1293
%27 = inttoptr i64 %26 to i64*, !mcsema_real_eip !1293
store i64 %24, i64* %27, align 8, !mcsema_real_eip !1293
store i64 %26, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1293
%28 = load i64, i64* bitcast (i8** @data_3fd0 to i64*), align 8, !mcsema_real_eip !1293
store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1293
%29 = trunc i64 %28 to i32, !mcsema_real_eip !1293
%30 = and i32 %29, 255, !mcsema_real_eip !1293
%31 = call i32 @llvm.ctpop.i32(i32 %30) #13, !range !1235, !mcsema_real_eip !1293
%32 = trunc i32 %31 to i8, !mcsema_real_eip !1293
%33 = and i8 %32, 1, !mcsema_real_eip !1293
%34 = xor i8 %33, 1, !mcsema_real_eip !1293
store i8 %34, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1293
store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1293
%35 = icmp eq i64 %28, 0, !mcsema_real_eip !1293
%36 = zext i1 %35 to i8, !mcsema_real_eip !1293
store i8 %36, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1293
%37 = lshr i64 %28, 63, !mcsema_real_eip !1293
%38 = trunc i64 %37 to i8, !mcsema_real_eip !1293
store i8 %38, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1293
store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1293
store i64 %26, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1293
%39 = icmp eq i8 %36, 0, !mcsema_real_eip !1293
%40 = select i1 %39, i64 add (i64 ptrtoint (i8* @data_112d to i64), i64 14), i64 add (i64 ptrtoint (i8* @data_112d to i64), i64 26), !mcsema_real_eip !1293
br i1 %35, label %inst_1147, label %inst_113b, !mcsema_real_eip !1298
inst_113b: ; preds = %inst_112d
%41 = add i64 %40, 7, !mcsema_real_eip !1298
%42 = load i64, i64* bitcast (i8** @data_4008 to i64*), align 8, !mcsema_real_eip !1298
store i64 %42, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1298
%43 = add i64 %41, 5, !mcsema_real_eip !1299
%44 = add i64 %26, -8, !mcsema_real_eip !1299
%45 = getelementptr i64, i64* %27, i32 -1, !mcsema_real_eip !1299
store i64 %43, i64* %45, align 8, !mcsema_real_eip !1299
store i64 %44, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1299
%46 = call %struct.Memory* @sub_1050(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1294
br label %inst_1147, !mcsema_real_eip !1294
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1020(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1020:
%0 = load i64, i64* bitcast (i8* @data_3fb0 to i64*), align 8, !mcsema_real_eip !1300
%1 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1300
%2 = add i64 %1, -8, !mcsema_real_eip !1300
%3 = inttoptr i64 %2 to i64*, !mcsema_real_eip !1300
store i64 %0, i64* %3, align 8, !mcsema_real_eip !1300
store i64 %2, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1300
%4 = load i64, i64* bitcast (i8* @data_3fb8 to i64*), align 8, !mcsema_real_eip !1300
store i64 %4, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1300
%5 = icmp eq i64 %4, 4141, !mcsema_real_eip !1300
br i1 %5, label %inst_102d, label %6, !mcsema_real_eip !1300
inst_102d: ; preds = %6, %inst_1020
ret %struct.Memory* %memory, !mcsema_real_eip !1300
6: ; preds = %inst_1020
%7 = sub i64 ptrtoint (i8* @data_102d to i64), %4, !mcsema_real_eip !1300
%8 = trunc i64 %7 to i32, !mcsema_real_eip !1300
%9 = zext i32 %8 to i64, !mcsema_real_eip !1300
%10 = icmp eq i64 %9, 0, !mcsema_real_eip !1300
br i1 %10, label %inst_102d, label %11, !mcsema_real_eip !1300
11: ; preds = %6
%12 = inttoptr i64 %4 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1300
%13 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1300
%14 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
%15 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
%16 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
%17 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
%18 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
%19 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
%20 = getelementptr i64, i64* %13, i32 1, !mcsema_real_eip !1300
%21 = load i64, i64* %20, align 8, !mcsema_real_eip !1300
%22 = getelementptr i64, i64* %13, i32 2, !mcsema_real_eip !1300
%23 = load i64, i64* %22, align 8, !mcsema_real_eip !1300
%24 = call i64 %12(i64 %14, i64 %15, i64 %16, i64 %17, i64 %18, i64 %19, i64 %21, i64 %23) #13, !mcsema_real_eip !1300
store i64 %24, i64* @RAX_2216_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
store i64 %1, i64* @RSP_2312_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
ret %struct.Memory* %memory, !mcsema_real_eip !1300
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_11e3__GLOBAL__sub_I_main(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_11e3:
%0 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1306
%1 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1306
%2 = add i64 %1, -8, !mcsema_real_eip !1306
%3 = inttoptr i64 %2 to i64*, !mcsema_real_eip !1306
store i64 %0, i64* %3, align 8, !mcsema_real_eip !1306
store i64 %2, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
store i64 65535, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
store i64 1, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
%4 = add i64 %2, -8, !mcsema_real_eip !1306
%5 = getelementptr i64, i64* %3, i32 -1, !mcsema_real_eip !1306
store i64 ptrtoint (i8* @data_11fa to i64), i64* %5, align 8, !mcsema_real_eip !1306
store i64 %4, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
%6 = call %struct.Memory* @sub_1196__Z41__static_initialization_and_destruction_0ii(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1307
%7 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1307
%8 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1307
%9 = add i64 %8, 8, !mcsema_real_eip !1307
%10 = load i64, i64* %7, align 8, !mcsema_real_eip !1307
store i64 %10, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1307
%11 = add i64 %9, 8, !mcsema_real_eip !1307
store i64 %11, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1307
ret %struct.Memory* %6, !mcsema_real_eip !1308
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1200___libc_csu_init(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1200:
%0 = load i32, i32* @RDI_2296_3074310, align 4, !mcsema_real_eip !1309
%1 = load i64, i64* @R15_2456_3074328, align 8, !mcsema_real_eip !1310
%2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1310
%3 = add i64 %2, -8, !mcsema_real_eip !1310
%4 = inttoptr i64 %3 to i64*, !mcsema_real_eip !1310
store i64 %1, i64* %4, align 8, !mcsema_real_eip !1310
store i8** @data_3d90, i8*** @R15_2456_3082870, align 8, !mcsema_real_eip !1310
%5 = load i64, i64* @R14_2440_3074328, align 8, !mcsema_real_eip !1311
%6 = add i64 %3, -8, !mcsema_real_eip !1311
%7 = getelementptr i64, i64* %4, i32 -1, !mcsema_real_eip !1311
store i64 %5, i64* %7, align 8, !mcsema_real_eip !1311
%8 = load i64, i64* @RDX_2264_3074328, align 8, !mcsema_real_eip !1312
store i64 %8, i64* @R14_2440_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1312
%9 = load i64, i64* @R13_2424_3074328, align 8, !mcsema_real_eip !1313
%10 = add i64 %6, -8, !mcsema_real_eip !1313
%11 = getelementptr i64, i64* %7, i32 -1, !mcsema_real_eip !1313
store i64 %9, i64* %11, align 8, !mcsema_real_eip !1313
%12 = load i64, i64* @RSI_2280_3074328, align 8, !mcsema_real_eip !1314
store i64 %12, i64* @R13_2424_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1314
%13 = load i64, i64* @R12_2408_3074328, align 8, !mcsema_real_eip !1315
%14 = add i64 %10, -8, !mcsema_real_eip !1315
%15 = getelementptr i64, i64* %11, i32 -1, !mcsema_real_eip !1315
store i64 %13, i64* %15, align 8, !mcsema_real_eip !1315
%16 = zext i32 %0 to i64, !mcsema_real_eip !1316
%17 = and i64 %16, 4294967295, !mcsema_real_eip !1316
store i64 %17, i64* @R12_2408_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1316
%18 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1317
%19 = add i64 %14, -8, !mcsema_real_eip !1317
%20 = getelementptr i64, i64* %15, i32 -1, !mcsema_real_eip !1317
store i64 %18, i64* %20, align 8, !mcsema_real_eip !1317
%21 = load i64, i64* @RBX_2232_3074328, align 8, !mcsema_real_eip !1318
%22 = add i64 %19, -8, !mcsema_real_eip !1318
%23 = getelementptr i64, i64* %20, i32 -1, !mcsema_real_eip !1318
store i64 %21, i64* %23, align 8, !mcsema_real_eip !1318
store i64 16, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1318
%24 = sub i64 %22, 8, !mcsema_real_eip !1318
%25 = inttoptr i64 %24 to i64*, !mcsema_real_eip !1318
%26 = icmp ult i64 %22, 8, !mcsema_real_eip !1318
%27 = zext i1 %26 to i8, !mcsema_real_eip !1318
store i8 %27, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1318
%28 = trunc i64 %24 to i32, !mcsema_real_eip !1318
%29 = and i32 %28, 255, !mcsema_real_eip !1318
%30 = call i32 @llvm.ctpop.i32(i32 %29) #13, !range !1235, !mcsema_real_eip !1318
%31 = trunc i32 %30 to i8, !mcsema_real_eip !1318
%32 = and i8 %31, 1, !mcsema_real_eip !1318
%33 = xor i8 %32, 1, !mcsema_real_eip !1318
store i8 %33, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1318
%34 = xor i64 8, %22, !mcsema_real_eip !1318
%35 = xor i64 %34, %24, !mcsema_real_eip !1318
%36 = lshr i64 %35, 4, !mcsema_real_eip !1318
%37 = trunc i64 %36 to i8, !mcsema_real_eip !1318
%38 = and i8 %37, 1, !mcsema_real_eip !1318
store i8 %38, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1318
%39 = icmp eq i64 %24, 0, !mcsema_real_eip !1318
%40 = zext i1 %39 to i8, !mcsema_real_eip !1318
store i8 %40, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1318
%41 = lshr i64 %24, 63, !mcsema_real_eip !1318
%42 = trunc i64 %41 to i8, !mcsema_real_eip !1318
store i8 %42, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1318
%43 = lshr i64 %22, 63, !mcsema_real_eip !1318
%44 = xor i64 %41, %43, !mcsema_real_eip !1318
%45 = add nuw nsw i64 %44, %43, !mcsema_real_eip !1318
%46 = icmp eq i64 %45, 2, !mcsema_real_eip !1318
%47 = zext i1 %46 to i8, !mcsema_real_eip !1318
store i8 %47, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1318
%48 = add i64 %24, -8, !mcsema_real_eip !1318
%49 = getelementptr i64, i64* %25, i32 -1, !mcsema_real_eip !1318
store i64 ptrtoint (i8* @data_1231 to i64), i64* %49, align 8, !mcsema_real_eip !1318
store i64 %48, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1318
%50 = call %struct.Memory* @sub_1000__init_proc(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1319
%51 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1319
%52 = ashr i64 %51, 2, !mcsema_real_eip !1319
%53 = ashr i64 %52, 1, !mcsema_real_eip !1319
store i64 %53, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1319
%54 = icmp eq i64 %53, 0, !mcsema_real_eip !1319
br i1 %54, label %inst_1256, label %inst_1237, !mcsema_real_eip !1320
inst_1240: ; preds = %inst_1237, %inst_1240
%55 = phi i64 [ add (i64 ptrtoint (i8* @data_1237 to i64), i64 9), %inst_1237 ], [ %114, %inst_1240 ], !mcsema_real_eip !1321
%56 = add i64 %55, 3, !mcsema_real_eip !1321
%57 = load i64, i64* @R14_2440_3074328, align 8, !mcsema_real_eip !1321
store i64 %57, i64* @RDX_2264_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1321
%58 = add i64 %56, 3, !mcsema_real_eip !1322
%59 = load i64, i64* @R13_2424_3074328, align 8, !mcsema_real_eip !1322
store i64 %59, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1322
%60 = add i64 %58, 3, !mcsema_real_eip !1323
%61 = load i32, i32* @R12_2408_3074310, align 4, !mcsema_real_eip !1323
%62 = zext i32 %61 to i64, !mcsema_real_eip !1323
%63 = and i64 %62, 4294967295, !mcsema_real_eip !1323
store i64 %63, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1323
%64 = add i64 %60, 4, !mcsema_real_eip !1324
%65 = load i64, i64* @R15_2456_3074328, align 8, !mcsema_real_eip !1324
%66 = load i64, i64* @RBX_2232_3074328, align 8, !mcsema_real_eip !1324
%67 = mul i64 %66, 8, !mcsema_real_eip !1324
%68 = add i64 %67, %65, !mcsema_real_eip !1324
%69 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1324
%70 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1324
%71 = add i64 %70, -8, !mcsema_real_eip !1324
%72 = inttoptr i64 %71 to i64*, !mcsema_real_eip !1324
%73 = inttoptr i64 %68 to i64*, !mcsema_real_eip !1324
%74 = load i64, i64* %73, align 8, !mcsema_real_eip !1324
%75 = getelementptr i64, i64* %69, i32 -1, !mcsema_real_eip !1324
store i64 %64, i64* %75, align 8, !mcsema_real_eip !1324
store i64 %71, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1324
store i64 %74, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1324
%76 = inttoptr i64 %74 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1324
%77 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
%78 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
%79 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
%80 = getelementptr i64, i64* %72, i32 1, !mcsema_real_eip !1324
%81 = load i64, i64* %80, align 8, !mcsema_real_eip !1324
%82 = getelementptr i64, i64* %72, i32 2, !mcsema_real_eip !1324
%83 = load i64, i64* %82, align 8, !mcsema_real_eip !1324
%84 = call i64 %76(i64 %63, i64 %59, i64 %57, i64 %77, i64 %78, i64 %79, i64 %81, i64 %83) #13, !mcsema_real_eip !1324
store i64 %84, i64* @RAX_2216_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
store i64 %70, i64* @RSP_2312_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
%85 = load i64, i64* @RBX_2232_3074328, align 8, !mcsema_real_eip !1330
%86 = add i64 1, %85, !mcsema_real_eip !1330
store i64 %86, i64* @RBX_2232_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1330
%87 = lshr i64 %86, 63, !mcsema_real_eip !1330
%88 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1331
%89 = sub i64 %88, %86, !mcsema_real_eip !1331
%90 = icmp ult i64 %88, %86, !mcsema_real_eip !1331
%91 = zext i1 %90 to i8, !mcsema_real_eip !1331
store i8 %91, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1331
%92 = trunc i64 %89 to i32, !mcsema_real_eip !1331
%93 = and i32 %92, 255, !mcsema_real_eip !1331
%94 = call i32 @llvm.ctpop.i32(i32 %93) #13, !range !1235, !mcsema_real_eip !1331
%95 = trunc i32 %94 to i8, !mcsema_real_eip !1331
%96 = and i8 %95, 1, !mcsema_real_eip !1331
%97 = xor i8 %96, 1, !mcsema_real_eip !1331
store i8 %97, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1331
%98 = xor i64 %86, %88, !mcsema_real_eip !1331
%99 = xor i64 %98, %89, !mcsema_real_eip !1331
%100 = lshr i64 %99, 4, !mcsema_real_eip !1331
%101 = trunc i64 %100 to i8, !mcsema_real_eip !1331
%102 = and i8 %101, 1, !mcsema_real_eip !1331
store i8 %102, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1331
%103 = icmp eq i64 %89, 0, !mcsema_real_eip !1331
%104 = zext i1 %103 to i8, !mcsema_real_eip !1331
store i8 %104, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1331
%105 = lshr i64 %89, 63, !mcsema_real_eip !1331
%106 = trunc i64 %105 to i8, !mcsema_real_eip !1331
store i8 %106, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1331
%107 = lshr i64 %88, 63, !mcsema_real_eip !1331
%108 = xor i64 %87, %107, !mcsema_real_eip !1331
%109 = xor i64 %105, %107, !mcsema_real_eip !1331
%110 = add nuw nsw i64 %109, %108, !mcsema_real_eip !1331
%111 = icmp eq i64 %110, 2, !mcsema_real_eip !1331
%112 = zext i1 %111 to i8, !mcsema_real_eip !1331
store i8 %112, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1331
%113 = icmp eq i8 %104, 0, !mcsema_real_eip !1331
%114 = select i1 %113, i64 ptrtoint (i8* @data_1240 to i64), i64 ptrtoint (i8* @data_1256 to i64), !mcsema_real_eip !1331
br i1 %113, label %inst_1240, label %inst_1256, !mcsema_real_eip !1332
inst_1256: ; preds = %inst_1240, %inst_1200
%115 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1332
%116 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1332
%117 = add i64 8, %116, !mcsema_real_eip !1332
%118 = getelementptr i64, i64* %115, i32 1, !mcsema_real_eip !1332
%119 = icmp ult i64 %117, %116, !mcsema_real_eip !1332
%120 = icmp ult i64 %117, 8, !mcsema_real_eip !1332
%121 = or i1 %119, %120, !mcsema_real_eip !1332
%122 = zext i1 %121 to i8, !mcsema_real_eip !1332
store i8 %122, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1332
%123 = trunc i64 %117 to i32, !mcsema_real_eip !1332
%124 = and i32 %123, 255, !mcsema_real_eip !1332
%125 = call i32 @llvm.ctpop.i32(i32 %124) #13, !range !1235, !mcsema_real_eip !1332
%126 = trunc i32 %125 to i8, !mcsema_real_eip !1332
%127 = and i8 %126, 1, !mcsema_real_eip !1332
%128 = xor i8 %127, 1, !mcsema_real_eip !1332
store i8 %128, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1332
%129 = xor i64 8, %116, !mcsema_real_eip !1332
%130 = xor i64 %129, %117, !mcsema_real_eip !1332
%131 = lshr i64 %130, 4, !mcsema_real_eip !1332
%132 = trunc i64 %131 to i8, !mcsema_real_eip !1332
%133 = and i8 %132, 1, !mcsema_real_eip !1332
store i8 %133, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1332
%134 = icmp eq i64 %117, 0, !mcsema_real_eip !1332
%135 = zext i1 %134 to i8, !mcsema_real_eip !1332
store i8 %135, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1332
%136 = lshr i64 %117, 63, !mcsema_real_eip !1332
%137 = trunc i64 %136 to i8, !mcsema_real_eip !1332
store i8 %137, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1332
%138 = lshr i64 %116, 63, !mcsema_real_eip !1332
%139 = xor i64 %136, %138, !mcsema_real_eip !1332
%140 = add nuw nsw i64 %139, %136, !mcsema_real_eip !1332
%141 = icmp eq i64 %140, 2, !mcsema_real_eip !1332
%142 = zext i1 %141 to i8, !mcsema_real_eip !1332
store i8 %142, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1332
%143 = add i64 %117, 8, !mcsema_real_eip !1332
%144 = getelementptr i64, i64* %118, i32 1, !mcsema_real_eip !1332
%145 = load i64, i64* %118, align 8, !mcsema_real_eip !1332
store i64 %145, i64* @RBX_2232_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
%146 = add i64 %143, 8, !mcsema_real_eip !1332
%147 = getelementptr i64, i64* %144, i32 1, !mcsema_real_eip !1332
%148 = load i64, i64* %144, align 8, !mcsema_real_eip !1332
store i64 %148, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
%149 = add i64 %146, 8, !mcsema_real_eip !1332
%150 = getelementptr i64, i64* %147, i32 1, !mcsema_real_eip !1332
%151 = load i64, i64* %147, align 8, !mcsema_real_eip !1332
store i64 %151, i64* @R12_2408_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
%152 = add i64 %149, 8, !mcsema_real_eip !1332
%153 = getelementptr i64, i64* %150, i32 1, !mcsema_real_eip !1332
%154 = load i64, i64* %150, align 8, !mcsema_real_eip !1332
store i64 %154, i64* @R13_2424_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
%155 = add i64 %152, 8, !mcsema_real_eip !1332
%156 = load i64, i64* %153, align 8, !mcsema_real_eip !1332
store i64 %156, i64* @R14_2440_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
%157 = add i64 %155, 8, !mcsema_real_eip !1332
%158 = getelementptr i64, i64* %153, i32 1, !mcsema_real_eip !1332
%159 = load i64, i64* %158, align 8, !mcsema_real_eip !1332
store i64 %159, i64* @R15_2456_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
%160 = add i64 %157, 8, !mcsema_real_eip !1332
store i64 %160, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
ret %struct.Memory* %50, !mcsema_real_eip !1333
inst_1237: ; preds = %inst_1200
store i64 0, i64* @RBX_2232_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1321
store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1321
store i8 1, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1321
store i8 1, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1321
store i8 0, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1321
store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1321
store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1321
br label %inst_1240, !mcsema_real_eip !1321
}
; Function Attrs: noinline
define internal %struct.Memory* @sub_1270___libc_csu_fini(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1270:
%0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249
%1 = add i64 %0, 8
store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217
ret %struct.Memory* %memory
}
; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ITM_registerTMCloneTable(i64, i64) #7
; Function Attrs: noinline
define weak x86_64_sysvcc void @__gmon_start__() #10 !remill.function.type !1334 {
ret void
}
; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @__cxa_finalize(i64) #7
; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ZNSt8ios_base4InitD1Ev(i64) #7
; Function Attrs: noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc void @__libc_start_main(i32 (i32, i8**, i8**)*, i32, i8**, i8*, i32 (i32, i8**, i8**)*, void ()*, void ()*, i32*) #10
; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ZNSt8ios_base4InitC1Ev(i64) #7
; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ITM_deregisterTMCloneTable(i64) #7
; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @__cxa_atexit(i64, i64, i64) #7
; Function Attrs: alwaysinline inlinehint nounwind
define dso_local %struct.Memory* @__mcsema_detach_call_value(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #11 !remill.function.type !1335 {
%1 = inttoptr i64 %pc to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*
%2 = load i64*, i64** @RSP_2312_307bf40, align 8
%3 = load i64, i64* @RSP_2312_3074328, align 8
%4 = add i64 %3, 8
%5 = load i64, i64* @RDI_2296_3074328, align 8
%6 = load i64, i64* @RSI_2280_3074328, align 8
%7 = load i64, i64* @RDX_2264_3074328, align 8
%8 = load i64, i64* @RCX_2248_3074328, align 8
%9 = load i64, i64* @R8_2344_3074328, align 8
%10 = load i64, i64* @R9_2360_3074328, align 8
%11 = getelementptr i64, i64* %2, i32 1
%12 = load i64, i64* %11, align 8
%13 = getelementptr i64, i64* %2, i32 2
%14 = load i64, i64* %13, align 8
%15 = call i64 %1(i64 %5, i64 %6, i64 %7, i64 %8, i64 %9, i64 %10, i64 %12, i64 %14)
store i64 %15, i64* @RAX_2216_3074328, align 8
store i64 %4, i64* @RSP_2312_3074328, align 8
ret %struct.Memory* %memory
}
define %struct.State* @__mcsema_init_reg_state() {
entry:
%0 = load volatile i64, i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0), align 8
%1 = icmp eq i64 %0, 0
br i1 %1, label %is_null, label %end
is_null: ; preds = %entry
store i64 and (i64 ptrtoint (i8* getelementptr inbounds ([1048576 x i8], [1048576 x i8]* @__mcsema_stack, i32 0, i32 1048064) to i64), i64 -16), i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0), align 8
call void @__mcsema_early_init()
br label %end
end: ; preds = %is_null, %entry
ret %struct.State* @__mcsema_reg_state
}
define internal void @__mcsema_early_init() {
%1 = load volatile i1, i1* @0, align 1
br i1 %1, label %2, label %3
2: ; preds = %0
ret void
3: ; preds = %0
store volatile i1 true, i1* @0, align 1
ret void
}
; Function Attrs: nobuiltin noinline
define x86_64_sysvcc i32 @main(i32 %param0, i8** %param1, i8** %param2) #7 !remill.function.type !1336 {
%1 = call %struct.State* @__mcsema_init_reg_state()
%2 = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 11, i32 0, i32 0
%EDI = bitcast i64* %2 to i32*, !remill_register !1337
store i32 %param0, i32* %EDI, align 4
%RSI = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 9, i32 0, i32 0, !remill_register !1338
%3 = ptrtoint i8** %param1 to i64
store i64 %3, i64* %RSI, align 8
%RDX = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 7, i32 0, i32 0, !remill_register !1339
%4 = ptrtoint i8** %param2 to i64
store i64 %4, i64* %RDX, align 8
%5 = call %struct.Memory* @sub_1169_main(%struct.State* %1, i64 4457, %struct.Memory* null)
%RAX = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 1, i32 0, i32 0, !remill_register !1340
%6 = load i64, i64* %RAX, align 8
%7 = trunc i64 %6 to i32
ret i32 %7
}
; Function Attrs: nobuiltin noinline
define private i64 @_GLOBAL__sub_I_main(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7) #7 {
%9 = call %struct.State* @__mcsema_init_reg_state()
%RDI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 11, i32 0, i32 0, !remill_register !1341
store i64 %0, i64* %RDI, align 8
%RSI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 9, i32 0, i32 0, !remill_register !1338
store i64 %1, i64* %RSI, align 8
%RDX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 7, i32 0, i32 0, !remill_register !1339
store i64 %2, i64* %RDX, align 8
%RCX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 5, i32 0, i32 0, !remill_register !1342
store i64 %3, i64* %RCX, align 8
%R8 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 17, i32 0, i32 0, !remill_register !1343
store i64 %4, i64* %R8, align 8
%R9 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 19, i32 0, i32 0, !remill_register !1344
store i64 %5, i64* %R9, align 8
%RSP = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 13, i32 0, i32 0, !remill_register !1345
%10 = load i64, i64* %RSP, align 8
%11 = add i64 %10, 8
%12 = inttoptr i64 %11 to i64*
store i64 %6, i64* %12, align 8
%13 = load i64, i64* %RSP, align 8
%14 = add i64 %13, 16
%15 = inttoptr i64 %14 to i64*
store i64 %7, i64* %15, align 8
%16 = call %struct.Memory* @sub_11e3__GLOBAL__sub_I_main(%struct.State* %9, i64 4579, %struct.Memory* null)
%RAX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 1, i32 0, i32 0, !remill_register !1340
%17 = load i64, i64* %RAX, align 8
ret i64 %17
}
; Function Attrs: nobuiltin noinline
define private i64 @start(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7) #7 {
%9 = call %struct.State* @__mcsema_init_reg_state()
%RDI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 11, i32 0, i32 0, !remill_register !1341
store i64 %0, i64* %RDI, align 8
%RSI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 9, i32 0, i32 0, !remill_register !1338
store i64 %1, i64* %RSI, align 8
%RDX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 7, i32 0, i32 0, !remill_register !1339
store i64 %2, i64* %RDX, align 8
%RCX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 5, i32 0, i32 0, !remill_register !1342
store i64 %3, i64* %RCX, align 8
%R8 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 17, i32 0, i32 0, !remill_register !1343
store i64 %4, i64* %R8, align 8
%R9 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 19, i32 0, i32 0, !remill_register !1344
store i64 %5, i64* %R9, align 8
%RSP = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 13, i32 0, i32 0, !remill_register !1345
%10 = load i64, i64* %RSP, align 8
%11 = add i64 %10, 8
%12 = inttoptr i64 %11 to i64*
store i64 %6, i64* %12, align 8
%13 = load i64, i64* %RSP, align 8
%14 = add i64 %13, 16
%15 = inttoptr i64 %14 to i64*
store i64 %7, i64* %15, align 8
%16 = call %struct.Memory* @sub_1080_start(%struct.State* %9, i64 4224, %struct.Memory* null)
%RAX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 1, i32 0, i32 0, !remill_register !1340
%17 = load i64, i64* %RAX, align 8
ret i64 %17
}
define internal void @__mcsema_constructor() {
call void @__libc_csu_init()
ret void
}
define internal void @__mcsema_destructor() {
call void @__libc_csu_fini()
ret void
}
; Function Attrs: noinline optnone
define %struct.State* @__mcsema_debug_get_reg_state() #12 {
ret %struct.State* @__mcsema_reg_state
}
attributes #0 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { noduplicate noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #3 = { noduplicate noinline nounwind optnone readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #4 = { nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #5 = { noduplicate noinline nounwind optnone readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #6 = { noduplicate noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #7 = { nobuiltin noinline }
attributes #8 = { noreturn }
attributes #9 = { noinline "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #10 = { noinline }
attributes #11 = { alwaysinline inlinehint nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #12 = { noinline optnone }
attributes #13 = { nounwind }
!llvm.ident = !{!0, !0, !0}
!llvm.module.flags = !{!1, !2, !3}
!llvm.dbg.cu = !{!4}
!0 = !{!"clang version 9.0.1 (https://github.com/trailofbits/vcpkg.git 4592a93cc4ca82f1963dba08413c43639662d7ae)"}
!1 = !{i32 1, !"wchar_size", i32 4}
!2 = !{i32 2, !"Dwarf Version", i32 4}
!3 = !{i32 2, !"Debug Info Version", i32 3}
!4 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !5, producer: "clang version 9.0.1 (https://github.com/trailofbits/vcpkg.git 4592a93cc4ca82f1963dba08413c43639662d7ae)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !6, imports: !7, nameTableKind: None)
!5 = !DIFile(filename: "/home/dkling/Project/LLVM/mc2/remill/lib/Arch/X86/Runtime/BasicBlock.cpp", directory: "/home/dkling/Project/LLVM/mc2/remill-build/lib/Arch/X86/Runtime")
!6 = !{}
!7 = !{!8, !13, !20, !24, !31, !35, !40, !42, !50, !54, !58, !72, !76, !80, !84, !88, !93, !97, !101, !105, !109, !117, !121, !125, !127, !131, !135, !140, !146, !150, !154, !156, !164, !168, !176, !178, !182, !186, !190, !194, !199, !204, !209, !210, !211, !212, !214, !215, !216, !217, !218, !219, !220, !276, !280, !297, !300, !305, !313, !318, !322, !326, !330, !334, !336, !338, !342, !348, !352, !358, !364, !366, !370, !374, !378, !382, !393, !395, !399, !403, !407, !409, !413, !417, !421, !423, !425, !429, !437, !441, !445, !449, !451, !457, !459, !465, !469, !473, !477, !481, !485, !489, !491, !493, !497, !501, !505, !507, !511, !515, !517, !519, !523, !527, !531, !535, !536, !537, !538, !539, !540, !541, !542, !543, !544, !545, !550, !553, !555, !557, !559, !561, !563, !565, !567, !569, !571, !573, !575, !577, !580, !583, !585, !587, !589, !591, !593, !595, !597, !599, !601, !603, !605, !607, !610, !612, !616, !620, !625, !629, !631, !633, !635, !637, !639, !641, !643, !645, !647, !649, !651, !653, !655, !659, !665, !670, !674, !676, !678, !680, !682, !689, !693, !697, !701, !705, !709, !714, !718, !720, !724, !730, !734, !739, !741, !743, !747, !751, !755, !757, !759, !761, !763, !767, !769, !771, !775, !779, !783, !787, !791, !793, !795, !799, !803, !807, !811, !813, !815, !819, !823, !824, !825, !826, !827, !828, !834, !836, !838, !842, !844, !846, !848, !850, !852, !854, !856, !861, !865, !867, !869, !874, !876, !878, !880, !882, !884, !886, !889, !891, !893, !897, !901, !903, !905, !907, !909, !911, !913, !915, !917, !919, !921, !925, !929, !931, !933, !935, !937, !939, !941, !943, !945, !947, !949, !951, !953, !955, !957, !959, !963, !967, !971, !973, !975, !977, !979, !981, !983, !985, !987, !989, !993, !997, !1001, !1003, !1005, !1007, !1011, !1015, !1019, !1021, !1023, !1025, !1027, !1029, !1031, !1033, !1035, !1037, !1039, !1041, !1043, !1047, !1051, !1055, !1057, !1059, !1061, !1063, !1067, !1071, !1073, !1075, !1077, !1079, !1081, !1083, !1087, !1091, !1093, !1095, !1097, !1099, !1103, !1107, !1111, !1113, !1115, !1117, !1119, !1121, !1123, !1127, !1131, !1135, !1137, !1141, !1145, !1147, !1149, !1151, !1153, !1155, !1157, !1162, !1164, !1167, !1172, !1174, !1180, !1182, !1184, !1186, !1191, !1193, !1199, !1201, !1203, !1204, !1205, !1206, !1207, !1208, !1209, !1210, !1211, !1212, !1213, !1214}
!8 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !9, entity: !10, file: !12, line: 58)
!9 = !DINamespace(name: "__gnu_debug", scope: null)
!10 = !DINamespace(name: "__debug", scope: !11)
!11 = !DINamespace(name: "std", scope: null)
!12 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/debug/debug.h", directory: "")
!13 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !14, file: !19, line: 52)
!14 = !DISubprogram(name: "abs", scope: !15, file: !15, line: 840, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!15 = !DIFile(filename: "/usr/include/stdlib.h", directory: "")
!16 = !DISubroutineType(types: !17)
!17 = !{!18, !18}
!18 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!19 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_abs.h", directory: "")
!20 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !21, file: !23, line: 127)
!21 = !DIDerivedType(tag: DW_TAG_typedef, name: "div_t", file: !15, line: 62, baseType: !22)
!22 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !15, line: 58, flags: DIFlagFwdDecl, identifier: "_ZTS5div_t")
!23 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdlib", directory: "")
!24 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !25, file: !23, line: 128)
!25 = !DIDerivedType(tag: DW_TAG_typedef, name: "ldiv_t", file: !15, line: 70, baseType: !26)
!26 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !15, line: 66, size: 128, flags: DIFlagTypePassByValue, elements: !27, identifier: "_ZTS6ldiv_t")
!27 = !{!28, !30}
!28 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !26, file: !15, line: 68, baseType: !29, size: 64)
!29 = !DIBasicType(name: "long int", size: 64, encoding: DW_ATE_signed)
!30 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !26, file: !15, line: 69, baseType: !29, size: 64, offset: 64)
!31 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !32, file: !23, line: 130)
!32 = !DISubprogram(name: "abort", scope: !15, file: !15, line: 591, type: !33, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!33 = !DISubroutineType(types: !34)
!34 = !{null}
!35 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !36, file: !23, line: 134)
!36 = !DISubprogram(name: "atexit", scope: !15, file: !15, line: 595, type: !37, flags: DIFlagPrototyped, spFlags: 0)
!37 = !DISubroutineType(types: !38)
!38 = !{!18, !39}
!39 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !33, size: 64)
!40 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !41, file: !23, line: 137)
!41 = !DISubprogram(name: "at_quick_exit", scope: !15, file: !15, line: 600, type: !37, flags: DIFlagPrototyped, spFlags: 0)
!42 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !43, file: !23, line: 140)
!43 = !DISubprogram(name: "atof", scope: !15, file: !15, line: 101, type: !44, flags: DIFlagPrototyped, spFlags: 0)
!44 = !DISubroutineType(types: !45)
!45 = !{!46, !47}
!46 = !DIBasicType(name: "double", size: 64, encoding: DW_ATE_float)
!47 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !48, size: 64)
!48 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !49)
!49 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!50 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !51, file: !23, line: 141)
!51 = !DISubprogram(name: "atoi", scope: !15, file: !15, line: 104, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!52 = !DISubroutineType(types: !53)
!53 = !{!18, !47}
!54 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !55, file: !23, line: 142)
!55 = !DISubprogram(name: "atol", scope: !15, file: !15, line: 107, type: !56, flags: DIFlagPrototyped, spFlags: 0)
!56 = !DISubroutineType(types: !57)
!57 = !{!29, !47}
!58 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !59, file: !23, line: 143)
!59 = !DISubprogram(name: "bsearch", scope: !15, file: !15, line: 820, type: !60, flags: DIFlagPrototyped, spFlags: 0)
!60 = !DISubroutineType(types: !61)
!61 = !{!62, !63, !63, !65, !65, !68}
!62 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!63 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64)
!64 = !DIDerivedType(tag: DW_TAG_const_type, baseType: null)
!65 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !66, line: 46, baseType: !67)
!66 = !DIFile(filename: "vcpkg_ubuntu-20.04_llvm-9_amd64/installed/x64-linux-rel/tools/llvm/lib/clang/9.0.1/include/stddef.h", directory: "/home/dkling/Project/LLVM/mc2")
!67 = !DIBasicType(name: "long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!68 = !DIDerivedType(tag: DW_TAG_typedef, name: "__compar_fn_t", file: !15, line: 808, baseType: !69)
!69 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !70, size: 64)
!70 = !DISubroutineType(types: !71)
!71 = !{!18, !63, !63}
!72 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !73, file: !23, line: 144)
!73 = !DISubprogram(name: "calloc", scope: !15, file: !15, line: 542, type: !74, flags: DIFlagPrototyped, spFlags: 0)
!74 = !DISubroutineType(types: !75)
!75 = !{!62, !65, !65}
!76 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !77, file: !23, line: 145)
!77 = !DISubprogram(name: "div", scope: !15, file: !15, line: 852, type: !78, flags: DIFlagPrototyped, spFlags: 0)
!78 = !DISubroutineType(types: !79)
!79 = !{!21, !18, !18}
!80 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !81, file: !23, line: 146)
!81 = !DISubprogram(name: "exit", scope: !15, file: !15, line: 617, type: !82, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!82 = !DISubroutineType(types: !83)
!83 = !{null, !18}
!84 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !85, file: !23, line: 147)
!85 = !DISubprogram(name: "free", scope: !15, file: !15, line: 565, type: !86, flags: DIFlagPrototyped, spFlags: 0)
!86 = !DISubroutineType(types: !87)
!87 = !{null, !62}
!88 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !89, file: !23, line: 148)
!89 = !DISubprogram(name: "getenv", scope: !15, file: !15, line: 634, type: !90, flags: DIFlagPrototyped, spFlags: 0)
!90 = !DISubroutineType(types: !91)
!91 = !{!92, !47}
!92 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !49, size: 64)
!93 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !94, file: !23, line: 149)
!94 = !DISubprogram(name: "labs", scope: !15, file: !15, line: 841, type: !95, flags: DIFlagPrototyped, spFlags: 0)
!95 = !DISubroutineType(types: !96)
!96 = !{!29, !29}
!97 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !98, file: !23, line: 150)
!98 = !DISubprogram(name: "ldiv", scope: !15, file: !15, line: 854, type: !99, flags: DIFlagPrototyped, spFlags: 0)
!99 = !DISubroutineType(types: !100)
!100 = !{!25, !29, !29}
!101 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !102, file: !23, line: 151)
!102 = !DISubprogram(name: "malloc", scope: !15, file: !15, line: 539, type: !103, flags: DIFlagPrototyped, spFlags: 0)
!103 = !DISubroutineType(types: !104)
!104 = !{!62, !65}
!105 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !106, file: !23, line: 153)
!106 = !DISubprogram(name: "mblen", scope: !15, file: !15, line: 922, type: !107, flags: DIFlagPrototyped, spFlags: 0)
!107 = !DISubroutineType(types: !108)
!108 = !{!18, !47, !65}
!109 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !110, file: !23, line: 154)
!110 = !DISubprogram(name: "mbstowcs", scope: !15, file: !15, line: 933, type: !111, flags: DIFlagPrototyped, spFlags: 0)
!111 = !DISubroutineType(types: !112)
!112 = !{!65, !113, !116, !65}
!113 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !114)
!114 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !115, size: 64)
!115 = !DIBasicType(name: "wchar_t", size: 32, encoding: DW_ATE_signed)
!116 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !47)
!117 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !118, file: !23, line: 155)
!118 = !DISubprogram(name: "mbtowc", scope: !15, file: !15, line: 925, type: !119, flags: DIFlagPrototyped, spFlags: 0)
!119 = !DISubroutineType(types: !120)
!120 = !{!18, !113, !116, !65}
!121 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !122, file: !23, line: 157)
!122 = !DISubprogram(name: "qsort", scope: !15, file: !15, line: 830, type: !123, flags: DIFlagPrototyped, spFlags: 0)
!123 = !DISubroutineType(types: !124)
!124 = !{null, !62, !65, !65, !68}
!125 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !126, file: !23, line: 160)
!126 = !DISubprogram(name: "quick_exit", scope: !15, file: !15, line: 623, type: !82, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!127 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !128, file: !23, line: 163)
!128 = !DISubprogram(name: "rand", scope: !15, file: !15, line: 453, type: !129, flags: DIFlagPrototyped, spFlags: 0)
!129 = !DISubroutineType(types: !130)
!130 = !{!18}
!131 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !132, file: !23, line: 164)
!132 = !DISubprogram(name: "realloc", scope: !15, file: !15, line: 550, type: !133, flags: DIFlagPrototyped, spFlags: 0)
!133 = !DISubroutineType(types: !134)
!134 = !{!62, !62, !65}
!135 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !136, file: !23, line: 165)
!136 = !DISubprogram(name: "srand", scope: !15, file: !15, line: 455, type: !137, flags: DIFlagPrototyped, spFlags: 0)
!137 = !DISubroutineType(types: !138)
!138 = !{null, !139}
!139 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!140 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !141, file: !23, line: 166)
!141 = !DISubprogram(name: "strtod", scope: !15, file: !15, line: 117, type: !142, flags: DIFlagPrototyped, spFlags: 0)
!142 = !DISubroutineType(types: !143)
!143 = !{!46, !116, !144}
!144 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !145)
!145 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !92, size: 64)
!146 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !147, file: !23, line: 167)
!147 = !DISubprogram(name: "strtol", scope: !15, file: !15, line: 176, type: !148, flags: DIFlagPrototyped, spFlags: 0)
!148 = !DISubroutineType(types: !149)
!149 = !{!29, !116, !144, !18}
!150 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !151, file: !23, line: 168)
!151 = !DISubprogram(name: "strtoul", scope: !15, file: !15, line: 180, type: !152, flags: DIFlagPrototyped, spFlags: 0)
!152 = !DISubroutineType(types: !153)
!153 = !{!67, !116, !144, !18}
!154 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !155, file: !23, line: 169)
!155 = !DISubprogram(name: "system", scope: !15, file: !15, line: 784, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!156 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !157, file: !23, line: 171)
!157 = !DISubprogram(name: "wcstombs", scope: !15, file: !15, line: 936, type: !158, flags: DIFlagPrototyped, spFlags: 0)
!158 = !DISubroutineType(types: !159)
!159 = !{!65, !160, !161, !65}
!160 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !92)
!161 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !162)
!162 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !163, size: 64)
!163 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !115)
!164 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !165, file: !23, line: 172)
!165 = !DISubprogram(name: "wctomb", scope: !15, file: !15, line: 929, type: !166, flags: DIFlagPrototyped, spFlags: 0)
!166 = !DISubroutineType(types: !167)
!167 = !{!18, !92, !115}
!168 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !170, file: !23, line: 200)
!169 = !DINamespace(name: "__gnu_cxx", scope: null)
!170 = !DIDerivedType(tag: DW_TAG_typedef, name: "lldiv_t", file: !15, line: 80, baseType: !171)
!171 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !15, line: 76, size: 128, flags: DIFlagTypePassByValue, elements: !172, identifier: "_ZTS7lldiv_t")
!172 = !{!173, !175}
!173 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !171, file: !15, line: 78, baseType: !174, size: 64)
!174 = !DIBasicType(name: "long long int", size: 64, encoding: DW_ATE_signed)
!175 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !171, file: !15, line: 79, baseType: !174, size: 64, offset: 64)
!176 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !177, file: !23, line: 206)
!177 = !DISubprogram(name: "_Exit", scope: !15, file: !15, line: 629, type: !82, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!178 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !179, file: !23, line: 210)
!179 = !DISubprogram(name: "llabs", scope: !15, file: !15, line: 844, type: !180, flags: DIFlagPrototyped, spFlags: 0)
!180 = !DISubroutineType(types: !181)
!181 = !{!174, !174}
!182 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !183, file: !23, line: 216)
!183 = !DISubprogram(name: "lldiv", scope: !15, file: !15, line: 858, type: !184, flags: DIFlagPrototyped, spFlags: 0)
!184 = !DISubroutineType(types: !185)
!185 = !{!170, !174, !174}
!186 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !187, file: !23, line: 227)
!187 = !DISubprogram(name: "atoll", scope: !15, file: !15, line: 112, type: !188, flags: DIFlagPrototyped, spFlags: 0)
!188 = !DISubroutineType(types: !189)
!189 = !{!174, !47}
!190 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !191, file: !23, line: 228)
!191 = !DISubprogram(name: "strtoll", scope: !15, file: !15, line: 200, type: !192, flags: DIFlagPrototyped, spFlags: 0)
!192 = !DISubroutineType(types: !193)
!193 = !{!174, !116, !144, !18}
!194 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !195, file: !23, line: 229)
!195 = !DISubprogram(name: "strtoull", scope: !15, file: !15, line: 205, type: !196, flags: DIFlagPrototyped, spFlags: 0)
!196 = !DISubroutineType(types: !197)
!197 = !{!198, !116, !144, !18}
!198 = !DIBasicType(name: "long long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!199 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !200, file: !23, line: 231)
!200 = !DISubprogram(name: "strtof", scope: !15, file: !15, line: 123, type: !201, flags: DIFlagPrototyped, spFlags: 0)
!201 = !DISubroutineType(types: !202)
!202 = !{!203, !116, !144}
!203 = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
!204 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !205, file: !23, line: 232)
!205 = !DISubprogram(name: "strtold", scope: !15, file: !15, line: 126, type: !206, flags: DIFlagPrototyped, spFlags: 0)
!206 = !DISubroutineType(types: !207)
!207 = !{!208, !116, !144}
!208 = !DIBasicType(name: "long double", size: 128, encoding: DW_ATE_float)
!209 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !170, file: !23, line: 240)
!210 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !177, file: !23, line: 242)
!211 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !179, file: !23, line: 244)
!212 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !213, file: !23, line: 245)
!213 = !DISubprogram(name: "div", linkageName: "_ZN9__gnu_cxx3divExx", scope: !169, file: !23, line: 213, type: !184, flags: DIFlagPrototyped, spFlags: 0)
!214 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !183, file: !23, line: 246)
!215 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !187, file: !23, line: 248)
!216 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !200, file: !23, line: 249)
!217 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !191, file: !23, line: 250)
!218 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !195, file: !23, line: 251)
!219 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !205, file: !23, line: 252)
!220 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !221, file: !222, line: 57)
!221 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "exception_ptr", scope: !223, file: !222, line: 79, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !224, identifier: "_ZTSNSt15__exception_ptr13exception_ptrE")
!222 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/exception_ptr.h", directory: "")
!223 = !DINamespace(name: "__exception_ptr", scope: !11)
!224 = !{!225, !226, !230, !233, !234, !239, !240, !244, !250, !254, !258, !261, !262, !265, !269}
!225 = !DIDerivedType(tag: DW_TAG_member, name: "_M_exception_object", scope: !221, file: !222, line: 81, baseType: !62, size: 64)
!226 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 83, type: !227, scopeLine: 83, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: 0)
!227 = !DISubroutineType(types: !228)
!228 = !{null, !229, !62}
!229 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !221, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!230 = !DISubprogram(name: "_M_addref", linkageName: "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv", scope: !221, file: !222, line: 85, type: !231, scopeLine: 85, flags: DIFlagPrototyped, spFlags: 0)
!231 = !DISubroutineType(types: !232)
!232 = !{null, !229}
!233 = !DISubprogram(name: "_M_release", linkageName: "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv", scope: !221, file: !222, line: 86, type: !231, scopeLine: 86, flags: DIFlagPrototyped, spFlags: 0)
!234 = !DISubprogram(name: "_M_get", linkageName: "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv", scope: !221, file: !222, line: 88, type: !235, scopeLine: 88, flags: DIFlagPrototyped, spFlags: 0)
!235 = !DISubroutineType(types: !236)
!236 = !{!62, !237}
!237 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !238, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!238 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !221)
!239 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 96, type: !231, scopeLine: 96, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!240 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 98, type: !241, scopeLine: 98, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!241 = !DISubroutineType(types: !242)
!242 = !{null, !229, !243}
!243 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !238, size: 64)
!244 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 101, type: !245, scopeLine: 101, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!245 = !DISubroutineType(types: !246)
!246 = !{null, !229, !247}
!247 = !DIDerivedType(tag: DW_TAG_typedef, name: "nullptr_t", scope: !11, file: !248, line: 258, baseType: !249)
!248 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/c++config.h", directory: "")
!249 = !DIBasicType(tag: DW_TAG_unspecified_type, name: "decltype(nullptr)")
!250 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 105, type: !251, scopeLine: 105, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!251 = !DISubroutineType(types: !252)
!252 = !{null, !229, !253}
!253 = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: !221, size: 64)
!254 = !DISubprogram(name: "operator=", linkageName: "_ZNSt15__exception_ptr13exception_ptraSERKS0_", scope: !221, file: !222, line: 118, type: !255, scopeLine: 118, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!255 = !DISubroutineType(types: !256)
!256 = !{!257, !229, !243}
!257 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !221, size: 64)
!258 = !DISubprogram(name: "operator=", linkageName: "_ZNSt15__exception_ptr13exception_ptraSEOS0_", scope: !221, file: !222, line: 122, type: !259, scopeLine: 122, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!259 = !DISubroutineType(types: !260)
!260 = !{!257, !229, !253}
!261 = !DISubprogram(name: "~exception_ptr", scope: !221, file: !222, line: 129, type: !231, scopeLine: 129, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!262 = !DISubprogram(name: "swap", linkageName: "_ZNSt15__exception_ptr13exception_ptr4swapERS0_", scope: !221, file: !222, line: 132, type: !263, scopeLine: 132, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!263 = !DISubroutineType(types: !264)
!264 = !{null, !229, !257}
!265 = !DISubprogram(name: "operator bool", linkageName: "_ZNKSt15__exception_ptr13exception_ptrcvbEv", scope: !221, file: !222, line: 144, type: !266, scopeLine: 144, flags: DIFlagPublic | DIFlagExplicit | DIFlagPrototyped, spFlags: 0)
!266 = !DISubroutineType(types: !267)
!267 = !{!268, !237}
!268 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
!269 = !DISubprogram(name: "__cxa_exception_type", linkageName: "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv", scope: !221, file: !222, line: 153, type: !270, scopeLine: 153, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!270 = !DISubroutineType(types: !271)
!271 = !{!272, !237}
!272 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !273, size: 64)
!273 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !274)
!274 = !DICompositeType(tag: DW_TAG_class_type, name: "type_info", scope: !11, file: !275, line: 88, flags: DIFlagFwdDecl)
!275 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/typeinfo", directory: "")
!276 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !223, entity: !277, file: !222, line: 73)
!277 = !DISubprogram(name: "rethrow_exception", linkageName: "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE", scope: !11, file: !222, line: 69, type: !278, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!278 = !DISubroutineType(types: !279)
!279 = !{null, !221}
!280 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !281, file: !296, line: 64)
!281 = !DIDerivedType(tag: DW_TAG_typedef, name: "mbstate_t", file: !282, line: 6, baseType: !283)
!282 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h", directory: "")
!283 = !DIDerivedType(tag: DW_TAG_typedef, name: "__mbstate_t", file: !284, line: 21, baseType: !285)
!284 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h", directory: "")
!285 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !284, line: 13, size: 64, flags: DIFlagTypePassByValue, elements: !286, identifier: "_ZTS11__mbstate_t")
!286 = !{!287, !288}
!287 = !DIDerivedType(tag: DW_TAG_member, name: "__count", scope: !285, file: !284, line: 15, baseType: !18, size: 32)
!288 = !DIDerivedType(tag: DW_TAG_member, name: "__value", scope: !285, file: !284, line: 20, baseType: !289, size: 32, offset: 32)
!289 = distinct !DICompositeType(tag: DW_TAG_union_type, scope: !285, file: !284, line: 16, size: 32, flags: DIFlagTypePassByValue, elements: !290, identifier: "_ZTSN11__mbstate_tUt_E")
!290 = !{!291, !292}
!291 = !DIDerivedType(tag: DW_TAG_member, name: "__wch", scope: !289, file: !284, line: 18, baseType: !139, size: 32)
!292 = !DIDerivedType(tag: DW_TAG_member, name: "__wchb", scope: !289, file: !284, line: 19, baseType: !293, size: 32)
!293 = !DICompositeType(tag: DW_TAG_array_type, baseType: !49, size: 32, elements: !294)
!294 = !{!295}
!295 = !DISubrange(count: 4, lowerBound: 0)
!296 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cwchar", directory: "")
!297 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !298, file: !296, line: 141)
!298 = !DIDerivedType(tag: DW_TAG_typedef, name: "wint_t", file: !299, line: 20, baseType: !139)
!299 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h", directory: "")
!300 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !301, file: !296, line: 143)
!301 = !DISubprogram(name: "btowc", scope: !302, file: !302, line: 284, type: !303, flags: DIFlagPrototyped, spFlags: 0)
!302 = !DIFile(filename: "/usr/include/wchar.h", directory: "")
!303 = !DISubroutineType(types: !304)
!304 = !{!298, !18}
!305 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !306, file: !296, line: 144)
!306 = !DISubprogram(name: "fgetwc", scope: !302, file: !302, line: 726, type: !307, flags: DIFlagPrototyped, spFlags: 0)
!307 = !DISubroutineType(types: !308)
!308 = !{!298, !309}
!309 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !310, size: 64)
!310 = !DIDerivedType(tag: DW_TAG_typedef, name: "__FILE", file: !311, line: 5, baseType: !312)
!311 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h", directory: "")
!312 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_FILE", file: !311, line: 4, flags: DIFlagFwdDecl, identifier: "_ZTS8_IO_FILE")
!313 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !314, file: !296, line: 145)
!314 = !DISubprogram(name: "fgetws", scope: !302, file: !302, line: 755, type: !315, flags: DIFlagPrototyped, spFlags: 0)
!315 = !DISubroutineType(types: !316)
!316 = !{!114, !113, !18, !317}
!317 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !309)
!318 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !319, file: !296, line: 146)
!319 = !DISubprogram(name: "fputwc", scope: !302, file: !302, line: 740, type: !320, flags: DIFlagPrototyped, spFlags: 0)
!320 = !DISubroutineType(types: !321)
!321 = !{!298, !115, !309}
!322 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !323, file: !296, line: 147)
!323 = !DISubprogram(name: "fputws", scope: !302, file: !302, line: 762, type: !324, flags: DIFlagPrototyped, spFlags: 0)
!324 = !DISubroutineType(types: !325)
!325 = !{!18, !161, !317}
!326 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !327, file: !296, line: 148)
!327 = !DISubprogram(name: "fwide", scope: !302, file: !302, line: 573, type: !328, flags: DIFlagPrototyped, spFlags: 0)
!328 = !DISubroutineType(types: !329)
!329 = !{!18, !309, !18}
!330 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !331, file: !296, line: 149)
!331 = !DISubprogram(name: "fwprintf", scope: !302, file: !302, line: 580, type: !332, flags: DIFlagPrototyped, spFlags: 0)
!332 = !DISubroutineType(types: !333)
!333 = !{!18, !317, !161, null}
!334 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !335, file: !296, line: 150)
!335 = !DISubprogram(name: "fwscanf", linkageName: "__isoc99_fwscanf", scope: !302, file: !302, line: 640, type: !332, flags: DIFlagPrototyped, spFlags: 0)
!336 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !337, file: !296, line: 151)
!337 = !DISubprogram(name: "getwc", scope: !302, file: !302, line: 727, type: !307, flags: DIFlagPrototyped, spFlags: 0)
!338 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !339, file: !296, line: 152)
!339 = !DISubprogram(name: "getwchar", scope: !302, file: !302, line: 733, type: !340, flags: DIFlagPrototyped, spFlags: 0)
!340 = !DISubroutineType(types: !341)
!341 = !{!298}
!342 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !343, file: !296, line: 153)
!343 = !DISubprogram(name: "mbrlen", scope: !302, file: !302, line: 307, type: !344, flags: DIFlagPrototyped, spFlags: 0)
!344 = !DISubroutineType(types: !345)
!345 = !{!65, !116, !65, !346}
!346 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !347)
!347 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !281, size: 64)
!348 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !349, file: !296, line: 154)
!349 = !DISubprogram(name: "mbrtowc", scope: !302, file: !302, line: 296, type: !350, flags: DIFlagPrototyped, spFlags: 0)
!350 = !DISubroutineType(types: !351)
!351 = !{!65, !113, !116, !65, !346}
!352 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !353, file: !296, line: 155)
!353 = !DISubprogram(name: "mbsinit", scope: !302, file: !302, line: 292, type: !354, flags: DIFlagPrototyped, spFlags: 0)
!354 = !DISubroutineType(types: !355)
!355 = !{!18, !356}
!356 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !357, size: 64)
!357 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !281)
!358 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !359, file: !296, line: 156)
!359 = !DISubprogram(name: "mbsrtowcs", scope: !302, file: !302, line: 337, type: !360, flags: DIFlagPrototyped, spFlags: 0)
!360 = !DISubroutineType(types: !361)
!361 = !{!65, !113, !362, !65, !346}
!362 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !363)
!363 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !47, size: 64)
!364 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !365, file: !296, line: 157)
!365 = !DISubprogram(name: "putwc", scope: !302, file: !302, line: 741, type: !320, flags: DIFlagPrototyped, spFlags: 0)
!366 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !367, file: !296, line: 158)
!367 = !DISubprogram(name: "putwchar", scope: !302, file: !302, line: 747, type: !368, flags: DIFlagPrototyped, spFlags: 0)
!368 = !DISubroutineType(types: !369)
!369 = !{!298, !115}
!370 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !371, file: !296, line: 160)
!371 = !DISubprogram(name: "swprintf", scope: !302, file: !302, line: 590, type: !372, flags: DIFlagPrototyped, spFlags: 0)
!372 = !DISubroutineType(types: !373)
!373 = !{!18, !113, !65, !161, null}
!374 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !375, file: !296, line: 162)
!375 = !DISubprogram(name: "swscanf", linkageName: "__isoc99_swscanf", scope: !302, file: !302, line: 647, type: !376, flags: DIFlagPrototyped, spFlags: 0)
!376 = !DISubroutineType(types: !377)
!377 = !{!18, !161, !161, null}
!378 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !379, file: !296, line: 163)
!379 = !DISubprogram(name: "ungetwc", scope: !302, file: !302, line: 770, type: !380, flags: DIFlagPrototyped, spFlags: 0)
!380 = !DISubroutineType(types: !381)
!381 = !{!298, !298, !309}
!382 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !383, file: !296, line: 164)
!383 = !DISubprogram(name: "vfwprintf", scope: !302, file: !302, line: 598, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!384 = !DISubroutineType(types: !385)
!385 = !{!18, !317, !161, !386}
!386 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !387, size: 64)
!387 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__va_list_tag", file: !5, size: 192, flags: DIFlagTypePassByValue, elements: !388, identifier: "_ZTS13__va_list_tag")
!388 = !{!389, !390, !391, !392}
!389 = !DIDerivedType(tag: DW_TAG_member, name: "gp_offset", scope: !387, file: !5, baseType: !139, size: 32)
!390 = !DIDerivedType(tag: DW_TAG_member, name: "fp_offset", scope: !387, file: !5, baseType: !139, size: 32, offset: 32)
!391 = !DIDerivedType(tag: DW_TAG_member, name: "overflow_arg_area", scope: !387, file: !5, baseType: !62, size: 64, offset: 64)
!392 = !DIDerivedType(tag: DW_TAG_member, name: "reg_save_area", scope: !387, file: !5, baseType: !62, size: 64, offset: 128)
!393 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !394, file: !296, line: 166)
!394 = !DISubprogram(name: "vfwscanf", linkageName: "__isoc99_vfwscanf", scope: !302, file: !302, line: 693, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!395 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !396, file: !296, line: 169)
!396 = !DISubprogram(name: "vswprintf", scope: !302, file: !302, line: 611, type: !397, flags: DIFlagPrototyped, spFlags: 0)
!397 = !DISubroutineType(types: !398)
!398 = !{!18, !113, !65, !161, !386}
!399 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !400, file: !296, line: 172)
!400 = !DISubprogram(name: "vswscanf", linkageName: "__isoc99_vswscanf", scope: !302, file: !302, line: 700, type: !401, flags: DIFlagPrototyped, spFlags: 0)
!401 = !DISubroutineType(types: !402)
!402 = !{!18, !161, !161, !386}
!403 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !404, file: !296, line: 174)
!404 = !DISubprogram(name: "vwprintf", scope: !302, file: !302, line: 606, type: !405, flags: DIFlagPrototyped, spFlags: 0)
!405 = !DISubroutineType(types: !406)
!406 = !{!18, !161, !386}
!407 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !408, file: !296, line: 176)
!408 = !DISubprogram(name: "vwscanf", linkageName: "__isoc99_vwscanf", scope: !302, file: !302, line: 697, type: !405, flags: DIFlagPrototyped, spFlags: 0)
!409 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !410, file: !296, line: 178)
!410 = !DISubprogram(name: "wcrtomb", scope: !302, file: !302, line: 301, type: !411, flags: DIFlagPrototyped, spFlags: 0)
!411 = !DISubroutineType(types: !412)
!412 = !{!65, !160, !115, !346}
!413 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !414, file: !296, line: 179)
!414 = !DISubprogram(name: "wcscat", scope: !302, file: !302, line: 97, type: !415, flags: DIFlagPrototyped, spFlags: 0)
!415 = !DISubroutineType(types: !416)
!416 = !{!114, !113, !161}
!417 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !418, file: !296, line: 180)
!418 = !DISubprogram(name: "wcscmp", scope: !302, file: !302, line: 106, type: !419, flags: DIFlagPrototyped, spFlags: 0)
!419 = !DISubroutineType(types: !420)
!420 = !{!18, !162, !162}
!421 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !422, file: !296, line: 181)
!422 = !DISubprogram(name: "wcscoll", scope: !302, file: !302, line: 131, type: !419, flags: DIFlagPrototyped, spFlags: 0)
!423 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !424, file: !296, line: 182)
!424 = !DISubprogram(name: "wcscpy", scope: !302, file: !302, line: 87, type: !415, flags: DIFlagPrototyped, spFlags: 0)
!425 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !426, file: !296, line: 183)
!426 = !DISubprogram(name: "wcscspn", scope: !302, file: !302, line: 187, type: !427, flags: DIFlagPrototyped, spFlags: 0)
!427 = !DISubroutineType(types: !428)
!428 = !{!65, !162, !162}
!429 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !430, file: !296, line: 184)
!430 = !DISubprogram(name: "wcsftime", scope: !302, file: !302, line: 834, type: !431, flags: DIFlagPrototyped, spFlags: 0)
!431 = !DISubroutineType(types: !432)
!432 = !{!65, !113, !65, !161, !433}
!433 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !434)
!434 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !435, size: 64)
!435 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !436)
!436 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "tm", file: !302, line: 83, flags: DIFlagFwdDecl, identifier: "_ZTS2tm")
!437 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !438, file: !296, line: 185)
!438 = !DISubprogram(name: "wcslen", scope: !302, file: !302, line: 222, type: !439, flags: DIFlagPrototyped, spFlags: 0)
!439 = !DISubroutineType(types: !440)
!440 = !{!65, !162}
!441 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !442, file: !296, line: 186)
!442 = !DISubprogram(name: "wcsncat", scope: !302, file: !302, line: 101, type: !443, flags: DIFlagPrototyped, spFlags: 0)
!443 = !DISubroutineType(types: !444)
!444 = !{!114, !113, !161, !65}
!445 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !446, file: !296, line: 187)
!446 = !DISubprogram(name: "wcsncmp", scope: !302, file: !302, line: 109, type: !447, flags: DIFlagPrototyped, spFlags: 0)
!447 = !DISubroutineType(types: !448)
!448 = !{!18, !162, !162, !65}
!449 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !450, file: !296, line: 188)
!450 = !DISubprogram(name: "wcsncpy", scope: !302, file: !302, line: 92, type: !443, flags: DIFlagPrototyped, spFlags: 0)
!451 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !452, file: !296, line: 189)
!452 = !DISubprogram(name: "wcsrtombs", scope: !302, file: !302, line: 343, type: !453, flags: DIFlagPrototyped, spFlags: 0)
!453 = !DISubroutineType(types: !454)
!454 = !{!65, !160, !455, !65, !346}
!455 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !456)
!456 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !162, size: 64)
!457 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !458, file: !296, line: 190)
!458 = !DISubprogram(name: "wcsspn", scope: !302, file: !302, line: 191, type: !427, flags: DIFlagPrototyped, spFlags: 0)
!459 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !460, file: !296, line: 191)
!460 = !DISubprogram(name: "wcstod", scope: !302, file: !302, line: 377, type: !461, flags: DIFlagPrototyped, spFlags: 0)
!461 = !DISubroutineType(types: !462)
!462 = !{!46, !161, !463}
!463 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !464)
!464 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !114, size: 64)
!465 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !466, file: !296, line: 193)
!466 = !DISubprogram(name: "wcstof", scope: !302, file: !302, line: 382, type: !467, flags: DIFlagPrototyped, spFlags: 0)
!467 = !DISubroutineType(types: !468)
!468 = !{!203, !161, !463}
!469 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !470, file: !296, line: 195)
!470 = !DISubprogram(name: "wcstok", scope: !302, file: !302, line: 217, type: !471, flags: DIFlagPrototyped, spFlags: 0)
!471 = !DISubroutineType(types: !472)
!472 = !{!114, !113, !161, !463}
!473 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !474, file: !296, line: 196)
!474 = !DISubprogram(name: "wcstol", scope: !302, file: !302, line: 428, type: !475, flags: DIFlagPrototyped, spFlags: 0)
!475 = !DISubroutineType(types: !476)
!476 = !{!29, !161, !463, !18}
!477 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !478, file: !296, line: 197)
!478 = !DISubprogram(name: "wcstoul", scope: !302, file: !302, line: 433, type: !479, flags: DIFlagPrototyped, spFlags: 0)
!479 = !DISubroutineType(types: !480)
!480 = !{!67, !161, !463, !18}
!481 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !482, file: !296, line: 198)
!482 = !DISubprogram(name: "wcsxfrm", scope: !302, file: !302, line: 135, type: !483, flags: DIFlagPrototyped, spFlags: 0)
!483 = !DISubroutineType(types: !484)
!484 = !{!65, !113, !161, !65}
!485 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !486, file: !296, line: 199)
!486 = !DISubprogram(name: "wctob", scope: !302, file: !302, line: 288, type: !487, flags: DIFlagPrototyped, spFlags: 0)
!487 = !DISubroutineType(types: !488)
!488 = !{!18, !298}
!489 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !490, file: !296, line: 200)
!490 = !DISubprogram(name: "wmemcmp", scope: !302, file: !302, line: 258, type: !447, flags: DIFlagPrototyped, spFlags: 0)
!491 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !492, file: !296, line: 201)
!492 = !DISubprogram(name: "wmemcpy", scope: !302, file: !302, line: 262, type: !443, flags: DIFlagPrototyped, spFlags: 0)
!493 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !494, file: !296, line: 202)
!494 = !DISubprogram(name: "wmemmove", scope: !302, file: !302, line: 267, type: !495, flags: DIFlagPrototyped, spFlags: 0)
!495 = !DISubroutineType(types: !496)
!496 = !{!114, !114, !162, !65}
!497 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !498, file: !296, line: 203)
!498 = !DISubprogram(name: "wmemset", scope: !302, file: !302, line: 271, type: !499, flags: DIFlagPrototyped, spFlags: 0)
!499 = !DISubroutineType(types: !500)
!500 = !{!114, !114, !115, !65}
!501 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !502, file: !296, line: 204)
!502 = !DISubprogram(name: "wprintf", scope: !302, file: !302, line: 587, type: !503, flags: DIFlagPrototyped, spFlags: 0)
!503 = !DISubroutineType(types: !504)
!504 = !{!18, !161, null}
!505 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !506, file: !296, line: 205)
!506 = !DISubprogram(name: "wscanf", linkageName: "__isoc99_wscanf", scope: !302, file: !302, line: 644, type: !503, flags: DIFlagPrototyped, spFlags: 0)
!507 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !508, file: !296, line: 206)
!508 = !DISubprogram(name: "wcschr", scope: !302, file: !302, line: 164, type: !509, flags: DIFlagPrototyped, spFlags: 0)
!509 = !DISubroutineType(types: !510)
!510 = !{!114, !162, !115}
!511 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !512, file: !296, line: 207)
!512 = !DISubprogram(name: "wcspbrk", scope: !302, file: !302, line: 201, type: !513, flags: DIFlagPrototyped, spFlags: 0)
!513 = !DISubroutineType(types: !514)
!514 = !{!114, !162, !162}
!515 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !516, file: !296, line: 208)
!516 = !DISubprogram(name: "wcsrchr", scope: !302, file: !302, line: 174, type: !509, flags: DIFlagPrototyped, spFlags: 0)
!517 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !518, file: !296, line: 209)
!518 = !DISubprogram(name: "wcsstr", scope: !302, file: !302, line: 212, type: !513, flags: DIFlagPrototyped, spFlags: 0)
!519 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !520, file: !296, line: 210)
!520 = !DISubprogram(name: "wmemchr", scope: !302, file: !302, line: 253, type: !521, flags: DIFlagPrototyped, spFlags: 0)
!521 = !DISubroutineType(types: !522)
!522 = !{!114, !162, !115, !65}
!523 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !524, file: !296, line: 251)
!524 = !DISubprogram(name: "wcstold", scope: !302, file: !302, line: 384, type: !525, flags: DIFlagPrototyped, spFlags: 0)
!525 = !DISubroutineType(types: !526)
!526 = !{!208, !161, !463}
!527 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !528, file: !296, line: 260)
!528 = !DISubprogram(name: "wcstoll", scope: !302, file: !302, line: 441, type: !529, flags: DIFlagPrototyped, spFlags: 0)
!529 = !DISubroutineType(types: !530)
!530 = !{!174, !161, !463, !18}
!531 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !532, file: !296, line: 261)
!532 = !DISubprogram(name: "wcstoull", scope: !302, file: !302, line: 448, type: !533, flags: DIFlagPrototyped, spFlags: 0)
!533 = !DISubroutineType(types: !534)
!534 = !{!198, !161, !463, !18}
!535 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !524, file: !296, line: 267)
!536 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !528, file: !296, line: 268)
!537 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !532, file: !296, line: 269)
!538 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !466, file: !296, line: 283)
!539 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !394, file: !296, line: 286)
!540 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !400, file: !296, line: 289)
!541 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !408, file: !296, line: 292)
!542 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !524, file: !296, line: 296)
!543 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !528, file: !296, line: 297)
!544 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !532, file: !296, line: 298)
!545 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !546, file: !549, line: 47)
!546 = !DIDerivedType(tag: DW_TAG_typedef, name: "int8_t", file: !547, line: 224, baseType: !548)
!547 = !DIFile(filename: "vcpkg_ubuntu-20.04_llvm-9_amd64/installed/x64-linux-rel/tools/llvm/lib/clang/9.0.1/include/stdint.h", directory: "/home/dkling/Project/LLVM/mc2")
!548 = !DIBasicType(name: "signed char", size: 8, encoding: DW_ATE_signed_char)
!549 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdint", directory: "")
!550 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !551, file: !549, line: 48)
!551 = !DIDerivedType(tag: DW_TAG_typedef, name: "int16_t", file: !547, line: 205, baseType: !552)
!552 = !DIBasicType(name: "short", size: 16, encoding: DW_ATE_signed)
!553 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !554, file: !549, line: 49)
!554 = !DIDerivedType(tag: DW_TAG_typedef, name: "int32_t", file: !547, line: 167, baseType: !18)
!555 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !556, file: !549, line: 50)
!556 = !DIDerivedType(tag: DW_TAG_typedef, name: "int64_t", file: !547, line: 96, baseType: !29)
!557 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !558, file: !549, line: 52)
!558 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast8_t", file: !547, line: 234, baseType: !546)
!559 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !560, file: !549, line: 53)
!560 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast16_t", file: !547, line: 217, baseType: !551)
!561 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !562, file: !549, line: 54)
!562 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast32_t", file: !547, line: 186, baseType: !554)
!563 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !564, file: !549, line: 55)
!564 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast64_t", file: !547, line: 112, baseType: !556)
!565 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !566, file: !549, line: 57)
!566 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least8_t", file: !547, line: 232, baseType: !546)
!567 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !568, file: !549, line: 58)
!568 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least16_t", file: !547, line: 215, baseType: !551)
!569 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !570, file: !549, line: 59)
!570 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least32_t", file: !547, line: 184, baseType: !554)
!571 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !572, file: !549, line: 60)
!572 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least64_t", file: !547, line: 110, baseType: !556)
!573 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !574, file: !549, line: 62)
!574 = !DIDerivedType(tag: DW_TAG_typedef, name: "intmax_t", file: !547, line: 262, baseType: !29)
!575 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !576, file: !549, line: 63)
!576 = !DIDerivedType(tag: DW_TAG_typedef, name: "intptr_t", file: !547, line: 249, baseType: !29)
!577 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !578, file: !549, line: 65)
!578 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !547, line: 226, baseType: !579)
!579 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!580 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !581, file: !549, line: 66)
!581 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint16_t", file: !547, line: 207, baseType: !582)
!582 = !DIBasicType(name: "unsigned short", size: 16, encoding: DW_ATE_unsigned)
!583 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !584, file: !549, line: 67)
!584 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !547, line: 172, baseType: !139)
!585 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !586, file: !549, line: 68)
!586 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !547, line: 98, baseType: !67)
!587 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !588, file: !549, line: 70)
!588 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast8_t", file: !547, line: 235, baseType: !578)
!589 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !590, file: !549, line: 71)
!590 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast16_t", file: !547, line: 218, baseType: !581)
!591 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !592, file: !549, line: 72)
!592 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast32_t", file: !547, line: 187, baseType: !584)
!593 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !594, file: !549, line: 73)
!594 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast64_t", file: !547, line: 113, baseType: !586)
!595 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !596, file: !549, line: 75)
!596 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least8_t", file: !547, line: 233, baseType: !578)
!597 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !598, file: !549, line: 76)
!598 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least16_t", file: !547, line: 216, baseType: !581)
!599 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !600, file: !549, line: 77)
!600 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least32_t", file: !547, line: 185, baseType: !584)
!601 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !602, file: !549, line: 78)
!602 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least64_t", file: !547, line: 111, baseType: !586)
!603 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !604, file: !549, line: 80)
!604 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintmax_t", file: !547, line: 263, baseType: !67)
!605 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !606, file: !549, line: 81)
!606 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintptr_t", file: !547, line: 256, baseType: !67)
!607 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !608, file: !609, line: 44)
!608 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", scope: !11, file: !248, line: 254, baseType: !67)
!609 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h", directory: "")
!610 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !611, file: !609, line: 45)
!611 = !DIDerivedType(tag: DW_TAG_typedef, name: "ptrdiff_t", scope: !11, file: !248, line: 255, baseType: !29)
!612 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !613, file: !615, line: 53)
!613 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "lconv", file: !614, line: 51, flags: DIFlagFwdDecl, identifier: "_ZTS5lconv")
!614 = !DIFile(filename: "/usr/include/locale.h", directory: "")
!615 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/clocale", directory: "")
!616 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !617, file: !615, line: 54)
!617 = !DISubprogram(name: "setlocale", scope: !614, file: !614, line: 122, type: !618, flags: DIFlagPrototyped, spFlags: 0)
!618 = !DISubroutineType(types: !619)
!619 = !{!92, !18, !47}
!620 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !621, file: !615, line: 55)
!621 = !DISubprogram(name: "localeconv", scope: !614, file: !614, line: 125, type: !622, flags: DIFlagPrototyped, spFlags: 0)
!622 = !DISubroutineType(types: !623)
!623 = !{!624}
!624 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !613, size: 64)
!625 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !626, file: !628, line: 64)
!626 = !DISubprogram(name: "isalnum", scope: !627, file: !627, line: 108, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!627 = !DIFile(filename: "/usr/include/ctype.h", directory: "")
!628 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cctype", directory: "")
!629 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !630, file: !628, line: 65)
!630 = !DISubprogram(name: "isalpha", scope: !627, file: !627, line: 109, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!631 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !632, file: !628, line: 66)
!632 = !DISubprogram(name: "iscntrl", scope: !627, file: !627, line: 110, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!633 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !634, file: !628, line: 67)
!634 = !DISubprogram(name: "isdigit", scope: !627, file: !627, line: 111, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!635 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !636, file: !628, line: 68)
!636 = !DISubprogram(name: "isgraph", scope: !627, file: !627, line: 113, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!637 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !638, file: !628, line: 69)
!638 = !DISubprogram(name: "islower", scope: !627, file: !627, line: 112, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!639 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !640, file: !628, line: 70)
!640 = !DISubprogram(name: "isprint", scope: !627, file: !627, line: 114, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!641 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !642, file: !628, line: 71)
!642 = !DISubprogram(name: "ispunct", scope: !627, file: !627, line: 115, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!643 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !644, file: !628, line: 72)
!644 = !DISubprogram(name: "isspace", scope: !627, file: !627, line: 116, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!645 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !646, file: !628, line: 73)
!646 = !DISubprogram(name: "isupper", scope: !627, file: !627, line: 117, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!647 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !648, file: !628, line: 74)
!648 = !DISubprogram(name: "isxdigit", scope: !627, file: !627, line: 118, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!649 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !650, file: !628, line: 75)
!650 = !DISubprogram(name: "tolower", scope: !627, file: !627, line: 122, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!651 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !652, file: !628, line: 76)
!652 = !DISubprogram(name: "toupper", scope: !627, file: !627, line: 125, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!653 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !654, file: !628, line: 87)
!654 = !DISubprogram(name: "isblank", scope: !627, file: !627, line: 130, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!655 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !656, file: !658, line: 98)
!656 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", file: !657, line: 7, baseType: !312)
!657 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/FILE.h", directory: "")
!658 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdio", directory: "")
!659 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !660, file: !658, line: 99)
!660 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpos_t", file: !661, line: 84, baseType: !662)
!661 = !DIFile(filename: "/usr/include/stdio.h", directory: "")
!662 = !DIDerivedType(tag: DW_TAG_typedef, name: "__fpos_t", file: !663, line: 14, baseType: !664)
!663 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h", directory: "")
!664 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_G_fpos_t", file: !663, line: 10, flags: DIFlagFwdDecl, identifier: "_ZTS9_G_fpos_t")
!665 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !666, file: !658, line: 101)
!666 = !DISubprogram(name: "clearerr", scope: !661, file: !661, line: 757, type: !667, flags: DIFlagPrototyped, spFlags: 0)
!667 = !DISubroutineType(types: !668)
!668 = !{null, !669}
!669 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !656, size: 64)
!670 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !671, file: !658, line: 102)
!671 = !DISubprogram(name: "fclose", scope: !661, file: !661, line: 213, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!672 = !DISubroutineType(types: !673)
!673 = !{!18, !669}
!674 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !675, file: !658, line: 103)
!675 = !DISubprogram(name: "feof", scope: !661, file: !661, line: 759, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!676 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !677, file: !658, line: 104)
!677 = !DISubprogram(name: "ferror", scope: !661, file: !661, line: 761, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!678 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !679, file: !658, line: 105)
!679 = !DISubprogram(name: "fflush", scope: !661, file: !661, line: 218, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!680 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !681, file: !658, line: 106)
!681 = !DISubprogram(name: "fgetc", scope: !661, file: !661, line: 485, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!682 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !683, file: !658, line: 107)
!683 = !DISubprogram(name: "fgetpos", scope: !661, file: !661, line: 731, type: !684, flags: DIFlagPrototyped, spFlags: 0)
!684 = !DISubroutineType(types: !685)
!685 = !{!18, !686, !687}
!686 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !669)
!687 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !688)
!688 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !660, size: 64)
!689 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !690, file: !658, line: 108)
!690 = !DISubprogram(name: "fgets", scope: !661, file: !661, line: 564, type: !691, flags: DIFlagPrototyped, spFlags: 0)
!691 = !DISubroutineType(types: !692)
!692 = !{!92, !160, !18, !686}
!693 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !694, file: !658, line: 109)
!694 = !DISubprogram(name: "fopen", scope: !661, file: !661, line: 246, type: !695, flags: DIFlagPrototyped, spFlags: 0)
!695 = !DISubroutineType(types: !696)
!696 = !{!669, !116, !116}
!697 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !698, file: !658, line: 110)
!698 = !DISubprogram(name: "fprintf", scope: !661, file: !661, line: 326, type: !699, flags: DIFlagPrototyped, spFlags: 0)
!699 = !DISubroutineType(types: !700)
!700 = !{!18, !686, !116, null}
!701 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !702, file: !658, line: 111)
!702 = !DISubprogram(name: "fputc", scope: !661, file: !661, line: 521, type: !703, flags: DIFlagPrototyped, spFlags: 0)
!703 = !DISubroutineType(types: !704)
!704 = !{!18, !18, !669}
!705 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !706, file: !658, line: 112)
!706 = !DISubprogram(name: "fputs", scope: !661, file: !661, line: 626, type: !707, flags: DIFlagPrototyped, spFlags: 0)
!707 = !DISubroutineType(types: !708)
!708 = !{!18, !116, !686}
!709 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !710, file: !658, line: 113)
!710 = !DISubprogram(name: "fread", scope: !661, file: !661, line: 646, type: !711, flags: DIFlagPrototyped, spFlags: 0)
!711 = !DISubroutineType(types: !712)
!712 = !{!65, !713, !65, !65, !686}
!713 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !62)
!714 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !715, file: !658, line: 114)
!715 = !DISubprogram(name: "freopen", scope: !661, file: !661, line: 252, type: !716, flags: DIFlagPrototyped, spFlags: 0)
!716 = !DISubroutineType(types: !717)
!717 = !{!669, !116, !116, !686}
!718 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !719, file: !658, line: 115)
!719 = !DISubprogram(name: "fscanf", linkageName: "__isoc99_fscanf", scope: !661, file: !661, line: 407, type: !699, flags: DIFlagPrototyped, spFlags: 0)
!720 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !721, file: !658, line: 116)
!721 = !DISubprogram(name: "fseek", scope: !661, file: !661, line: 684, type: !722, flags: DIFlagPrototyped, spFlags: 0)
!722 = !DISubroutineType(types: !723)
!723 = !{!18, !669, !29, !18}
!724 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !725, file: !658, line: 117)
!725 = !DISubprogram(name: "fsetpos", scope: !661, file: !661, line: 736, type: !726, flags: DIFlagPrototyped, spFlags: 0)
!726 = !DISubroutineType(types: !727)
!727 = !{!18, !669, !728}
!728 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !729, size: 64)
!729 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !660)
!730 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !731, file: !658, line: 118)
!731 = !DISubprogram(name: "ftell", scope: !661, file: !661, line: 689, type: !732, flags: DIFlagPrototyped, spFlags: 0)
!732 = !DISubroutineType(types: !733)
!733 = !{!29, !669}
!734 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !735, file: !658, line: 119)
!735 = !DISubprogram(name: "fwrite", scope: !661, file: !661, line: 652, type: !736, flags: DIFlagPrototyped, spFlags: 0)
!736 = !DISubroutineType(types: !737)
!737 = !{!65, !738, !65, !65, !686}
!738 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !63)
!739 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !740, file: !658, line: 120)
!740 = !DISubprogram(name: "getc", scope: !661, file: !661, line: 486, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!741 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !742, file: !658, line: 121)
!742 = !DISubprogram(name: "getchar", scope: !661, file: !661, line: 492, type: !129, flags: DIFlagPrototyped, spFlags: 0)
!743 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !744, file: !658, line: 124)
!744 = !DISubprogram(name: "gets", scope: !661, file: !661, line: 577, type: !745, flags: DIFlagPrototyped, spFlags: 0)
!745 = !DISubroutineType(types: !746)
!746 = !{!92, !92}
!747 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !748, file: !658, line: 126)
!748 = !DISubprogram(name: "perror", scope: !661, file: !661, line: 775, type: !749, flags: DIFlagPrototyped, spFlags: 0)
!749 = !DISubroutineType(types: !750)
!750 = !{null, !47}
!751 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !752, file: !658, line: 127)
!752 = !DISubprogram(name: "printf", scope: !661, file: !661, line: 332, type: !753, flags: DIFlagPrototyped, spFlags: 0)
!753 = !DISubroutineType(types: !754)
!754 = !{!18, !116, null}
!755 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !756, file: !658, line: 128)
!756 = !DISubprogram(name: "putc", scope: !661, file: !661, line: 522, type: !703, flags: DIFlagPrototyped, spFlags: 0)
!757 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !758, file: !658, line: 129)
!758 = !DISubprogram(name: "putchar", scope: !661, file: !661, line: 528, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!759 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !760, file: !658, line: 130)
!760 = !DISubprogram(name: "puts", scope: !661, file: !661, line: 632, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!761 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !762, file: !658, line: 131)
!762 = !DISubprogram(name: "remove", scope: !661, file: !661, line: 146, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!763 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !764, file: !658, line: 132)
!764 = !DISubprogram(name: "rename", scope: !661, file: !661, line: 148, type: !765, flags: DIFlagPrototyped, spFlags: 0)
!765 = !DISubroutineType(types: !766)
!766 = !{!18, !47, !47}
!767 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !768, file: !658, line: 133)
!768 = !DISubprogram(name: "rewind", scope: !661, file: !661, line: 694, type: !667, flags: DIFlagPrototyped, spFlags: 0)
!769 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !770, file: !658, line: 134)
!770 = !DISubprogram(name: "scanf", linkageName: "__isoc99_scanf", scope: !661, file: !661, line: 410, type: !753, flags: DIFlagPrototyped, spFlags: 0)
!771 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !772, file: !658, line: 135)
!772 = !DISubprogram(name: "setbuf", scope: !661, file: !661, line: 304, type: !773, flags: DIFlagPrototyped, spFlags: 0)
!773 = !DISubroutineType(types: !774)
!774 = !{null, !686, !160}
!775 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !776, file: !658, line: 136)
!776 = !DISubprogram(name: "setvbuf", scope: !661, file: !661, line: 308, type: !777, flags: DIFlagPrototyped, spFlags: 0)
!777 = !DISubroutineType(types: !778)
!778 = !{!18, !686, !160, !18, !65}
!779 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !780, file: !658, line: 137)
!780 = !DISubprogram(name: "sprintf", scope: !661, file: !661, line: 334, type: !781, flags: DIFlagPrototyped, spFlags: 0)
!781 = !DISubroutineType(types: !782)
!782 = !{!18, !160, !116, null}
!783 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !784, file: !658, line: 138)
!784 = !DISubprogram(name: "sscanf", linkageName: "__isoc99_sscanf", scope: !661, file: !661, line: 412, type: !785, flags: DIFlagPrototyped, spFlags: 0)
!785 = !DISubroutineType(types: !786)
!786 = !{!18, !116, !116, null}
!787 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !788, file: !658, line: 139)
!788 = !DISubprogram(name: "tmpfile", scope: !661, file: !661, line: 173, type: !789, flags: DIFlagPrototyped, spFlags: 0)
!789 = !DISubroutineType(types: !790)
!790 = !{!669}
!791 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !792, file: !658, line: 141)
!792 = !DISubprogram(name: "tmpnam", scope: !661, file: !661, line: 187, type: !745, flags: DIFlagPrototyped, spFlags: 0)
!793 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !794, file: !658, line: 143)
!794 = !DISubprogram(name: "ungetc", scope: !661, file: !661, line: 639, type: !703, flags: DIFlagPrototyped, spFlags: 0)
!795 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !796, file: !658, line: 144)
!796 = !DISubprogram(name: "vfprintf", scope: !661, file: !661, line: 341, type: !797, flags: DIFlagPrototyped, spFlags: 0)
!797 = !DISubroutineType(types: !798)
!798 = !{!18, !686, !116, !386}
!799 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !800, file: !658, line: 145)
!800 = !DISubprogram(name: "vprintf", scope: !661, file: !661, line: 347, type: !801, flags: DIFlagPrototyped, spFlags: 0)
!801 = !DISubroutineType(types: !802)
!802 = !{!18, !116, !386}
!803 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !804, file: !658, line: 146)
!804 = !DISubprogram(name: "vsprintf", scope: !661, file: !661, line: 349, type: !805, flags: DIFlagPrototyped, spFlags: 0)
!805 = !DISubroutineType(types: !806)
!806 = !{!18, !160, !116, !386}
!807 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !808, file: !658, line: 175)
!808 = !DISubprogram(name: "snprintf", scope: !661, file: !661, line: 354, type: !809, flags: DIFlagPrototyped, spFlags: 0)
!809 = !DISubroutineType(types: !810)
!810 = !{!18, !160, !65, !116, null}
!811 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !812, file: !658, line: 176)
!812 = !DISubprogram(name: "vfscanf", linkageName: "__isoc99_vfscanf", scope: !661, file: !661, line: 451, type: !797, flags: DIFlagPrototyped, spFlags: 0)
!813 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !814, file: !658, line: 177)
!814 = !DISubprogram(name: "vscanf", linkageName: "__isoc99_vscanf", scope: !661, file: !661, line: 456, type: !801, flags: DIFlagPrototyped, spFlags: 0)
!815 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !816, file: !658, line: 178)
!816 = !DISubprogram(name: "vsnprintf", scope: !661, file: !661, line: 358, type: !817, flags: DIFlagPrototyped, spFlags: 0)
!817 = !DISubroutineType(types: !818)
!818 = !{!18, !160, !65, !116, !386}
!819 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !820, file: !658, line: 179)
!820 = !DISubprogram(name: "vsscanf", linkageName: "__isoc99_vsscanf", scope: !661, file: !661, line: 459, type: !821, flags: DIFlagPrototyped, spFlags: 0)
!821 = !DISubroutineType(types: !822)
!822 = !{!18, !116, !116, !386}
!823 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !808, file: !658, line: 185)
!824 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !812, file: !658, line: 186)
!825 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !814, file: !658, line: 187)
!826 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !816, file: !658, line: 188)
!827 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !820, file: !658, line: 189)
!828 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !829, file: !833, line: 83)
!829 = !DISubprogram(name: "acos", scope: !830, file: !830, line: 53, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!830 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/mathcalls.h", directory: "")
!831 = !DISubroutineType(types: !832)
!832 = !{!46, !46}
!833 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cmath", directory: "")
!834 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !835, file: !833, line: 102)
!835 = !DISubprogram(name: "asin", scope: !830, file: !830, line: 55, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!836 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !837, file: !833, line: 121)
!837 = !DISubprogram(name: "atan", scope: !830, file: !830, line: 57, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!838 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !839, file: !833, line: 140)
!839 = !DISubprogram(name: "atan2", scope: !830, file: !830, line: 59, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!840 = !DISubroutineType(types: !841)
!841 = !{!46, !46, !46}
!842 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !843, file: !833, line: 161)
!843 = !DISubprogram(name: "ceil", scope: !830, file: !830, line: 159, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!844 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !845, file: !833, line: 180)
!845 = !DISubprogram(name: "cos", scope: !830, file: !830, line: 62, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!846 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !847, file: !833, line: 199)
!847 = !DISubprogram(name: "cosh", scope: !830, file: !830, line: 71, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!848 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !849, file: !833, line: 218)
!849 = !DISubprogram(name: "exp", scope: !830, file: !830, line: 95, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!850 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !851, file: !833, line: 237)
!851 = !DISubprogram(name: "fabs", scope: !830, file: !830, line: 162, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!852 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !853, file: !833, line: 256)
!853 = !DISubprogram(name: "floor", scope: !830, file: !830, line: 165, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!854 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !855, file: !833, line: 275)
!855 = !DISubprogram(name: "fmod", scope: !830, file: !830, line: 168, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!856 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !857, file: !833, line: 296)
!857 = !DISubprogram(name: "frexp", scope: !830, file: !830, line: 98, type: !858, flags: DIFlagPrototyped, spFlags: 0)
!858 = !DISubroutineType(types: !859)
!859 = !{!46, !46, !860}
!860 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !18, size: 64)
!861 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !862, file: !833, line: 315)
!862 = !DISubprogram(name: "ldexp", scope: !830, file: !830, line: 101, type: !863, flags: DIFlagPrototyped, spFlags: 0)
!863 = !DISubroutineType(types: !864)
!864 = !{!46, !46, !18}
!865 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !866, file: !833, line: 334)
!866 = !DISubprogram(name: "log", scope: !830, file: !830, line: 104, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!867 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !868, file: !833, line: 353)
!868 = !DISubprogram(name: "log10", scope: !830, file: !830, line: 107, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!869 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !870, file: !833, line: 372)
!870 = !DISubprogram(name: "modf", scope: !830, file: !830, line: 110, type: !871, flags: DIFlagPrototyped, spFlags: 0)
!871 = !DISubroutineType(types: !872)
!872 = !{!46, !46, !873}
!873 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !46, size: 64)
!874 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !875, file: !833, line: 384)
!875 = !DISubprogram(name: "pow", scope: !830, file: !830, line: 140, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!876 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !877, file: !833, line: 421)
!877 = !DISubprogram(name: "sin", scope: !830, file: !830, line: 64, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!878 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !879, file: !833, line: 440)
!879 = !DISubprogram(name: "sinh", scope: !830, file: !830, line: 73, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!880 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !881, file: !833, line: 459)
!881 = !DISubprogram(name: "sqrt", scope: !830, file: !830, line: 143, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!882 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !883, file: !833, line: 478)
!883 = !DISubprogram(name: "tan", scope: !830, file: !830, line: 66, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!884 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !885, file: !833, line: 497)
!885 = !DISubprogram(name: "tanh", scope: !830, file: !830, line: 75, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!886 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !887, file: !833, line: 1065)
!887 = !DIDerivedType(tag: DW_TAG_typedef, name: "double_t", file: !888, line: 150, baseType: !46)
!888 = !DIFile(filename: "/usr/include/math.h", directory: "")
!889 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !890, file: !833, line: 1066)
!890 = !DIDerivedType(tag: DW_TAG_typedef, name: "float_t", file: !888, line: 149, baseType: !203)
!891 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !892, file: !833, line: 1069)
!892 = !DISubprogram(name: "acosh", scope: !830, file: !830, line: 85, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!893 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !894, file: !833, line: 1070)
!894 = !DISubprogram(name: "acoshf", scope: !830, file: !830, line: 85, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!895 = !DISubroutineType(types: !896)
!896 = !{!203, !203}
!897 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !898, file: !833, line: 1071)
!898 = !DISubprogram(name: "acoshl", scope: !830, file: !830, line: 85, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!899 = !DISubroutineType(types: !900)
!900 = !{!208, !208}
!901 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !902, file: !833, line: 1073)
!902 = !DISubprogram(name: "asinh", scope: !830, file: !830, line: 87, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!903 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !904, file: !833, line: 1074)
!904 = !DISubprogram(name: "asinhf", scope: !830, file: !830, line: 87, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!905 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !906, file: !833, line: 1075)
!906 = !DISubprogram(name: "asinhl", scope: !830, file: !830, line: 87, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!907 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !908, file: !833, line: 1077)
!908 = !DISubprogram(name: "atanh", scope: !830, file: !830, line: 89, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!909 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !910, file: !833, line: 1078)
!910 = !DISubprogram(name: "atanhf", scope: !830, file: !830, line: 89, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!911 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !912, file: !833, line: 1079)
!912 = !DISubprogram(name: "atanhl", scope: !830, file: !830, line: 89, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!913 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !914, file: !833, line: 1081)
!914 = !DISubprogram(name: "cbrt", scope: !830, file: !830, line: 152, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!915 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !916, file: !833, line: 1082)
!916 = !DISubprogram(name: "cbrtf", scope: !830, file: !830, line: 152, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!917 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !918, file: !833, line: 1083)
!918 = !DISubprogram(name: "cbrtl", scope: !830, file: !830, line: 152, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!919 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !920, file: !833, line: 1085)
!920 = !DISubprogram(name: "copysign", scope: !830, file: !830, line: 196, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!921 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !922, file: !833, line: 1086)
!922 = !DISubprogram(name: "copysignf", scope: !830, file: !830, line: 196, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!923 = !DISubroutineType(types: !924)
!924 = !{!203, !203, !203}
!925 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !926, file: !833, line: 1087)
!926 = !DISubprogram(name: "copysignl", scope: !830, file: !830, line: 196, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!927 = !DISubroutineType(types: !928)
!928 = !{!208, !208, !208}
!929 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !930, file: !833, line: 1089)
!930 = !DISubprogram(name: "erf", scope: !830, file: !830, line: 228, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!931 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !932, file: !833, line: 1090)
!932 = !DISubprogram(name: "erff", scope: !830, file: !830, line: 228, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!933 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !934, file: !833, line: 1091)
!934 = !DISubprogram(name: "erfl", scope: !830, file: !830, line: 228, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!935 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !936, file: !833, line: 1093)
!936 = !DISubprogram(name: "erfc", scope: !830, file: !830, line: 229, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!937 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !938, file: !833, line: 1094)
!938 = !DISubprogram(name: "erfcf", scope: !830, file: !830, line: 229, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!939 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !940, file: !833, line: 1095)
!940 = !DISubprogram(name: "erfcl", scope: !830, file: !830, line: 229, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!941 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !942, file: !833, line: 1097)
!942 = !DISubprogram(name: "exp2", scope: !830, file: !830, line: 130, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!943 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !944, file: !833, line: 1098)
!944 = !DISubprogram(name: "exp2f", scope: !830, file: !830, line: 130, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!945 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !946, file: !833, line: 1099)
!946 = !DISubprogram(name: "exp2l", scope: !830, file: !830, line: 130, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!947 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !948, file: !833, line: 1101)
!948 = !DISubprogram(name: "expm1", scope: !830, file: !830, line: 119, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!949 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !950, file: !833, line: 1102)
!950 = !DISubprogram(name: "expm1f", scope: !830, file: !830, line: 119, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!951 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !952, file: !833, line: 1103)
!952 = !DISubprogram(name: "expm1l", scope: !830, file: !830, line: 119, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!953 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !954, file: !833, line: 1105)
!954 = !DISubprogram(name: "fdim", scope: !830, file: !830, line: 326, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!955 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !956, file: !833, line: 1106)
!956 = !DISubprogram(name: "fdimf", scope: !830, file: !830, line: 326, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!957 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !958, file: !833, line: 1107)
!958 = !DISubprogram(name: "fdiml", scope: !830, file: !830, line: 326, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!959 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !960, file: !833, line: 1109)
!960 = !DISubprogram(name: "fma", scope: !830, file: !830, line: 335, type: !961, flags: DIFlagPrototyped, spFlags: 0)
!961 = !DISubroutineType(types: !962)
!962 = !{!46, !46, !46, !46}
!963 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !964, file: !833, line: 1110)
!964 = !DISubprogram(name: "fmaf", scope: !830, file: !830, line: 335, type: !965, flags: DIFlagPrototyped, spFlags: 0)
!965 = !DISubroutineType(types: !966)
!966 = !{!203, !203, !203, !203}
!967 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !968, file: !833, line: 1111)
!968 = !DISubprogram(name: "fmal", scope: !830, file: !830, line: 335, type: !969, flags: DIFlagPrototyped, spFlags: 0)
!969 = !DISubroutineType(types: !970)
!970 = !{!208, !208, !208, !208}
!971 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !972, file: !833, line: 1113)
!972 = !DISubprogram(name: "fmax", scope: !830, file: !830, line: 329, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!973 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !974, file: !833, line: 1114)
!974 = !DISubprogram(name: "fmaxf", scope: !830, file: !830, line: 329, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!975 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !976, file: !833, line: 1115)
!976 = !DISubprogram(name: "fmaxl", scope: !830, file: !830, line: 329, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!977 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !978, file: !833, line: 1117)
!978 = !DISubprogram(name: "fmin", scope: !830, file: !830, line: 332, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!979 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !980, file: !833, line: 1118)
!980 = !DISubprogram(name: "fminf", scope: !830, file: !830, line: 332, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!981 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !982, file: !833, line: 1119)
!982 = !DISubprogram(name: "fminl", scope: !830, file: !830, line: 332, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!983 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !984, file: !833, line: 1121)
!984 = !DISubprogram(name: "hypot", scope: !830, file: !830, line: 147, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!985 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !986, file: !833, line: 1122)
!986 = !DISubprogram(name: "hypotf", scope: !830, file: !830, line: 147, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!987 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !988, file: !833, line: 1123)
!988 = !DISubprogram(name: "hypotl", scope: !830, file: !830, line: 147, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!989 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !990, file: !833, line: 1125)
!990 = !DISubprogram(name: "ilogb", scope: !830, file: !830, line: 280, type: !991, flags: DIFlagPrototyped, spFlags: 0)
!991 = !DISubroutineType(types: !992)
!992 = !{!18, !46}
!993 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !994, file: !833, line: 1126)
!994 = !DISubprogram(name: "ilogbf", scope: !830, file: !830, line: 280, type: !995, flags: DIFlagPrototyped, spFlags: 0)
!995 = !DISubroutineType(types: !996)
!996 = !{!18, !203}
!997 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !998, file: !833, line: 1127)
!998 = !DISubprogram(name: "ilogbl", scope: !830, file: !830, line: 280, type: !999, flags: DIFlagPrototyped, spFlags: 0)
!999 = !DISubroutineType(types: !1000)
!1000 = !{!18, !208}
!1001 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1002, file: !833, line: 1129)
!1002 = !DISubprogram(name: "lgamma", scope: !830, file: !830, line: 230, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1003 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1004, file: !833, line: 1130)
!1004 = !DISubprogram(name: "lgammaf", scope: !830, file: !830, line: 230, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1005 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1006, file: !833, line: 1131)
!1006 = !DISubprogram(name: "lgammal", scope: !830, file: !830, line: 230, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1007 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1008, file: !833, line: 1134)
!1008 = !DISubprogram(name: "llrint", scope: !830, file: !830, line: 316, type: !1009, flags: DIFlagPrototyped, spFlags: 0)
!1009 = !DISubroutineType(types: !1010)
!1010 = !{!174, !46}
!1011 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1012, file: !833, line: 1135)
!1012 = !DISubprogram(name: "llrintf", scope: !830, file: !830, line: 316, type: !1013, flags: DIFlagPrototyped, spFlags: 0)
!1013 = !DISubroutineType(types: !1014)
!1014 = !{!174, !203}
!1015 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1016, file: !833, line: 1136)
!1016 = !DISubprogram(name: "llrintl", scope: !830, file: !830, line: 316, type: !1017, flags: DIFlagPrototyped, spFlags: 0)
!1017 = !DISubroutineType(types: !1018)
!1018 = !{!174, !208}
!1019 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1020, file: !833, line: 1138)
!1020 = !DISubprogram(name: "llround", scope: !830, file: !830, line: 322, type: !1009, flags: DIFlagPrototyped, spFlags: 0)
!1021 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1022, file: !833, line: 1139)
!1022 = !DISubprogram(name: "llroundf", scope: !830, file: !830, line: 322, type: !1013, flags: DIFlagPrototyped, spFlags: 0)
!1023 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1024, file: !833, line: 1140)
!1024 = !DISubprogram(name: "llroundl", scope: !830, file: !830, line: 322, type: !1017, flags: DIFlagPrototyped, spFlags: 0)
!1025 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1026, file: !833, line: 1143)
!1026 = !DISubprogram(name: "log1p", scope: !830, file: !830, line: 122, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1027 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1028, file: !833, line: 1144)
!1028 = !DISubprogram(name: "log1pf", scope: !830, file: !830, line: 122, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1029 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1030, file: !833, line: 1145)
!1030 = !DISubprogram(name: "log1pl", scope: !830, file: !830, line: 122, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1031 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1032, file: !833, line: 1147)
!1032 = !DISubprogram(name: "log2", scope: !830, file: !830, line: 133, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1033 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1034, file: !833, line: 1148)
!1034 = !DISubprogram(name: "log2f", scope: !830, file: !830, line: 133, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1035 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1036, file: !833, line: 1149)
!1036 = !DISubprogram(name: "log2l", scope: !830, file: !830, line: 133, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1037 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1038, file: !833, line: 1151)
!1038 = !DISubprogram(name: "logb", scope: !830, file: !830, line: 125, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1039 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1040, file: !833, line: 1152)
!1040 = !DISubprogram(name: "logbf", scope: !830, file: !830, line: 125, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1041 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1042, file: !833, line: 1153)
!1042 = !DISubprogram(name: "logbl", scope: !830, file: !830, line: 125, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1043 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1044, file: !833, line: 1155)
!1044 = !DISubprogram(name: "lrint", scope: !830, file: !830, line: 314, type: !1045, flags: DIFlagPrototyped, spFlags: 0)
!1045 = !DISubroutineType(types: !1046)
!1046 = !{!29, !46}
!1047 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1048, file: !833, line: 1156)
!1048 = !DISubprogram(name: "lrintf", scope: !830, file: !830, line: 314, type: !1049, flags: DIFlagPrototyped, spFlags: 0)
!1049 = !DISubroutineType(types: !1050)
!1050 = !{!29, !203}
!1051 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1052, file: !833, line: 1157)
!1052 = !DISubprogram(name: "lrintl", scope: !830, file: !830, line: 314, type: !1053, flags: DIFlagPrototyped, spFlags: 0)
!1053 = !DISubroutineType(types: !1054)
!1054 = !{!29, !208}
!1055 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1056, file: !833, line: 1159)
!1056 = !DISubprogram(name: "lround", scope: !830, file: !830, line: 320, type: !1045, flags: DIFlagPrototyped, spFlags: 0)
!1057 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1058, file: !833, line: 1160)
!1058 = !DISubprogram(name: "lroundf", scope: !830, file: !830, line: 320, type: !1049, flags: DIFlagPrototyped, spFlags: 0)
!1059 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1060, file: !833, line: 1161)
!1060 = !DISubprogram(name: "lroundl", scope: !830, file: !830, line: 320, type: !1053, flags: DIFlagPrototyped, spFlags: 0)
!1061 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1062, file: !833, line: 1163)
!1062 = !DISubprogram(name: "nan", scope: !830, file: !830, line: 201, type: !44, flags: DIFlagPrototyped, spFlags: 0)
!1063 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1064, file: !833, line: 1164)
!1064 = !DISubprogram(name: "nanf", scope: !830, file: !830, line: 201, type: !1065, flags: DIFlagPrototyped, spFlags: 0)
!1065 = !DISubroutineType(types: !1066)
!1066 = !{!203, !47}
!1067 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1068, file: !833, line: 1165)
!1068 = !DISubprogram(name: "nanl", scope: !830, file: !830, line: 201, type: !1069, flags: DIFlagPrototyped, spFlags: 0)
!1069 = !DISubroutineType(types: !1070)
!1070 = !{!208, !47}
!1071 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1072, file: !833, line: 1167)
!1072 = !DISubprogram(name: "nearbyint", scope: !830, file: !830, line: 294, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1073 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1074, file: !833, line: 1168)
!1074 = !DISubprogram(name: "nearbyintf", scope: !830, file: !830, line: 294, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1075 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1076, file: !833, line: 1169)
!1076 = !DISubprogram(name: "nearbyintl", scope: !830, file: !830, line: 294, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1077 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1078, file: !833, line: 1171)
!1078 = !DISubprogram(name: "nextafter", scope: !830, file: !830, line: 259, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!1079 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1080, file: !833, line: 1172)
!1080 = !DISubprogram(name: "nextafterf", scope: !830, file: !830, line: 259, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!1081 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1082, file: !833, line: 1173)
!1082 = !DISubprogram(name: "nextafterl", scope: !830, file: !830, line: 259, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!1083 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1084, file: !833, line: 1175)
!1084 = !DISubprogram(name: "nexttoward", scope: !830, file: !830, line: 261, type: !1085, flags: DIFlagPrototyped, spFlags: 0)
!1085 = !DISubroutineType(types: !1086)
!1086 = !{!46, !46, !208}
!1087 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1088, file: !833, line: 1176)
!1088 = !DISubprogram(name: "nexttowardf", scope: !830, file: !830, line: 261, type: !1089, flags: DIFlagPrototyped, spFlags: 0)
!1089 = !DISubroutineType(types: !1090)
!1090 = !{!203, !203, !208}
!1091 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1092, file: !833, line: 1177)
!1092 = !DISubprogram(name: "nexttowardl", scope: !830, file: !830, line: 261, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!1093 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1094, file: !833, line: 1179)
!1094 = !DISubprogram(name: "remainder", scope: !830, file: !830, line: 272, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!1095 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1096, file: !833, line: 1180)
!1096 = !DISubprogram(name: "remainderf", scope: !830, file: !830, line: 272, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!1097 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1098, file: !833, line: 1181)
!1098 = !DISubprogram(name: "remainderl", scope: !830, file: !830, line: 272, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!1099 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1100, file: !833, line: 1183)
!1100 = !DISubprogram(name: "remquo", scope: !830, file: !830, line: 307, type: !1101, flags: DIFlagPrototyped, spFlags: 0)
!1101 = !DISubroutineType(types: !1102)
!1102 = !{!46, !46, !46, !860}
!1103 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1104, file: !833, line: 1184)
!1104 = !DISubprogram(name: "remquof", scope: !830, file: !830, line: 307, type: !1105, flags: DIFlagPrototyped, spFlags: 0)
!1105 = !DISubroutineType(types: !1106)
!1106 = !{!203, !203, !203, !860}
!1107 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1108, file: !833, line: 1185)
!1108 = !DISubprogram(name: "remquol", scope: !830, file: !830, line: 307, type: !1109, flags: DIFlagPrototyped, spFlags: 0)
!1109 = !DISubroutineType(types: !1110)
!1110 = !{!208, !208, !208, !860}
!1111 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1112, file: !833, line: 1187)
!1112 = !DISubprogram(name: "rint", scope: !830, file: !830, line: 256, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1113 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1114, file: !833, line: 1188)
!1114 = !DISubprogram(name: "rintf", scope: !830, file: !830, line: 256, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1115 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1116, file: !833, line: 1189)
!1116 = !DISubprogram(name: "rintl", scope: !830, file: !830, line: 256, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1117 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1118, file: !833, line: 1191)
!1118 = !DISubprogram(name: "round", scope: !830, file: !830, line: 298, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1119 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1120, file: !833, line: 1192)
!1120 = !DISubprogram(name: "roundf", scope: !830, file: !830, line: 298, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1121 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1122, file: !833, line: 1193)
!1122 = !DISubprogram(name: "roundl", scope: !830, file: !830, line: 298, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1123 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1124, file: !833, line: 1195)
!1124 = !DISubprogram(name: "scalbln", scope: !830, file: !830, line: 290, type: !1125, flags: DIFlagPrototyped, spFlags: 0)
!1125 = !DISubroutineType(types: !1126)
!1126 = !{!46, !46, !29}
!1127 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1128, file: !833, line: 1196)
!1128 = !DISubprogram(name: "scalblnf", scope: !830, file: !830, line: 290, type: !1129, flags: DIFlagPrototyped, spFlags: 0)
!1129 = !DISubroutineType(types: !1130)
!1130 = !{!203, !203, !29}
!1131 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1132, file: !833, line: 1197)
!1132 = !DISubprogram(name: "scalblnl", scope: !830, file: !830, line: 290, type: !1133, flags: DIFlagPrototyped, spFlags: 0)
!1133 = !DISubroutineType(types: !1134)
!1134 = !{!208, !208, !29}
!1135 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1136, file: !833, line: 1199)
!1136 = !DISubprogram(name: "scalbn", scope: !830, file: !830, line: 276, type: !863, flags: DIFlagPrototyped, spFlags: 0)
!1137 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1138, file: !833, line: 1200)
!1138 = !DISubprogram(name: "scalbnf", scope: !830, file: !830, line: 276, type: !1139, flags: DIFlagPrototyped, spFlags: 0)
!1139 = !DISubroutineType(types: !1140)
!1140 = !{!203, !203, !18}
!1141 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1142, file: !833, line: 1201)
!1142 = !DISubprogram(name: "scalbnl", scope: !830, file: !830, line: 276, type: !1143, flags: DIFlagPrototyped, spFlags: 0)
!1143 = !DISubroutineType(types: !1144)
!1144 = !{!208, !208, !18}
!1145 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1146, file: !833, line: 1203)
!1146 = !DISubprogram(name: "tgamma", scope: !830, file: !830, line: 235, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1147 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1148, file: !833, line: 1204)
!1148 = !DISubprogram(name: "tgammaf", scope: !830, file: !830, line: 235, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1149 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1150, file: !833, line: 1205)
!1150 = !DISubprogram(name: "tgammal", scope: !830, file: !830, line: 235, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1151 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1152, file: !833, line: 1207)
!1152 = !DISubprogram(name: "trunc", scope: !830, file: !830, line: 302, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1153 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1154, file: !833, line: 1208)
!1154 = !DISubprogram(name: "truncf", scope: !830, file: !830, line: 302, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1155 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1156, file: !833, line: 1209)
!1156 = !DISubprogram(name: "truncl", scope: !830, file: !830, line: 302, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1157 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1158, file: !1161, line: 58)
!1158 = !DIDerivedType(tag: DW_TAG_typedef, name: "fenv_t", file: !1159, line: 94, baseType: !1160)
!1159 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/fenv.h", directory: "")
!1160 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1159, line: 75, flags: DIFlagFwdDecl, identifier: "_ZTS6fenv_t")
!1161 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/fenv.h", directory: "")
!1162 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1163, file: !1161, line: 59)
!1163 = !DIDerivedType(tag: DW_TAG_typedef, name: "fexcept_t", file: !1159, line: 68, baseType: !582)
!1164 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1165, file: !1161, line: 62)
!1165 = !DISubprogram(name: "feclearexcept", scope: !1166, file: !1166, line: 71, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1166 = !DIFile(filename: "/usr/include/fenv.h", directory: "")
!1167 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1168, file: !1161, line: 63)
!1168 = !DISubprogram(name: "fegetexceptflag", scope: !1166, file: !1166, line: 75, type: !1169, flags: DIFlagPrototyped, spFlags: 0)
!1169 = !DISubroutineType(types: !1170)
!1170 = !{!18, !1171, !18}
!1171 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1163, size: 64)
!1172 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1173, file: !1161, line: 64)
!1173 = !DISubprogram(name: "feraiseexcept", scope: !1166, file: !1166, line: 78, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1174 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1175, file: !1161, line: 65)
!1175 = !DISubprogram(name: "fesetexceptflag", scope: !1166, file: !1166, line: 88, type: !1176, flags: DIFlagPrototyped, spFlags: 0)
!1176 = !DISubroutineType(types: !1177)
!1177 = !{!18, !1178, !18}
!1178 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1179, size: 64)
!1179 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !1163)
!1180 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1181, file: !1161, line: 66)
!1181 = !DISubprogram(name: "fetestexcept", scope: !1166, file: !1166, line: 92, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1182 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1183, file: !1161, line: 68)
!1183 = !DISubprogram(name: "fegetround", scope: !1166, file: !1166, line: 104, type: !129, flags: DIFlagPrototyped, spFlags: 0)
!1184 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1185, file: !1161, line: 69)
!1185 = !DISubprogram(name: "fesetround", scope: !1166, file: !1166, line: 107, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1186 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1187, file: !1161, line: 71)
!1187 = !DISubprogram(name: "fegetenv", scope: !1166, file: !1166, line: 114, type: !1188, flags: DIFlagPrototyped, spFlags: 0)
!1188 = !DISubroutineType(types: !1189)
!1189 = !{!18, !1190}
!1190 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1158, size: 64)
!1191 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1192, file: !1161, line: 72)
!1192 = !DISubprogram(name: "feholdexcept", scope: !1166, file: !1166, line: 119, type: !1188, flags: DIFlagPrototyped, spFlags: 0)
!1193 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1194, file: !1161, line: 73)
!1194 = !DISubprogram(name: "fesetenv", scope: !1166, file: !1166, line: 123, type: !1195, flags: DIFlagPrototyped, spFlags: 0)
!1195 = !DISubroutineType(types: !1196)
!1196 = !{!18, !1197}
!1197 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1198, size: 64)
!1198 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !1158)
!1199 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1200, file: !1161, line: 74)
!1200 = !DISubprogram(name: "feupdateenv", scope: !1166, file: !1166, line: 128, type: !1195, flags: DIFlagPrototyped, spFlags: 0)
!1201 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1158, file: !1202, line: 61)
!1202 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cfenv", directory: "")
!1203 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1163, file: !1202, line: 62)
!1204 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1165, file: !1202, line: 65)
!1205 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1168, file: !1202, line: 66)
!1206 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1173, file: !1202, line: 67)
!1207 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1175, file: !1202, line: 68)
!1208 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1181, file: !1202, line: 69)
!1209 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1183, file: !1202, line: 71)
!1210 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1185, file: !1202, line: 72)
!1211 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1187, file: !1202, line: 74)
!1212 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1192, file: !1202, line: 75)
!1213 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1194, file: !1202, line: 76)
!1214 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1200, file: !1202, line: 77)
!1215 = !{!"base.helper.semantics"}
!1216 = !{i64 4100}
!1217 = !{!1218, !1218, i64 0}
!1218 = !{!"long", !1219, i64 0}
!1219 = !{!"omnipotent char", !1220, i64 0}
!1220 = !{!"Simple C++ TBAA"}
!1221 = !{!1222, !1219, i64 2065}
!1222 = !{!"_ZTS5State", !1219, i64 16, !1223, i64 2064, !1219, i64 2080, !1224, i64 2088, !1226, i64 2112, !1228, i64 2208, !1229, i64 2480, !1230, i64 2608, !1231, i64 2736, !1219, i64 2760, !1219, i64 2768, !1232, i64 3280}
!1223 = !{!"_ZTS10ArithFlags", !1219, i64 0, !1219, i64 1, !1219, i64 2, !1219, i64 3, !1219, i64 4, !1219, i64 5, !1219, i64 6, !1219, i64 7, !1219, i64 8, !1219, i64 9, !1219, i64 10, !1219, i64 11, !1219, i64 12, !1219, i64 13, !1219, i64 14, !1219, i64 15}
!1224 = !{!"_ZTS8Segments", !1225, i64 0, !1219, i64 2, !1225, i64 4, !1219, i64 6, !1225, i64 8, !1219, i64 10, !1225, i64 12, !1219, i64 14, !1225, i64 16, !1219, i64 18, !1225, i64 20, !1219, i64 22}
!1225 = !{!"short", !1219, i64 0}
!1226 = !{!"_ZTS12AddressSpace", !1218, i64 0, !1227, i64 8, !1218, i64 16, !1227, i64 24, !1218, i64 32, !1227, i64 40, !1218, i64 48, !1227, i64 56, !1218, i64 64, !1227, i64 72, !1218, i64 80, !1227, i64 88}
!1227 = !{!"_ZTS3Reg", !1219, i64 0}
!1228 = !{!"_ZTS3GPR", !1218, i64 0, !1227, i64 8, !1218, i64 16, !1227, i64 24, !1218, i64 32, !1227, i64 40, !1218, i64 48, !1227, i64 56, !1218, i64 64, !1227, i64 72, !1218, i64 80, !1227, i64 88, !1218, i64 96, !1227, i64 104, !1218, i64 112, !1227, i64 120, !1218, i64 128, !1227, i64 136, !1218, i64 144, !1227, i64 152, !1218, i64 160, !1227, i64 168, !1218, i64 176, !1227, i64 184, !1218, i64 192, !1227, i64 200, !1218, i64 208, !1227, i64 216, !1218, i64 224, !1227, i64 232, !1218, i64 240, !1227, i64 248, !1218, i64 256, !1227, i64 264}
!1229 = !{!"_ZTS8X87Stack", !1219, i64 0}
!1230 = !{!"_ZTS3MMX", !1219, i64 0}
!1231 = !{!"_ZTS14FPUStatusFlags", !1219, i64 0, !1219, i64 1, !1219, i64 2, !1219, i64 3, !1219, i64 4, !1219, i64 5, !1219, i64 6, !1219, i64 7, !1219, i64 8, !1219, i64 9, !1219, i64 10, !1219, i64 11, !1219, i64 12, !1219, i64 13, !1219, i64 14, !1219, i64 15, !1219, i64 16, !1219, i64 17, !1219, i64 18, !1219, i64 19, !1219, i64 20}
!1232 = !{!"_ZTS13SegmentCaches", !1233, i64 0, !1233, i64 16, !1233, i64 32, !1233, i64 48, !1233, i64 64, !1233, i64 80}
!1233 = !{!"_ZTS13SegmentShadow", !1219, i64 0, !1234, i64 8, !1234, i64 12}
!1234 = !{!"int", !1219, i64 0}
!1235 = !{i32 0, i32 9}
!1236 = !{!1222, !1219, i64 2067}
!1237 = !{!1222, !1219, i64 2071}
!1238 = !{!1222, !1219, i64 2073}
!1239 = !{!1222, !1219, i64 2077}
!1240 = !{!1222, !1219, i64 2069}
!1241 = !{i64 4116}
!1242 = !{i64 4118}
!1243 = !{!1244}
!1244 = distinct !{!1244, !1245, !"__mcsema_detach_call_value: %state"}
!1245 = distinct !{!1245, !"__mcsema_detach_call_value"}
!1246 = !{!1247}
!1247 = distinct !{!1247, !1245, !"__mcsema_detach_call_value: %memory"}
!1248 = !{i64 4461}
!1249 = !{!1219, !1219, i64 0}
!1250 = !{i64 4465}
!1251 = !{i64 4472}
!1252 = !{i64 4479}
!1253 = !{i64 4485}
!1254 = !{i64 4497}
!1255 = !{i64 4159}
!1256 = !{i64 4175}
!1257 = !{i64 4502}
!1258 = !{i64 4506}
!1259 = !{i64 4514}
!1260 = !{i64 4517}
!1261 = !{i64 4526}
!1262 = !{i64 4535}
!1263 = !{i64 4547}
!1264 = !{i64 4576}
!1265 = !{i64 4187}
!1266 = !{!1267}
!1267 = distinct !{!1267, !1268, !"__mcsema_detach_call_value: %state"}
!1268 = distinct !{!1268, !"__mcsema_detach_call_value"}
!1269 = !{!1270}
!1270 = distinct !{!1270, !1268, !"__mcsema_detach_call_value: %memory"}
!1271 = !{i64 4203}
!1272 = !{!1273}
!1273 = distinct !{!1273, !1274, !"__mcsema_detach_call_value: %state"}
!1274 = distinct !{!1274, !"__mcsema_detach_call_value"}
!1275 = !{!1276}
!1276 = distinct !{!1276, !1274, !"__mcsema_detach_call_value: %memory"}
!1277 = !{i64 4219}
!1278 = !{!1279}
!1279 = distinct !{!1279, !1280, !"__mcsema_detach_call_value: %state"}
!1280 = distinct !{!1280, !"__mcsema_detach_call_value"}
!1281 = !{!1282}
!1282 = distinct !{!1282, !1280, !"__mcsema_detach_call_value: %memory"}
!1283 = !{i64 4230}
!1284 = !{i64 4241}
!1285 = !{!1286}
!1286 = distinct !{!1286, !1287, !"__mcsema_detach_call_value: %state"}
!1287 = distinct !{!1287, !"__mcsema_detach_call_value"}
!1288 = !{!1289}
!1289 = distinct !{!1289, !1287, !"__mcsema_detach_call_value: %memory"}
!1290 = !{i64 4313}
!1291 = !{i64 4732}
!1292 = !{i64 4377}
!1293 = !{i64 4397}
!1294 = !{i64 4423}
!1295 = !{i64 4428}
!1296 = !{i64 4437}
!1297 = !{i64 4441}
!1298 = !{i64 4411}
!1299 = !{i64 4418}
!1300 = !{i64 4141}
!1301 = !{!1302}
!1302 = distinct !{!1302, !1303, !"__mcsema_detach_call_value: %state"}
!1303 = distinct !{!1303, !"__mcsema_detach_call_value"}
!1304 = !{!1305}
!1305 = distinct !{!1305, !1303, !"__mcsema_detach_call_value: %memory"}
!1306 = !{i64 4583}
!1307 = !{i64 4602}
!1308 = !{i64 4604}
!1309 = !{i64 4608}
!1310 = !{i64 4612}
!1311 = !{i64 4621}
!1312 = !{i64 4623}
!1313 = !{i64 4626}
!1314 = !{i64 4628}
!1315 = !{i64 4631}
!1316 = !{i64 4633}
!1317 = !{i64 4636}
!1318 = !{i64 4644}
!1319 = !{i64 4657}
!1320 = !{i64 4663}
!1321 = !{i64 4672}
!1322 = !{i64 4675}
!1323 = !{i64 4678}
!1324 = !{i64 4681}
!1325 = !{!1326}
!1326 = distinct !{!1326, !1327, !"__mcsema_detach_call_value: %state"}
!1327 = distinct !{!1327, !"__mcsema_detach_call_value"}
!1328 = !{!1329}
!1329 = distinct !{!1329, !1327, !"__mcsema_detach_call_value: %memory"}
!1330 = !{i64 4685}
!1331 = !{i64 4689}
!1332 = !{i64 4694}
!1333 = !{i64 4709}
!1334 = !{!"base.external.cfgexternal"}
!1335 = !{!"base.helper.mcsema"}
!1336 = !{!"base.entrypoint"}
!1337 = !{[4 x i8] c"EDI\00"}
!1338 = !{[4 x i8] c"RSI\00"}
!1339 = !{[4 x i8] c"RDX\00"}
!1340 = !{[4 x i8] c"RAX\00"}
!1341 = !{[4 x i8] c"RDI\00"}
!1342 = !{[4 x i8] c"RCX\00"}
!1343 = !{[3 x i8] c"R8\00"}
!1344 = !{[3 x i8] c"R9\00"}
!1345 = !{[4 x i8] c"RSP\00"}
|
That is very long :-P Do you have Binary Ninja? If you, you should try anvill. |
Hi, I want to lift executable binary to LLVM bitcode, which is similar to the original file.
So I wonder if I can lift without specifying "mode program's memory" and "runtime's memory" provided by remill.
Does mcsema have an option not to explicate memory and state?
Thank you so much!
The text was updated successfully, but these errors were encountered: