CoolFace
Datasetpublic

CCompote/CompRealVul_LLVM

CompRealVul_LLVM Dataset Dataset Summary CompRealVul_LLVM is the LLVM IR (Intermediate Representation) version of the CompRealVul_C dataset. This version is designed specifically for training and evaluating machine learning models on the task of binary vulnerability detection in a setting that closely mimics how models are used in practice — operating on the compiled representation of code rather than raw source code. Each function in this dataset was compiled… See the full description on the dataset page: https://huggingface.co/datasets/CCompote/CompRealVul_LLVM.

sourceHugging Facegpl-3.0updated 1y agoView on Hugging Face
0likes36downloads
test.json24194 linesDownload Raw Back to root
1[2    {3        "dataset": "CompRealVul",4        "file": "kvmppc_host_cpu_class_init_967",5        "fun_name": "kvmppc_host_cpu_class_init",6        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %rax.3.reg2mem = alloca i64\n %rax.2.reg2mem = alloca i64\n %rax.1.reg2mem = alloca i64\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC()\n %2 = trunc i64 %1 to i32\n %3 = call i64 @FUNC()\n %4 = call i64 @FUNC(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @gv_0, i64 0, i64 0))\n %5 = call i64 @FUNC(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @gv_1, i64 0, i64 0))\n %6 = icmp eq i32 %2, -1\n store i64 %5, i64* %rax.0.reg2mem\n br i1 %6, label LBL_2, label LBL_1\n LBL_1:\n %7 = icmp eq i32 %2, 0\n %8 = icmp eq i1 %7, false\n %9 = zext i1 %8 to i64\n %10 = call i64 @FUNC(i64 %0, i64 1, i64 %9)\n %11 = icmp ult i32 %2, 2\n %12 = icmp ne i1 %11, true\n %13 = add i64 %0, 4\n %14 = zext i1 %12 to i64\n %15 = call i64 @FUNC(i64 %13, i64 2, i64 %14)\n store i64 %15, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %16 = trunc i64 %3 to i32\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n %17 = icmp eq i32 %16, -1\n store i64 %rax.0.reload, i64* %rax.1.reg2mem\n br i1 %17, label LBL_4, label LBL_3\n LBL_3:\n %18 = add i64 %0, 4\n %19 = and i64 %3, 4294967295\n %20 = call i64 @FUNC(i64 %18, i64 3, i64 %19)\n store i64 %20, i64* %rax.1.reg2mem\n br label LBL_4\n LBL_4:\n %21 = trunc i64 %4 to i32\n %rax.1.reload = load i64, i64* %rax.1.reg2mem\n %22 = icmp eq i32 %21, -1\n store i64 %rax.1.reload, i64* %rax.2.reg2mem\n br i1 %22, label LBL_6, label LBL_5\n LBL_5:\n %23 = add i64 %0, 8\n %24 = inttoptr i64 %23 to i32*\n store i32 %21, i32* %24, align 4\n store i64 %0, i64* %rax.2.reg2mem\n br label LBL_6\n LBL_6:\n %25 = trunc i64 %5 to i32\n %rax.2.reload = load i64, i64* %rax.2.reg2mem\n %26 = icmp eq i32 %25, -1\n store i64 %rax.2.reload, i64* %rax.3.reg2mem\n br i1 %26, label LBL_8, label LBL_7\n LBL_7:\n %27 = add i64 %0, 12\n %28 = inttoptr i64 %27 to i32*\n store i32 %25, i32* %28, align 4\n store i64 %0, i64* %rax.3.reg2mem\n br label LBL_8\n LBL_8:\n %rax.3.reload = load i64, i64* %rax.3.reg2mem\n ret i64 %rax.3.reload\n\n uselistorder i64 %5, { 1, 0 }\n uselistorder i32 %2, { 1, 0, 2 }\n uselistorder i64 %0, { 0, 6, 1, 5, 4, 3, 2 }\n uselistorder i64 4294967295, { 1, 0 }\n uselistorder i64 (i64, i64, i64)* @alter_insns, { 2, 1, 0 }\n uselistorder i64 1, { 2, 0, 1 }\n uselistorder i64 (i8*)* @kvmppc_read_int_cpu_dt, { 1, 0 }\n }",7        "label": "0"8    },9    {10        "dataset": "CompRealVul",11        "file": "gdb_continue_5050",12        "fun_name": "gdb_continue",13        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = bitcast i64* %arg1 to i32*\n store i32 1, i32* %0, align 4\n %1 = call i64 @FUNC(i64 1)\n %2 = trunc i64 %1 to i32\n %3 = icmp eq i32 %2, 0\n store i64 %1, i64* %rax.0.reg2mem\n br i1 %3, label LBL_2, label LBL_1\n LBL_1:\n %4 = call i64 @FUNC()\n store i64 %4, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n }",14        "label": "0"15    },16    {17        "dataset": "CompRealVul",18        "file": "tls12_get_hash_info_10385",19        "fun_name": "tls12_get_hash_info",20        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %0 = trunc i64 %arg1 to i8\n %1 = icmp eq i8 %0, 0\n %2 = icmp eq i1 %1, false\n store i64 0, i64* %indvars.iv.reg2mem\n store i64 0, i64* %rax.0.reg2mem\n br i1 %2, label LBL_1, label LBL_3\n LBL_1:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %3 = add nuw nsw i64 %indvars.iv.reload, ptrtoint (i8** @gv_0 to i64)\n %4 = inttoptr i64 %3 to i8*\n %5 = load i8, i8* %4, align 1\n %6 = icmp eq i8 %5, %0\n %7 = icmp eq i1 %6, false\n store i64 %3, i64* %rax.0.reg2mem\n br i1 %7, label LBL_2, label LBL_3\n LBL_2:\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %8 = icmp ult i64 %indvars.iv.next, 5\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n store i64 0, i64* %rax.0.reg2mem\n br i1 %8, label LBL_1, label LBL_3\n LBL_3:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %indvars.iv.reg2mem, { 2, 0, 1 }\n uselistorder i32 1, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",21        "label": "0"22    },23    {24        "dataset": "CompRealVul",25        "file": "count_delta_18013",26        "fun_name": "count_delta",27        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %.lcssa.reg2mem = alloca i64\n %sv_0.0.lcssa.reg2mem = alloca i64\n %sv_1.0.lcssa.reg2mem = alloca i64\n %sv_2.1.ph.lcssa.reg2mem = alloca i64\n %sv_3.1.reg2mem = alloca i64\n %.reg2mem72 = alloca i64\n %sv_3.0.reg2mem = alloca i64\n %.reg2mem70 = alloca i64\n %sv_1.06.reg2mem = alloca i64\n %sv_0.07.reg2mem = alloca i64\n %.reg2mem68 = alloca i64\n %sv_1.0.ph15.reg2mem = alloca i64\n %sv_2.1.ph16.reg2mem = alloca i64\n %sv_0.0.ph17.reg2mem = alloca i64\n %.reg2mem = alloca i64\n %sv_4 = alloca i64, align 8\n %0 = icmp ult i64 %arg2, 6\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %0, label LBL_12, label LBL_1\n LBL_1:\n %1 = ptrtoint i64* %arg1 to i64\n store i64 %1, i64* %sv_4, align 8\n %2 = add i64 %1, %arg2\n %3 = call i64 @FUNC(i64* nonnull %sv_4)\n %4 = call i64 @FUNC(i64* nonnull %sv_4)\n %5 = load i64, i64* %sv_4, align 8\n %6 = icmp ugt i64 %2, %5\n store i64 %5, i64* %.reg2mem\n store i64 0, i64* %sv_0.0.ph17.reg2mem\n store i64 0, i64* %sv_2.1.ph16.reg2mem\n store i64 0, i64* %sv_1.0.ph15.reg2mem\n store i64 0, i64* %sv_2.1.ph.lcssa.reg2mem\n store i64 0, i64* %sv_1.0.lcssa.reg2mem\n store i64 0, i64* %sv_0.0.lcssa.reg2mem\n store i64 %5, i64* %.lcssa.reg2mem\n br i1 %6, label LBL_2, label LBL_10\n LBL_2:\n %sv_1.0.ph15.reload = load i64, i64* %sv_1.0.ph15.reg2mem\n %sv_2.1.ph16.reload = load i64, i64* %sv_2.1.ph16.reg2mem\n %sv_0.0.ph17.reload = load i64, i64* %sv_0.0.ph17.reg2mem\n %.reload = load i64, i64* %.reg2mem\n store i64 %.reload, i64* %.reg2mem68\n store i64 %sv_0.0.ph17.reload, i64* %sv_0.07.reg2mem\n store i64 %sv_1.0.ph15.reload, i64* %sv_1.06.reg2mem\n br label LBL_3\n LBL_3:\n %sv_1.06.reload = load i64, i64* %sv_1.06.reg2mem\n %sv_0.07.reload = load i64, i64* %sv_0.07.reg2mem\n %.reload69 = load i64, i64* %.reg2mem68\n %7 = add i64 %.reload69, 1\n store i64 %7, i64* %sv_4, align 8\n %8 = inttoptr i64 %.reload69 to i8*\n %9 = load i8, i8* %8, align 1\n %10 = sext i8 %9 to i32\n %11 = icmp slt i8 %9, 0\n %12 = icmp eq i1 %11, false\n br i1 %12, label LBL_9, label LBL_4\n LBL_4:\n %13 = urem i32 %10, 2\n %14 = icmp eq i32 %13, 0\n %15 = add i64 %.reload69, 2\n %16 = select i1 %14, i64 %7, i64 %15\n %17 = and i32 %10, 2\n %18 = icmp ne i32 %17, 0\n %19 = zext i1 %18 to i64\n %spec.select34 = add i64 %16, %19\n %20 = and i32 %10, 4\n %21 = icmp ne i32 %20, 0\n %22 = zext i1 %21 to i64\n %spec.select35 = add i64 %spec.select34, %22\n %23 = and i32 %10, 8\n %24 = icmp ne i32 %23, 0\n %25 = zext i1 %24 to i64\n %spec.select36 = add i64 %spec.select35, %25\n %26 = urem i32 %10, 16\n %27 = icmp eq i32 %26, 0\n br i1 %27, label %29, label %28\n LBL_5:\n %32 = add i64 %spec.select36, 1\n store i64 %32, i64* %sv_4, align 8\n %33 = inttoptr i64 %spec.select36 to i8*\n %34 = load i8, i8* %33, align 1\n %35 = zext i8 %34 to i64\n store i64 %32, i64* %.reg2mem70\n store i64 %35, i64* %sv_3.0.reg2mem\n br label LBL_6\n LBL_6:\n %sv_3.0.reload = load i64, i64* %sv_3.0.reg2mem\n %.reload71 = load i64, i64* %.reg2mem70\n %36 = and i32 %10, 32\n %37 = icmp eq i32 %36, 0\n store i64 %.reload71, i64* %.reg2mem72\n store i64 %sv_3.0.reload, i64* %sv_3.1.reg2mem\n br i1 %37, label LBL_8, label LBL_7\n LBL_7:\n %38 = add i64 %.reload71, 1\n store i64 %38, i64* %sv_4, align 8\n %39 = inttoptr i64 %.reload71 to i8*\n %40 = load i8, i8* %39, align 1\n %41 = zext i8 %40 to i64\n %42 = mul i64 %41, 256\n %43 = or i64 %42, %sv_3.0.reload\n store i64 %38, i64* %.reg2mem72\n store i64 %43, i64* %sv_3.1.reg2mem\n br label LBL_8\n LBL_8:\n %sv_3.1.reload = load i64, i64* %sv_3.1.reg2mem\n %.reload73 = load i64, i64* %.reg2mem72\n %44 = icmp eq i64 %sv_3.1.reload, 0\n %45 = icmp eq i1 %44, false\n %spec.select = select i1 %45, i64 %sv_3.1.reload, i64 65536\n %46 = and i32 %10, 64\n %47 = icmp eq i32 %46, 0\n %48 = icmp eq i1 %47, false\n %49 = select i1 %48, i64 0, i64 %spec.select\n %sv_2.0 = add i64 %49, %sv_2.1.ph16.reload\n %50 = add i64 %spec.select, %sv_1.06.reload\n %51 = icmp ugt i64 %2, %.reload73\n store i64 %.reload73, i64* %.reg2mem\n store i64 %sv_0.07.reload, i64* %sv_0.0.ph17.reg2mem\n store i64 %sv_2.0, i64* %sv_2.1.ph16.reg2mem\n store i64 %50, i64* %sv_1.0.ph15.reg2mem\n store i64 %sv_2.0, i64* %sv_2.1.ph.lcssa.reg2mem\n store i64 %50, i64* %sv_1.0.lcssa.reg2mem\n store i64 %sv_0.07.reload, i64* %sv_0.0.lcssa.reg2mem\n store i64 %.reload73, i64* %.lcssa.reg2mem\n br i1 %51, label LBL_2, label LBL_10\n LBL_9:\n %52 = urem i32 %10, 256\n %53 = zext i32 %52 to i64\n %54 = add i64 %sv_0.07.reload, %53\n %55 = add i64 %sv_1.06.reload, %53\n %56 = add i64 %7, %53\n store i64 %56, i64* %sv_4, align 8\n %57 = icmp ugt i64 %2, %56\n store i64 %56, i64* %.reg2mem68\n store i64 %54, i64* %sv_0.07.reg2mem\n store i64 %55, i64* %sv_1.06.reg2mem\n store i64 %sv_2.1.ph16.reload, i64* %sv_2.1.ph.lcssa.reg2mem\n store i64 %55, i64* %sv_1.0.lcssa.reg2mem\n store i64 %54, i64* %sv_0.0.lcssa.reg2mem\n store i64 %56, i64* %.lcssa.reg2mem\n br i1 %57, label LBL_3, label LBL_10\n LBL_10:\n %.lcssa.reload = load i64, i64* %.lcssa.reg2mem\n %sv_1.0.lcssa.reload = load i64, i64* %sv_1.0.lcssa.reg2mem\n %58 = icmp eq i64 %2, %.lcssa.reload\n %59 = icmp eq i64 %sv_1.0.lcssa.reload, %4\n %or.cond = icmp eq i1 %59, %58\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %or.cond, label LBL_11, label LBL_12\n LBL_11:\n %sv_0.0.lcssa.reload = load i64, i64* %sv_0.0.lcssa.reg2mem\n %sv_2.1.ph.lcssa.reload = load i64, i64* %sv_2.1.ph.lcssa.reg2mem\n %60 = sub i64 %3, %sv_2.1.ph.lcssa.reload\n %61 = add i64 %60, %sv_0.0.lcssa.reload\n store i64 %61, i64* %rax.0.reg2mem\n br label LBL_12\n LBL_12:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %.reload73, { 0, 2, 1 }\n uselistorder i64 %sv_3.1.reload, { 1, 0 }\n uselistorder i64 %.reload71, { 2, 1, 0 }\n uselistorder i64 %sv_3.0.reload, { 1, 0 }\n uselistorder i64 %spec.select36, { 2, 3, 0, 1 }\n uselistorder i32 %10, { 0, 3, 4, 5, 1, 6, 7, 8, 2 }\n uselistorder i64 %7, { 1, 0, 2 }\n uselistorder i64 %.reload69, { 2, 0, 1 }\n uselistorder i64 %sv_0.07.reload, { 1, 0, 2 }\n uselistorder i64 %2, { 3, 2, 1, 0 }\n uselistorder i64* %sv_4, { 4, 5, 6, 0, 7, 1, 2, 3, 8 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_0.0.ph17.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_2.1.ph16.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_1.0.ph15.reg2mem, { 2, 0, 1 }\n uselistorder i64* %.reg2mem68, { 1, 0, 2 }\n uselistorder i64* %sv_0.07.reg2mem, { 1, 0, 2 }\n uselistorder i64* %sv_1.06.reg2mem, { 1, 0, 2 }\n uselistorder i64* %sv_2.1.ph.lcssa.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %sv_1.0.lcssa.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %sv_0.0.lcssa.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %.lcssa.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i32 16, { 1, 0 }\n uselistorder i32 0, { 1, 2, 3, 0, 4, 5, 6, 7 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i64 (i64*)* @get_hdr_size, { 1, 0 }\n uselistorder label LBL_12, { 2, 0, 1 }\n uselistorder label LBL_10, { 1, 0, 2 }\n uselistorder label %29, { 1, 0 }\n uselistorder label LBL_3, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",28        "label": "1"29    },30    {31        "dataset": "CompRealVul",32        "file": "normalize_samples_2334",33        "fun_name": "normalize_samples",34        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0, i64 %0, i64 256)\n %2 = trunc i64 %1 to i32\n %3 = sub i32 14, %2\n %4 = call i64 @FUNC(i64 %0, i64 256, i32 %3)\n %5 = add i32 %3, 6\n %6 = zext i32 %5 to i64\n ret i64 %6\n\n uselistorder i64 %0, { 0, 2, 1 }\n }",35        "label": "0"36    },37    {38        "dataset": "CompRealVul",39        "file": "migration_incoming_state_destroy_1334",40        "fun_name": "migration_incoming_state_destroy",41        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC()\n %1 = inttoptr i64 %0 to i64*\n %2 = load i64, i64* %1, align 8\n %3 = icmp eq i64 %2, 0\n br i1 %3, label LBL_2, label LBL_1\n LBL_1:\n %4 = call i64 @FUNC(i64 %2)\n store i64 0, i64* %1, align 8\n br label LBL_2\n LBL_2:\n %5 = add i64 %0, 8\n %6 = call i64 @FUNC(i64 %5)\n ret i64 %6\n }",42        "label": "0"43    },44    {45        "dataset": "CompRealVul",46        "file": "do_incoming_6951",47        "fun_name": "do_incoming",48        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = mul i64 %arg2, 4\n %2 = and i64 %1, 17179869180\n %3 = add i64 %2, %0\n %4 = inttoptr i64 %3 to i32*\n %5 = load i32, i32* %4, align 4\n %6 = icmp eq i32 %5, 1\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %6, label LBL_1, label LBL_7\n LBL_1:\n %7 = add i64 %0, 84\n %8 = inttoptr i64 %7 to i32*\n %9 = load i32, i32* %8, align 4\n %10 = zext i32 %9 to i64\n %11 = call i64 @FUNC(i64 %3, i64 %10)\n %12 = trunc i64 %11 to i32\n %13 = icmp eq i32 %12, -1\n %14 = icmp eq i1 %13, false\n br i1 %14, label LBL_3, label LBL_2\n LBL_2:\n %15 = call i64 @FUNC(i64 %3)\n store i64 4294967295, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_3:\n %16 = icmp eq i32 %12, 1\n %17 = icmp eq i1 %16, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %17, label LBL_7, label LBL_4\n LBL_4:\n %18 = add i64 %0, 80\n %19 = inttoptr i64 %18 to i32*\n %20 = load i32, i32* %19, align 4\n %21 = urem i32 %20, 10\n %22 = mul i32 %21, 4\n %23 = zext i32 %22 to i64\n %24 = add i64 %0, 40\n %25 = add i64 %24, %23\n %26 = inttoptr i64 %25 to i32*\n %27 = load i32, i32* %26, align 4\n %28 = icmp eq i32 %27, 0\n br i1 %28, label LBL_6, label LBL_5\n LBL_5:\n %29 = call i64 @FUNC(i64 %25)\n br label LBL_6\n LBL_6:\n %30 = call i64 @FUNC(i64 %25, i64 %3)\n %31 = load i32, i32* %19, align 4\n %32 = add i32 %31, 1\n store i32 %32, i32* %19, align 4\n %33 = zext i32 %21 to i64\n store i64 %33, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_7:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %21, { 1, 0 }\n uselistorder i32* %19, { 1, 0, 2 }\n uselistorder i64 %3, { 1, 0, 2, 3 }\n uselistorder i64 %0, { 1, 2, 3, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 4, 2, 1, 3 }\n uselistorder i64 (i64)* @kill_TCP_secure_connection, { 1, 0 }\n uselistorder label LBL_7, { 3, 1, 0, 2 }\n }",49        "label": "0"50    },51    {52        "dataset": "CompRealVul",53        "file": "kvm_dev_ioctl_create_vm_10853",54        "fun_name": "kvm_dev_ioctl_create_vm",55        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = call i64 @FUNC(i64 %arg1)\n %1 = icmp eq i64 %0, 0\n %2 = icmp eq i1 %1, false\n store i64 4294967274, i64* %rax.0.reg2mem\n br i1 %2, label LBL_1, label LBL_8\n LBL_1:\n %3 = call i64 @FUNC(i64 0)\n %4 = trunc i64 %3 to i32\n %5 = icmp slt i32 %4, 0\n %6 = icmp eq i1 %5, false\n br i1 %6, label LBL_3, label LBL_2\n LBL_2:\n %7 = call i64 @FUNC(i64 %0)\n %8 = and i64 %3, 4294967295\n store i64 %8, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_3:\n %9 = call i64 @FUNC(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @gv_0, i64 0, i64 0), i64* nonnull @gv_1, i64 %0, i64 0)\n %10 = icmp eq i64 %9, 0\n %11 = icmp eq i1 %10, false\n %12 = and i64 %3, 4294967295\n br i1 %11, label LBL_5, label LBL_4\n LBL_4:\n %13 = call i64 @FUNC(i64 %12)\n %14 = call i64 @FUNC(i64 %0)\n store i64 4294967274, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_5:\n %15 = call i64 @FUNC(i64 %0, i64 %12)\n %16 = trunc i64 %15 to i32\n %17 = icmp slt i32 %16, 0\n %18 = icmp eq i1 %17, false\n br i1 %18, label LBL_7, label LBL_6\n LBL_6:\n %19 = call i64 @FUNC(i64 %12)\n %20 = call i64 @FUNC(i64 %9)\n store i64 4294967284, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_7:\n %21 = call i64 @FUNC(i64 %12, i64 %9)\n store i64 %12, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_8:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %12, { 0, 1, 2, 4, 3 }\n uselistorder i64 %9, { 1, 0, 2 }\n uselistorder i64 %0, { 1, 0, 2, 3, 4 }\n uselistorder i64* %rax.0.reg2mem, { 0, 5, 4, 3, 2, 1 }\n uselistorder i64 (i64)* @put_unused_fd, { 1, 0 }\n uselistorder i64 (i64)* @kvm_put_kvm, { 1, 0 }\n uselistorder i64 4294967274, { 1, 0 }\n uselistorder i32 1, { 2, 1, 3, 0, 4 }\n uselistorder label LBL_8, { 1, 2, 3, 4, 0 }\n }",56        "label": "0"57    },58    {59        "dataset": "CompRealVul",60        "file": "inject_emulated_exception_7958",61        "fun_name": "inject_emulated_exception",62        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = trunc i64 %1 to i32\n %3 = icmp eq i32 %2, 14\n %4 = icmp eq i1 %3, false\n %5 = ptrtoint i32* %arg1 to i64\n br i1 %4, label LBL_2, label LBL_1\n LBL_1:\n %6 = call i64 @FUNC(i64 %5, i64 %5)\n store i64 %6, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_2:\n %7 = add i64 %5, 4\n %8 = inttoptr i64 %7 to i8*\n %9 = load i8, i8* %8, align 1\n %10 = icmp eq i8 %9, 0\n br i1 %10, label LBL_4, label LBL_3\n LBL_3:\n %11 = add i64 %5, 8\n %12 = inttoptr i64 %11 to i32*\n %13 = load i32, i32* %12, align 4\n %14 = and i64 %1, 4294967295\n %15 = call i64 @FUNC(i64 %5, i64 %14, i32 %13)\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_4:\n %16 = and i64 %1, 4294967295\n %17 = call i64 @FUNC(i64 %5, i64 %16)\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %5, { 2, 1, 3, 5, 4, 0 }\n uselistorder i64 %1, { 2, 1, 0 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1, 3 }\n uselistorder label LBL_5, { 1, 0, 2 }\n }",63        "label": "0"64    },65    {66        "dataset": "CompRealVul",67        "file": "shadow_client_refresh_rect_5420",68        "fun_name": "shadow_client_refresh_rect",69        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %.reg2mem8 = alloca i64\n %.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %sv_0 = alloca i64, align 8\n store i64 0, i64* %sv_0, align 8\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = call i64* @calloc(i32 1, i32 16)\n %5 = ptrtoint i64* %4 to i64\n %6 = icmp ne i64* %4, null\n %7 = icmp eq i64 %arg3, 0\n %8 = icmp eq i1 %7, false\n %or.cond = icmp eq i1 %8, %6\n br i1 %or.cond, label LBL_3, label LBL_1\n LBL_1:\n %9 = icmp eq i64* %4, null\n store i64 %5, i64* %rax.0.reg2mem\n br i1 %9, label LBL_9, label LBL_2\n LBL_2:\n call void @free(i64* nonnull %4)\n store i64 ptrtoint (i32* @0 to i64), i64* %rax.0.reg2mem\n br label LBL_9\n LBL_3:\n %10 = trunc i64 %arg2 to i32\n %11 = urem i32 %10, 256\n %12 = bitcast i64* %4 to i32*\n store i32 %11, i32* %12, align 4\n %13 = icmp eq i32 %11, 0\n br i1 %13, label LBL_3.LBL_8_crit_edge, label LBL_5\n LBL_4:\n %.pre3 = add i64 %5, 8\n %.pre4 = inttoptr i64 %.pre3 to i64*\n %.pre7 = load i64, i64* %.pre4, align 8\n store i64 %.pre7, i64* %.reg2mem\n store i64 0, i64* %.reg2mem8\n br label LBL_8\n LBL_5:\n %14 = call i64* @calloc(i32 %11, i32 16)\n %15 = ptrtoint i64* %14 to i64\n %16 = add i64 %5, 8\n %17 = inttoptr i64 %16 to i64*\n store i64 %15, i64* %17, align 8\n %18 = icmp eq i64* %14, null\n %19 = icmp eq i1 %18, false\n br i1 %19, label LBL_5.LBL_8_crit_edge, label LBL_7\n LBL_6:\n %.pre = load i32, i32* %12, align 4\n %phitmp = zext i32 %.pre to i64\n %phitmp6 = mul i64 %phitmp, 16\n store i64 %15, i64* %.reg2mem\n store i64 %phitmp6, i64* %.reg2mem8\n br label LBL_8\n LBL_7:\n call void @free(i64* nonnull %4)\n store i64 ptrtoint (i32* @0 to i64), i64* %rax.0.reg2mem\n br label LBL_9\n LBL_8:\n %.reload9 = load i64, i64* %.reg2mem8\n %.reload = load i64, i64* %.reg2mem\n %20 = call i64 @FUNC(i64 %.reload, i64 %arg3, i64 %.reload9)\n store i64 1, i64* %sv_0, align 8\n %21 = inttoptr i64 %3 to i64*\n %22 = load i64, i64* %21, align 8\n %23 = call i64 @FUNC(i64 %22, i64* nonnull %sv_0)\n store i64 %23, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_9:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %11, { 1, 2, 0 }\n uselistorder i64 %5, { 2, 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 1, 3, 4 }\n uselistorder void (i64*)* @free, { 1, 0 }\n uselistorder i1 false, { 1, 0 }\n uselistorder i64* (i32, i32)* @calloc, { 1, 0 }\n uselistorder i64 8, { 1, 0, 2 }\n uselistorder i64 %arg3, { 1, 0 }\n uselistorder label LBL_9, { 2, 3, 1, 0 }\n uselistorder label LBL_8, { 1, 0 }\n }",70        "label": "0"71    },72    {73        "dataset": "CompRealVul",74        "file": "ssh_buffer_add_data_5659",75        "fun_name": "ssh_buffer_add_data",76        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i32 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = icmp eq i64* %arg1, null\n %3 = icmp eq i1 %2, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %3, label LBL_1, label LBL_8\n LBL_1:\n %4 = ptrtoint i64* %arg1 to i64\n %5 = call i64 @FUNC(i64 %4)\n %6 = icmp eq i64 %arg2, 0\n %7 = icmp eq i1 %6, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %7, label LBL_2, label LBL_8\n LBL_2:\n %8 = trunc i64 %1 to i32\n %9 = add i32 %8, %arg3\n %10 = icmp ugt i32 %9, %arg3\n %11 = icmp eq i32 %8, 0\n %12 = or i1 %11, %10\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %12, label LBL_3, label LBL_8\n LBL_3:\n %13 = add i64 %4, 4\n %14 = inttoptr i64 %13 to i32*\n %15 = load i32, i32* %14, align 4\n %16 = icmp ult i32 %15, %9\n %17 = icmp eq i1 %16, false\n br i1 %17, label LBL_7, label LBL_4\n LBL_4:\n %18 = add i64 %4, 8\n %19 = inttoptr i64 %18 to i32*\n %20 = load i32, i32* %19, align 4\n %21 = icmp eq i32 %20, 0\n br i1 %21, label LBL_6, label LBL_5\n LBL_5:\n %22 = call i64 @FUNC(i64 %4)\n br label LBL_6\n LBL_6:\n %23 = zext i32 %9 to i64\n %24 = call i64 @FUNC(i64 %4, i64 %23)\n %25 = trunc i64 %24 to i32\n %26 = icmp slt i32 %25, 0\n %27 = icmp eq i1 %26, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %27, label LBL_7, label LBL_8\n LBL_7:\n %28 = add i64 %4, 16\n %29 = inttoptr i64 %28 to i64*\n %30 = load i64, i64* %29, align 8\n %31 = and i64 %1, 4294967295\n %32 = add i64 %30, %31\n %33 = inttoptr i64 %32 to i64*\n %34 = inttoptr i64 %arg2 to i64*\n %35 = call i64* @memcpy(i64* %33, i64* %34, i32 %arg3)\n %36 = bitcast i64* %arg1 to i32*\n store i32 %9, i32* %36, align 4\n %37 = call i64 @FUNC(i64 %4)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_8:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %9, { 0, 1, 3, 2 }\n uselistorder i32 %8, { 1, 0 }\n uselistorder i64 %4, { 1, 2, 0, 5, 4, 3, 6 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 5, 1, 2, 3, 4 }\n uselistorder i64 (i64)* @buffer_verify, { 1, 0 }\n uselistorder i32 %arg3, { 2, 1, 0 }\n uselistorder i64* %arg1, { 0, 2, 1 }\n uselistorder label LBL_8, { 4, 0, 1, 2, 3 }\n }",77        "label": "0"78    },79    {80        "dataset": "CompRealVul",81        "file": "ctnetlink_setup_nat_4987",82        "fun_name": "ctnetlink_setup_nat",83        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = icmp eq i64* %arg2, null\n %2 = icmp eq i1 %1, false\n br i1 %2, label LBL_2, label LBL_1\n LBL_1:\n %3 = add i64 %0, 8\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n %6 = icmp eq i64 %5, 0\n %7 = icmp eq i1 %6, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %7, label LBL_2, label LBL_5\n LBL_2:\n %8 = ptrtoint i64* %arg1 to i64\n %9 = call i64 @FUNC(i64 %8, i64 0, i64 %0)\n %10 = trunc i64 %9 to i32\n %11 = icmp slt i32 %10, 0\n %12 = icmp eq i1 %11, false\n br i1 %12, label LBL_4, label LBL_3\n LBL_3:\n %13 = and i64 %9, 4294967295\n store i64 %13, i64* %rax.0.reg2mem\n br label LBL_5\n LBL_4:\n %14 = add i64 %0, 8\n %15 = inttoptr i64 %14 to i64*\n %16 = load i64, i64* %15, align 8\n %17 = call i64 @FUNC(i64 %8, i64 1, i64 %16)\n %18 = and i64 %17, 4294967295\n store i64 %18, i64* %rax.0.reg2mem\n br label LBL_5\n LBL_5:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64 (i64, i64, i64)* @ctnetlink_parse_nat_setup, { 1, 0 }\n uselistorder label LBL_5, { 1, 2, 0 }\n }",84        "label": "0"85    },86    {87        "dataset": "CompRealVul",88        "file": "rsvp_destroy_10387",89        "fun_name": "rsvp_destroy",90        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %indvars.iv4.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %.reg2mem7 = alloca i64\n %.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0, i64 0)\n %2 = icmp eq i64 %1, 0\n store i64 0, i64* %indvars.iv4.reg2mem\n store i64 0, i64* %rax.0.reg2mem\n br i1 %2, label LBL_9, label LBL_7\n LBL_1:\n %.reload = load i64, i64* %.reg2mem\n %3 = inttoptr i64 %.reload to i64*\n %4 = load i64, i64* %3, align 8\n store i64 %4, i64* %24, align 8\n %5 = add i64 %.reload, 8\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_4\n LBL_2:\n %.reload8 = load i64, i64* %.reg2mem7\n %6 = inttoptr i64 %.reload8 to i64*\n %7 = load i64, i64* %6, align 8\n store i64 %7, i64* %14, align 8\n %8 = call i64 @FUNC(i64 %0, i64 %.reload8)\n %9 = load i64, i64* %14, align 8\n %10 = icmp eq i64 %9, 0\n %11 = icmp eq i1 %10, false\n store i64 %9, i64* %.reg2mem7\n br i1 %11, label LBL_2, label LBL_3\n LBL_3:\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 17\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_5, label LBL_4\n LBL_4:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %12 = mul i64 %indvars.iv.reload, 8\n %13 = add i64 %5, %12\n %14 = inttoptr i64 %13 to i64*\n %15 = load i64, i64* %14, align 8\n %16 = icmp eq i64 %15, 0\n %17 = icmp eq i1 %16, false\n store i64 %15, i64* %.reg2mem7\n br i1 %17, label LBL_2, label LBL_3\n LBL_5:\n %18 = call i64 @FUNC(i64 %.reload)\n %19 = load i64, i64* %24, align 8\n %20 = icmp eq i64 %19, 0\n %21 = icmp eq i1 %20, false\n store i64 %19, i64* %.reg2mem\n br i1 %21, label LBL_1, label LBL_6\n LBL_6:\n %indvars.iv.next5 = add nuw nsw i64 %indvars.iv4.reload, 1\n %exitcond6 = icmp eq i64 %indvars.iv.next5, 256\n store i64 %indvars.iv.next5, i64* %indvars.iv4.reg2mem\n br i1 %exitcond6, label LBL_8, label LBL_7\n LBL_7:\n %indvars.iv4.reload = load i64, i64* %indvars.iv4.reg2mem\n %22 = mul i64 %indvars.iv4.reload, 8\n %23 = add i64 %22, %1\n %24 = inttoptr i64 %23 to i64*\n %25 = load i64, i64* %24, align 8\n %26 = icmp eq i64 %25, 0\n %27 = icmp eq i1 %26, false\n store i64 %25, i64* %.reg2mem\n br i1 %27, label LBL_1, label LBL_6\n LBL_8:\n %28 = call i64 @FUNC(i64 %1)\n store i64 %28, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_9:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %indvars.iv4.reload, { 1, 0 }\n uselistorder i64 %indvars.iv.reload, { 1, 0 }\n uselistorder i64 %1, { 1, 0, 2 }\n uselistorder i64* %.reg2mem, { 1, 2, 0 }\n uselistorder i64* %.reg2mem7, { 1, 2, 0 }\n uselistorder i64* %indvars.iv4.reg2mem, { 0, 2, 1 }\n uselistorder i1 false, { 0, 3, 1, 2 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_7, { 1, 0 }\n uselistorder label LBL_6, { 1, 0 }\n uselistorder label LBL_3, { 1, 0 }\n }",91        "label": "0"92    },93    {94        "dataset": "CompRealVul",95        "file": "ff_rtp_send_h263_201",96        "fun_name": "ff_rtp_send_h263",97        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i32* %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.pre-phi.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i32\n %.pre-phi.reg2mem = alloca i64\n %sv_1.0.reg2mem = alloca i64\n %sv_2.0.reg2mem = alloca i32*\n %sv_2.15.reg2mem = alloca i32*\n %sv_1.17.reg2mem = alloca i64\n %.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %sext = mul i64 %arg3, 4294967296\n %2 = ashr exact i64 %sext, 32\n %3 = trunc i64 %2 to i32\n %4 = icmp eq i32 %3, 0\n %5 = icmp slt i32 %3, 0\n %6 = icmp eq i1 %5, false\n %7 = icmp eq i1 %4, false\n %8 = icmp eq i1 %6, %7\n br i1 %8, label LBL_2, label LBL_0.LBL_12_crit_edge\n LBL_1:\n %.pre9 = and i64 %1, 4294967295\n store i64 %.pre9, i64* %rax.0.pre-phi.reg2mem\n br label LBL_12\n LBL_2:\n %9 = ptrtoint i64* %arg1 to i64\n %10 = add i64 %9, 8\n %11 = inttoptr i64 %10 to i64*\n %12 = add i64 %1, 4294967294\n %13 = and i64 %12, 4294967295\n %14 = add i64 %9, 20\n %15 = inttoptr i64 %14 to i32*\n %16 = add i64 %9, 16\n %17 = inttoptr i64 %16 to i32*\n store i32 %3, i32* %.reg2mem\n store i64 %2, i64* %sv_1.17.reg2mem\n store i32* %arg2, i32** %sv_2.15.reg2mem\n br label LBL_3\n LBL_3:\n %sv_2.15.reload = load i32*, i32** %sv_2.15.reg2mem\n %sv_1.17.reload = load i64, i64* %sv_1.17.reg2mem\n %.reload = load i32, i32* %.reg2mem\n %18 = load i64, i64* %11, align 8\n %19 = icmp slt i32 %.reload, 2\n br i1 %19, label LBL_7, label LBL_4\n LBL_4:\n %20 = bitcast i32* %sv_2.15.reload to i8*\n %21 = load i8, i8* %20, align 1\n %22 = icmp eq i8 %21, 0\n %23 = icmp eq i1 %22, false\n br i1 %23, label LBL_7, label LBL_5\n LBL_5:\n %24 = ptrtoint i32* %sv_2.15.reload to i64\n %25 = add i64 %24, 1\n %26 = inttoptr i64 %25 to i8*\n %27 = load i8, i8* %26, align 1\n %28 = icmp eq i8 %27, 0\n %29 = icmp eq i1 %28, false\n br i1 %29, label LBL_7, label LBL_6\n LBL_6:\n %30 = inttoptr i64 %18 to i8*\n store i8 4, i8* %30, align 1\n %31 = add i64 %24, 2\n %32 = inttoptr i64 %31 to i32*\n %33 = mul i64 %sv_1.17.reload, 4294967296\n %sext3 = add i64 %33, -8589934592\n %34 = ashr exact i64 %sext3, 32\n store i32* %32, i32** %sv_2.0.reg2mem\n store i64 %34, i64* %sv_1.0.reg2mem\n br label LBL_8\n LBL_7:\n %35 = inttoptr i64 %18 to i8*\n store i8 0, i8* %35, align 1\n store i32* %sv_2.15.reload, i32** %sv_2.0.reg2mem\n store i64 %sv_1.17.reload, i64* %sv_1.0.reg2mem\n br label LBL_8\n LBL_8:\n %sv_1.0.reload = load i64, i64* %sv_1.0.reg2mem\n %sv_2.0.reload = load i32*, i32** %sv_2.0.reg2mem\n %sv_3.0 = add i64 %18, 1\n %36 = inttoptr i64 %sv_3.0 to i8*\n store i8 0, i8* %36, align 1\n %37 = and i64 %sv_1.0.reload, 4294967295\n %38 = call i64 @FUNC(i64 %13, i64 %37)\n %39 = trunc i64 %38 to i32\n %40 = trunc i64 %sv_1.0.reload to i32\n %41 = icmp slt i32 %39, %40\n br i1 %41, label LBL_10, label LBL_8.LBL_11_crit_edge\n LBL_9:\n %.pre = ptrtoint i32* %sv_2.0.reload to i64\n store i64 %.pre, i64* %.pre-phi.reg2mem\n store i32 %39, i32* %sv_0.0.reg2mem\n br label LBL_11\n LBL_10:\n %sext4 = mul i64 %38, 4294967296\n %42 = ashr exact i64 %sext4, 32\n %43 = ptrtoint i32* %sv_2.0.reload to i64\n %44 = add i64 %42, %43\n %45 = call i64 @FUNC(i64 %43, i64 %44)\n %46 = sub i64 %45, %43\n %47 = trunc i64 %46 to i32\n store i64 %43, i64* %.pre-phi.reg2mem\n store i32 %47, i32* %sv_0.0.reg2mem\n br label LBL_11\n LBL_11:\n %48 = add i64 %18, 2\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %.pre-phi.reload = load i64, i64* %.pre-phi.reg2mem\n %49 = inttoptr i64 %48 to i64*\n %50 = bitcast i32* %sv_2.0.reload to i64*\n %51 = call i64* @memcpy(i64* %49, i64* %50, i32 %sv_0.0.reload)\n %52 = zext i32 %sv_0.0.reload to i64\n %53 = add i64 %48, %52\n %54 = load i32, i32* %15, align 4\n store i32 %54, i32* %17, align 4\n %55 = icmp eq i32 %sv_0.0.reload, %40\n %56 = load i64, i64* %11, align 8\n %57 = sub i64 %53, %56\n %58 = zext i1 %55 to i64\n %59 = and i64 %57, 4294967295\n %60 = call i64 @FUNC(i64 %9, i64 %56, i64 %59, i64 %58)\n %61 = sext i32 %sv_0.0.reload to i64\n %62 = add i64 %.pre-phi.reload, %61\n %63 = inttoptr i64 %62 to i32*\n %64 = sub i32 %40, %sv_0.0.reload\n %65 = sext i32 %64 to i64\n %66 = icmp eq i32 %64, 0\n %67 = icmp slt i32 %64, 0\n %68 = icmp eq i1 %67, false\n %69 = icmp eq i1 %66, false\n %70 = icmp eq i1 %68, %69\n store i32 %64, i32* %.reg2mem\n store i64 %65, i64* %sv_1.17.reg2mem\n store i32* %63, i32** %sv_2.15.reg2mem\n store i64 %52, i64* %rax.0.pre-phi.reg2mem\n br i1 %70, label LBL_3, label LBL_12\n LBL_12:\n %rax.0.pre-phi.reload = load i64, i64* %rax.0.pre-phi.reg2mem\n ret i64 %rax.0.pre-phi.reload\n\n uselistorder i32 %64, { 0, 2, 1, 3 }\n uselistorder i64 %56, { 1, 0 }\n uselistorder i32 %sv_0.0.reload, { 4, 3, 2, 0, 1 }\n uselistorder i64 %43, { 0, 2, 3, 1 }\n uselistorder i32* %sv_2.0.reload, { 1, 0, 2 }\n uselistorder i32* %sv_2.15.reload, { 0, 2, 1 }\n uselistorder i64 %9, { 0, 2, 1, 3 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i32* %.reg2mem, { 1, 0, 2 }\n uselistorder i64* %sv_1.17.reg2mem, { 1, 0, 2 }\n uselistorder i32** %sv_2.15.reg2mem, { 1, 0, 2 }\n uselistorder i32** %sv_2.0.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_1.0.reg2mem, { 0, 2, 1 }\n uselistorder i64 4294967295, { 2, 3, 0, 1, 4, 5, 6 }\n uselistorder i1 false, { 5, 2, 3, 4, 0, 1 }\n uselistorder i32 0, { 2, 3, 0, 1, 4, 5, 6 }\n uselistorder label LBL_11, { 1, 0 }\n uselistorder label LBL_3, { 1, 0 }\n }",98        "label": "0"99    },100    {101        "dataset": "CompRealVul",102        "file": "readstr_upto_12082",103        "fun_name": "readstr_upto",104        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i8* %arg2) local_unnamed_addr {\n LBL_0:\n %.lcssa426.reg2mem = alloca i64\n %sext.lcssa27.reg2mem = alloca i64\n %.lcssa28.reg2mem = alloca i64\n %.reg2mem44 = alloca i64\n %.reg2mem = alloca i32\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = trunc i64 %1 to i32\n %3 = and i64 %1, 4294967295\n %4 = call i64 @FUNC(i64 %3, i64 %0)\n %sext5 = mul i64 %4, 4294967296\n %5 = ashr exact i64 %sext5, 32\n %6 = add i64 %5, %0\n %7 = icmp eq i32 %2, 0\n store i64 %6, i64* %.lcssa28.reg2mem\n store i64 %sext5, i64* %sext.lcssa27.reg2mem\n store i64 %3, i64* %.lcssa426.reg2mem\n br i1 %7, label LBL_6, label LBL_1\n LBL_1:\n %8 = ptrtoint i8* %arg2 to i64\n %9 = call i64 @FUNC(i64 %8, i64 %3)\n %10 = trunc i64 %9 to i32\n %11 = icmp eq i32 %10, 0\n store i32 %2, i32* %.reg2mem\n store i64 %6, i64* %.reg2mem44\n store i64 %6, i64* %.lcssa28.reg2mem\n store i64 %sext5, i64* %sext.lcssa27.reg2mem\n store i64 %3, i64* %.lcssa426.reg2mem\n br i1 %11, label LBL_2, label LBL_6\n LBL_2:\n %.reload45 = load i64, i64* %.reg2mem44\n %.reload = load i32, i32* %.reg2mem\n %12 = call i64 @FUNC(i64 %0)\n %13 = trunc i64 %12 to i32\n %14 = and i64 %12, 4294967295\n %15 = call i64 @FUNC(i64 %14, i64 %.reload45)\n %sext = mul i64 %15, 4294967296\n %16 = ashr exact i64 %sext, 32\n %17 = add i64 %16, %.reload45\n %18 = icmp eq i32 %13, 0\n br i1 %18, label LBL_4, label LBL_3\n LBL_3:\n %19 = call i64 @FUNC(i64 %8, i64 %14)\n %20 = trunc i64 %19 to i32\n %21 = icmp eq i32 %20, 0\n store i32 %13, i32* %.reg2mem\n store i64 %17, i64* %.reg2mem44\n br i1 %21, label LBL_2, label LBL_4\n LBL_4:\n %22 = add i64 %0, 2\n %23 = icmp eq i64 %17, %22\n %24 = icmp eq i32 %.reload, 92\n %25 = icmp eq i1 %24, %23\n store i64 %17, i64* %.lcssa28.reg2mem\n store i64 %sext, i64* %sext.lcssa27.reg2mem\n store i64 %14, i64* %.lcssa426.reg2mem\n br i1 %25, label LBL_5, label LBL_6\n LBL_5:\n %26 = inttoptr i64 %17 to i8*\n store i8 0, i8* %26, align 1\n br label LBL_7\n LBL_6:\n %.lcssa426.reload = load i64, i64* %.lcssa426.reg2mem\n %sext.lcssa27.reload = load i64, i64* %sext.lcssa27.reg2mem\n %.lcssa28.reload = load i64, i64* %.lcssa28.reg2mem\n %27 = call i64 @FUNC(i64 %0, i64 %.lcssa426.reload)\n %sext2 = sub i64 0, %sext.lcssa27.reload\n %28 = ashr exact i64 %sext2, 32\n %29 = add i64 %28, %.lcssa28.reload\n %30 = inttoptr i64 %29 to i8*\n store i8 0, i8* %30, align 1\n br label LBL_7\n LBL_7:\n ret i64 %0\n\n uselistorder i64 %17, { 3, 0, 2, 1 }\n uselistorder i64 %8, { 1, 0 }\n uselistorder i64 %6, { 0, 2, 1 }\n uselistorder i64 %3, { 0, 2, 1, 3 }\n uselistorder i64 %0, { 3, 4, 5, 6, 0, 1, 2 }\n uselistorder i32* %.reg2mem, { 2, 0, 1 }\n uselistorder i64* %.reg2mem44, { 2, 0, 1 }\n uselistorder i64* %.lcssa28.reg2mem, { 0, 3, 1, 2 }\n uselistorder i64* %sext.lcssa27.reg2mem, { 0, 3, 1, 2 }\n uselistorder i64* %.lcssa426.reg2mem, { 0, 3, 1, 2 }\n uselistorder i8 0, { 1, 2, 0 }\n uselistorder i64 2, { 1, 2, 0 }\n uselistorder i64 (i64, i64)* @is_one_of, { 1, 0 }\n uselistorder i32 0, { 2, 3, 0, 1 }\n uselistorder i64 32, { 1, 2, 0, 3 }\n uselistorder i64 (i64, i64)* @g_unichar_to_utf8, { 1, 0 }\n uselistorder i64 4294967295, { 1, 0 }\n uselistorder i64 (i64)* @inchar, { 1, 0 }\n uselistorder label LBL_6, { 2, 0, 1 }\n uselistorder label LBL_2, { 1, 0 }\n }",105        "label": "1"106    },107    {108        "dataset": "CompRealVul",109        "file": "hardware_enable_11418",110        "fun_name": "hardware_enable",111        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = call i64 @FUNC()\n %sext = mul i64 %2, 4294967296\n %3 = ashr exact i64 %sext, 29\n %4 = add i64 %3, ptrtoint (i64* @gv_0 to i64)\n %5 = inttoptr i64 %4 to i64*\n %6 = load i64, i64* %5, align 8\n %7 = call i64 @FUNC(i64 %6)\n %8 = call i64 @FUNC()\n %9 = and i64 %8, 8192\n %10 = icmp eq i64 %9, 0\n store i64 4294967280, i64* %storemerge.reg2mem\n br i1 %10, label LBL_1, label LBL_5\n LBL_1:\n %11 = add i64 %3, ptrtoint (i64* @gv_1 to i64)\n %12 = call i64 @FUNC(i64 %11)\n %13 = call i64 @FUNC(i64 58, i64 %1)\n %14 = call i64 @FUNC()\n %15 = trunc i64 %14 to i32\n %16 = icmp eq i32 %15, 0\n %spec.select = select i1 %16, i64 3, i64 7\n %17 = sub i64 0, %1\n %18 = sub i64 %17, 1\n %19 = and i64 %spec.select, %18\n %20 = icmp eq i64 %19, 0\n br i1 %20, label LBL_3, label LBL_2\n LBL_2:\n %21 = or i64 %spec.select, %1\n %22 = call i64 @FUNC(i64 58, i64 %21)\n br label LBL_3\n LBL_3:\n %23 = call i64 @FUNC()\n %24 = or i64 %23, 8192\n %25 = call i64 @FUNC(i64 %24)\n %26 = load i32, i32* @gv_2, align 4\n %27 = icmp eq i32 %26, 0\n store i64 0, i64* %storemerge.reg2mem\n br i1 %27, label LBL_5, label LBL_4\n LBL_4:\n %28 = call i64 @FUNC(i64 %7)\n %29 = call i64 @FUNC()\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %1, { 1, 2, 0 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1, 3 }\n uselistorder i32 0, { 1, 2, 0 }\n uselistorder i64 ()* @read_cr4, { 1, 0 }\n uselistorder i32 1, { 6, 5, 4, 3, 2, 1, 0 }\n uselistorder label LBL_5, { 1, 0, 2 }\n }",112        "label": "1"113    },114    {115        "dataset": "CompRealVul",116        "file": "bfa_attach_4258",117        "fun_name": "bfa_attach",118        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64* %arg3, i64* %arg4, i64* %arg5) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i32\n %indvars.iv.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg4 to i64\n %1 = bitcast i64* %arg1 to i32*\n store i32 0, i32* %1, align 4\n %2 = icmp ne i64* %arg3, null\n %3 = icmp ne i64* %arg4, null\n %not.or.cond = icmp eq i1 %2, %3\n %storemerge2 = zext i1 %not.or.cond to i64\n %4 = call i64 @FUNC(i64 %storemerge2)\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_1\n LBL_1:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %5 = mul i64 %indvars.iv.reload, 32\n %6 = add i64 %5, %0\n %7 = inttoptr i64 %6 to i64*\n %8 = load i64, i64* %7, align 8\n %9 = add i64 %6, 8\n %10 = inttoptr i64 %9 to i64*\n store i64 %8, i64* %10, align 8\n %11 = add i64 %6, 16\n %12 = inttoptr i64 %11 to i64*\n %13 = load i64, i64* %12, align 8\n %14 = add i64 %6, 24\n %15 = inttoptr i64 %14 to i64*\n store i64 %13, i64* %15, align 8\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 10\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_2, label LBL_1\n LBL_2:\n %16 = ptrtoint i64* %arg3 to i64\n %17 = ptrtoint i64* %arg5 to i64\n %18 = ptrtoint i64* %arg1 to i64\n %19 = call i64 @FUNC(i64 %18, i64 %arg2, i64 %16, i64 %0, i64 %17)\n store i32 0, i32* %storemerge.reg2mem\n br label LBL_3\n LBL_3:\n %storemerge.reload = load i32, i32* %storemerge.reg2mem\n %20 = sext i32 %storemerge.reload to i64\n %21 = mul i64 %20, 8\n %22 = add i64 %21, ptrtoint (i64* @gv_0 to i64)\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %25 = icmp eq i64 %24, 0\n %26 = icmp eq i1 %25, false\n %27 = add i32 %storemerge.reload, 1\n store i32 %27, i32* %storemerge.reg2mem\n br i1 %26, label LBL_3, label LBL_4\n LBL_4:\n %28 = call i64 @FUNC(i64 %18, i64 %0)\n ret i64 %28\n\n uselistorder i32 %storemerge.reload, { 1, 0 }\n uselistorder i64 %0, { 1, 2, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i32* %storemerge.reg2mem, { 2, 0, 1 }\n uselistorder i64* %arg3, { 1, 0 }\n uselistorder i64* %arg1, { 1, 0 }\n }",119        "label": "0"120    },121    {122        "dataset": "CompRealVul",123        "file": "_get_suspend_job_lock_8680",124        "fun_name": "_get_suspend_job_lock",125        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge2.in.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %sv_1.0.reg2mem = alloca i32\n %sv_1.15.reg2mem = alloca i32\n %storemerge6.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %0 = call i64 @FUNC(i64 4210828)\n %1 = load i32, i32* @gv_0, align 4\n %2 = icmp eq i32 %1, 0\n %.pre = trunc i64 %arg1 to i32\n br i1 %2, label LBL_9, label LBL_1\n LBL_1:\n %3 = zext i32 %1 to i64\n store i64 0, i64* %.reg2mem\n store i32 0, i32* %storemerge6.reg2mem\n store i32 -1, i32* %sv_1.15.reg2mem\n br label LBL_2\n LBL_2:\n %storemerge6.reload = load i32, i32* %storemerge6.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %4 = mul i64 %.reload, 4\n %5 = add i64 %4, ptrtoint (i32** @gv_1 to i64)\n %6 = inttoptr i64 %5 to i32*\n %7 = load i32, i32* %6, align 4\n %8 = icmp eq i32 %7, 0\n %9 = icmp eq i1 %8, false\n store i32 %storemerge6.reload, i32* %sv_1.0.reg2mem\n br i1 %9, label LBL_3, label LBL_5\n LBL_3:\n %sv_1.15.reload = load i32, i32* %sv_1.15.reg2mem\n %10 = icmp eq i32 %7, %.pre\n %11 = icmp eq i1 %10, false\n store i32 %sv_1.15.reload, i32* %sv_1.0.reg2mem\n br i1 %11, label LBL_5, label LBL_4\n LBL_4:\n %12 = call i64 @FUNC(i64* nonnull @gv_2)\n store i64 0, i64* %storemerge2.in.reg2mem\n br label LBL_13\n LBL_5:\n %sv_1.0.reload = load i32, i32* %sv_1.0.reg2mem\n %13 = add i32 %storemerge6.reload, 1\n %14 = sext i32 %13 to i64\n %15 = icmp slt i64 %14, %3\n store i64 %14, i64* %.reg2mem\n store i32 %13, i32* %storemerge6.reg2mem\n store i32 %sv_1.0.reload, i32* %sv_1.15.reg2mem\n br i1 %15, label LBL_2, label LBL_6\n LBL_6:\n %16 = icmp eq i32 %sv_1.0.reload, -1\n br i1 %16, label LBL_8, label LBL_7\n LBL_7:\n %17 = sext i32 %sv_1.0.reload to i64\n %18 = mul i64 %17, 4\n %19 = add i64 %18, ptrtoint (i32** @gv_1 to i64)\n %20 = inttoptr i64 %19 to i32*\n store i32 %.pre, i32* %20, align 4\n store i64 1, i64* %sv_0.0.reg2mem\n br label LBL_12\n LBL_8:\n %21 = icmp sgt i32 %1, 9\n br i1 %21, label LBL_10, label LBL_9\n LBL_9:\n store i32 ptrtoint (i64* @gv_3 to i32), i32* @gv_0, align 4\n %22 = sext i32 %1 to i64\n %23 = mul i64 %22, 4\n %24 = add i64 %23, ptrtoint (i32** @gv_1 to i64)\n %25 = inttoptr i64 %24 to i32*\n store i32 %.pre, i32* %25, align 4\n store i64 1, i64* %sv_0.0.reg2mem\n br label LBL_12\n LBL_10:\n %26 = load i8, i8* bitcast (i64* @gv_2 to i8*), align 8\n %27 = icmp eq i8 %26, 1\n store i64 0, i64* %sv_0.0.reg2mem\n br i1 %27, label LBL_12, label LBL_11\n LBL_11:\n %28 = call i64 @FUNC(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @gv_4, i64 0, i64 0), i64 10)\n store i8 1, i8* bitcast (i64* @gv_2 to i8*), align 8\n store i64 0, i64* %sv_0.0.reg2mem\n br label LBL_12\n LBL_12:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %29 = call i64 @FUNC(i64* nonnull @gv_2)\n store i64 %sv_0.0.reload, i64* %storemerge2.in.reg2mem\n br label LBL_13\n LBL_13:\n %storemerge2.in.reload = load i64, i64* %storemerge2.in.reg2mem\n %storemerge2 = and i64 %storemerge2.in.reload, 4294967295\n ret i64 %storemerge2\n\n uselistorder i32 %storemerge6.reload, { 1, 0 }\n uselistorder i32 %.pre, { 0, 2, 1 }\n uselistorder i64* %.reg2mem, { 1, 0, 2 }\n uselistorder i32* %storemerge6.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_1.15.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_1.0.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_0.0.reg2mem, { 0, 3, 4, 2, 1 }\n uselistorder i8 1, { 1, 0 }\n uselistorder i64 (i64*)* @slurm_mutex_unlock, { 1, 0 }\n uselistorder i64* @gv_2, { 1, 2, 0 }\n uselistorder i64 ptrtoint (i32** @gv_1 to i64), { 1, 2, 0 }\n uselistorder i32 -1, { 1, 0 }\n uselistorder i32 0, { 3, 0, 1, 2 }\n uselistorder i32* @gv_0, { 1, 0 }\n uselistorder i32 1, { 8, 7, 6, 5, 4, 3, 2, 1, 0 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_5, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",126        "label": "0"127    },128    {129        "dataset": "CompRealVul",130        "file": "virtio_ccw_hcall_notify_1419",131        "fun_name": "virtio_ccw_hcall_notify",132        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %sv_0 = alloca i32, align 4\n %sv_1 = alloca i32, align 4\n %sv_2 = alloca i32, align 4\n %sv_3 = alloca i32, align 4\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = bitcast i32* %sv_0 to i64*\n %5 = bitcast i32* %sv_1 to i64*\n %6 = bitcast i32* %sv_2 to i64*\n %7 = bitcast i32* %sv_3 to i64*\n %8 = call i64 @FUNC(i64 %0, i64* nonnull %4, i64* nonnull %5, i64* nonnull %6, i64* nonnull %7)\n %9 = trunc i64 %8 to i32\n %10 = icmp eq i32 %9, 0\n store i64 4294967274, i64* %rax.0.reg2mem\n br i1 %10, label LBL_1, label LBL_4\n LBL_1:\n %11 = load i32, i32* %sv_3, align 4\n %12 = zext i32 %11 to i64\n %13 = load i32, i32* %sv_2, align 4\n %14 = zext i32 %13 to i64\n %15 = load i32, i32* %sv_1, align 4\n %16 = zext i32 %15 to i64\n %17 = load i32, i32* %sv_0, align 4\n %18 = zext i32 %17 to i64\n %19 = call i64 @FUNC(i64 %18, i64 %16, i64 %14, i64 %12)\n %20 = icmp eq i64 %19, 0\n store i64 4294967274, i64* %rax.0.reg2mem\n br i1 %20, label LBL_4, label LBL_2\n LBL_2:\n %21 = call i64 @FUNC(i64 %19)\n %22 = trunc i64 %21 to i32\n %23 = icmp eq i32 %22, 0\n %24 = icmp eq i1 %23, false\n %25 = icmp ult i64 %3, 256\n %or.cond = icmp eq i1 %25, %24\n store i64 4294967274, i64* %rax.0.reg2mem\n br i1 %or.cond, label LBL_3, label LBL_4\n LBL_3:\n %26 = call i64 @FUNC(i64 %19)\n %27 = call i64 @FUNC(i64 %26, i64 %3)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %3, { 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 4, 2, 1, 3 }\n uselistorder i64 4294967274, { 1, 0, 2 }\n uselistorder label LBL_4, { 3, 1, 0, 2 }\n }",133        "label": "0"134    },135    {136        "dataset": "CompRealVul",137        "file": "redisAeAttach_7129",138        "fun_name": "redisAeAttach",139        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %rsi = alloca i64, align 8\n %0 = ptrtoint i64* %arg2 to i64\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = icmp eq i64 %3, 0\n store i64 4294967295, i64* %storemerge.reg2mem\n br i1 %4, label LBL_1, label LBL_2\n LBL_1:\n %5 = call i64 @FUNC(i64 32)\n %6 = inttoptr i64 %5 to i64*\n store i64 %0, i64* %6, align 8\n %7 = add i64 %5, 8\n %8 = inttoptr i64 %7 to i64*\n store i64 %arg1, i64* %8, align 8\n %9 = bitcast i64* %rsi to i32*\n %10 = load i32, i32* %9, align 8\n %11 = add i64 %5, 16\n %12 = inttoptr i64 %11 to i32*\n store i32 %10, i32* %12, align 4\n %13 = add i64 %5, 24\n %14 = inttoptr i64 %13 to i32*\n store i32 0, i32* %14, align 4\n %15 = add i64 %5, 20\n %16 = inttoptr i64 %15 to i32*\n store i32 0, i32* %16, align 4\n %17 = add i64 %0, 16\n %18 = inttoptr i64 %17 to i64*\n store i64 4198736, i64* %18, align 8\n %19 = add i64 %0, 24\n %20 = inttoptr i64 %19 to i64*\n store i64 4198751, i64* %20, align 8\n %21 = add i64 %0, 32\n %22 = inttoptr i64 %21 to i64*\n store i64 4198766, i64* %22, align 8\n %23 = add i64 %0, 40\n %24 = inttoptr i64 %23 to i64*\n store i64 4198781, i64* %24, align 8\n %25 = add i64 %0, 48\n %26 = inttoptr i64 %25 to i64*\n store i64 4198796, i64* %26, align 8\n store i64 %5, i64* %2, align 8\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_2\n LBL_2:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64 32, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",140        "label": "0"141    },142    {143        "dataset": "CompRealVul",144        "file": "lpfc_sli4_fp_intr_handler_3919",145        "fun_name": "lpfc_sli4_fp_intr_handler",146        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.03.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %1 = ptrtoint i64* %arg2 to i64\n %2 = load i64, i64* %0\n %3 = add i64 %1, 8\n %4 = inttoptr i64 %3 to i32*\n %5 = load i32, i32* %4, align 4\n %6 = icmp eq i64* %arg2, null\n %7 = icmp eq i1 %6, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %7, label LBL_1, label LBL_14\n LBL_1:\n %8 = zext i32 %5 to i64\n %9 = mul i64 %8, 8\n %10 = add i64 %9, %1\n %11 = inttoptr i64 %10 to i64*\n %12 = load i64, i64* %11, align 8\n %13 = icmp eq i64 %12, 0\n %14 = icmp eq i1 %13, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %14, label LBL_2, label LBL_14\n LBL_2:\n %15 = call i64 @FUNC(i64 %1)\n %16 = trunc i64 %15 to i32\n %17 = icmp eq i32 %16, 0\n %18 = icmp eq i1 %17, false\n %19 = icmp eq i1 %18, false\n br i1 %19, label LBL_3, label LBL_5\n LBL_3:\n %20 = inttoptr i64 %12 to i32*\n %21 = call i64 @FUNC(i64 %12)\n %22 = icmp eq i64 %21, 0\n %23 = icmp eq i1 %22, false\n store i64 %21, i64* %.reg2mem\n store i32 0, i32* %sv_0.03.reg2mem\n br i1 %23, label LBL_8, label LBL_4\n LBL_4:\n %24 = call i64 @FUNC(i64 %12, i64 1)\n br label LBL_12\n LBL_5:\n %25 = add i64 %1, 16\n %26 = call i64 @FUNC(i64 %25, i64 %2)\n %27 = load i32, i32* %4, align 4\n %28 = icmp slt i32 %27, 0\n %29 = icmp eq i1 %28, false\n br i1 %29, label LBL_7, label LBL_6\n LBL_6:\n %30 = call i64 @FUNC(i64 %1, i64 %12)\n br label LBL_7\n LBL_7:\n %31 = call i64 @FUNC(i64 %25, i64 %2)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_14\n LBL_8:\n %sv_0.03.reload = load i32, i32* %sv_0.03.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %32 = call i64 @FUNC(i64 %1, i64 %.reload, i32 %5)\n %33 = add i32 %sv_0.03.reload, 1\n %34 = load i32, i32* %20, align 4\n %35 = ashr i32 %33, 31\n %36 = zext i32 %33 to i64\n %37 = zext i32 %35 to i64\n %38 = mul i64 %37, 4294967296\n %39 = or i64 %38, %36\n %40 = zext i32 %34 to i64\n %41 = srem i64 %39, %40\n %42 = trunc i64 %41 to i32\n %43 = icmp eq i32 %42, 0\n %44 = icmp eq i1 %43, false\n br i1 %44, label LBL_9, label LBL_10\n LBL_9:\n %45 = call i64 @FUNC(i64 %12)\n %46 = icmp eq i64 %45, 0\n %47 = icmp eq i1 %46, false\n store i64 %45, i64* %.reg2mem\n store i32 %33, i32* %sv_0.03.reg2mem\n br i1 %47, label LBL_8, label LBL_11\n LBL_10:\n %48 = call i64 @FUNC(i64 %12, i64 0)\n br label LBL_9\n LBL_11:\n %phitmp = icmp eq i32 %33, 0\n %phitmp4 = icmp eq i1 %phitmp, false\n %49 = call i64 @FUNC(i64 %12, i64 1)\n store i64 1, i64* %rax.0.reg2mem\n br i1 %phitmp4, label LBL_14, label LBL_12\n LBL_12:\n %50 = add i64 %1, 12\n %51 = inttoptr i64 %50 to i32*\n %52 = load i32, i32* %51, align 4\n %53 = icmp eq i32 %52, 1\n %54 = icmp eq i1 %53, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %54, label LBL_14, label LBL_13\n LBL_13:\n %55 = call i64 @FUNC(i64 %1, i64 2, i64 3, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @gv_0, i64 0, i64 0))\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_14\n LBL_14:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %33, { 1, 0, 2, 3 }\n uselistorder i64 %12, { 3, 2, 4, 5, 0, 1, 6, 7 }\n uselistorder i64 %1, { 4, 3, 5, 1, 2, 6, 0, 7 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_0.03.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 3, 1, 6, 4, 5 }\n uselistorder i64 (i64, i64)* @lpfc_sli4_eq_release, { 1, 2, 0 }\n uselistorder i64 1, { 1, 0, 3, 2 }\n uselistorder i64 (i64)* @lpfc_sli4_eq_get, { 1, 0 }\n uselistorder i32 0, { 1, 2, 3, 0, 4 }\n uselistorder i1 false, { 6, 0, 7, 5, 8, 1, 2, 9, 3, 4 }\n uselistorder label LBL_14, { 1, 2, 0, 5, 3, 4 }\n uselistorder label LBL_12, { 1, 0 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_8, { 1, 0 }\n }",147        "label": "0"148    },149    {150        "dataset": "CompRealVul",151        "file": "_libssh2_check_length_5879",152        "fun_name": "_libssh2_check_length",153        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = add i64 %3, %0\n %5 = add i64 %0, 16\n %6 = inttoptr i64 %5 to i64*\n %7 = load i64, i64* %6, align 8\n %8 = sub i64 %4, %7\n %9 = icmp uge i64 %8, %arg2\n %10 = zext i1 %9 to i64\n ret i64 %10\n\n uselistorder i64 %0, { 1, 0, 2 }\n }",154        "label": "0"155    },156    {157        "dataset": "CompRealVul",158        "file": "celt_search_for_intensity_500",159        "fun_name": "celt_search_for_intensity",160        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i32* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %xmm0.0.reg2mem = alloca i128\n %sv_0.0.reg2mem = alloca i32\n %sv_1.0.reg2mem = alloca i32\n %sv_1.14.reg2mem = alloca i32\n %sv_0.15.reg2mem = alloca i32\n %zf.07.reg2mem = alloca i1\n %storemerge8.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %sv_2 = alloca i32, align 4\n %3 = call i128 @__asm_movss.1(i32 2139095039)\n %4 = call i64 @FUNC(i128 %3)\n %5 = trunc i64 %1 to i32\n %6 = and i64 %1, 4294967295\n %7 = icmp slt i32 %5, 2\n store i64 %6, i64* %rax.0.reg2mem\n br i1 %7, label LBL_6, label LBL_1\n LBL_1:\n %8 = ptrtoint i64* %arg1 to i64\n %9 = trunc i64 %2 to i32\n %10 = trunc i64 %4 to i32\n %11 = call i128 @FUNC(i128 %3, i128 %3)\n %12 = call i64 @FUNC(i128 %11)\n %13 = trunc i64 %12 to i32\n %14 = call i128 @FUNC(i128 %11, i128 %11)\n %15 = call i128 @FUNC(i32 %9)\n call void @FUNC(i128 %15, i32 %13)\n %16 = ptrtoint i32* %arg2 to i64\n %17 = add i64 %16, 4\n %18 = inttoptr i64 %17 to i32*\n %19 = bitcast i32* %sv_2 to i64*\n store i32 %9, i32* %storemerge8.reg2mem\n store i1 false, i1* %zf.07.reg2mem\n store i32 %10, i32* %sv_0.15.reg2mem\n store i32 15, i32* %sv_1.14.reg2mem\n br label LBL_2\n LBL_2:\n %sv_1.14.reload = load i32, i32* %sv_1.14.reg2mem\n %sv_0.15.reload = load i32, i32* %sv_0.15.reg2mem\n %zf.07.reload = load i1, i1* %zf.07.reg2mem\n %storemerge8.reload = load i32, i32* %storemerge8.reg2mem\n store i32 %storemerge8.reload, i32* %18, align 4\n %20 = call i64 @FUNC(i64 %8, i64 %16, i64* nonnull %19)\n %21 = load i32, i32* %sv_2, align 4\n %22 = call i128 @__asm_movss.1(i32 %21)\n %23 = call i128 @__asm_movss.1(i32 %sv_0.15.reload)\n call void @__asm_comiss.2(i128 %23, i128 %22)\n store i32 %sv_1.14.reload, i32* %sv_1.0.reg2mem\n store i32 %sv_0.15.reload, i32* %sv_0.0.reg2mem\n store i128 %23, i128* %xmm0.0.reg2mem\n br i1 %zf.07.reload, label LBL_4, label LBL_3\n LBL_3:\n %24 = load i32, i32* %sv_2, align 4\n %25 = call i128 @__asm_movss.1(i32 %24)\n %26 = call i64 @FUNC(i128 %25)\n %27 = trunc i64 %26 to i32\n store i32 %storemerge8.reload, i32* %sv_1.0.reg2mem\n store i32 %27, i32* %sv_0.0.reg2mem\n store i128 %25, i128* %xmm0.0.reg2mem\n br label LBL_4\n LBL_4:\n %xmm0.0.reload = load i128, i128* %xmm0.0.reg2mem\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %sv_1.0.reload = load i32, i32* %sv_1.0.reg2mem\n %28 = add i32 %storemerge8.reload, -1\n %29 = icmp eq i32 %storemerge8.reload, 0\n %30 = icmp eq i32 %28, 0\n %31 = call i128 @FUNC(i128 %xmm0.0.reload, i128 %xmm0.0.reload)\n %32 = call i128 @FUNC(i32 %28)\n call void @FUNC(i128 %32, i32 %13)\n %33 = icmp eq i1 %29, false\n store i32 %28, i32* %storemerge8.reg2mem\n store i1 %30, i1* %zf.07.reg2mem\n store i32 %sv_0.0.reload, i32* %sv_0.15.reg2mem\n store i32 %sv_1.0.reload, i32* %sv_1.14.reg2mem\n br i1 %33, label LBL_2, label LBL_5\n LBL_5:\n store i32 %sv_1.0.reload, i32* %18, align 4\n %34 = add i64 %8, 8\n %35 = inttoptr i64 %34 to i32*\n %36 = load i32, i32* %35, align 4\n %37 = call i128 @__asm_movss.1(i32 %36)\n %38 = load i32, i32* %18, align 4\n %39 = call i128 @FUNC(i128 %32, i128 %32)\n %40 = call i128 @FUNC(i32 %38)\n %41 = call i128 @FUNC(i128 %40, i128 %37)\n %42 = load i32, i32* inttoptr (i64 4202572 to i32*), align 4\n %43 = call i128 @__asm_movss.1(i32 %42)\n %44 = call i128 @FUNC(i128 %41, i128 %43)\n %45 = call i64 @FUNC(i128 %44)\n %46 = trunc i64 %45 to i32\n store i32 %46, i32* %35, align 4\n store i64 %8, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_6:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i128 %32, { 1, 0, 2 }\n uselistorder i128 %xmm0.0.reload, { 1, 0 }\n uselistorder i32 %storemerge8.reload, { 1, 3, 0, 2 }\n uselistorder i32 %13, { 1, 0 }\n uselistorder i128 %3, { 1, 0, 2 }\n uselistorder i32* %sv_2, { 1, 0, 2 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i32* %storemerge8.reg2mem, { 1, 0, 2 }\n uselistorder i1* %zf.07.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_0.15.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_1.14.reg2mem, { 1, 0, 2 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i32 0, { 1, 0 }\n uselistorder i1 false, { 1, 0 }\n uselistorder void (i128, i32)* @__asm_comiss, { 1, 0 }\n uselistorder i128 (i32)* @__asm_cvtsi2ss, { 1, 2, 0, 3 }\n uselistorder label LBL_6, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",161        "label": "0"162    },163    {164        "dataset": "CompRealVul",165        "file": "register_avcodec_1302",166        "fun_name": "register_avcodec",167        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %0 = call i64 @FUNC()\n store i64 ptrtoint (i64* @gv_0 to i64), i64* %storemerge.reg2mem\n br label LBL_1\n LBL_1:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n %1 = inttoptr i64 %storemerge.reload to i64*\n %2 = load i64, i64* %1, align 8\n %3 = icmp eq i64 %2, 0\n %4 = icmp eq i1 %3, false\n store i64 %2, i64* %storemerge.reg2mem\n br i1 %4, label LBL_1, label LBL_2\n LBL_2:\n store i64 %arg1, i64* %1, align 8\n %5 = inttoptr i64 %arg1 to i64*\n store i64 0, i64* %5, align 8\n ret i64 %arg1\n\n uselistorder i64* %storemerge.reg2mem, { 1, 0, 2 }\n }",168        "label": "0"169    },170    {171        "dataset": "CompRealVul",172        "file": "gen_neon_trn_u8_1999",173        "fun_name": "gen_neon_trn_u8",174        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = and i64 %arg2, 4294967295\n %1 = call i64 @FUNC()\n %2 = call i64 @FUNC()\n %3 = trunc i64 %2 to i32\n %4 = and i64 %arg1, 4294967295\n %5 = and i64 %1, 4294967295\n %6 = call i64 @FUNC(i64 %5, i64 %4, i64 8)\n %7 = call i64 @FUNC(i64 %5, i64 %5, i64 4278255360)\n %8 = and i64 %2, 4294967295\n %9 = call i64 @FUNC(i64 %8, i64 %0, i64 16711935)\n %10 = call i64 @FUNC(i64 %5, i64 %5, i32 %3)\n %11 = call i64 @FUNC(i64 %0, i64 %0, i64 8)\n %12 = call i64 @FUNC(i64 %0, i64 %0, i64 16711935)\n %13 = call i64 @FUNC(i64 %8, i64 %4, i64 4278255360)\n %14 = call i64 @FUNC(i64 %0, i64 %0, i32 %3)\n %15 = call i64 @FUNC(i64 %4, i64 %5)\n %16 = call i64 @FUNC(i64 %8)\n %17 = call i64 @FUNC(i64 %5)\n ret i64 %17\n\n uselistorder i64 %5, { 0, 1, 3, 2, 5, 4, 6 }\n uselistorder i64 %0, { 0, 1, 4, 5, 2, 3, 6 }\n uselistorder i64 (i64)* @tcg_temp_free_i32, { 1, 0 }\n uselistorder i64 (i64, i64, i32)* @tcg_gen_or_i32, { 1, 0 }\n uselistorder i64 (i64, i64, i64)* @tcg_gen_andi_i32, { 3, 2, 1, 0 }\n uselistorder i64 ()* @tcg_temp_new_i32, { 1, 0 }\n uselistorder i64 4294967295, { 2, 3, 4, 1, 5, 6, 0, 7 }\n }",175        "label": "0"176    },177    {178        "dataset": "CompRealVul",179        "file": "async_chainiv_init_9392",180        "fun_name": "async_chainiv_init",181        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = call i64 @FUNC(i64 %1)\n %3 = add i64 %1, 4\n %4 = call i64 @FUNC(i64 %3, i64 100)\n %5 = add i64 %1, 8\n %6 = call i64 @FUNC(i64 %5, i64 4198709)\n %7 = call i64 @FUNC(i64 %0)\n ret i64 %7\n }",182        "label": "0"183    },184    {185        "dataset": "CompRealVul",186        "file": "usbip_recv_xbuff_5490",187        "fun_name": "usbip_recv_xbuff",188        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i32* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %storemerge.in.in.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = trunc i64 %1 to i32\n %4 = icmp eq i32 %3, 0\n %5 = icmp eq i1 %4, false\n %6 = and i64 %2, 4294967295\n br i1 %5, label LBL_3, label LBL_1\n LBL_1:\n %7 = call i64 @FUNC(i64 %6)\n %8 = trunc i64 %7 to i32\n %9 = icmp eq i32 %8, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %9, label LBL_2, label LBL_15\n LBL_2:\n %10 = ptrtoint i32* %arg2 to i64\n %11 = add i64 %10, 4\n store i64 %11, i64* %storemerge.in.in.reg2mem\n br label LBL_5\n LBL_3:\n %12 = call i64 @FUNC(i64 %6)\n %13 = trunc i64 %12 to i32\n %14 = icmp eq i32 %13, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %14, label LBL_4, label LBL_15\n LBL_4:\n %15 = ptrtoint i32* %arg2 to i64\n %16 = add i64 %15, 8\n store i64 %16, i64* %storemerge.in.in.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.in.in.reload = load i64, i64* %storemerge.in.in.reg2mem\n %storemerge.in = inttoptr i64 %storemerge.in.in.reload to i32*\n %storemerge = load i32, i32* %storemerge.in, align 4\n %17 = icmp eq i32 %storemerge, 0\n %18 = icmp slt i32 %storemerge, 0\n %19 = icmp eq i1 %18, false\n %20 = icmp eq i1 %17, false\n %21 = icmp eq i1 %19, %20\n store i64 0, i64* %rax.0.reg2mem\n br i1 %21, label LBL_6, label LBL_15\n LBL_6:\n %22 = ptrtoint i32* %arg2 to i64\n %23 = add i64 %22, 4\n %24 = inttoptr i64 %23 to i32*\n %25 = load i32, i32* %24, align 4\n %26 = zext i32 %25 to i64\n %27 = sext i32 %storemerge to i64\n %28 = icmp sgt i64 %27, %26\n br i1 %28, label LBL_7, label LBL_10\n LBL_7:\n %29 = ptrtoint i32* %arg1 to i64\n br i1 %5, label LBL_9, label LBL_8\n LBL_8:\n %30 = call i64 @FUNC(i64 %29, i64 3)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_15\n LBL_9:\n %31 = call i64 @FUNC(i64 %29, i64 2)\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_15\n LBL_10:\n %32 = add i64 %22, 24\n %33 = inttoptr i64 %32 to i64*\n %34 = load i64, i64* %33, align 8\n %35 = ptrtoint i32* %arg1 to i64\n %36 = add i64 %35, 4\n %37 = inttoptr i64 %36 to i32*\n %38 = load i32, i32* %37, align 4\n %39 = zext i32 %38 to i64\n %40 = call i64 @FUNC(i64 %39, i64 %34, i32 %storemerge)\n %41 = trunc i64 %40 to i32\n %42 = icmp eq i32 %storemerge, %41\n br i1 %42, label LBL_10.dec_label_pc_4012c7_crit_edge, label LBL_12\n LBL_11:\n %.pre = and i64 %40, 4294967295\n store i64 %.pre, i64* %rax.0.reg2mem\n br label LBL_15\n LBL_12:\n %43 = add i64 %22, 16\n %44 = inttoptr i64 %43 to i64*\n %45 = load i64, i64* %44, align 8\n %46 = and i64 %40, 4294967295\n %47 = call i64 @FUNC(i64 %45, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @gv_0, i64 0, i64 0), i64 %46)\n br i1 %5, label LBL_14, label LBL_13\n LBL_13:\n %48 = call i64 @FUNC(i64 %35, i64 3)\n store i64 %46, i64* %rax.0.reg2mem\n br label LBL_15\n LBL_14:\n %49 = call i64 @FUNC(i64 %35, i64 2)\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_15\n LBL_15:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %40, { 1, 0, 2 }\n uselistorder i64 %29, { 1, 0 }\n uselistorder i32 %storemerge, { 1, 0, 2, 4, 3 }\n uselistorder i1 %5, { 1, 0, 2 }\n uselistorder i64* %storemerge.in.in.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 6, 1, 2, 8, 7, 3, 4, 5 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i64 (i64, i64)* @usbip_event_add, { 3, 2, 1, 0 }\n uselistorder i1 false, { 1, 0, 2 }\n uselistorder i32* %arg2, { 1, 2, 0 }\n uselistorder label LBL_15, { 5, 0, 1, 6, 7, 2, 3, 4 }\n }",189        "label": "0"190    },191    {192        "dataset": "CompRealVul",193        "file": "gen_stswx_1291",194        "fun_name": "gen_stswx",195        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i32* %arg1 to i64\n %3 = call i64 @FUNC(i64 %2, i64 0)\n %4 = call i64 @FUNC()\n %5 = trunc i64 %4 to i32\n %6 = and i64 %4, 4294967295\n %7 = call i64 @FUNC(i64 %2, i64 %6)\n %8 = call i64 @FUNC()\n %9 = trunc i64 %8 to i32\n %10 = load i32, i32* bitcast (i64* @gv_0 to i32*), align 8\n %11 = zext i32 %10 to i64\n %12 = and i64 %8, 4294967295\n %13 = call i64 @FUNC(i64 %12, i64 %11)\n %14 = call i64 @FUNC(i64 %12, i64 %12, i64 127)\n %15 = and i64 %1, 4294967295\n %16 = call i64 @FUNC(i64 %15)\n %17 = and i64 %16, 4294967295\n %18 = call i64 @FUNC(i64 %17)\n %19 = trunc i64 %18 to i32\n %20 = load i32, i32* inttoptr (i64 4210724 to i32*), align 4\n %21 = zext i32 %20 to i64\n %22 = call i64 @FUNC(i64 %21, i32 %5, i32 %9, i32 %19)\n %23 = call i64 @FUNC(i64 %6)\n %24 = call i64 @FUNC(i64 %12)\n %25 = and i64 %18, 4294967295\n %26 = call i64 @FUNC(i64 %25)\n ret i64 %26\n\n uselistorder i64 %12, { 0, 2, 1, 3 }\n uselistorder i64 (i64)* @tcg_temp_free_i32, { 1, 0 }\n uselistorder i64 4294967295, { 1, 2, 0, 3, 4, 5 }\n }",196        "label": "0"197    },198    {199        "dataset": "CompRealVul",200        "file": "list_modules_8848",201        "fun_name": "list_modules",202        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %indvars.iv.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = load %_IO_FILE*, %_IO_FILE** @gv_0, align 8\n %2 = call i32 @fwrite(i64* bitcast ([21 x i8]* @gv_1 to i64*), i32 1, i32 20, %_IO_FILE* %1)\n %3 = call i64 @FUNC(i64 %0)\n %4 = trunc i64 %3 to i32\n %5 = icmp eq i32 %4, 0\n store i64 0, i64* %indvars.iv.reg2mem\n br i1 %5, label LBL_4, label LBL_1\n LBL_1:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %6 = call i64 @FUNC(i64 %0, i64 %indvars.iv.reload)\n %7 = icmp eq i64 %6, 0\n br i1 %7, label LBL_3, label LBL_2\n LBL_2:\n %8 = inttoptr i64 %6 to i8*\n %9 = load %_IO_FILE*, %_IO_FILE** @gv_0, align 8\n %10 = call i32 (%_IO_FILE*, i8*, ...) @fprintf(%_IO_FILE* %9, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_2, i64 0, i64 0), i8* %8)\n br label LBL_3\n LBL_3:\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %11 = call i64 @FUNC(i64 %0)\n %12 = and i64 %11, 4294967295\n %13 = icmp ult i64 %indvars.iv.next, %12\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %13, label LBL_1, label LBL_4\n LBL_4:\n %14 = load %_IO_FILE*, %_IO_FILE** @gv_0, align 8\n %15 = call i32 @fputc(i32 10, %_IO_FILE* %14)\n %16 = sext i32 %15 to i64\n ret i64 %16\n\n uselistorder i64 %0, { 2, 1, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 2, 0, 1 }\n uselistorder i64 (i64)* @gf_modules_get_count, { 1, 0 }\n uselistorder %_IO_FILE** @gv_0, { 2, 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",203        "label": "0"204    },205    {206        "dataset": "CompRealVul",207        "file": "remove_short_3484",208        "fun_name": "remove_short",209        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %storemerge39.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %sext = mul i64 %arg2, 4294967296\n %3 = ashr exact i64 %sext, 32\n %4 = urem i64 %2, 2\n %5 = icmp eq i64 %4, 0\n %.pre = add i64 %2, 8\n %.pre14 = inttoptr i64 %.pre to i32*\n br i1 %5, label LBL_2, label LBL_1\n LBL_1:\n %6 = load i32, i32* %.pre14, align 4\n %7 = zext i32 %6 to i64\n %8 = and i64 %3, 4294967295\n %9 = call i64 @FUNC(i64 %2, i64 0, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @gv_0, i64 0, i64 0), i64 %8, i64 %7, i64 %1)\n br label LBL_2\n LBL_2:\n %10 = load i32, i32* %.pre14, align 4\n %11 = icmp eq i32 %10, 0\n store i64 0, i64* %storemerge.reg2mem\n br i1 %11, label LBL_10, label LBL_3\n LBL_3:\n %12 = add i64 %2, 16\n %13 = inttoptr i64 %12 to i64*\n %14 = trunc i64 %3 to i32\n store i64 0, i64* %.reg2mem\n store i32 0, i32* %storemerge39.reg2mem\n br label LBL_4\n LBL_4:\n %storemerge39.reload = load i32, i32* %storemerge39.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %15 = load i64, i64* %13, align 8\n %16 = mul i64 %.reload, 8\n %17 = add i64 %15, %16\n %18 = inttoptr i64 %17 to i64*\n %19 = load i64, i64* %18, align 8\n %20 = inttoptr i64 %19 to i32*\n br i1 %5, label LBL_6, label LBL_5\n LBL_5:\n %21 = load i32, i32* %20, align 4\n %22 = zext i32 %21 to i64\n %23 = zext i32 %storemerge39.reload to i64\n %24 = call i64 @FUNC(i64 %2, i64 0, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @gv_1, i64 0, i64 0), i64 %23, i64 %22, i64 %19)\n br label LBL_6\n LBL_6:\n %25 = load i32, i32* %20, align 4\n %26 = icmp eq i32 %25, %14\n %27 = icmp eq i1 %26, false\n br i1 %27, label LBL_9, label LBL_7\n LBL_7:\n %28 = load i64, i64* %13, align 8\n %29 = add i64 %28, %16\n %30 = inttoptr i64 %29 to i64*\n store i64 0, i64* %30, align 8\n %31 = load i32, i32* %.pre14, align 4\n %32 = add i32 %31, -1\n store i32 %32, i32* %.pre14, align 4\n %33 = icmp eq i32 %32, 0\n store i64 %19, i64* %storemerge.reg2mem\n br i1 %33, label LBL_10, label LBL_8\n LBL_8:\n %34 = sub i32 %32, %storemerge39.reload\n %35 = mul i32 %34, 8\n %36 = load i64, i64* %13, align 8\n %37 = add i64 %36, %16\n %38 = add i64 %37, 8\n %39 = inttoptr i64 %37 to i64*\n %40 = inttoptr i64 %38 to i64*\n %41 = call i64* @memmove(i64* %39, i64* %40, i32 %35)\n store i64 %19, i64* %storemerge.reg2mem\n br label LBL_10\n LBL_9:\n %42 = add i32 %storemerge39.reload, 1\n %43 = load i32, i32* %.pre14, align 4\n %44 = zext i32 %43 to i64\n %45 = sext i32 %42 to i64\n %46 = icmp slt i64 %45, %44\n store i64 %45, i64* %.reg2mem\n store i32 %42, i32* %storemerge39.reg2mem\n store i64 0, i64* %storemerge.reg2mem\n br i1 %46, label LBL_4, label LBL_10\n LBL_10:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i32 %32, { 1, 0, 2 }\n uselistorder i64 %19, { 1, 0, 2, 3 }\n uselistorder i64 %16, { 2, 1, 0 }\n uselistorder i32 %storemerge39.reload, { 1, 2, 0 }\n uselistorder i64* %13, { 1, 0, 2 }\n uselistorder i32* %.pre14, { 3, 1, 0, 2, 4 }\n uselistorder i1 %5, { 1, 0 }\n uselistorder i64 %2, { 2, 4, 3, 1, 0 }\n uselistorder i64* %.reg2mem, { 1, 0, 2 }\n uselistorder i32* %storemerge39.reg2mem, { 1, 0, 2 }\n uselistorder i64* %storemerge.reg2mem, { 0, 1, 4, 3, 2 }\n uselistorder i32 0, { 2, 0, 1 }\n uselistorder i64 (i64, i64, i8*, i64, i64, i64)* @av_log, { 1, 0 }\n uselistorder i64 8, { 2, 0, 1 }\n uselistorder label LBL_10, { 0, 3, 2, 1 }\n uselistorder label LBL_4, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",210        "label": "0"211    },212    {213        "dataset": "CompRealVul",214        "file": "diffcore_pathspec_3849",215        "fun_name": "diffcore_pathspec",216        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %.lcssa.reg2mem = alloca i64\n %storemerge5.reg2mem = alloca i32\n %.reg2mem24 = alloca i64\n %.reg2mem22 = alloca i64\n %storemerge2.lcssa.reg2mem = alloca i32\n %storemerge26.reg2mem = alloca i32\n %storemerge19.reg2mem = alloca i32\n %.reg2mem20 = alloca i64\n %.reg2mem18 = alloca i64*\n %.reg2mem = alloca i64\n %storemerge3.reg2mem = alloca i32\n %0 = ptrtoint i64* %arg1 to i64\n %sv_0 = alloca i64, align 8\n store i64 0, i64* %sv_0, align 8\n store i32 0, i32* %storemerge3.reg2mem\n br label LBL_1\n LBL_1:\n %storemerge3.reload = load i32, i32* %storemerge3.reg2mem\n %1 = sext i32 %storemerge3.reload to i64\n %2 = mul i64 %1, 8\n %3 = add i64 %2, %0\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n %6 = icmp eq i64 %5, 0\n %7 = icmp eq i1 %6, false\n %8 = add i32 %storemerge3.reload, 1\n store i32 %8, i32* %storemerge3.reg2mem\n br i1 %7, label LBL_1, label LBL_2\n LBL_2:\n %9 = mul i64 %1, 16\n %10 = call i64 @FUNC(i64 %9)\n %11 = load i64, i64* %arg1, align 8\n %12 = icmp eq i64 %11, 0\n %13 = icmp eq i1 %12, false\n store i64 %11, i64* %.reg2mem\n store i64* %arg1, i64** %.reg2mem18\n store i64 0, i64* %.reg2mem20\n store i32 0, i32* %storemerge19.reg2mem\n br i1 %13, label LBL_3, label LBL_8\n LBL_3:\n %storemerge19.reload = load i32, i32* %storemerge19.reg2mem\n %.reload21 = load i64, i64* %.reg2mem20\n %.reload19 = load i64*, i64** %.reg2mem18\n %.reload = load i64, i64* %.reg2mem\n %14 = mul i64 %.reload21, 16\n %15 = add i64 %14, %10\n %16 = inttoptr i64 %15 to i64*\n store i64 %.reload, i64* %16, align 8\n %17 = load i64, i64* %.reload19, align 8\n %18 = inttoptr i64 %17 to i8*\n %19 = call i32 @strlen(i8* %18)\n %20 = icmp slt i32 %19, 1\n store i32 %19, i32* %storemerge2.lcssa.reg2mem\n br i1 %20, label LBL_7, label LBL_4\n LBL_4:\n %21 = load i64, i64* %.reload19, align 8\n %22 = add i64 %21, -1\n store i32 %19, i32* %storemerge26.reg2mem\n br label LBL_6\n LBL_5:\n %23 = add i32 %storemerge26.reload, -1\n %24 = icmp slt i32 %23, 1\n store i32 %23, i32* %storemerge26.reg2mem\n store i32 0, i32* %storemerge2.lcssa.reg2mem\n br i1 %24, label LBL_7, label LBL_6\n LBL_6:\n %storemerge26.reload = load i32, i32* %storemerge26.reg2mem\n %25 = sext i32 %storemerge26.reload to i64\n %26 = add i64 %22, %25\n %27 = inttoptr i64 %26 to i8*\n %28 = load i8, i8* %27, align 1\n %29 = icmp eq i8 %28, 47\n store i32 %storemerge26.reload, i32* %storemerge2.lcssa.reg2mem\n br i1 %29, label LBL_5, label LBL_7\n LBL_7:\n %storemerge2.lcssa.reload = load i32, i32* %storemerge2.lcssa.reg2mem\n %30 = add i64 %15, 8\n %31 = inttoptr i64 %30 to i32*\n store i32 %storemerge2.lcssa.reload, i32* %31, align 4\n %32 = add i32 %storemerge19.reload, 1\n %33 = sext i32 %32 to i64\n %34 = mul i64 %33, 8\n %35 = add i64 %34, %0\n %36 = inttoptr i64 %35 to i64*\n %37 = load i64, i64* %36, align 8\n %38 = icmp eq i64 %37, 0\n %39 = icmp eq i1 %38, false\n store i64 %37, i64* %.reg2mem\n store i64* %36, i64** %.reg2mem18\n store i64 %33, i64* %.reg2mem20\n store i32 %32, i32* %storemerge19.reg2mem\n br i1 %39, label LBL_3, label LBL_8\n LBL_8:\n %40 = load i32, i32* @gv_0, align 4\n %41 = icmp eq i32 %40, 0\n %42 = load i64, i64* @gv_1, align 8\n store i64 %42, i64* %.reg2mem22\n store i64 0, i64* %.reg2mem24\n store i32 0, i32* %storemerge5.reg2mem\n store i64 %42, i64* %.lcssa.reg2mem\n br i1 %41, label LBL_14, label LBL_9\n LBL_9:\n %storemerge5.reload = load i32, i32* %storemerge5.reg2mem\n %.reload25 = load i64, i64* %.reg2mem24\n %.reload23 = load i64, i64* %.reg2mem22\n %43 = mul i64 %.reload25, 8\n %44 = add i64 %43, %.reload23\n %45 = inttoptr i64 %44 to i64*\n %46 = load i64, i64* %45, align 8\n %47 = inttoptr i64 %46 to i64*\n %48 = load i64, i64* %47, align 8\n %49 = inttoptr i64 %48 to i64*\n %50 = load i64, i64* %49, align 8\n %51 = call i64 @FUNC(i64 %50, i64 %10, i32 %storemerge3.reload)\n %52 = trunc i64 %51 to i32\n %53 = icmp eq i32 %52, 0\n %54 = icmp eq i1 %53, false\n br i1 %54, label LBL_11, label LBL_10\n LBL_10:\n %55 = add i64 %46, 8\n %56 = inttoptr i64 %55 to i64*\n %57 = load i64, i64* %56, align 8\n %58 = inttoptr i64 %57 to i64*\n %59 = load i64, i64* %58, align 8\n %60 = call i64 @FUNC(i64 %59, i64 %10, i32 %storemerge3.reload)\n %61 = trunc i64 %60 to i32\n %62 = icmp eq i32 %61, 0\n br i1 %62, label LBL_12, label LBL_11\n LBL_11:\n %63 = call i64 @FUNC(i64* nonnull %sv_0, i64 %46)\n br label LBL_13\n LBL_12:\n %64 = call i64 @FUNC(i64 %46)\n br label LBL_13\n LBL_13:\n %65 = add i32 %storemerge5.reload, 1\n %66 = load i32, i32* @gv_0, align 4\n %67 = zext i32 %66 to i64\n %68 = sext i32 %65 to i64\n %69 = icmp slt i64 %68, %67\n %70 = load i64, i64* @gv_1, align 8\n store i64 %70, i64* %.reg2mem22\n store i64 %68, i64* %.reg2mem24\n store i32 %65, i32* %storemerge5.reg2mem\n store i64 %70, i64* %.lcssa.reg2mem\n br i1 %69, label LBL_9, label LBL_14\n LBL_14:\n %.lcssa.reload = load i64, i64* %.lcssa.reg2mem\n %71 = inttoptr i64 %.lcssa.reload to i64*\n call void @free(i64* %71)\n %72 = load i64, i64* %sv_0, align 8\n store i64 %72, i64* @gv_1, align 8\n store i32 0, i32* @gv_0, align 4\n ret i64 %72\n\n uselistorder i64 %72, { 1, 0 }\n uselistorder i64 %46, { 0, 2, 1, 3 }\n uselistorder i32 %storemerge26.reload, { 0, 2, 1 }\n uselistorder i32 %19, { 1, 0, 2 }\n uselistorder i64 %10, { 1, 2, 0 }\n uselistorder i32 %storemerge3.reload, { 3, 2, 1, 0 }\n uselistorder i64* %sv_0, { 1, 0, 2 }\n uselistorder i32* %storemerge3.reg2mem, { 2, 0, 1 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i64** %.reg2mem18, { 2, 0, 1 }\n uselistorder i64* %.reg2mem20, { 2, 0, 1 }\n uselistorder i32* %storemerge19.reg2mem, { 2, 0, 1 }\n uselistorder i64* %.reg2mem22, { 2, 0, 1 }\n uselistorder i64* %.reg2mem24, { 2, 0, 1 }\n uselistorder i32* %storemerge5.reg2mem, { 2, 0, 1 }\n uselistorder void (i64*)* @free, { 1, 0 }\n uselistorder i64 (i64, i64, i32)* @matches_pathspec, { 1, 0 }\n uselistorder i64* @gv_1, { 1, 2, 0 }\n uselistorder i32* @gv_0, { 2, 1, 0 }\n uselistorder i1 false, { 1, 2, 0, 3, 4 }\n uselistorder i64 8, { 3, 0, 1, 4, 2 }\n uselistorder i32 0, { 5, 7, 8, 0, 4, 1, 2, 3, 6 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_7, { 1, 0, 2 }\n uselistorder label LBL_6, { 1, 0 }\n uselistorder label LBL_3, { 1, 0 }\n }",217        "label": "0"218    },219    {220        "dataset": "CompRealVul",221        "file": "nfc_unregister_device_5949",222        "fun_name": "nfc_unregister_device",223        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %4 = load i64, i64* %0\n %5 = ptrtoint i64* %arg1 to i64\n %6 = call i64 @FUNC(i64 %5)\n %7 = call i64 @FUNC(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @gv_0, i64 0, i64 0), i64 %6, i64 %3, i64 %4, i64 %2, i64 %1)\n %8 = call i64 @FUNC(i64 %5)\n %9 = trunc i64 %8 to i32\n %10 = icmp eq i32 %9, 0\n br i1 %10, label LBL_2, label LBL_1\n LBL_1:\n %11 = call i64 @FUNC(i64 %5)\n %12 = call i64 @FUNC(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @gv_1, i64 0, i64 0), i64 %11, i64 %3, i64 %4, i64 %2, i64 %1)\n br label LBL_2\n LBL_2:\n %13 = call i64 @FUNC(i64 %5)\n %14 = icmp eq i64* %arg1, null\n br i1 %14, label LBL_4, label LBL_3\n LBL_3:\n %15 = call i64 @FUNC(i64 %5)\n %16 = call i64 @FUNC(i64 %5)\n br label LBL_4\n LBL_4:\n %17 = add i64 %5, 8\n %18 = inttoptr i64 %17 to i8*\n store i8 1, i8* %18, align 1\n %19 = call i64 @FUNC(i64 %5)\n %20 = add i64 %5, 16\n %21 = inttoptr i64 %20 to i64*\n %22 = load i64, i64* %21, align 8\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %25 = icmp eq i64 %24, 0\n br i1 %25, label LBL_6, label LBL_5\n LBL_5:\n %26 = add i64 %5, 24\n %27 = call i64 @FUNC(i64 %26)\n %28 = add i64 %5, 28\n %29 = call i64 @FUNC(i64 %28)\n br label LBL_6\n LBL_6:\n %30 = call i64 @FUNC(i64 %5)\n %31 = call i64 @FUNC(i64 4210732)\n store i32 ptrtoint (i32* @gv_2 to i32), i32* bitcast (i64* @gv_3 to i32*), align 8\n %32 = call i64 @FUNC(i64 %5)\n %33 = call i64 @FUNC(i64* nonnull @gv_4)\n ret i64 %33\n\n uselistorder i64 %5, { 6, 5, 4, 3, 8, 7, 9, 2, 1, 10, 0, 11, 12 }\n uselistorder i64 %4, { 1, 0 }\n uselistorder i64 %3, { 1, 0 }\n uselistorder i64 %2, { 1, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %0, { 3, 2, 1, 0 }\n uselistorder i32 0, { 1, 0 }\n uselistorder i64 (i8*, i64, i64, i64, i64, i64)* @pr_debug, { 1, 0 }\n uselistorder i64 (i64)* @dev_name, { 1, 0 }\n }",224        "label": "0"225    },226    {227        "dataset": "CompRealVul",228        "file": "qtest_irq_handler_1832",229        "fun_name": "qtest_irq_handler",230        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i32 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = ptrtoint i64* %arg1 to i64\n %sext = mul i64 %arg2, 4294967296\n %4 = zext i32 %arg3 to i64\n %5 = call i64 @FUNC(i64 %3, i64 %4)\n %6 = ashr exact i64 %sext, 30\n %7 = add i64 %6, ptrtoint (i32** @gv_0 to i64)\n %8 = inttoptr i64 %7 to i32*\n %9 = load i32, i32* %8, align 4\n %10 = zext i32 %9 to i64\n %11 = icmp eq i32 %9, %arg3\n store i64 %10, i64* %rax.0.reg2mem\n br i1 %11, label LBL_2, label LBL_1\n LBL_1:\n %12 = and i64 %arg2, 4294967295\n %13 = load i64, i64* @gv_1, align 8\n store i32 %arg3, i32* %8, align 4\n %14 = call i64 @FUNC(i64 %13)\n %15 = icmp eq i32 %arg3, 0\n %. = select i1 %15, i64 ptrtoint ([6 x i8]* @gv_2 to i64), i64 ptrtoint ([6 x i8]* @gv_3 to i64)\n %16 = call i64 @FUNC(i64 %13, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @gv_4, i64 0, i64 0), i64 %., i64 %12, i64 %2, i64 %1)\n store i64 %16, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %0, { 1, 0 }\n uselistorder i32 %arg3, { 1, 2, 0, 3 }\n uselistorder i64 %arg2, { 1, 0 }\n }",231        "label": "0"232    },233    {234        "dataset": "CompRealVul",235        "file": "epoll_init_3784",236        "fun_name": "epoll_init",237        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %.reg2mem = alloca i32\n %sv_0.0.reg2mem = alloca i32\n %rdi = alloca i64, align 8\n %sv_1 = alloca i64, align 8\n %0 = call i32 @epoll_create1(i32 524288)\n %1 = icmp eq i32 %0, -1\n %2 = icmp eq i1 %1, false\n store i32 %0, i32* %sv_0.0.reg2mem\n br i1 %2, label LBL_5, label LBL_1\n LBL_1:\n %3 = call i32 @epoll_create(i32 32000)\n %4 = icmp eq i32 %3, -1\n %5 = icmp eq i1 %4, false\n br i1 %5, label LBL_4, label LBL_2\n LBL_2:\n %6 = call i32* @__errno_location()\n %7 = load i32, i32* %6, align 4\n %8 = icmp eq i32 %7, 38\n store i64 0, i64* %rax.0.reg2mem\n br i1 %8, label LBL_24, label LBL_3\n LBL_3:\n %9 = call i64 @FUNC(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @gv_0, i64 0, i64 0))\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_24\n LBL_4:\n %10 = zext i32 %3 to i64\n %11 = call i64 @FUNC(i64 %10)\n store i32 %3, i32* %sv_0.0.reg2mem\n br label LBL_5\n LBL_5:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %12 = call i64 @FUNC(i64 1, i64 24)\n %13 = icmp eq i64 %12, 0\n %14 = icmp eq i1 %13, false\n br i1 %14, label LBL_7, label LBL_6\n LBL_6:\n %15 = call i32 @close(i32 %sv_0.0.reload)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_24\n LBL_7:\n %16 = inttoptr i64 %12 to i32*\n store i32 %sv_0.0.reload, i32* %16, align 4\n %17 = call i64 @FUNC(i64 16, i64 12)\n %18 = add i64 %12, 8\n %19 = inttoptr i64 %18 to i64*\n store i64 %17, i64* %19, align 8\n %20 = icmp eq i64 %17, 0\n %21 = icmp eq i1 %20, false\n br i1 %21, label LBL_9, label LBL_8\n LBL_8:\n %22 = call i64 @FUNC(i64 %12)\n %23 = call i32 @close(i32 %sv_0.0.reload)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_24\n LBL_9:\n %24 = ptrtoint i64* %arg1 to i64\n %25 = add i64 %12, 16\n %26 = inttoptr i64 %25 to i32*\n store i32 16, i32* %26, align 4\n %27 = bitcast i64* %rdi to i32*\n %28 = load i32, i32* %27, align 8\n %29 = urem i32 %28, 2\n %30 = icmp eq i32 %29, 0\n %31 = icmp eq i1 %30, false\n br i1 %31, label LBL_12, label LBL_10\n LBL_10:\n %32 = and i32 %28, 4\n %33 = icmp eq i32 %32, 0\n %34 = icmp eq i1 %33, false\n store i32 %28, i32* %.reg2mem\n br i1 %34, label LBL_13, label LBL_11\n LBL_11:\n %35 = call i64 @FUNC(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @gv_1, i64 0, i64 0))\n %36 = icmp eq i64 %35, 0\n store i32 %28, i32* %.reg2mem\n br i1 %36, label LBL_13, label LBL_12\n LBL_12:\n %37 = add i64 %24, 8\n %38 = inttoptr i64 %37 to i64*\n store i64 ptrtoint (i64* @gv_2 to i64), i64* %38, align 8\n %.pre = load i32, i32* %27, align 8\n store i32 %.pre, i32* %.reg2mem\n br label LBL_13\n LBL_13:\n %.reload = load i32, i32* %.reg2mem\n %39 = and i32 %.reload, 2\n %40 = icmp eq i32 %39, 0\n br i1 %40, label LBL_22, label LBL_14\n LBL_14:\n %41 = add i64 %24, 4\n %42 = inttoptr i64 %41 to i32*\n %43 = load i32, i32* %42, align 4\n %44 = icmp eq i32 %43, 1\n %45 = icmp eq i1 %44, false\n br i1 %45, label LBL_22, label LBL_15\n LBL_15:\n %46 = call i32 @timerfd_create(i32 1, i32 526336)\n %47 = add i64 %12, 4\n %48 = inttoptr i64 %47 to i32*\n store i32 %46, i32* %48, align 4\n %49 = icmp slt i32 %46, 0\n br i1 %49, label LBL_18, label LBL_16\n LBL_16:\n %50 = call i64* @memset(i64* nonnull %sv_1, i32 0, i32 12)\n store i64 1, i64* %sv_1, align 8\n %51 = load i32, i32* %16, align 4\n %52 = bitcast i64* %sv_1 to %epoll_event*\n %53 = call i32 @epoll_ctl(i32 %51, i32 1, i32 %46, %epoll_event* nonnull %52)\n %54 = icmp slt i32 %53, 0\n %55 = icmp eq i1 %54, false\n br i1 %55, label LBL_23, label LBL_17\n LBL_17:\n %56 = call i64 @FUNC(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @gv_3, i64 0, i64 0))\n %57 = call i32 @close(i32 %46)\n store i32 -1, i32* %48, align 4\n br label LBL_23\n LBL_18:\n %58 = call i32* @__errno_location()\n %59 = load i32, i32* %58, align 4\n %60 = icmp eq i32 %59, 22\n br i1 %60, label LBL_21, label LBL_19\n LBL_19:\n %61 = call i32* @__errno_location()\n %62 = load i32, i32* %61, align 4\n %63 = icmp eq i32 %62, 38\n br i1 %63, label LBL_21, label LBL_20\n LBL_20:\n %64 = call i64 @FUNC(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @gv_4, i64 0, i64 0))\n br label LBL_21\n LBL_21:\n store i32 -1, i32* %48, align 4\n br label LBL_23\n LBL_22:\n %65 = add i64 %12, 4\n %66 = inttoptr i64 %65 to i32*\n store i32 -1, i32* %66, align 4\n br label LBL_23\n LBL_23:\n %67 = call i64 @FUNC(i64 %24)\n store i64 %12, i64* %rax.0.reg2mem\n br label LBL_24\n LBL_24:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32* %48, { 1, 0, 2 }\n uselistorder i32 %46, { 1, 0, 2, 3 }\n uselistorder i32 %28, { 1, 0, 3, 2 }\n uselistorder i64 %24, { 1, 0, 2 }\n uselistorder i32 %sv_0.0.reload, { 1, 0, 2 }\n uselistorder i64* %sv_1, { 0, 2, 1 }\n uselistorder i32* %.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 5, 4, 3, 2, 1 }\n uselistorder i32 0, { 1, 0, 2, 3, 4, 5 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i64 16, { 1, 0 }\n uselistorder i64 (i64, i64)* @mm_calloc, { 1, 0 }\n uselistorder i64 (i8*)* @event_warn, { 2, 1, 0 }\n uselistorder i32 -1, { 2, 3, 4, 0, 1 }\n uselistorder label LBL_24, { 2, 3, 4, 1, 0 }\n uselistorder label LBL_23, { 3, 2, 1, 0 }\n }",238        "label": "0"239    },240    {241        "dataset": "CompRealVul",242        "file": "qcow_make_empty_2767",243        "fun_name": "qcow_make_empty",244        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = inttoptr i64 %3 to i32*\n %5 = load i32, i32* %4, align 4\n %6 = mul i32 %5, 8\n %7 = add i64 %3, 16\n %8 = inttoptr i64 %7 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = inttoptr i64 %9 to i64*\n %11 = call i64* @memset(i64* %10, i32 0, i32 %6)\n %12 = load i64, i64* %8, align 8\n %13 = add i64 %3, 8\n %14 = inttoptr i64 %13 to i64*\n %15 = load i64, i64* %14, align 8\n %16 = call i64 @FUNC(i64 %9, i64 %15, i64 %12, i32 %6)\n %17 = trunc i64 %16 to i32\n %18 = icmp slt i32 %17, 0\n %19 = icmp eq i1 %18, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %19, label LBL_1, label LBL_4\n LBL_1:\n %20 = load i64, i64* %14, align 8\n %21 = zext i32 %6 to i64\n %22 = add i64 %20, %21\n %23 = call i64 @FUNC(i64 %9, i64 %22)\n %24 = trunc i64 %23 to i32\n %25 = icmp slt i32 %24, 0\n %26 = icmp eq i1 %25, false\n br i1 %26, label LBL_3, label LBL_2\n LBL_2:\n %27 = and i64 %23, 4294967295\n store i64 %27, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_3:\n %28 = add i64 %3, 24\n %29 = inttoptr i64 %28 to i32*\n %30 = load i32, i32* %29, align 4\n %31 = mul i32 %30, 2048\n %32 = add i64 %3, 32\n %33 = inttoptr i64 %32 to i64*\n %34 = load i64, i64* %33, align 8\n %35 = inttoptr i64 %34 to i64*\n %36 = call i64* @memset(i64* %35, i32 0, i32 %31)\n %37 = add i64 %3, 40\n %38 = inttoptr i64 %37 to i64*\n %39 = load i64, i64* %38, align 8\n %40 = inttoptr i64 %39 to i64*\n %41 = call i64* @memset(i64* %40, i32 0, i32 2048)\n %42 = add i64 %3, 48\n %43 = inttoptr i64 %42 to i64*\n %44 = load i64, i64* %43, align 8\n %45 = inttoptr i64 %44 to i64*\n %46 = call i64* @memset(i64* %45, i32 0, i32 1024)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %6, { 2, 1, 0 }\n uselistorder i64 %3, { 0, 2, 3, 1, 4, 5, 6 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64* (i64*, i32, i32)* @memset, { 2, 3, 1, 0 }\n uselistorder i32 0, { 0, 1, 2, 4, 5, 3 }\n uselistorder label LBL_4, { 1, 2, 0 }\n }",245        "label": "0"246    },247    {248        "dataset": "CompRealVul",249        "file": "idiv32_377",250        "fun_name": "idiv32",251        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i32 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = sext i32 %arg3 to i64\n %1 = udiv i64 %arg2, %0\n store i64 %1, i64* %arg1, align 8\n %2 = urem i64 %arg2, %0\n ret i64 %2\n }",252        "label": "0"253    },254    {255        "dataset": "CompRealVul",256        "file": "srs_timestamp_check_5748",257        "fun_name": "srs_timestamp_check",258        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %storemerge.in.reg2mem = alloca i64\n %sv_0.0.lcssa.reg2mem = alloca i64\n %sv_0.04.reg2mem = alloca i64\n %storemerge25.reg2mem = alloca i64\n %.reg2mem = alloca i8\n %1 = load i64, i64* %0\n %sv_1 = alloca i128, align 8\n %2 = inttoptr i64 %arg2 to i8*\n %3 = call i32 @strlen(i8* %2)\n %4 = icmp eq i32 %3, 2\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %4, label LBL_1, label LBL_7\n LBL_1:\n %5 = load i8, i8* %2, align 1\n %6 = icmp eq i8 %5, 0\n %7 = icmp eq i1 %6, false\n store i8 %5, i8* %.reg2mem\n store i64 %arg2, i64* %storemerge25.reg2mem\n store i64 0, i64* %sv_0.04.reg2mem\n store i64 0, i64* %sv_0.0.lcssa.reg2mem\n br i1 %7, label LBL_2, label LBL_4\n LBL_2:\n %.reload = load i8, i8* %.reg2mem\n %8 = sext i8 %.reload to i32\n %9 = call i32 @toupper(i32 %8)\n %10 = call i8* @strchr(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @gv_0, i64 0, i64 0), i32 %9)\n %11 = icmp eq i8* %10, null\n %12 = icmp eq i1 %11, false\n store i64 4294967294, i64* %rax.0.reg2mem\n br i1 %12, label LBL_3, label LBL_7\n LBL_3:\n %sv_0.04.reload = load i64, i64* %sv_0.04.reg2mem\n %storemerge25.reload = load i64, i64* %storemerge25.reg2mem\n %13 = ptrtoint i8* %10 to i64\n %14 = sub i64 %13, sext (i32 ptrtoint ([27 x i8]* @gv_0 to i32) to i64)\n %15 = mul i64 %sv_0.04.reload, 32\n %sext = mul i64 %14, 4294967296\n %16 = ashr exact i64 %sext, 32\n %17 = or i64 %16, %15\n %18 = add i64 %storemerge25.reload, 1\n %19 = inttoptr i64 %18 to i8*\n %20 = load i8, i8* %19, align 1\n %21 = icmp eq i8 %20, 0\n %22 = icmp eq i1 %21, false\n store i8 %20, i8* %.reg2mem\n store i64 %18, i64* %storemerge25.reg2mem\n store i64 %17, i64* %sv_0.04.reg2mem\n store i64 %17, i64* %sv_0.0.lcssa.reg2mem\n br i1 %22, label LBL_2, label LBL_4\n LBL_4:\n %sv_0.0.lcssa.reload = load i64, i64* %sv_0.0.lcssa.reg2mem\n %23 = bitcast i128* %sv_1 to i32*\n %24 = call i32 @time(i32* nonnull %23)\n %25 = load i128, i128* %sv_1, align 8\n %26 = trunc i128 %25 to i64\n %27 = lshr i64 %26, 63\n store i64 %27, i64* %storemerge.in.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.in.reload = load i64, i64* %storemerge.in.reg2mem\n %28 = icmp sgt i64 %sv_0.0.lcssa.reload, %storemerge.in.reload\n %29 = add i64 %storemerge.in.reload, 1440\n store i64 %29, i64* %storemerge.in.reg2mem\n br i1 %28, label LBL_5, label LBL_6\n LBL_6:\n %storemerge = sext i64 %storemerge.in.reload to i128\n store i128 %storemerge, i128* %sv_1, align 8\n %sext6 = mul i64 %1, 4294967296\n %30 = ashr exact i64 %sext6, 32\n %31 = add i64 %sv_0.0.lcssa.reload, %30\n %32 = icmp slt i64 %31, %storemerge.in.reload\n %. = select i1 %32, i64 4294967295, i64 0\n store i64 %., i64* %rax.0.reg2mem\n br label LBL_7\n LBL_7:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %storemerge.in.reload, { 3, 2, 1, 0 }\n uselistorder i64 %sv_0.0.lcssa.reload, { 1, 0 }\n uselistorder i8* %10, { 1, 0 }\n uselistorder i8* %.reg2mem, { 2, 0, 1 }\n uselistorder i64* %storemerge25.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_0.04.reg2mem, { 2, 0, 1 }\n uselistorder i64* %storemerge.in.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64 32, { 1, 2, 0 }\n uselistorder i1 false, { 2, 1, 0 }\n uselistorder i8 0, { 1, 0 }\n uselistorder label LBL_7, { 1, 0, 2 }\n uselistorder label LBL_2, { 1, 0 }\n }",259        "label": "0"260    },261    {262        "dataset": "CompRealVul",263        "file": "print_transform_5440",264        "fun_name": "print_transform",265        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i8* %arg2, i64 %arg3, i32* %arg4) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i8* %arg2 to i64\n %3 = ptrtoint i64* %arg1 to i64\n %4 = mul i64 %arg3, 8\n %5 = and i64 %4, 34359738360\n %6 = add i64 %5, ptrtoint ([2 x i8*]* @gv_0 to i64)\n %7 = inttoptr i64 %6 to i64*\n %8 = load i64, i64* %7, align 8\n %9 = and i64 %1, 4294967295\n %10 = call i64 @FUNC(i64 %8, i64 %9)\n %11 = call i64 @FUNC(i64 %3, i64 %2, i64 %10, i64 %9)\n %12 = trunc i64 %11 to i8\n %13 = icmp eq i8 %12, 1\n store i64 0, i64* %rax.0.reg2mem\n br i1 %13, label LBL_1, label LBL_3\n LBL_1:\n %14 = ptrtoint i32* %arg4 to i64\n %15 = add i64 %14, 4\n %16 = inttoptr i64 %15 to i32*\n %17 = load i32, i32* %16, align 4\n %18 = icmp slt i32 %17, 1\n store i64 1, i64* %rax.0.reg2mem\n br i1 %18, label LBL_3, label LBL_2\n LBL_2:\n %19 = add i64 %3, 256\n %20 = inttoptr i64 %19 to i64*\n %21 = load i64, i64* %20, align 8\n %22 = add i64 %21, %3\n %23 = zext i32 %17 to i64\n %24 = inttoptr i64 %22 to i8*\n %25 = trunc i64 %21 to i32\n %26 = sub i32 256, %25\n %27 = call i32 (i8*, i32, i8*, ...) @snprintf(i8* %24, i32 %26, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @gv_1, i64 0, i64 0), i64 %23)\n %28 = zext i32 %27 to i64\n %29 = call i64 @FUNC(i64 %3, i64 %28)\n store i64 %29, i64* %rax.0.reg2mem\n br label LBL_3\n LBL_3:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %21, { 1, 0 }\n uselistorder i64 %9, { 1, 0 }\n uselistorder i64 %3, { 1, 0, 2, 3 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder label LBL_3, { 2, 0, 1 }\n }",266        "label": "0"267    },268    {269        "dataset": "CompRealVul",270        "file": "streamLookupCG_9721",271        "fun_name": "streamLookupCG",272        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = icmp eq i64* %arg1, null\n %1 = icmp eq i1 %0, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %1, label LBL_1, label LBL_2\n LBL_1:\n %2 = call i64 @FUNC(i64 %arg2)\n %3 = call i64 @FUNC(i64 %arg2, i64 %arg2, i64 %2)\n %4 = load i64, i64* @gv_0, align 8\n %5 = icmp eq i64 %3, %4\n %. = select i1 %5, i64 0, i64 %3\n store i64 %., i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %arg2, { 2, 1, 0 }\n }",273        "label": "0"274    },275    {276        "dataset": "CompRealVul",277        "file": "qemu_fd_getpagesize_409",278        "fun_name": "qemu_fd_getpagesize",279        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %sv_0 = alloca i64, align 8\n %0 = trunc i64 %arg1 to i32\n %1 = icmp eq i32 %0, -1\n br i1 %1, label LBL_5, label LBL_1\n LBL_1:\n %2 = bitcast i64* %sv_0 to %statfs*\n br label LBL_2\n LBL_2:\n %3 = call i32 @fstatfs(i32 %0, %statfs* nonnull %2)\n %4 = icmp eq i32 %3, 0\n br i1 %4, label LBL_4, label LBL_3\n LBL_3:\n %5 = call i32* @__errno_location()\n %6 = load i32, i32* %5, align 4\n %7 = icmp eq i32 %6, 4\n br i1 %7, label LBL_2, label LBL_5\n LBL_4:\n %8 = load i64, i64* %sv_0, align 8\n %9 = icmp eq i64 %8, 2508478710\n %10 = icmp eq i1 %9, false\n br i1 %10, label LBL_5, label LBL_6\n LBL_5:\n %11 = call i32 @getpagesize()\n %12 = sext i32 %11 to i64\n store i64 %12, i64* %storemerge.reg2mem\n br label LBL_6\n LBL_6:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %sv_0, { 1, 0 }\n uselistorder i32 1, { 1, 0 }\n uselistorder label LBL_6, { 1, 0 }\n uselistorder label LBL_5, { 1, 0, 2 }\n uselistorder label LBL_2, { 1, 0 }\n }",280        "label": "0"281    },282    {283        "dataset": "CompRealVul",284        "file": "unit_name_path_escape_5558",285        "fun_name": "unit_name_path_escape",286        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %rbx.0.reg2mem = alloca i64\n %storemerge.reg2mem = alloca i64\n %sv_0 = alloca i64, align 8\n store i64 0, i64* %sv_0, align 8\n %0 = icmp eq i64 %arg1, 0\n %1 = icmp eq i1 %0, false\n br i1 %1, label LBL_2, label LBL_1\n LBL_1:\n call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @gv_1, i64 0, i64 0), i32 44, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_2\n LBL_2:\n %2 = icmp eq i64* %arg2, null\n %3 = icmp eq i1 %2, false\n br i1 %3, label LBL_4, label LBL_3\n LBL_3:\n call void @__assert_fail(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @gv_3, i64 0, i64 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @gv_1, i64 0, i64 0), i32 45, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_4\n LBL_4:\n %4 = inttoptr i64 %arg1 to i8*\n %5 = call i8* @strdup(i8* %4)\n %6 = ptrtoint i8* %5 to i64\n store i64 %6, i64* %sv_0, align 8\n %7 = icmp eq i8* %5, null\n %8 = icmp eq i1 %7, false\n store i64 4294967284, i64* %rbx.0.reg2mem\n br i1 %8, label LBL_5, label LBL_11\n LBL_5:\n %9 = call i64 @FUNC(i64 %6)\n %10 = load i64, i64* %sv_0, align 8\n %11 = call i64 @FUNC(i64 %10)\n %12 = trunc i64 %11 to i32\n %13 = icmp eq i32 %12, 0\n br i1 %13, label LBL_7, label LBL_6\n LBL_6:\n %14 = call i8* @strdup(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @gv_4, i64 0, i64 0))\n %15 = ptrtoint i8* %14 to i64\n store i64 %15, i64* %storemerge.reg2mem\n br label LBL_9\n LBL_7:\n %16 = load i64, i64* %sv_0, align 8\n %17 = call i64 @FUNC(i64 %16)\n %18 = trunc i64 %17 to i32\n %19 = icmp eq i32 %18, 0\n %20 = icmp eq i1 %19, false\n store i64 4294967274, i64* %rbx.0.reg2mem\n br i1 %20, label LBL_8, label LBL_11\n LBL_8:\n %21 = load i64, i64* %sv_0, align 8\n %22 = call i64 @FUNC(i64 %21, i64* nonnull @gv_5)\n %23 = load i64, i64* %sv_0, align 8\n %24 = call i64 @FUNC(i64 %23, i64* nonnull @gv_5)\n %25 = call i64 @FUNC(i64 %24)\n store i64 %25, i64* %storemerge.reg2mem\n br label LBL_9\n LBL_9:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n %26 = icmp eq i64 %storemerge.reload, 0\n %27 = icmp eq i1 %26, false\n store i64 4294967284, i64* %rbx.0.reg2mem\n br i1 %27, label LBL_10, label LBL_11\n LBL_10:\n store i64 %storemerge.reload, i64* %arg2, align 8\n store i64 0, i64* %rbx.0.reg2mem\n br label LBL_11\n LBL_11:\n %rbx.0.reload = load i64, i64* %rbx.0.reg2mem\n %28 = call i64 @FUNC(i64* nonnull %sv_0)\n ret i64 %rbx.0.reload\n\n uselistorder i64 %storemerge.reload, { 1, 0 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rbx.0.reg2mem, { 0, 4, 1, 2, 3 }\n uselistorder i8* (i8*)* @strdup, { 2, 1, 0 }\n uselistorder void (i8*, i8*, i32, i8*)* @__assert_fail, { 1, 0 }\n uselistorder label LBL_11, { 3, 0, 1, 2 }\n }",287        "label": "0"288    },289    {290        "dataset": "CompRealVul",291        "file": "ipoctal_init_2931",292        "fun_name": "ipoctal_init",293        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %sv_0 = alloca i64, align 8\n %sv_1 = alloca i64, align 8\n %3 = bitcast i64* %sv_0 to i8*\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_1\n LBL_1:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %4 = mul nuw nsw i64 %indvars.iv.reload, 24\n %5 = add i64 %4, %2\n %6 = add i64 %5, 16\n %7 = inttoptr i64 %6 to i64*\n store i64 %2, i64* %7, align 8\n %8 = inttoptr i64 %5 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = icmp eq i64 %9, 0\n br i1 %10, label LBL_5, label LBL_2\n LBL_2:\n store i64 30506449997099113, i64* %sv_1, align 8\n %11 = load i32, i32* bitcast (i64* @gv_0 to i32*), align 8\n %12 = zext i32 %11 to i64\n %13 = call i32 (i8*, i32, i8*, ...) @snprintf(i8* nonnull %3, i32 10, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_1, i64 0, i64 0), i64* nonnull %sv_1, i64 %12)\n %14 = load i64, i64* %8, align 8\n %15 = call i64 @FUNC(i64* nonnull %sv_0, i64 %14, i64 0)\n %16 = add i64 %5, 8\n %17 = inttoptr i64 %16 to i64*\n store i64 %15, i64* %17, align 8\n %18 = icmp eq i64 %15, 0\n br i1 %18, label LBL_4, label LBL_3\n LBL_3:\n store i32 ptrtoint (i32* @gv_2 to i32), i32* bitcast (i64* @gv_0 to i32*), align 8\n %19 = load i64, i64* %17, align 8\n %20 = call i64 @FUNC(i64 %19)\n %21 = load i64, i64* %17, align 8\n %22 = call i64 @FUNC(i64 %21, i64 4198796, i64 4198803, i64 4198810, i64 %5)\n %23 = load i64, i64* %8, align 8\n %24 = call i64 @FUNC(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @gv_3, i64 0, i64 0), i64 %indvars.iv.reload, i64 %23, i64* nonnull %sv_0, i64 %5, i64 %1)\n br label LBL_5\n LBL_4:\n %25 = load i64, i64* %8, align 8\n %26 = inttoptr i64 %14 to i64*\n %27 = call i64 @FUNC(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @gv_4, i64 0, i64 0), i64 %indvars.iv.reload, i64 %25, i64* %26, i64 %12, i64 %1)\n br label LBL_5\n LBL_5:\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 4\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_6, label LBL_1\n LBL_6:\n ret i64 0\n\n uselistorder i64* %17, { 1, 0, 2 }\n uselistorder i64* %8, { 1, 0, 2, 3 }\n uselistorder i64 %indvars.iv.reload, { 0, 2, 1, 3 }\n uselistorder i64 %2, { 1, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i64 (i8*, i64, i64, i64*, i64, i64)* @DPRINTF, { 1, 0 }\n }",294        "label": "0"295    },296    {297        "dataset": "CompRealVul",298        "file": "calloc_6812",299        "fun_name": "calloc",300        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %0 = zext i64 %arg2 to i128\n %1 = zext i64 %arg1 to i128\n %2 = mul nuw i128 %0, %1\n %3 = icmp ugt i128 %2, 18446744073709551615\n %4 = icmp eq i1 %3, false\n br i1 %4, label LBL_2, label LBL_1\n LBL_1:\n %5 = call i32* @__errno_location()\n store i32 12, i32* %5, align 4\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_3\n LBL_2:\n %6 = trunc i128 %2 to i64\n %7 = call i64 @FUNC(i64 %6)\n store i64 %7, i64* %storemerge.reg2mem\n br label LBL_3\n LBL_3:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i128 %2, { 1, 0 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n }",301        "label": "0"302    },303    {304        "dataset": "CompRealVul",305        "file": "FillSecondShaper_9232",306        "fun_name": "FillSecondShaper",307        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %xmm0.2.reg2mem = alloca i128\n %xmm0.34.reg2mem = alloca i128\n %indvars.iv.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = trunc i64 %arg3 to i32\n %3 = icmp eq i32 %2, 0\n %4 = load i128, i128* @gv_0, align 8\n %5 = trunc i128 %4 to i64\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_1\n LBL_1:\n %xmm0.34.reload = load i128, i128* %xmm0.34.reg2mem\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %6 = call i128 @FUNC(i128 %xmm0.34.reload, i128 %xmm0.34.reload)\n %7 = trunc i64 %indvars.iv.reload to i32\n %8 = call i128 @FUNC(i32 %7)\n %9 = call i128 @FUNC(i64 4670232813583204352)\n %10 = call i128 @FUNC(i128 %8, i128 %9)\n %11 = call i128 @FUNC(i128 %10)\n %12 = call i64 @FUNC(i128 %11)\n %13 = trunc i64 %12 to i32\n %14 = call i128 @FUNC(i32 %13)\n %15 = call i128 @FUNC(i64 %0)\n %16 = call i32 @__asm_movd.2(i128 %15)\n %17 = call i128 @FUNC(i128 %9, i128 %9)\n %18 = call i128 @FUNC(i32 %16)\n %19 = call i128 @FUNC(i64 %5)\n %20 = call i128 @FUNC(i128 %19, i128 %18)\n call void @FUNC(i128 %20, i128 %4)\n br i1 %3, label LBL_3, label LBL_2\n LBL_2:\n %21 = mul i64 %indvars.iv.reload, 2\n %22 = add i64 %21, %1\n %23 = inttoptr i64 %22 to i16*\n store i16 -256, i16* %23, align 2\n store i128 %20, i128* %xmm0.2.reg2mem\n store i64 %22, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_3:\n %24 = call i128 @FUNC(i128 %18, i128 %18)\n %25 = call i128 @FUNC(i32 %16)\n %26 = call i128 @FUNC(i64 %5)\n %27 = call i128 @FUNC(i128 %26, i128 %25)\n %28 = call i32 @FUNC(i128 %27)\n %29 = trunc i32 %28 to i16\n %30 = mul i64 %indvars.iv.reload, 2\n %31 = add i64 %30, %1\n %32 = inttoptr i64 %31 to i16*\n store i16 %29, i16* %32, align 2\n store i128 %27, i128* %xmm0.2.reg2mem\n store i64 %31, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %xmm0.2.reload = load i128, i128* %xmm0.2.reg2mem\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 16385\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n store i128 %xmm0.2.reload, i128* %xmm0.34.reg2mem\n br i1 %exitcond, label LBL_5, label LBL_1\n LBL_5:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i128 %18, { 1, 0, 2 }\n uselistorder i128 %9, { 1, 0, 2 }\n uselistorder i64 %indvars.iv.reload, { 0, 3, 2, 1 }\n uselistorder i128 %xmm0.34.reload, { 1, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i128* %xmm0.34.reg2mem, { 1, 0 }\n uselistorder i128* %xmm0.2.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 1 }\n }",308        "label": "0"309    },310    {311        "dataset": "CompRealVul",312        "file": "lo_complete_rq_8608",313        "fun_name": "lo_complete_rq",314        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %.pre-phi2.reg2mem = alloca i32*\n %storemerge.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = call i64 @FUNC(i64 %3)\n %5 = trunc i64 %4 to i32\n %6 = icmp eq i32 %5, 0\n %7 = icmp eq i1 %6, false\n br i1 %7, label LBL_4, label LBL_1\n LBL_1:\n %8 = add i64 %1, 8\n %9 = inttoptr i64 %8 to i32*\n %10 = load i32, i32* %9, align 4\n %11 = icmp eq i32 %10, 0\n br i1 %11, label LBL_4, label LBL_2\n LBL_2:\n %12 = add i64 %1, 12\n %13 = inttoptr i64 %12 to i32*\n %14 = load i32, i32* %13, align 4\n %15 = icmp slt i32 %14, 0\n br i1 %15, label LBL_4, label LBL_3\n LBL_3:\n %16 = zext i32 %14 to i64\n %17 = load i64, i64* %2, align 8\n %18 = call i64 @FUNC(i64 %17)\n %19 = icmp sgt i64 %18, %16\n store i64 1, i64* %storemerge.reg2mem\n br i1 %19, label LBL_5, label LBL_4\n LBL_4:\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n %20 = call i64 @FUNC(i64 %storemerge.reload)\n %21 = trunc i64 %20 to i32\n %22 = icmp eq i32 %21, 0\n br i1 %22, label LBL_5.LBL_8_crit_edge, label LBL_7\n LBL_6:\n %.pre = add i64 %1, 12\n %.pre1 = inttoptr i64 %.pre to i32*\n store i32* %.pre1, i32** %.pre-phi2.reg2mem\n br label LBL_8\n LBL_7:\n %23 = load i64, i64* %2, align 8\n %24 = inttoptr i64 %23 to i64*\n %25 = load i64, i64* %24, align 8\n %26 = add i64 %1, 12\n %27 = inttoptr i64 %26 to i32*\n %28 = load i32, i32* %27, align 4\n %29 = zext i32 %28 to i64\n %30 = call i64 @FUNC(i64 %25, i64 %29)\n %31 = call i64 @FUNC(i64 %25)\n store i32* %27, i32** %.pre-phi2.reg2mem\n br label LBL_8\n LBL_8:\n %.pre-phi2.reload = load i32*, i32** %.pre-phi2.reg2mem\n %32 = load i32, i32* %.pre-phi2.reload, align 4\n %33 = icmp slt i32 %32, 0\n %34 = zext i1 %33 to i64\n %35 = call i64 @FUNC(i64 %0, i64 %34)\n ret i64 %35\n\n uselistorder i64* %2, { 1, 0, 2 }\n uselistorder i64 %1, { 3, 0, 2, 1, 4 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64 12, { 1, 0, 2 }\n uselistorder label LBL_8, { 1, 0 }\n uselistorder label LBL_5, { 1, 0 }\n }",315        "label": "0"316    },317    {318        "dataset": "CompRealVul",319        "file": "reallocate_lines_4706",320        "fun_name": "reallocate_lines",321        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = mul i64 %0, 3\n %2 = udiv i64 %1, 2\n %3 = add nuw i64 %2, 2\n %4 = load i64, i64* @gv_0, align 8\n %5 = call i64 @reallocarray(i64 %4, i64 %3, i64 8)\n %6 = icmp eq i64 %5, 0\n %7 = icmp eq i1 %6, false\n br i1 %7, label LBL_2, label LBL_1\n LBL_1:\n %8 = load i32, i32* @gv_1, align 4\n %9 = load i64, i64* @gv_2, align 8\n %10 = inttoptr i64 %9 to i64*\n %11 = call i32 @munmap(i64* %10, i32 %8)\n store i64 0, i64* @gv_2, align 8\n %12 = load i64, i64* @gv_0, align 8\n %13 = inttoptr i64 %12 to i64*\n call void @free(i64* %13)\n store i64 0, i64* @gv_0, align 8\n store i64 0, i64* %arg1, align 8\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_3\n LBL_2:\n store i64 %2, i64* %arg1, align 8\n store i64 %5, i64* @gv_0, align 8\n store i64 1, i64* %storemerge.reg2mem\n br label LBL_3\n LBL_3:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %2, { 1, 0 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64 2, { 1, 0 }\n }",322        "label": "0"323    },324    {325        "dataset": "CompRealVul",326        "file": "gfs2_inplace_release_4037",327        "fun_name": "gfs2_inplace_release",328        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = icmp eq i64* %arg1, null\n br i1 %1, label LBL_2, label LBL_1\n LBL_1:\n %2 = call i64 @FUNC(i64 %0)\n br label LBL_2\n LBL_2:\n %3 = call i64 @FUNC(i64 %0)\n ret i64 %3\n }",329        "label": "0"330    },331    {332        "dataset": "CompRealVul",333        "file": "ftrace_convert_nops_3843",334        "fun_name": "ftrace_convert_nops",335        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %sv_0.01.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = call i64 @FUNC(i64* nonnull @gv_0)\n %3 = icmp ult i64* %arg2, %arg3\n br i1 %3, label LBL_1, label LBL_5\n LBL_1:\n %4 = ptrtoint i64* %arg3 to i64\n %5 = ptrtoint i64* %arg2 to i64\n store i64 %5, i64* %sv_0.01.reg2mem\n br label LBL_2\n LBL_2:\n %sv_0.01.reload = load i64, i64* %sv_0.01.reg2mem\n %6 = inttoptr i64 %sv_0.01.reload to i64*\n %7 = load i64, i64* %6, align 8\n %8 = call i64 @FUNC(i64 %7)\n %9 = icmp eq i64 %8, 0\n %10 = icmp eq i1 %9, false\n br i1 %10, label LBL_3, label LBL_4\n LBL_3:\n %11 = call i64 @FUNC(i64 %8)\n br label LBL_4\n LBL_4:\n %12 = add i64 %sv_0.01.reload, 8\n %13 = icmp ult i64 %12, %4\n store i64 %12, i64* %sv_0.01.reg2mem\n br i1 %13, label LBL_2, label LBL_5\n LBL_5:\n %14 = ptrtoint i64* %arg1 to i64\n %15 = call i64 @FUNC(i64 %1)\n %16 = call i64 @FUNC(i64 %14)\n %17 = call i64 @FUNC(i64 %1)\n %18 = call i64 @FUNC(i64* nonnull @gv_0)\n ret i64 0\n\n uselistorder i64* %sv_0.01.reg2mem, { 1, 0, 2 }\n uselistorder i64* %arg3, { 1, 0 }\n uselistorder i64* %arg2, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",336        "label": "0"337    },338    {339        "dataset": "CompRealVul",340        "file": "mcf_fec_do_tx_13793",341        "fun_name": "mcf_fec_do_tx",342        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = alloca i32\n %sv_0.0.lcssa.reg2mem = alloca i32\n %sv_0.0.be.reg2mem = alloca i32\n %sv_1.0.reg2mem = alloca i64\n %sv_2.0.reg2mem = alloca i32\n %.reg2mem6 = alloca i32\n %sv_3.0.reg2mem = alloca i32\n %.pre-phi.reg2mem = alloca i32\n %sv_2.12.reg2mem = alloca i32\n %sv_0.03.reg2mem = alloca i32\n %sv_1.14.reg2mem = alloca i64\n %.reg2mem = alloca i32\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %4 = load i64, i64* %0\n %5 = load i64, i64* %0\n %6 = load i64, i64* %0\n %7 = load i64, i64* %0\n %8 = ptrtoint i64* %arg1 to i64\n %9 = load i32, i32* %1\n %10 = load i32, i32* %1\n %sv_4 = alloca i32, align 4\n %sv_5 = alloca i64, align 8\n %11 = call i64 @FUNC(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @gv_0, i64 0, i64 0), i64 %5, i64 %6, i64 %7, i64 %3, i64 %2)\n %12 = ptrtoint i64* %sv_5 to i64\n %13 = trunc i64 %4 to i32\n %14 = bitcast i32* %sv_4 to i64*\n %15 = zext i32 %9 to i64\n %16 = zext i32 %10 to i64\n %17 = add i64 %8, 8\n %18 = inttoptr i64 %17 to i32*\n %19 = add i64 %8, 16\n %20 = inttoptr i64 %19 to i64*\n %21 = add i64 %8, 4\n %22 = inttoptr i64 %21 to i32*\n store i32 1, i32* %.reg2mem\n store i64 %12, i64* %sv_1.14.reg2mem\n store i32 %13, i32* %sv_0.03.reg2mem\n store i32 0, i32* %sv_2.12.reg2mem\n br label LBL_1\n LBL_1:\n %sv_0.03.reload = load i32, i32* %sv_0.03.reg2mem\n %23 = zext i32 %sv_0.03.reload to i64\n %24 = call i64 @FUNC(i64* nonnull %14, i64 %23)\n %25 = load i32, i32* %sv_4, align 4\n %26 = zext i32 %25 to i64\n %27 = call i64 @FUNC(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @gv_1, i64 0, i64 0), i64 %23, i64 %26, i64 %15, i64 %16, i64 %2)\n %28 = load i32, i32* %sv_4, align 4\n %29 = urem i32 %28, 2\n %30 = icmp eq i32 %29, 0\n store i32 %sv_0.03.reload, i32* %sv_0.0.lcssa.reg2mem\n br i1 %30, label LBL_11, label LBL_2\n LBL_2:\n %sv_2.12.reload = load i32, i32* %sv_2.12.reg2mem\n %sv_1.14.reload = load i64, i64* %sv_1.14.reg2mem\n %.reload = load i32, i32* %.reg2mem\n %31 = add i32 %sv_2.12.reload, %9\n %32 = icmp slt i32 %31, 1501\n store i32 %31, i32* %.pre-phi.reg2mem\n br i1 %32, label LBL_4, label LBL_3\n LBL_3:\n %33 = sub i32 1500, %sv_2.12.reload\n %34 = load i32, i32* %18, align 4\n %35 = or i32 %34, 8\n store i32 %35, i32* %18, align 4\n store i32 1500, i32* %.pre-phi.reg2mem\n store i32 %33, i32* %sv_3.0.reg2mem\n br label LBL_4\n LBL_4:\n %sv_3.0.reload = load i32, i32* %sv_3.0.reg2mem\n %36 = call i64 @FUNC(i64 %16, i64 %sv_1.14.reload, i32 %sv_3.0.reload)\n %37 = load i32, i32* %sv_4, align 4\n %38 = and i32 %37, 2\n %39 = icmp eq i32 %38, 0\n br i1 %39, label LBL_4.LBL_7_crit_edge, label LBL_6\n LBL_5:\n %.pre-phi.reload = load i32, i32* %.pre-phi.reg2mem\n %40 = sext i32 %sv_3.0.reload to i64\n %41 = add i64 %sv_1.14.reload, %40\n %.pre = load i32, i32* %18, align 4\n store i32 %.pre, i32* %.reg2mem6\n store i32 %.pre-phi.reload, i32* %sv_2.0.reg2mem\n store i64 %41, i64* %sv_1.0.reg2mem\n br label LBL_7\n LBL_6:\n %42 = zext i32 %sv_3.0.reload to i64\n %43 = call i64 @FUNC(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @gv_2, i64 0, i64 0), i64 %sv_1.14.reload, i64 %42, i64 %sv_1.14.reload, i64 %16, i64 %2)\n %44 = load i64, i64* %20, align 8\n %45 = call i64 @FUNC(i64 %44)\n %46 = call i64 @FUNC(i64 %45, i64* nonnull %sv_5, i32 %sv_3.0.reload)\n %47 = load i32, i32* %18, align 4\n %48 = or i32 %47, 16\n store i32 %48, i32* %18, align 4\n store i32 %48, i32* %.reg2mem6\n store i32 0, i32* %sv_2.0.reg2mem\n store i64 %12, i64* %sv_1.0.reg2mem\n br label LBL_7\n LBL_7:\n %sv_1.0.reload = load i64, i64* %sv_1.0.reg2mem\n %sv_2.0.reload = load i32, i32* %sv_2.0.reg2mem\n %.reload7 = load i32, i32* %.reg2mem6\n %49 = or i32 %.reload7, 32\n store i32 %49, i32* %18, align 4\n %50 = load i32, i32* %sv_4, align 4\n %51 = and i32 %50, -2\n store i32 %51, i32* %sv_4, align 4\n %52 = call i64 @FUNC(i64* nonnull %14, i64 %23)\n %53 = load i32, i32* %sv_4, align 4\n %54 = and i32 %53, 4\n %55 = icmp eq i32 %54, 0\n br i1 %55, label LBL_10, label LBL_8\n LBL_8:\n %56 = load i32, i32* %22, align 4\n store i32 %56, i32* %sv_0.0.be.reg2mem\n br label LBL_9\n LBL_9:\n %sv_0.0.be.reload = load i32, i32* %sv_0.0.be.reg2mem\n %57 = add nuw nsw i32 %.reload, 1\n %58 = icmp ult i32 %.reload, 32\n store i32 %57, i32* %.reg2mem\n store i64 %sv_1.0.reload, i64* %sv_1.14.reg2mem\n store i32 %sv_0.0.be.reload, i32* %sv_0.03.reg2mem\n store i32 %sv_2.0.reload, i32* %sv_2.12.reg2mem\n store i32 %sv_0.0.be.reload, i32* %sv_0.0.lcssa.reg2mem\n br i1 %58, label LBL_1, label LBL_11\n LBL_10:\n %59 = add i32 %sv_0.03.reload, 8\n store i32 %59, i32* %sv_0.0.be.reg2mem\n br label LBL_9\n LBL_11:\n %sv_0.0.lcssa.reload = load i32, i32* %sv_0.0.lcssa.reg2mem\n %60 = bitcast i64* %arg1 to i32*\n store i32 %sv_0.0.lcssa.reload, i32* %60, align 4\n ret i64 %8\n\n uselistorder i32 %sv_3.0.reload, { 3, 1, 2, 0 }\n uselistorder i32 %.reload, { 1, 0 }\n uselistorder i64 %sv_1.14.reload, { 0, 1, 3, 2 }\n uselistorder i32 %sv_0.03.reload, { 1, 0, 2 }\n uselistorder i32* %18, { 1, 3, 2, 0, 4, 5 }\n uselistorder i64 %16, { 1, 0, 2 }\n uselistorder i32* %sv_4, { 5, 4, 3, 2, 1, 0, 6 }\n uselistorder i32 %9, { 1, 0 }\n uselistorder i64 %8, { 3, 2, 1, 0 }\n uselistorder i64 %2, { 2, 1, 0 }\n uselistorder i32* %.reg2mem, { 1, 0, 2 }\n uselistorder i64* %sv_1.14.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_0.03.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_2.12.reg2mem, { 1, 0, 2 }\n uselistorder i32* %.pre-phi.reg2mem, { 0, 2, 1 }\n uselistorder i32* %sv_0.0.be.reg2mem, { 2, 0, 1 }\n uselistorder i32* %1, { 1, 0 }\n uselistorder i64* %0, { 5, 4, 3, 2, 1, 0 }\n uselistorder i32 8, { 1, 2, 0 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i32 0, { 2, 0, 3, 4, 1 }\n uselistorder i64 (i8*, i64, i64, i64, i64, i64)* @DPRINTF, { 2, 1, 0 }\n uselistorder label LBL_11, { 1, 0 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_7, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",343        "label": "0"344    },345    {346        "dataset": "CompRealVul",347        "file": "smp_proc_id_info_10619",348        "fun_name": "smp_proc_id_info",349        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @gv_1, i64 0, i64 0))\n %3 = call i64 @FUNC(i64 %1, i64 %0, i64 16)\n %4 = call i64 @FUNC(i64 %1, i64 0)\n ret i64 %4\n }",350        "label": "0"351    },352    {353        "dataset": "CompRealVul",354        "file": "ff_simple_idct84_add_757",355        "fun_name": "ff_simple_idct84_add",356        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %indvars.iv.reg2mem = alloca i64\n %indvars.iv5.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg3 to i64\n store i64 0, i64* %indvars.iv5.reg2mem\n br label LBL_1\n LBL_1:\n %indvars.iv5.reload = load i64, i64* %indvars.iv5.reg2mem\n %1 = mul i64 %indvars.iv5.reload, 32\n %2 = add i64 %1, %0\n %3 = call i64 @FUNC(i64 %2, i64 0)\n %indvars.iv.next6 = add nuw nsw i64 %indvars.iv5.reload, 1\n %exitcond7 = icmp eq i64 %indvars.iv.next6, 4\n store i64 %indvars.iv.next6, i64* %indvars.iv5.reg2mem\n br i1 %exitcond7, label LBL_2, label LBL_1\n LBL_2:\n %4 = ptrtoint i64* %arg1 to i64\n %5 = and i64 %arg2, 4294967295\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_3\n LBL_3:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %6 = mul i64 %indvars.iv.reload, 4\n %7 = add i64 %6, %0\n %8 = add i64 %indvars.iv.reload, %4\n %9 = call i64 @FUNC(i64 %8, i64 %5, i64 %7)\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 8\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_4, label LBL_3\n LBL_4:\n ret i64 %9\n\n uselistorder i64* %indvars.iv5.reg2mem, { 1, 0, 2 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i64 1, { 1, 0 }\n }",357        "label": "0"358    },359    {360        "dataset": "CompRealVul",361        "file": "rv30_decode_intra_types_3451",362        "fun_name": "rv30_decode_intra_types",363        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.01433.reg2mem = alloca i32\n %sv_1.21334.reg2mem = alloca i64\n %.reg2mem43 = alloca i32\n %sv_1.08.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %rcx.111.lcssa.reg2mem = alloca i64\n %storemerge1230.reg2mem = alloca i32\n %sv_1.11031.reg2mem = alloca i64\n %.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = ptrtoint i64* %arg2 to i64\n %4 = call i64 @FUNC(i64 %3)\n %5 = trunc i64 %4 to i32\n %6 = mul i32 %5, 2\n %7 = icmp ult i32 %6, 162\n br i1 %7, label LBL_1, label LBL_4\n LBL_1:\n %8 = ptrtoint i64* %arg1 to i64\n %9 = add i64 %8, 8\n %10 = inttoptr i64 %9 to i32*\n %11 = ptrtoint i64* %arg3 to i64\n store i32 %6, i32* %.reg2mem43\n store i64 %11, i64* %sv_1.21334.reg2mem\n store i32 0, i32* %sv_0.01433.reg2mem\n br label LBL_3.lr.ph\n LBL_2:\n %12 = call i64 @FUNC(i64 %3)\n %13 = trunc i64 %12 to i32\n %14 = mul i32 %13, 2\n %15 = icmp ult i32 %14, 162\n store i32 %14, i32* %.reg2mem\n store i64 %51, i64* %sv_1.11031.reg2mem\n store i32 %54, i32* %storemerge1230.reg2mem\n store i64 %53, i64* %rcx.111.lcssa.reg2mem\n br i1 %15, label LBL_3, label LBL_4\n LBL_3:\n %storemerge1230.reload = load i32, i32* %storemerge1230.reg2mem\n %sv_1.11031.reload = load i64, i64* %sv_1.11031.reg2mem\n %.reload = load i32, i32* %.reg2mem\n store i64 0, i64* %indvars.iv.reg2mem\n store i64 %sv_1.11031.reload, i64* %sv_1.08.reg2mem\n br label LBL_5\n LBL_4:\n %rcx.111.lcssa.reload = load i64, i64* %rcx.111.lcssa.reg2mem\n %16 = call i64 @FUNC(i64 %3, i64 0, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @gv_0, i64 0, i64 0), i64 %rcx.111.lcssa.reload, i64 %2, i64 %1)\n store i64 4294967295, i64* %rax.0.reg2mem\n br label LBL_12\n LBL_5:\n %sv_1.08.reload = load i64, i64* %sv_1.08.reg2mem\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %17 = load i32, i32* %10, align 4\n %18 = sub i32 0, %17\n %19 = sext i32 %18 to i64\n %20 = add i64 %sv_1.08.reload, %19\n %21 = inttoptr i64 %20 to i8*\n %22 = load i8, i8* %21, align 1\n %23 = sext i8 %22 to i32\n %24 = add i64 %sv_1.08.reload, -1\n %25 = inttoptr i64 %24 to i8*\n %26 = load i8, i8* %25, align 1\n %27 = sext i8 %26 to i32\n %28 = mul nsw i32 %23, 90\n %29 = mul nsw i32 %27, 9\n %30 = trunc i64 %indvars.iv.reload to i32\n %31 = or i32 %.reload, %30\n %32 = zext i32 %31 to i64\n %33 = mul i64 %32, 4\n %34 = add i64 %33, ptrtoint (i32** @gv_1 to i64)\n %35 = inttoptr i64 %34 to i32*\n %36 = load i32, i32* %35, align 4\n %37 = add nsw i32 %28, 99\n %38 = add i32 %37, %36\n %39 = add i32 %38, %29\n %40 = sext i32 %39 to i64\n %41 = mul i64 %40, 4\n %42 = add i64 %41, ptrtoint (i32** @gv_2 to i64)\n %43 = inttoptr i64 %42 to i32*\n %44 = load i32, i32* %43, align 4\n %45 = trunc i32 %44 to i8\n %46 = inttoptr i64 %sv_1.08.reload to i8*\n store i8 %45, i8* %46, align 1\n %47 = icmp eq i8 %45, 9\n %48 = icmp eq i1 %47, false\n br i1 %48, label LBL_7, label LBL_6\n LBL_6:\n %49 = zext i32 %44 to i64\n %50 = call i64 @FUNC(i64 %3, i64 0, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @gv_3, i64 0, i64 0), i64 %49, i64 %2, i64 %1)\n store i64 4294967295, i64* %rax.0.reg2mem\n br label LBL_12\n LBL_7:\n %51 = add i64 %sv_1.08.reload, 1\n %52 = icmp eq i64 %indvars.iv.reload, 1\n store i64 1, i64* %indvars.iv.reg2mem\n store i64 %51, i64* %sv_1.08.reg2mem\n br i1 %52, label LBL_8, label LBL_5\n LBL_8:\n %53 = zext i32 %44 to i64\n %54 = add nuw nsw i32 %storemerge1230.reload, 2\n %55 = icmp ult i32 %54, 4\n br i1 %55, label LBL_2, label LBL_9\n LBL_9:\n %56 = add nuw nsw i32 %sv_0.01433.reload, 1\n %57 = icmp ult i32 %56, 4\n store i64 0, i64* %rax.0.reg2mem\n br i1 %57, label LBL_10, label LBL_12\n LBL_10:\n %58 = add i64 %sv_1.08.reload, -3\n %59 = load i32, i32* %10, align 4\n %60 = sext i32 %59 to i64\n %61 = add i64 %58, %60\n %62 = call i64 @FUNC(i64 %3)\n %63 = trunc i64 %62 to i32\n %64 = mul i32 %63, 2\n %65 = icmp ult i32 %64, 162\n store i64 %53, i64* %rcx.111.lcssa.reg2mem\n store i32 %64, i32* %.reg2mem43\n store i64 %61, i64* %sv_1.21334.reg2mem\n store i32 %56, i32* %sv_0.01433.reg2mem\n br i1 %65, label LBL_3.lr.ph, label LBL_4\n LBL_11:\n %sv_0.01433.reload = load i32, i32* %sv_0.01433.reg2mem\n %sv_1.21334.reload = load i64, i64* %sv_1.21334.reg2mem\n %.reload44 = load i32, i32* %.reg2mem43\n store i32 %.reload44, i32* %.reg2mem\n store i64 %sv_1.21334.reload, i64* %sv_1.11031.reg2mem\n store i32 0, i32* %storemerge1230.reg2mem\n br label LBL_3\n LBL_12:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %54, { 1, 0 }\n uselistorder i64 %53, { 1, 0 }\n uselistorder i64 %indvars.iv.reload, { 1, 0 }\n uselistorder i64 %sv_1.08.reload, { 4, 1, 0, 2, 3 }\n uselistorder i64 %3, { 1, 3, 2, 4, 0 }\n uselistorder i64 %2, { 1, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i32* %.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_1.11031.reg2mem, { 2, 0, 1 }\n uselistorder i32* %storemerge1230.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rcx.111.lcssa.reg2mem, { 2, 0, 1 }\n uselistorder i64* %indvars.iv.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_1.08.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 1, 3, 2 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i32 4, { 1, 0 }\n uselistorder i64 (i64, i64, i8*, i64, i64, i64)* @av_log, { 1, 0 }\n uselistorder i32 0, { 1, 2, 0 }\n uselistorder i32 162, { 1, 2, 0 }\n uselistorder i32 2, { 0, 3, 1, 2 }\n uselistorder i64 (i64)* @svq3_get_ue_golomb, { 1, 2, 0 }\n uselistorder label LBL_3.lr.ph, { 1, 0 }\n uselistorder label LBL_5, { 1, 0 }\n uselistorder label LBL_4, { 2, 0, 1 }\n }",364        "label": "0"365    },366    {367        "dataset": "CompRealVul",368        "file": "hso_free_net_device_12377",369        "fun_name": "hso_free_net_device",370        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %0 = call i64 @FUNC(i64 %arg1)\n %1 = icmp eq i64 %0, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %1, label LBL_8, label LBL_1\n LBL_1:\n %2 = inttoptr i64 %0 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = call i64 @FUNC(i64 %3)\n %5 = add i64 %0, 8\n %6 = inttoptr i64 %5 to i64*\n %7 = load i64, i64* %6, align 8\n %8 = icmp eq i64 %7, 0\n br i1 %8, label LBL_3, label LBL_2\n LBL_2:\n %9 = call i64 @FUNC(i64 %7)\n br label LBL_3\n LBL_3:\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_4\n LBL_4:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %10 = mul i64 %indvars.iv.reload, 8\n %11 = add i64 %10, %0\n %12 = add i64 %11, 16\n %13 = inttoptr i64 %12 to i64*\n %14 = load i64, i64* %13, align 8\n %15 = call i64 @FUNC(i64 %14)\n %16 = add i64 %11, 96\n %17 = inttoptr i64 %16 to i64*\n %18 = load i64, i64* %17, align 8\n %19 = call i64 @FUNC(i64 %18)\n store i64 0, i64* %17, align 8\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 10\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_5, label LBL_4\n LBL_5:\n %20 = add i64 %0, 176\n %21 = inttoptr i64 %20 to i64*\n %22 = load i64, i64* %21, align 8\n %23 = call i64 @FUNC(i64 %22)\n %24 = add i64 %0, 184\n %25 = inttoptr i64 %24 to i64*\n %26 = load i64, i64* %25, align 8\n %27 = call i64 @FUNC(i64 %26)\n store i64 0, i64* %25, align 8\n %28 = load i64, i64* %6, align 8\n %29 = icmp eq i64 %28, 0\n %30 = trunc i64 %arg2 to i8\n %31 = icmp eq i8 %30, 1\n %or.cond = or i1 %31, %29\n br i1 %or.cond, label LBL_7, label LBL_6\n LBL_6:\n %32 = call i64 @FUNC(i64 %28)\n br label LBL_7\n LBL_7:\n %33 = call i64 @FUNC(i64 %arg1)\n store i64 %33, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_8:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %0, { 1, 2, 0, 4, 3, 5 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i64 (i64)* @kfree, { 2, 0, 1 }\n uselistorder i32 1, { 5, 4, 3, 2, 1, 0 }\n uselistorder label LBL_8, { 1, 0 }\n }",371        "label": "1"372    },373    {374        "dataset": "CompRealVul",375        "file": "usb_alloc_streams_4397",376        "fun_name": "usb_alloc_streams",377        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i32 %arg3, i32 %arg4, i64 %arg5) local_unnamed_addr {\n LBL_0:\n %rax.0.shrunk.reg2mem = alloca i64\n %storemerge5.reg2mem = alloca i32\n %storemerge36.reg2mem = alloca i32\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = add i64 %1, 8\n %3 = inttoptr i64 %2 to i64*\n %4 = load i64, i64* %3, align 8\n %5 = call i64 @FUNC(i64 %4)\n %6 = inttoptr i64 %5 to i64*\n %7 = load i64, i64* %6, align 8\n %8 = inttoptr i64 %7 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = icmp eq i64 %9, 0\n store i64 4294967295, i64* %rax.0.shrunk.reg2mem\n br i1 %10, label LBL_10, label LBL_1\n LBL_1:\n %11 = add i64 %7, 8\n %12 = inttoptr i64 %11 to i64*\n %13 = load i64, i64* %12, align 8\n %14 = icmp eq i64 %13, 0\n %15 = icmp eq i1 %14, false\n store i64 4294967295, i64* %rax.0.shrunk.reg2mem\n br i1 %15, label LBL_2, label LBL_10\n LBL_2:\n %16 = inttoptr i64 %1 to i32*\n %17 = load i32, i32* %16, align 4\n %18 = icmp eq i32 %17, 3\n store i64 4294967295, i64* %rax.0.shrunk.reg2mem\n br i1 %18, label LBL_3, label LBL_10\n LBL_3:\n %19 = add i64 %1, 4\n %20 = inttoptr i64 %19 to i32*\n %21 = load i32, i32* %20, align 4\n %22 = icmp sgt i32 %21, 1\n store i64 4294967294, i64* %rax.0.shrunk.reg2mem\n br i1 %22, label LBL_4, label LBL_10\n LBL_4:\n %23 = ptrtoint i64* %arg2 to i64\n %24 = icmp eq i32 %arg3, 0\n store i32 0, i32* %storemerge36.reg2mem\n store i64 %5, i64* %rax.0.shrunk.reg2mem\n br i1 %24, label LBL_10, label LBL_5\n LBL_5:\n %storemerge36.reload = load i32, i32* %storemerge36.reg2mem\n %25 = sext i32 %storemerge36.reload to i64\n %26 = mul i64 %25, 8\n %27 = add i64 %26, %23\n %28 = inttoptr i64 %27 to i64*\n %29 = load i64, i64* %28, align 8\n %30 = call i64 @FUNC(i64 %29)\n %31 = trunc i64 %30 to i32\n %32 = icmp eq i32 %31, 0\n %33 = icmp eq i1 %32, false\n store i64 4294967295, i64* %rax.0.shrunk.reg2mem\n br i1 %33, label LBL_6, label LBL_10\n LBL_6:\n %34 = load i64, i64* %28, align 8\n %35 = inttoptr i64 %34 to i32*\n %36 = load i32, i32* %35, align 4\n %37 = icmp eq i32 %36, 0\n store i64 4294967295, i64* %rax.0.shrunk.reg2mem\n br i1 %37, label LBL_7, label LBL_10\n LBL_7:\n %38 = add nuw i32 %storemerge36.reload, 1\n %39 = icmp ult i32 %38, %arg3\n store i32 %38, i32* %storemerge36.reg2mem\n br i1 %39, label LBL_5, label LBL_8\n LBL_8:\n %40 = trunc i64 %5 to i32\n %41 = icmp slt i32 %40, 0\n store i32 0, i32* %storemerge5.reg2mem\n store i64 %5, i64* %rax.0.shrunk.reg2mem\n br i1 %41, label LBL_10, label LBL_9\n LBL_9:\n %storemerge5.reload = load i32, i32* %storemerge5.reg2mem\n %42 = sext i32 %storemerge5.reload to i64\n %43 = mul i64 %42, 8\n %44 = add i64 %43, %23\n %45 = inttoptr i64 %44 to i64*\n %46 = load i64, i64* %45, align 8\n %47 = inttoptr i64 %46 to i32*\n store i32 %40, i32* %47, align 4\n %48 = add nuw i32 %storemerge5.reload, 1\n %exitcond = icmp eq i32 %48, %arg3\n store i32 %48, i32* %storemerge5.reg2mem\n store i64 %5, i64* %rax.0.shrunk.reg2mem\n br i1 %exitcond, label LBL_10, label LBL_9\n LBL_10:\n %rax.0.shrunk.reload = load i64, i64* %rax.0.shrunk.reg2mem\n %rax.0 = and i64 %rax.0.shrunk.reload, 4294967295\n ret i64 %rax.0\n\n uselistorder i64 %5, { 0, 2, 3, 1, 4 }\n uselistorder i32* %storemerge36.reg2mem, { 2, 0, 1 }\n uselistorder i32* %storemerge5.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.0.shrunk.reg2mem, { 0, 3, 5, 1, 2, 4, 6, 7, 9, 8 }\n uselistorder i32 %arg3, { 0, 2, 1 }\n uselistorder label LBL_10, { 2, 4, 0, 1, 3, 5, 6, 8, 7 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_5, { 1, 0 }\n }",378        "label": "0"379    },380    {381        "dataset": "CompRealVul",382        "file": "post_xfer_5368",383        "fun_name": "post_xfer",384        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC(i64 %arg1)\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i32*\n %3 = load i32, i32* %2, align 4\n %4 = zext i32 %3 to i64\n %5 = call i64 @FUNC(i64 %4)\n %6 = trunc i64 %5 to i32\n %7 = add i64 %0, 12\n %8 = inttoptr i64 %7 to i32*\n %9 = load i32, i32* %8, align 4\n %10 = sub i32 0, %9\n %11 = sub i32 %10, 1\n %12 = and i32 %11, %6\n %13 = load i32, i32* %2, align 4\n %14 = zext i32 %12 to i64\n %15 = zext i32 %13 to i64\n %16 = call i64 @FUNC(i64 %15, i64 %14)\n %17 = load i32, i32* %2, align 4\n %18 = zext i32 %17 to i64\n %19 = call i64 @FUNC(i64 %18)\n %20 = add i64 %0, 16\n %21 = inttoptr i64 %20 to i32*\n %22 = load i32, i32* %21, align 4\n %23 = zext i32 %22 to i64\n %24 = call i64 @FUNC(i64 %23)\n %25 = trunc i64 %24 to i32\n %26 = add i64 %0, 20\n %27 = inttoptr i64 %26 to i32*\n %28 = load i32, i32* %27, align 4\n %29 = sub i32 0, %28\n %30 = sub i32 %29, 1\n %31 = and i32 %30, %25\n %32 = load i32, i32* %21, align 4\n %33 = zext i32 %31 to i64\n %34 = zext i32 %32 to i64\n %35 = call i64 @FUNC(i64 %34, i64 %33)\n %36 = load i32, i32* %21, align 4\n %37 = zext i32 %36 to i64\n %38 = call i64 @FUNC(i64 %37)\n %39 = add i64 %0, 24\n %40 = call i64 @FUNC(i64 %39)\n ret i64 %40\n\n uselistorder i64 %0, { 3, 0, 1, 2, 4 }\n uselistorder i64 (i64, i64)* @WREG32, { 1, 0 }\n uselistorder i64 (i64)* @RREG32, { 3, 2, 1, 0 }\n }",385        "label": "0"386    },387    {388        "dataset": "CompRealVul",389        "file": "qemu_chr_open_msmouse_2257",390        "fun_name": "qemu_chr_open_msmouse",391        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC(i64 16)\n %1 = inttoptr i64 %0 to i64*\n store i64 4198726, i64* %1, align 8\n %2 = add i64 %0, 8\n %3 = inttoptr i64 %2 to i64*\n store i64 4198733, i64* %3, align 8\n %4 = call i64 @FUNC(i64 4198824, i64 %0, i64 0, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @gv_0, i64 0, i64 0))\n ret i64 %0\n }",392        "label": "0"393    },394    {395        "dataset": "CompRealVul",396        "file": "WM_FreePatches_9175",397        "fun_name": "WM_FreePatches",398        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %indvars.iv.reg2mem = alloca i64\n %.reg2mem5 = alloca i64\n %.lcssa.reg2mem = alloca i64\n %.reg2mem = alloca i64\n %0 = call i64 @FUNC(i64* nonnull @gv_0)\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_5\n LBL_1:\n %.reload = load i64, i64* %.reg2mem\n %1 = inttoptr i64 %.reload to i64*\n %2 = load i64, i64* %1, align 8\n %3 = add i64 %.reload, 8\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n %6 = inttoptr i64 %5 to i64*\n call void @free(i64* %6)\n %7 = load i64, i64* %35, align 8\n %8 = inttoptr i64 %7 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = inttoptr i64 %9 to i64*\n call void @free(i64* %10)\n %11 = load i64, i64* %35, align 8\n %12 = inttoptr i64 %11 to i64*\n store i64 %2, i64* %12, align 8\n %13 = load i64, i64* %35, align 8\n %14 = inttoptr i64 %13 to i64*\n %15 = load i64, i64* %14, align 8\n %16 = icmp eq i64 %15, 0\n %17 = icmp eq i1 %16, false\n store i64 %15, i64* %.reg2mem\n store i64 %13, i64* %.lcssa.reg2mem\n br i1 %17, label LBL_1, label LBL_2\n LBL_2:\n %.lcssa.reload = load i64, i64* %.lcssa.reg2mem\n %18 = add i64 %.lcssa.reload, 8\n %19 = inttoptr i64 %18 to i64*\n %20 = load i64, i64* %19, align 8\n %21 = inttoptr i64 %20 to i64*\n call void @free(i64* %21)\n %22 = load i64, i64* %35, align 8\n %23 = add i64 %22, 16\n %24 = inttoptr i64 %23 to i64*\n %25 = load i64, i64* %24, align 8\n %26 = inttoptr i64 %22 to i64*\n call void @free(i64* %26)\n store i64 %25, i64* %35, align 8\n %27 = icmp eq i64 %25, 0\n %28 = icmp eq i1 %27, false\n store i64 %25, i64* %.reg2mem5\n br i1 %28, label LBL_3, label LBL_4\n LBL_3:\n %.reload6 = load i64, i64* %.reg2mem5\n %29 = inttoptr i64 %.reload6 to i64*\n %30 = load i64, i64* %29, align 8\n %31 = icmp eq i64 %30, 0\n %32 = icmp eq i1 %31, false\n store i64 %30, i64* %.reg2mem\n store i64 %.reload6, i64* %.lcssa.reg2mem\n br i1 %32, label LBL_1, label LBL_2\n LBL_4:\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 128\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_6, label LBL_5\n LBL_5:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %33 = mul i64 %indvars.iv.reload, 8\n %34 = add i64 %33, ptrtoint (i64* @gv_1 to i64)\n %35 = inttoptr i64 %34 to i64*\n %36 = load i64, i64* %35, align 8\n %37 = icmp eq i64 %36, 0\n %38 = icmp eq i1 %37, false\n store i64 %36, i64* %.reg2mem5\n br i1 %38, label LBL_3, label LBL_4\n LBL_6:\n %39 = call i64 @FUNC(i64* nonnull @gv_0)\n ret i64 %39\n\n uselistorder i64* %35, { 0, 4, 3, 5, 2, 1 }\n uselistorder i64 %indvars.iv.reload, { 1, 0 }\n uselistorder i64 %.reload6, { 1, 0 }\n uselistorder i64* %.reg2mem, { 1, 2, 0 }\n uselistorder i64* %.lcssa.reg2mem, { 2, 0, 1 }\n uselistorder i64* %.reg2mem5, { 1, 0, 2 }\n uselistorder i1 false, { 0, 1, 3, 2 }\n uselistorder void (i64*)* @free, { 1, 0, 3, 2 }\n uselistorder i64 8, { 0, 2, 1 }\n uselistorder i32 1, { 5, 4, 3, 2, 1, 0 }\n uselistorder label LBL_4, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",399        "label": "0"400    },401    {402        "dataset": "CompRealVul",403        "file": "film_read_close_16594",404        "fun_name": "film_read_close",405        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC(i64 %arg1)\n %1 = add i64 %arg1, 8\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n %4 = call i64 @FUNC(i64 %3)\n ret i64 0\n\n uselistorder i64 (i64)* @av_free, { 1, 0 }\n }",406        "label": "1"407    },408    {409        "dataset": "CompRealVul",410        "file": "DestroyPixelList_8199",411        "fun_name": "DestroyPixelList",412        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %rdi.0.reg2mem = alloca i64\n %rdi.12.reg2mem = alloca i64\n %storemerge13.reg2mem = alloca i64\n %0 = icmp eq i64 %arg1, 0\n %1 = icmp eq i1 %0, false\n store i64 0, i64* %storemerge13.reg2mem\n store i64 %arg1, i64* %rdi.12.reg2mem\n store i64 0, i64* %storemerge.reg2mem\n br i1 %1, label LBL_1, label LBL_5\n LBL_1:\n %rdi.12.reload = load i64, i64* %rdi.12.reg2mem\n %storemerge13.reload = load i64, i64* %storemerge13.reg2mem\n %2 = mul i64 %storemerge13.reload, 8\n %3 = add i64 %2, %rdi.12.reload\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n %6 = icmp eq i64 %5, 0\n store i64 %rdi.12.reload, i64* %rdi.0.reg2mem\n br i1 %6, label LBL_3, label LBL_2\n LBL_2:\n %7 = call i64 @FUNC(i64 %5)\n store i64 %7, i64* %4, align 8\n store i64 %5, i64* %rdi.0.reg2mem\n br label LBL_3\n LBL_3:\n %rdi.0.reload = load i64, i64* %rdi.0.reg2mem\n %8 = add nuw nsw i64 %storemerge13.reload, 1\n %exitcond = icmp eq i64 %8, 10\n store i64 %8, i64* %storemerge13.reg2mem\n store i64 %rdi.0.reload, i64* %rdi.12.reg2mem\n br i1 %exitcond, label LBL_4, label LBL_1\n LBL_4:\n %9 = call i64 @FUNC(i64 %arg1)\n store i64 %9, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %storemerge13.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rdi.12.reg2mem, { 2, 0, 1 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64 %arg1, { 1, 0, 2 }\n uselistorder label LBL_5, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",413        "label": "0"414    },415    {416        "dataset": "CompRealVul",417        "file": "maxr_Write_9906",418        "fun_name": "maxr_Write",419        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i32* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = icmp eq i64 %arg1, 0\n %3 = icmp eq i1 %2, false\n store i64 1, i64* %rax.0.reg2mem\n br i1 %3, label LBL_1, label LBL_4\n LBL_1:\n %4 = ptrtoint i32* %arg2 to i64\n %5 = call i64 @FUNC(i64 %arg1, i64 %4)\n %6 = trunc i64 %5 to i32\n %7 = icmp eq i32 %6, 0\n br i1 %7, label LBL_3, label LBL_2\n LBL_2:\n %8 = and i64 %5, 4294967295\n store i64 %8, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_3:\n %9 = and i64 %1, 4294967295\n %10 = call i64 @FUNC(i64 %4, i64 %9)\n %11 = add i64 %arg1, 4\n %12 = inttoptr i64 %11 to i32*\n %13 = load i32, i32* %12, align 4\n %14 = zext i32 %13 to i64\n %15 = call i64 @FUNC(i64 %4, i64 %14)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64 (i64, i64)* @gf_bs_write_u32, { 1, 0 }\n uselistorder label LBL_4, { 1, 2, 0 }\n }",420        "label": "0"421    },422    {423        "dataset": "CompRealVul",424        "file": "lxclock_name_245",425        "fun_name": "lxclock_name",426        "llvm_ir_function": "define i64 @FUNC(i8* %arg1, i8* %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %storemerge.reg2mem = alloca i32\n %sv_0.1.reg2mem = alloca i32\n %.reg2mem8 = alloca i8*\n %sv_0.0.reg2mem = alloca i32\n %.reg2mem = alloca i8*\n %0 = call i32 @strlen(i8* %arg2)\n %1 = call i32 @strlen(i8* %arg1)\n %2 = call i64 @FUNC()\n %3 = icmp eq i64 %2, 0\n %4 = icmp eq i1 %3, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %4, label LBL_1, label LBL_18\n LBL_1:\n %5 = inttoptr i64 %2 to i8*\n %6 = call i32 @strlen(i8* %5)\n %7 = add i32 %0, 13\n %8 = add i32 %7, %1\n %9 = add i32 %8, %6\n %10 = call i64* @malloc(i32 %9)\n %11 = icmp eq i64* %10, null\n %12 = icmp eq i1 %11, false\n br i1 %12, label LBL_3, label LBL_2\n LBL_2:\n %13 = inttoptr i64 %2 to i64*\n call void @free(i64* %13)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_18\n LBL_3:\n %14 = bitcast i64* %10 to i8*\n %15 = call i32 (i8*, i32, i8*, ...) @snprintf(i8* %14, i32 %9, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @gv_0, i64 0, i64 0), i8* %5, i8* %arg1)\n %16 = icmp sgt i32 %15, -1\n %17 = icmp slt i32 %15, %9\n %or.cond = icmp eq i1 %16, %17\n br i1 %or.cond, label LBL_5, label LBL_4\n LBL_4:\n call void @free(i64* %10)\n %18 = inttoptr i64 %2 to i64*\n call void @free(i64* %18)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_18\n LBL_5:\n %19 = ptrtoint i64* %10 to i64\n %20 = call i64 @FUNC(i64 %19, i64 493)\n %21 = trunc i64 %20 to i32\n %22 = icmp slt i32 %21, 0\n %23 = icmp eq i1 %22, false\n br i1 %23, label LBL_14, label LBL_6\n LBL_6:\n %24 = call i32 @strlen(i8* %arg2)\n %25 = call i32 @strlen(i8* %arg1)\n %26 = add i32 %24, 22\n %27 = add i32 %26, %25\n %28 = icmp sgt i32 %27, %9\n store i8* %14, i8** %.reg2mem\n store i32 %9, i32* %sv_0.0.reg2mem\n br i1 %28, label LBL_7, label LBL_9\n LBL_7:\n %29 = call i64* @realloc(i64* %10, i32 %27)\n %30 = bitcast i64* %29 to i8*\n %31 = icmp eq i64* %29, null\n %32 = icmp eq i1 %31, false\n store i8* %30, i8** %.reg2mem\n store i32 %27, i32* %sv_0.0.reg2mem\n br i1 %32, label LBL_9, label LBL_8\n LBL_8:\n call void @free(i64* %10)\n %33 = inttoptr i64 %2 to i64*\n call void @free(i64* %33)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_18\n LBL_9:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %.reload = load i8*, i8** %.reg2mem\n %34 = call i32 @geteuid()\n %35 = zext i32 %34 to i64\n %36 = call i32 (i8*, i32, i8*, ...) @snprintf(i8* %.reload, i32 %sv_0.0.reload, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @gv_1, i64 0, i64 0), i64 %35, i8* %arg1)\n %37 = icmp sgt i32 %36, -1\n %38 = icmp slt i32 %36, %sv_0.0.reload\n %or.cond6 = icmp eq i1 %37, %38\n br i1 %or.cond6, label LBL_11, label LBL_10\n LBL_10:\n %39 = bitcast i8* %.reload to i64*\n call void @free(i64* %39)\n %40 = inttoptr i64 %2 to i64*\n call void @free(i64* %40)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_18\n LBL_11:\n %41 = ptrtoint i8* %.reload to i64\n %42 = call i64 @FUNC(i64 %41, i64 493)\n %43 = trunc i64 %42 to i32\n %44 = icmp slt i32 %43, 0\n %45 = icmp eq i1 %44, false\n br i1 %45, label LBL_13, label LBL_12\n LBL_12:\n %46 = bitcast i8* %.reload to i64*\n call void @free(i64* %46)\n %47 = inttoptr i64 %2 to i64*\n call void @free(i64* %47)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_18\n LBL_13:\n %48 = call i32 @geteuid()\n %49 = zext i32 %48 to i64\n %50 = call i32 (i8*, i32, i8*, ...) @snprintf(i8* %.reload, i32 %sv_0.0.reload, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @gv_2, i64 0, i64 0), i64 %49, i8* %arg1, i8* %arg2)\n store i8* %.reload, i8** %.reg2mem8\n store i32 %sv_0.0.reload, i32* %sv_0.1.reg2mem\n store i32 %50, i32* %storemerge.reg2mem\n br label LBL_15\n LBL_14:\n %51 = call i32 (i8*, i32, i8*, ...) @snprintf(i8* %14, i32 %9, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @gv_3, i64 0, i64 0), i8* %5, i8* %arg1, i8* %arg2)\n store i8* %14, i8** %.reg2mem8\n store i32 %9, i32* %sv_0.1.reg2mem\n store i32 %51, i32* %storemerge.reg2mem\n br label LBL_15\n LBL_15:\n %storemerge.reload = load i32, i32* %storemerge.reg2mem\n %sv_0.1.reload = load i32, i32* %sv_0.1.reg2mem\n %.reload9 = load i8*, i8** %.reg2mem8\n %52 = inttoptr i64 %2 to i64*\n call void @free(i64* %52)\n %53 = icmp sgt i32 %storemerge.reload, -1\n %54 = icmp slt i32 %storemerge.reload, %sv_0.1.reload\n %or.cond7 = icmp eq i1 %53, %54\n br i1 %or.cond7, label LBL_17, label LBL_16\n LBL_16:\n %55 = bitcast i8* %.reload9 to i64*\n call void @free(i64* %55)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_18\n LBL_17:\n %56 = ptrtoint i8* %.reload9 to i64\n store i64 %56, i64* %rax.0.reg2mem\n br label LBL_18\n LBL_18:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i8* %.reload9, { 1, 0 }\n uselistorder i32 %36, { 1, 0 }\n uselistorder i8* %.reload, { 0, 1, 2, 5, 4, 3 }\n uselistorder i32 %sv_0.0.reload, { 0, 2, 3, 1 }\n uselistorder i32 %15, { 1, 0 }\n uselistorder i8* %14, { 0, 2, 1, 3 }\n uselistorder i64* %10, { 1, 2, 0, 3, 5, 4 }\n uselistorder i32 %9, { 0, 4, 1, 3, 2, 5, 6 }\n uselistorder i64 %2, { 1, 2, 3, 0, 4, 5, 6, 7 }\n uselistorder i8** %.reg2mem8, { 0, 2, 1 }\n uselistorder i32* %sv_0.1.reg2mem, { 0, 2, 1 }\n uselistorder i32* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 6, 7, 4, 5, 3, 8, 2, 1 }\n uselistorder i32 ()* @geteuid, { 1, 0 }\n uselistorder i64 (i64, i64)* @mkdir_p, { 1, 0 }\n uselistorder i32 (i8*, i32, i8*, ...)* @snprintf, { 2, 1, 3, 0 }\n uselistorder i32 (i8*)* @strlen, { 4, 3, 2, 1, 0 }\n uselistorder i32 1, { 5, 4, 3, 2, 1, 0 }\n uselistorder i8* %arg2, { 2, 0, 1, 3 }\n uselistorder i8* %arg1, { 3, 0, 1, 2, 4, 5 }\n uselistorder label LBL_18, { 1, 2, 3, 4, 5, 6, 7, 0 }\n }",427        "label": "1"428    },429    {430        "dataset": "CompRealVul",431        "file": "pdf_summarize_7696",432        "fun_name": "pdf_summarize",433        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2, i8* %arg3, i64 %arg4) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.1.reg2mem = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.3.reg2mem = alloca i32\n %storemerge17.reg2mem = alloca i32\n %.reg2mem74 = alloca i64\n %sv_0.2.lcssa.reg2mem = alloca i32\n %.reg2mem72 = alloca i32\n %sv_0.1.reg2mem = alloca i32\n %.reg2mem70 = alloca i32\n %.pre3739.reg2mem = alloca i32\n %sv_0.018.reg2mem = alloca i32\n %storemerge819.reg2mem = alloca i32\n %.reg2mem68 = alloca i64\n %.reg2mem66 = alloca i64\n %.pre373850.reg2mem = alloca i32\n %.reg2mem64 = alloca i32\n %storemerge72251.reg2mem = alloca i32\n %sv_0.22152.reg2mem = alloca i32\n %.reg2mem62 = alloca i64\n %sv_1.3.reg2mem = alloca i32\n %sv_1.2.lcssa49.reg2mem = alloca i32\n %sv_1.229.reg2mem = alloca i32\n %storemerge930.reg2mem = alloca i32\n %.reg2mem60 = alloca i64\n %sv_2.0.reg2mem = alloca i64*\n %sv_3.0.reg2mem = alloca %_IO_FILE*\n %.reg2mem = alloca i32\n %.pre-phi.reg2mem = alloca i32*\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %rsi = alloca i64, align 8\n %3 = load i64, i64* %0\n %sv_4 = alloca i64, align 8\n %4 = icmp eq i8* %arg3, null\n br i1 %4, label LBL_0.LBL_8_crit_edge, label LBL_2\n LBL_1:\n %5 = trunc i64 %3 to i32\n %.pre41 = bitcast i64* %rsi to i32*\n store i32* %.pre41, i32** %.pre-phi.reg2mem\n store i32 %5, i32* %.reg2mem\n store %_IO_FILE* null, %_IO_FILE** %sv_3.0.reg2mem\n store i64* null, i64** %sv_2.0.reg2mem\n br label LBL_8\n LBL_2:\n %6 = call i32 @strlen(i8* nonnull %arg3)\n %7 = mul i32 %6, 2\n %8 = add i32 %7, 16\n %9 = call i64* @malloc(i32 %8)\n %10 = bitcast i64* %9 to i8*\n %11 = call i32 (i8*, i8*, ...) @sprintf(i8* %10, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @gv_0, i64 0, i64 0), i8* nonnull %arg3, i8* nonnull %arg3)\n %12 = call i8* @strrchr(i8* %10, i32 46)\n %13 = icmp eq i8* %12, null\n br i1 %13, label LBL_5, label LBL_3\n LBL_3:\n %14 = call i32 @strncmp(i8* nonnull %12, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_1, i64 0, i64 0), i32 4)\n %15 = icmp eq i32 %14, 0\n %16 = icmp eq i1 %15, false\n br i1 %16, label LBL_5, label LBL_4\n LBL_4:\n store i8 0, i8* %12, align 1\n br label LBL_5\n LBL_5:\n %17 = call i32 @strlen(i8* %10)\n %18 = sext i32 %17 to i64\n %19 = ptrtoint i64* %9 to i64\n %20 = add i64 %18, %19\n %21 = inttoptr i64 %20 to i64*\n store i64 8751164148550038318, i64* %21, align 8\n %22 = add i64 %20, 8\n %23 = inttoptr i64 %22 to i8*\n store i8 0, i8* %23, align 1\n %24 = call %_IO_FILE* @fopen(i8* %10, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @gv_2, i64 0, i64 0))\n %25 = icmp eq %_IO_FILE* %24, null\n %26 = icmp eq i1 %25, false\n br i1 %26, label LBL_5.LBL_8_crit_edge, label LBL_7\n LBL_6:\n %.phi.trans.insert = bitcast i64* %rsi to i32*\n %.pre = load i32, i32* %.phi.trans.insert, align 8\n store i32* %.phi.trans.insert, i32** %.pre-phi.reg2mem\n store i32 %.pre, i32* %.reg2mem\n store %_IO_FILE* %24, %_IO_FILE** %sv_3.0.reg2mem\n store i64* %9, i64** %sv_2.0.reg2mem\n br label LBL_8\n LBL_7:\n %27 = ptrtoint i8* %arg3 to i64\n %28 = call i64 @FUNC(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @gv_3, i64 0, i64 0), i64 %19, i64 %18, i64 %27, i64 %2, i64 %1)\n store i64 %28, i64* %rax.1.reg2mem\n br label LBL_38\n LBL_8:\n %29 = ptrtoint i64* %arg2 to i64\n %sv_2.0.reload = load i64*, i64** %sv_2.0.reg2mem\n %sv_3.0.reload = load %_IO_FILE*, %_IO_FILE** %sv_3.0.reg2mem\n %.reload = load i32, i32* %.reg2mem\n %.pre-phi.reload = load i32*, i32** %.pre-phi.reg2mem\n %30 = load %_IO_FILE*, %_IO_FILE** @gv_4, align 8\n %31 = icmp eq i32 %.reload, 0\n br i1 %31, label LBL_13, label LBL_9\n LBL_9:\n %32 = add i64 %29, 8\n %33 = inttoptr i64 %32 to i64*\n %34 = load i64, i64* %33, align 8\n %35 = inttoptr i64 %34 to i32*\n %36 = load i32, i32* %35, align 4\n %37 = icmp ne i32 %36, 0\n %38 = sext i1 %37 to i32\n %spec.select = add i32 %.reload, %38\n %39 = icmp eq i32 %.reload, 1\n store i32 %spec.select, i32* %sv_1.2.lcssa49.reg2mem\n br i1 %39, label LBL_12, label LBL_10\n LBL_10:\n %40 = zext i32 %.reload to i64\n store i64 1, i64* %.reg2mem60\n store i32 1, i32* %storemerge930.reg2mem\n store i32 %spec.select, i32* %sv_1.229.reg2mem\n br label LBL_11\n LBL_11:\n %sv_1.229.reload = load i32, i32* %sv_1.229.reg2mem\n %storemerge930.reload = load i32, i32* %storemerge930.reg2mem\n %.reload61 = load i64, i64* %.reg2mem60\n %41 = mul nsw i64 %.reload61, 24\n %42 = or i64 %41, 4\n %43 = add i64 %42, %34\n %44 = inttoptr i64 %43 to i32*\n %45 = load i32, i32* %44, align 4\n %46 = icmp eq i32 %45, 0\n %47 = sext i1 %46 to i32\n %spec.select12 = add i32 %sv_1.229.reload, %47\n %48 = add i32 %storemerge930.reload, 1\n %49 = sext i32 %48 to i64\n %50 = icmp slt i64 %49, %40\n store i64 %49, i64* %.reg2mem60\n store i32 %48, i32* %storemerge930.reg2mem\n store i32 %spec.select12, i32* %sv_1.229.reg2mem\n store i32 %spec.select12, i32* %sv_1.2.lcssa49.reg2mem\n br i1 %50, label LBL_11, label LBL_12\n LBL_12:\n %sv_1.2.lcssa49.reload = load i32, i32* %sv_1.2.lcssa49.reg2mem\n %51 = icmp eq i32 %sv_1.2.lcssa49.reload, 0\n %52 = icmp eq i1 %51, false\n %53 = icmp eq i32 %36, 0\n %or.cond59 = or i1 %52, %53\n store i32 %sv_1.2.lcssa49.reload, i32* %sv_1.3.reg2mem\n br i1 %or.cond59, label LBL_14, label LBL_13\n LBL_13:\n store i32 1, i32* %sv_1.3.reg2mem\n br label LBL_14\n LBL_14:\n %54 = icmp eq %_IO_FILE* %sv_3.0.reload, null\n %storemerge10.in = select i1 %54, %_IO_FILE* %30, %_IO_FILE* %sv_3.0.reload\n %sv_1.3.reload = load i32, i32* %sv_1.3.reg2mem\n %55 = add i64 %29, 24\n %56 = inttoptr i64 %55 to i32*\n %57 = load i32, i32* %56, align 4\n %58 = icmp eq i32 %57, 0\n %59 = icmp eq i1 %58, false\n %.pre42 = urem i64 %arg4, 2\n store i32 %57, i32* %.reg2mem72\n store i32 0, i32* %sv_0.2.lcssa.reg2mem\n br i1 %59, label LBL_23, label LBL_15\n LBL_15:\n %60 = ptrtoint i64* %sv_4 to i64\n %61 = icmp eq i64 %.pre42, 0\n %62 = icmp eq i1 %61, false\n %63 = add i64 %29, 8\n %64 = inttoptr i64 %63 to i64*\n %65 = add i64 %29, 16\n %66 = inttoptr i64 %65 to i64*\n %67 = add i64 %60, -16\n %68 = inttoptr i64 %67 to i64*\n store i64 0, i64* %.reg2mem62\n store i32 0, i32* %sv_0.22152.reg2mem\n store i32 0, i32* %storemerge72251.reg2mem\n store i32 %57, i32* %.reg2mem64\n store i32 %57, i32* %.pre373850.reg2mem\n store i32 %57, i32* %.reg2mem72\n store i32 0, i32* %sv_0.2.lcssa.reg2mem\n br i1 %31, label LBL_23, label LBL_16\n LBL_16:\n %.pre373850.reload = load i32, i32* %.pre373850.reg2mem\n %.reload65 = load i32, i32* %.reg2mem64\n %storemerge72251.reload = load i32, i32* %storemerge72251.reg2mem\n %sv_0.22152.reload = load i32, i32* %sv_0.22152.reg2mem\n store i32 %.pre373850.reload, i32* %.pre3739.reg2mem\n store i32 %.reload65, i32* %.reg2mem70\n store i32 %sv_0.22152.reload, i32* %sv_0.1.reg2mem\n br i1 %62, label LBL_21, label LBL_17\n LBL_17:\n %.reload63 = load i64, i64* %.reg2mem62\n %69 = load i64, i64* %64, align 8\n %70 = mul nsw i64 %.reload63, 24\n %71 = add i64 %69, %70\n %72 = add i64 %71, 12\n %73 = inttoptr i64 %72 to i32*\n %74 = load i32, i32* %73, align 4\n %75 = icmp eq i32 %74, 0\n store i32 %.pre373850.reload, i32* %.pre3739.reg2mem\n store i32 %.pre373850.reload, i32* %.reg2mem70\n store i32 %sv_0.22152.reload, i32* %sv_0.1.reg2mem\n br i1 %75, label LBL_21, label LBL_18\n LBL_18:\n %76 = zext i32 %storemerge72251.reload to i64\n store i64 0, i64* %.reg2mem66\n store i64 %71, i64* %.reg2mem68\n store i32 0, i32* %storemerge819.reg2mem\n store i32 %sv_0.22152.reload, i32* %sv_0.018.reg2mem\n br label LBL_19\n LBL_19:\n %sv_0.018.reload = load i32, i32* %sv_0.018.reg2mem\n %storemerge819.reload = load i32, i32* %storemerge819.reg2mem\n %.reload69 = load i64, i64* %.reg2mem68\n %.reload67 = load i64, i64* %.reg2mem66\n %77 = add i32 %sv_0.018.reload, 1\n %78 = add i64 %.reload69, 16\n %79 = inttoptr i64 %78 to i64*\n %80 = load i64, i64* %79, align 8\n %81 = mul i64 %.reload67, 4\n %82 = add i64 %80, %81\n %83 = inttoptr i64 %82 to i32*\n %84 = load i32, i32* %83, align 4\n %85 = zext i32 %84 to i64\n %86 = call i64 @FUNC(i64 %arg1, i64 %85, i64 %.reload69)\n %87 = load i64, i64* %64, align 8\n %88 = add i64 %87, %70\n %89 = add i64 %88, 16\n %90 = inttoptr i64 %89 to i64*\n %91 = load i64, i64* %90, align 8\n %92 = add i64 %91, %81\n %93 = inttoptr i64 %92 to i32*\n %94 = load i32, i32* %93, align 4\n %95 = add i64 %88, 8\n %96 = inttoptr i64 %95 to i32*\n %97 = load i32, i32* %96, align 4\n %98 = call i64 @FUNC(i64 %29, i64 %76, i32 %storemerge819.reload)\n %99 = load i64, i64* %66, align 8\n store i64 %86, i64* %68, align 8\n %100 = zext i32 %94 to i64\n %101 = zext i32 %97 to i64\n %102 = inttoptr i64 %99 to i8*\n %103 = trunc i64 %98 to i8\n %104 = call i32 (%_IO_FILE*, i8*, ...) @fprintf(%_IO_FILE* %storemerge10.in, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @gv_5, i64 0, i64 0), i8* %102, i8 %103, i64 %101, i64 %100)\n %105 = call i32 @fputc(i32 10, %_IO_FILE* %storemerge10.in)\n %106 = add i32 %storemerge819.reload, 1\n %107 = load i64, i64* %64, align 8\n %108 = add i64 %107, %70\n %109 = add i64 %108, 12\n %110 = inttoptr i64 %109 to i32*\n %111 = load i32, i32* %110, align 4\n %112 = zext i32 %111 to i64\n %113 = sext i32 %106 to i64\n %114 = icmp slt i64 %113, %112\n store i64 %113, i64* %.reg2mem66\n store i64 %108, i64* %.reg2mem68\n store i32 %106, i32* %storemerge819.reg2mem\n store i32 %77, i32* %sv_0.018.reg2mem\n br i1 %114, label LBL_19, label LBL_20\n LBL_20:\n %.pre37.pre = load i32, i32* %56, align 4\n store i32 %.pre37.pre, i32* %.pre3739.reg2mem\n store i32 %.pre37.pre, i32* %.reg2mem70\n store i32 %77, i32* %sv_0.1.reg2mem\n br label LBL_21\n LBL_21:\n %sv_0.1.reload = load i32, i32* %sv_0.1.reg2mem\n %.reload71 = load i32, i32* %.reg2mem70\n %115 = icmp eq i32 %.reload71, 0\n %116 = icmp eq i1 %115, false\n store i32 %.reload71, i32* %.reg2mem72\n store i32 %sv_0.1.reload, i32* %sv_0.2.lcssa.reg2mem\n br i1 %116, label LBL_23, label LBL_21.dec_label_pc_4015c0_crit_edge\n LBL_22:\n %.pre3739.reload = load i32, i32* %.pre3739.reg2mem\n %117 = add i32 %storemerge72251.reload, 1\n %.pre36 = load i32, i32* %.pre-phi.reload, align 8\n %118 = zext i32 %.pre36 to i64\n %119 = sext i32 %117 to i64\n %120 = icmp slt i64 %119, %118\n store i64 %119, i64* %.reg2mem62\n store i32 %sv_0.1.reload, i32* %sv_0.22152.reg2mem\n store i32 %117, i32* %storemerge72251.reg2mem\n store i32 %.reload71, i32* %.reg2mem64\n store i32 %.pre3739.reload, i32* %.pre373850.reg2mem\n store i32 %.reload71, i32* %.reg2mem72\n store i32 %sv_0.1.reload, i32* %sv_0.2.lcssa.reg2mem\n br i1 %120, label LBL_16, label LBL_23\n LBL_23:\n %121 = icmp eq i64 %.pre42, 0\n %122 = icmp eq i1 %121, false\n br i1 %122, label LBL_35, label LBL_24\n LBL_24:\n %sv_0.2.lcssa.reload = load i32, i32* %sv_0.2.lcssa.reg2mem\n %.reload73 = load i32, i32* %.reg2mem72\n %123 = icmp eq i32 %.reload73, 0\n %124 = icmp eq i32 %sv_0.2.lcssa.reload, 0\n %125 = icmp eq i1 %124, false\n %or.cond14 = icmp eq i1 %123, %125\n %.pre44 = add i64 %29, 16\n %.pre46 = inttoptr i64 %.pre44 to i64*\n br i1 %or.cond14, label LBL_26, label LBL_25\n LBL_25:\n %126 = load i64, i64* %.pre46, align 8\n %127 = inttoptr i64 %126 to i8*\n %128 = call i32 (%_IO_FILE*, i8*, ...) @fprintf(%_IO_FILE* %storemerge10.in, i8* getelementptr inbounds ([98 x i8], [98 x i8]* @gv_6, i64 0, i64 0), i8* %127, i8* %127)\n br label LBL_26\n LBL_26:\n %129 = load i64, i64* %.pre46, align 8\n %130 = zext i32 %sv_1.3.reload to i64\n %131 = inttoptr i64 %129 to i8*\n %132 = call i32 (%_IO_FILE*, i8*, ...) @fprintf(%_IO_FILE* %storemerge10.in, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @gv_7, i64 0, i64 0), i8* %131, i64 %130)\n %133 = load i32, i32* %56, align 4\n %134 = zext i32 %133 to i64\n %135 = icmp eq i32 %133, 0\n %136 = icmp eq i1 %135, false\n store i64 %134, i64* %rax.0.reg2mem\n br i1 %136, label LBL_36, label LBL_27\n LBL_27:\n %137 = load i32, i32* %.pre-phi.reload, align 8\n %138 = icmp eq i32 %137, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %138, label LBL_36, label LBL_28\n LBL_28:\n %139 = zext i32 %137 to i64\n %140 = add i64 %29, 8\n %141 = inttoptr i64 %140 to i64*\n store i64 0, i64* %.reg2mem74\n store i32 0, i32* %storemerge17.reg2mem\n br label LBL_29\n LBL_29:\n %storemerge17.reload = load i32, i32* %storemerge17.reg2mem\n %.reload75 = load i64, i64* %.reg2mem74\n %142 = load i64, i64* %141, align 8\n %143 = mul nsw i64 %.reload75, 24\n %144 = add i64 %142, %143\n %145 = inttoptr i64 %144 to i32*\n %146 = load i32, i32* %145, align 4\n %147 = icmp eq i32 %146, 0\n %148 = icmp eq i1 %147, false\n br i1 %148, label LBL_34, label LBL_30\n LBL_30:\n %149 = add i64 %144, 12\n %150 = inttoptr i64 %149 to i32*\n %151 = load i32, i32* %150, align 4\n %152 = inttoptr i64 %142 to i32*\n %153 = load i32, i32* %152, align 4\n %154 = icmp eq i32 %153, 0\n store i32 %151, i32* %sv_0.3.reg2mem\n br i1 %154, label LBL_32, label LBL_31\n LBL_31:\n %155 = add i64 %142, 12\n %156 = inttoptr i64 %155 to i32*\n %157 = load i32, i32* %156, align 4\n %158 = add i32 %157, %151\n store i32 %158, i32* %sv_0.3.reg2mem\n br label LBL_32\n LBL_32:\n %sv_0.3.reload = load i32, i32* %sv_0.3.reg2mem\n %159 = add i64 %144, 8\n %160 = inttoptr i64 %159 to i32*\n %161 = load i32, i32* %160, align 4\n %162 = icmp eq i32 %161, 0\n %163 = icmp eq i32 %sv_0.3.reload, 0\n %or.cond = or i1 %163, %162\n br i1 %or.cond, label LBL_34, label LBL_33\n LBL_33:\n %164 = zext i32 %161 to i64\n %165 = zext i32 %sv_0.3.reload to i64\n %166 = call i32 (%_IO_FILE*, i8*, ...) @fprintf(%_IO_FILE* %storemerge10.in, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @gv_8, i64 0, i64 0), i64 %164, i64 %165)\n br label LBL_34\n LBL_34:\n %167 = add i32 %storemerge17.reload, 1\n %168 = sext i32 %167 to i64\n %169 = icmp slt i64 %168, %139\n store i64 %168, i64* %.reg2mem74\n store i32 %167, i32* %storemerge17.reg2mem\n store i64 %139, i64* %rax.0.reg2mem\n br i1 %169, label LBL_29, label LBL_36\n LBL_35:\n %170 = add i64 %29, 16\n %171 = inttoptr i64 %170 to i64*\n %172 = load i64, i64* %171, align 8\n %173 = zext i32 %sv_1.3.reload to i64\n %174 = inttoptr i64 %172 to i8*\n %175 = call i32 (%_IO_FILE*, i8*, ...) @fprintf(%_IO_FILE* %storemerge10.in, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_9, i64 0, i64 0), i8* %174, i64 %173)\n %176 = sext i32 %175 to i64\n store i64 %176, i64* %rax.0.reg2mem\n br label LBL_36\n LBL_36:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n store i64 %rax.0.reload, i64* %rax.1.reg2mem\n br i1 %54, label LBL_38, label LBL_37\n LBL_37:\n %177 = call i32 @fclose(%_IO_FILE* nonnull %sv_3.0.reload)\n call void @free(i64* %sv_2.0.reload)\n store i64 ptrtoint (i32* @0 to i64), i64* %rax.1.reg2mem\n br label LBL_38\n LBL_38:\n %rax.1.reload = load i64, i64* %rax.1.reg2mem\n ret i64 %rax.1.reload\n\n uselistorder i32 %151, { 1, 0 }\n uselistorder i64 %142, { 2, 1, 0 }\n uselistorder i32 %137, { 1, 0 }\n uselistorder i32 %.reload71, { 1, 3, 0, 2 }\n uselistorder i32 %sv_0.1.reload, { 1, 2, 0 }\n uselistorder i64 %81, { 1, 0 }\n uselistorder i32 %sv_0.22152.reload, { 2, 0, 1 }\n uselistorder i64* %64, { 2, 1, 0 }\n uselistorder i64 %.pre42, { 1, 0 }\n uselistorder i32 %57, { 0, 2, 3, 1, 4 }\n uselistorder i32* %56, { 1, 0, 2 }\n uselistorder %_IO_FILE* %storemerge10.in, { 5, 2, 3, 4, 0, 1 }\n uselistorder i32 %spec.select, { 1, 0 }\n uselistorder i32* %.pre-phi.reload, { 1, 0 }\n uselistorder i32 %.reload, { 0, 2, 3, 1 }\n uselistorder %_IO_FILE* %sv_3.0.reload, { 2, 0, 1 }\n uselistorder i64 %29, { 6, 5, 0, 3, 2, 4, 7, 1 }\n uselistorder i64 %20, { 1, 0 }\n uselistorder i64 %19, { 1, 0 }\n uselistorder i64 %18, { 1, 0 }\n uselistorder i64* %rsi, { 1, 0 }\n uselistorder i64* %.reg2mem60, { 1, 0, 2 }\n uselistorder i32* %storemerge930.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_1.229.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_1.3.reg2mem, { 0, 2, 1 }\n uselistorder i64* %.reg2mem62, { 2, 0, 1 }\n uselistorder i32* %sv_0.22152.reg2mem, { 2, 0, 1 }\n uselistorder i32* %storemerge72251.reg2mem, { 2, 0, 1 }\n uselistorder i32* %.reg2mem64, { 2, 0, 1 }\n uselistorder i32* %.pre373850.reg2mem, { 2, 0, 1 }\n uselistorder i64* %.reg2mem66, { 1, 0, 2 }\n uselistorder i64* %.reg2mem68, { 1, 0, 2 }\n uselistorder i32* %storemerge819.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_0.018.reg2mem, { 1, 0, 2 }\n uselistorder i32* %.pre3739.reg2mem, { 0, 2, 1, 3 }\n uselistorder i32* %.reg2mem70, { 0, 2, 1, 3 }\n uselistorder i32* %sv_0.1.reg2mem, { 0, 2, 1, 3 }\n uselistorder i32* %.reg2mem72, { 0, 2, 1, 3, 4 }\n uselistorder i32* %sv_0.2.lcssa.reg2mem, { 0, 2, 1, 3, 4 }\n uselistorder i64* %.reg2mem74, { 1, 0, 2 }\n uselistorder i32* %storemerge17.reg2mem, { 1, 0, 2 }\n uselistorder i64* %rax.0.reg2mem, { 0, 4, 1, 2, 3 }\n uselistorder i64* %rax.1.reg2mem, { 0, 2, 3, 1 }\n uselistorder i64* %0, { 2, 1, 0 }\n uselistorder i32 (%_IO_FILE*, i8*, ...)* @fprintf, { 0, 2, 1, 3, 4 }\n uselistorder i64 24, { 2, 1, 3, 0 }\n uselistorder i8 0, { 1, 2, 3, 0 }\n uselistorder i1 false, { 2, 3, 1, 5, 6, 4, 0, 7, 8, 9 }\n uselistorder label LBL_36, { 2, 0, 1, 3 }\n uselistorder label LBL_34, { 1, 2, 0 }\n uselistorder label LBL_29, { 1, 0 }\n uselistorder label LBL_26, { 1, 0 }\n uselistorder label LBL_23, { 1, 2, 0, 3 }\n uselistorder label LBL_19, { 1, 0 }\n uselistorder label LBL_16, { 1, 0 }\n uselistorder label LBL_11, { 1, 0 }\n uselistorder label LBL_8, { 1, 0 }\n }",434        "label": "1"435    },436    {437        "dataset": "CompRealVul",438        "file": "sctp_auto_asconf_init_7079",439        "fun_name": "sctp_auto_asconf_init",440        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = call i64 @FUNC(i64 %arg1)\n %1 = inttoptr i64 %0 to i32*\n %2 = load i32, i32* %1, align 4\n %3 = icmp eq i32 %2, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %3, label LBL_2, label LBL_1\n LBL_1:\n %4 = add i64 %0, 16\n %5 = call i64 @FUNC(i64 %4)\n %6 = add i64 %0, 8\n %7 = add i64 %arg1, 8\n %8 = call i64 @FUNC(i64 %7, i64 %6)\n %9 = call i64 @FUNC(i64 %4)\n %10 = add i64 %arg1, 4\n %11 = inttoptr i64 %10 to i32*\n store i32 1, i32* %11, align 4\n store i64 %arg1, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %0, { 1, 0, 2 }\n uselistorder i32 1, { 3, 2, 1, 0, 4 }\n uselistorder i64 %arg1, { 0, 2, 1, 3 }\n }",441        "label": "0"442    },443    {444        "dataset": "CompRealVul",445        "file": "klv_read_packet_10183",446        "fun_name": "klv_read_packet",447        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = call i64 @FUNC(i64 %0, i64* nonnull @gv_0, i64 4)\n %2 = trunc i64 %1 to i32\n %3 = icmp eq i32 %2, 0\n %4 = icmp eq i1 %3, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %4, label LBL_1, label LBL_2\n LBL_1:\n %5 = ptrtoint i64* %arg1 to i64\n %6 = call i64 @FUNC(i64 %0)\n %7 = trunc i64 %6 to i32\n %8 = add i32 %7, -4\n %9 = bitcast i64* %arg1 to i32*\n store i32 %8, i32* %9, align 4\n %10 = add i64 %5, 4\n %11 = inttoptr i64 %10 to i32*\n store i32 0, i32* %11, align 4\n %12 = add i64 %5, 8\n %13 = call i64 @FUNC(i64 %0, i64 %12, i64 12)\n %14 = call i64 @FUNC(i64 %0)\n %15 = trunc i64 %14 to i32\n %16 = add i64 %5, 20\n %17 = inttoptr i64 %16 to i32*\n store i32 %15, i32* %17, align 4\n %18 = icmp eq i32 %15, -1\n %19 = icmp eq i1 %18, false\n %. = select i1 %19, i64 0, i64 4294967295\n store i64 %., i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %5, { 1, 0, 2 }\n uselistorder i64 %0, { 1, 0, 2, 3 }\n uselistorder i64 12, { 1, 0 }\n uselistorder i64 4, { 1, 0 }\n }",448        "label": "0"449    },450    {451        "dataset": "CompRealVul",452        "file": "RemoveUnknownSections_5731",453        "fun_name": "RemoveUnknownSections",454        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %sv_0.0.ph.lcssa.reg2mem = alloca i64\n %sv_0.0.ph4.reg2mem = alloca i64\n %sv_1.0.ph5.reg2mem = alloca i32\n %.reg2mem19 = alloca i64\n %.reg2mem17 = alloca i32\n %sv_1.02.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %0 = load i32, i32* @gv_0, align 4\n %1 = icmp eq i32 %0, 1\n store i32 %0, i32* %.reg2mem17\n store i64 0, i64* %.reg2mem19\n store i32 0, i32* %sv_1.0.ph5.reg2mem\n store i64 0, i64* %sv_0.0.ph4.reg2mem\n store i64 0, i64* %sv_0.0.ph.lcssa.reg2mem\n br i1 %1, label LBL_6, label LBL_1.lr.ph\n LBL_1:\n %sv_1.02.reload = load i32, i32* %sv_1.02.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %2 = mul i64 %.reload, 16\n %3 = add i64 %2, %42\n %4 = inttoptr i64 %3 to i32*\n %5 = load i32, i32* %4, align 4\n %6 = icmp ult i32 %5, 27\n %7 = icmp ne i1 %6, true\n %8 = icmp eq i1 %7, false\n %9 = icmp eq i1 %8, false\n br i1 %9, label LBL_4, label LBL_2\n LBL_2:\n %10 = urem i32 %5, 64\n %11 = icmp ne i32 %10, 0\n %12 = zext i32 %10 to i64\n %13 = lshr i64 134213359, %12\n %.op = urem i64 %13, 2\n %14 = icmp eq i64 %.op, 0\n %15 = icmp eq i1 %11, %14\n %16 = icmp eq i1 %15, false\n %17 = icmp eq i1 %16, false\n br i1 %17, label LBL_4, label LBL_3\n LBL_3:\n %18 = add i32 %sv_1.02.reload, 1\n %19 = sext i32 %18 to i64\n %20 = icmp slt i64 %19, %44\n store i64 %19, i64* %.reg2mem\n store i32 %18, i32* %sv_1.02.reg2mem\n store i64 %sv_0.0.ph4.reload, i64* %sv_0.0.ph.lcssa.reg2mem\n br i1 %20, label LBL_1, label LBL_6\n LBL_4:\n %21 = or i64 %2, 8\n %22 = add i64 %21, %42\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %25 = inttoptr i64 %24 to i64*\n call void @free(i64* %25)\n %26 = load i32, i32* @gv_0, align 4\n %27 = xor i32 %sv_1.02.reload, 268435455\n %28 = add i32 %26, %27\n %29 = mul i32 %28, 16\n %30 = load i64, i64* @gv_1, align 8\n %31 = add i64 %30, %2\n %32 = add i64 %31, 16\n %33 = inttoptr i64 %31 to i64*\n %34 = inttoptr i64 %32 to i64*\n %35 = call i64* @memmove(i64* %33, i64* %34, i32 %29)\n %36 = load i32, i32* @gv_0, align 4\n %37 = add i32 %36, -1\n store i32 %37, i32* @gv_0, align 4\n %38 = add i32 %36, -2\n %39 = zext i32 %38 to i64\n %40 = sext i32 %sv_1.02.reload to i64\n %41 = icmp slt i64 %40, %39\n store i32 %37, i32* %.reg2mem17\n store i64 %40, i64* %.reg2mem19\n store i32 %sv_1.02.reload, i32* %sv_1.0.ph5.reg2mem\n store i64 1, i64* %sv_0.0.ph4.reg2mem\n store i64 1, i64* %sv_0.0.ph.lcssa.reg2mem\n br i1 %41, label LBL_1.lr.ph, label LBL_6\n LBL_5:\n %sv_0.0.ph4.reload = load i64, i64* %sv_0.0.ph4.reg2mem\n %sv_1.0.ph5.reload = load i32, i32* %sv_1.0.ph5.reg2mem\n %.reload20 = load i64, i64* %.reg2mem19\n %.reload18 = load i32, i32* %.reg2mem17\n %42 = load i64, i64* @gv_1, align 8\n %43 = add i32 %.reload18, -1\n %44 = zext i32 %43 to i64\n store i64 %.reload20, i64* %.reg2mem\n store i32 %sv_1.0.ph5.reload, i32* %sv_1.02.reg2mem\n br label LBL_1\n LBL_6:\n %sv_0.0.ph.lcssa.reload = load i64, i64* %sv_0.0.ph.lcssa.reg2mem\n %45 = and i64 %sv_0.0.ph.lcssa.reload, 4294967295\n ret i64 %45\n\n uselistorder i64 %42, { 1, 0 }\n uselistorder i64 %2, { 2, 1, 0 }\n uselistorder i32 %sv_1.02.reload, { 0, 2, 3, 1 }\n uselistorder i64* %.reg2mem, { 2, 1, 0 }\n uselistorder i32* %sv_1.02.reg2mem, { 2, 1, 0 }\n uselistorder i32* %.reg2mem17, { 0, 2, 1 }\n uselistorder i64* %.reg2mem19, { 0, 2, 1 }\n uselistorder i32* %sv_1.0.ph5.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_0.0.ph4.reg2mem, { 0, 2, 1 }\n uselistorder i32 -1, { 1, 0 }\n uselistorder i1 false, { 0, 2, 3, 1 }\n uselistorder i64 16, { 1, 0 }\n uselistorder i32 1, { 8, 7, 6, 5, 4, 3, 2, 1, 0 }\n uselistorder label LBL_1.lr.ph, { 1, 0 }\n }",455        "label": "0"456    },457    {458        "dataset": "CompRealVul",459        "file": "janus_voicemail_destroy_session_6675",460        "fun_name": "janus_voicemail_destroy_session",461        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = call i64 @FUNC(i64* nonnull @gv_0)\n %2 = trunc i64 %1 to i32\n %3 = icmp eq i32 %2, 0\n %4 = icmp eq i1 %3, false\n br i1 %4, label LBL_2, label LBL_1\n LBL_1:\n %5 = call i64 @FUNC(i64* inttoptr (i64 4210724 to i64*))\n %6 = trunc i64 %5 to i32\n %7 = icmp eq i32 %6, 0\n %8 = icmp eq i1 %7, false\n br i1 %8, label LBL_3, label LBL_2\n LBL_2:\n %9 = bitcast i64* %arg2 to i32*\n store i32 -1, i32* %9, align 4\n store i64 %0, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_3:\n %10 = ptrtoint i64* %arg1 to i64\n %11 = call i64 @FUNC(i64* nonnull @gv_1)\n %12 = call i64 @FUNC(i64 %10)\n %13 = icmp eq i64 %12, 0\n %14 = icmp eq i1 %13, false\n br i1 %14, label LBL_5, label LBL_4\n LBL_4:\n %15 = call i64 @FUNC(i64* nonnull @gv_1)\n %16 = call i64 @FUNC(i64 0, i8* getelementptr inbounds ([53 x i8], [53 x i8]* @gv_2, i64 0, i64 0))\n %17 = bitcast i64* %arg2 to i32*\n store i32 -2, i32* %17, align 4\n store i64 %0, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_5:\n %18 = call i64 @FUNC(i64 1, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @gv_3, i64 0, i64 0))\n %19 = call i64 @FUNC(i64 %10)\n %20 = load i64, i64* @gv_4, align 8\n %21 = call i64 @FUNC(i64 %20, i64 %10)\n %22 = call i64 @FUNC(i64* nonnull @gv_1)\n store i64 %22, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_6:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %10, { 1, 0, 2 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64 (i64, i8*)* @JANUS_LOG, { 1, 0 }\n uselistorder i64 (i64*)* @janus_mutex_unlock, { 1, 0 }\n uselistorder i64 (i64*)* @g_atomic_int_get, { 1, 0 }\n }",462        "label": "0"463    },464    {465        "dataset": "CompRealVul",466        "file": "decode_bytes_17099",467        "fun_name": "decode_bytes",468        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i64* %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %storemerge34.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i32* %arg1 to i64\n %2 = trunc i64 %1 to i32\n %3 = urem i32 %2, 4\n %4 = zext i32 %3 to i64\n %5 = sub i64 %1, %4\n %6 = icmp eq i32 %3, 0\n %7 = mul i32 %3, 8\n %8 = lshr i32 1400856835, %7\n %storemerge = select i1 %6, i32 1400856835, i32 %8\n %9 = sub nsw i32 0, %7\n %10 = and i32 %9, 24\n %11 = shl i32 1400856835, %10\n %12 = or i32 %11, %storemerge\n %13 = zext i32 %12 to i64\n %14 = call i64 @FUNC(i64 %13)\n %15 = trunc i64 %14 to i32\n %16 = add nuw nsw i32 %3, 3\n %17 = trunc i64 %arg3 to i32\n %18 = add i32 %16, %17\n %19 = sdiv i32 %18, 8\n %20 = zext i32 %19 to i64\n %.off = add i32 %18, 7\n %21 = icmp ult i32 %.off, 15\n store i64 0, i64* %.reg2mem\n store i32 0, i32* %storemerge34.reg2mem\n br i1 %21, label LBL_2, label LBL_1\n LBL_1:\n %storemerge34.reload = load i32, i32* %storemerge34.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %22 = mul i64 %.reload, 4\n %23 = add i64 %5, %22\n %24 = inttoptr i64 %23 to i32*\n %25 = load i32, i32* %24, align 4\n %26 = add i64 %22, %0\n %27 = xor i32 %25, %15\n %28 = inttoptr i64 %26 to i32*\n store i32 %27, i32* %28, align 4\n %29 = add i32 %storemerge34.reload, 1\n %30 = sext i32 %29 to i64\n %31 = icmp slt i64 %30, %20\n store i64 %30, i64* %.reg2mem\n store i32 %29, i32* %storemerge34.reg2mem\n br i1 %31, label LBL_1, label LBL_2\n LBL_2:\n br i1 %6, label LBL_4, label LBL_3\n LBL_3:\n %32 = call i64 @FUNC(i64 0, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @gv_0, i64 0, i64 0), i64 %4)\n br label LBL_4\n LBL_4:\n ret i64 %4\n\n uselistorder i64 %22, { 1, 0 }\n uselistorder i32 %7, { 1, 0 }\n uselistorder i64 %4, { 2, 1, 0 }\n uselistorder i32 %3, { 3, 0, 2, 1 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i32* %storemerge34.reg2mem, { 2, 0, 1 }\n uselistorder i32 1400856835, { 2, 0, 1 }\n uselistorder i32 8, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",469        "label": "1"470    },471    {472        "dataset": "CompRealVul",473        "file": "virtio_blk_get_request_10353",474        "fun_name": "virtio_blk_get_request",475        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i32* %arg1 to i64\n %3 = call i64 @FUNC(i64 %2)\n %4 = icmp eq i64 %3, 0\n store i64 0, i64* %storemerge.reg2mem\n br i1 %4, label LBL_3, label LBL_1\n LBL_1:\n %5 = and i64 %1, 4294967295\n %6 = call i64 @FUNC(i64 %5, i64 %3)\n %7 = trunc i64 %6 to i32\n %8 = icmp eq i32 %7, 0\n %9 = icmp eq i1 %8, false\n store i64 %3, i64* %storemerge.reg2mem\n br i1 %9, label LBL_3, label LBL_2\n LBL_2:\n %10 = call i64 @FUNC(i64 %3)\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_3\n LBL_3:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %3, { 1, 0, 2, 3 }\n uselistorder i64* %storemerge.reg2mem, { 0, 3, 2, 1 }\n uselistorder label LBL_3, { 2, 1, 0 }\n }",476        "label": "0"477    },478    {479        "dataset": "CompRealVul",480        "file": "manager_invoke_notify_message_18975",481        "fun_name": "manager_invoke_notify_message",482        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3, i64 %arg4, i64 %arg5, i64* %arg6) local_unnamed_addr {\n LBL_0:\n %sv_0 = alloca i64, align 8\n store i64 0, i64* %sv_0, align 8\n %0 = icmp eq i64* %arg1, null\n %1 = icmp eq i1 %0, false\n br i1 %1, label LBL_2, label LBL_1\n LBL_1:\n call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gv_1, i64 0, i64 0), i32 69, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_2\n LBL_2:\n %2 = icmp eq i64* %arg2, null\n %3 = icmp eq i1 %2, false\n br i1 %3, label LBL_4, label LBL_3\n LBL_3:\n call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @gv_3, i64 0, i64 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gv_1, i64 0, i64 0), i32 70, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_4\n LBL_4:\n %4 = icmp eq i64 %arg4, 0\n %5 = icmp eq i1 %4, false\n br i1 %5, label LBL_6, label LBL_5\n LBL_5:\n call void @__assert_fail(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @gv_4, i64 0, i64 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gv_1, i64 0, i64 0), i32 71, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_6\n LBL_6:\n %6 = icmp eq i64 %arg5, 0\n %7 = icmp eq i1 %6, false\n br i1 %7, label LBL_8, label LBL_7\n LBL_7:\n call void @__assert_fail(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @gv_5, i64 0, i64 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gv_1, i64 0, i64 0), i32 72, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_8\n LBL_8:\n %8 = call i64 @FUNC(i64 %arg4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @gv_6, i64 0, i64 0))\n store i64 %8, i64* %sv_0, align 8\n %9 = icmp eq i64 %8, 0\n %10 = icmp eq i1 %9, false\n br i1 %10, label LBL_10, label LBL_9\n LBL_9:\n %11 = call i64 @FUNC()\n br label LBL_13\n LBL_10:\n %12 = ptrtoint i64* %arg2 to i64\n %13 = call i64 @FUNC(i64 %12)\n %14 = inttoptr i64 %13 to i64*\n %15 = load i64, i64* %14, align 8\n %16 = icmp eq i64 %15, 0\n br i1 %16, label LBL_12, label LBL_11\n LBL_11:\n %17 = call i64 @FUNC(i64 %12)\n br label LBL_13\n LBL_12:\n %18 = call i64 @FUNC(i64 %12, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @gv_7, i64 0, i64 0))\n br label LBL_13\n LBL_13:\n %19 = call i64 @FUNC(i64* nonnull %sv_0)\n ret i64 %19\n\n uselistorder i64 (i64)* @UNIT_VTABLE, { 1, 0 }\n uselistorder void (i8*, i8*, i32, i8*)* @__assert_fail, { 3, 2, 1, 0 }\n uselistorder i1 false, { 2, 3, 4, 5, 6, 7, 0, 8, 1 }\n uselistorder i64* null, { 1, 2, 3, 0 }\n uselistorder i64* %arg2, { 1, 0 }\n uselistorder label LBL_13, { 1, 0, 2 }\n }",483        "label": "1"484    },485    {486        "dataset": "CompRealVul",487        "file": "fuse_dev_splice_read_4331",488        "fun_name": "fuse_dev_splice_read",489        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i32* %arg3, i64 %arg4, i64 %arg5) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.33.reg2mem = alloca i32\n %.reg2mem20 = alloca i64\n %sv_1.3.ph.reg2mem = alloca i32\n %sv_0.3.ph.reg2mem = alloca i32\n %sv_1.2.reg2mem = alloca i32\n %sv_0.2.reg2mem = alloca i32\n %sv_2.0.lcssa.reg2mem = alloca i32\n %sv_0.04.reg2mem = alloca i32\n %sv_2.05.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %sv_3 = alloca i32, align 4\n %3 = call i64 @FUNC(i64 %2)\n %4 = icmp eq i64 %3, 0\n %5 = icmp eq i1 %4, false\n store i64 -1, i64* %rax.0.reg2mem\n br i1 %5, label LBL_1, label LBL_13\n LBL_1:\n %sext = mul i64 %1, 4294967296\n %6 = ashr exact i64 %sext, 32\n %7 = mul nsw i64 %6, 24\n %8 = call i64 @FUNC(i64 %7, i64 0)\n %9 = icmp eq i64 %8, 0\n %10 = icmp eq i1 %9, false\n store i64 -2, i64* %rax.0.reg2mem\n br i1 %10, label LBL_2, label LBL_13\n LBL_2:\n %11 = bitcast i32* %sv_3 to i64*\n %12 = call i64 @FUNC(i64* nonnull %11, i64 1, i64 0)\n %13 = call i64 @FUNC(i64 %3, i64 %2, i64* nonnull %11, i64 %arg4)\n %14 = trunc i64 %13 to i32\n %15 = icmp slt i32 %14, 0\n store i32 0, i32* %sv_0.3.ph.reg2mem\n store i32 %14, i32* %sv_1.3.ph.reg2mem\n br i1 %15, label LBL_9, label LBL_3\n LBL_3:\n %16 = trunc i64 %1 to i32\n %17 = ptrtoint i32* %arg3 to i64\n %18 = add i64 %17, 4\n %19 = inttoptr i64 %18 to i32*\n %20 = load i32, i32* %19, align 4\n %21 = load i32, i32* %sv_3, align 4\n %22 = add i32 %21, %20\n %23 = icmp ugt i32 %22, %16\n store i32 0, i32* %sv_0.2.reg2mem\n store i32 -3, i32* %sv_1.2.reg2mem\n br i1 %23, label LBL_8, label LBL_4\n LBL_4:\n %24 = icmp eq i32 %21, 0\n store i64 0, i64* %.reg2mem\n store i32 0, i32* %sv_2.05.reg2mem\n store i32 0, i32* %sv_0.04.reg2mem\n store i32 0, i32* %sv_0.2.reg2mem\n store i32 0, i32* %sv_1.2.reg2mem\n br i1 %24, label LBL_8, label LBL_5\n LBL_5:\n %sv_0.04.reload = load i32, i32* %sv_0.04.reg2mem\n %sv_2.05.reload = load i32, i32* %sv_2.05.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %25 = mul nsw i64 %.reload, 24\n %26 = add i64 %25, %8\n %27 = inttoptr i64 %26 to i64*\n store i64 ptrtoint (i64* @gv_0 to i64), i64* %27, align 8\n %28 = add i64 %26, 16\n %29 = inttoptr i64 %28 to i32*\n store i32 0, i32* %29, align 4\n %30 = add i32 %sv_0.04.reload, 1\n %31 = call i64 @FUNC(i64 %17, i64 %26)\n %32 = trunc i64 %31 to i32\n %33 = icmp sgt i32 %32, -1\n %34 = icmp eq i1 %33, false\n store i32 %sv_2.05.reload, i32* %sv_2.0.lcssa.reg2mem\n br i1 %34, label LBL_7, label LBL_6\n LBL_6:\n %35 = add i32 %sv_2.05.reload, %32\n %36 = load i32, i32* %sv_3, align 4\n %37 = zext i32 %36 to i64\n %38 = sext i32 %30 to i64\n %39 = icmp slt i64 %38, %37\n store i64 %38, i64* %.reg2mem\n store i32 %35, i32* %sv_2.05.reg2mem\n store i32 %30, i32* %sv_0.04.reg2mem\n store i32 %35, i32* %sv_2.0.lcssa.reg2mem\n br i1 %39, label LBL_5, label LBL_7\n LBL_7:\n %sv_2.0.lcssa.reload = load i32, i32* %sv_2.0.lcssa.reg2mem\n %40 = icmp eq i32 %sv_2.0.lcssa.reload, 0\n store i32 %30, i32* %sv_0.2.reg2mem\n store i32 %32, i32* %sv_1.2.reg2mem\n store i32 %30, i32* %sv_0.3.ph.reg2mem\n store i32 %sv_2.0.lcssa.reload, i32* %sv_1.3.ph.reg2mem\n br i1 %40, label LBL_8, label LBL_9\n LBL_8:\n %sv_1.2.reload = load i32, i32* %sv_1.2.reg2mem\n %sv_0.2.reload = load i32, i32* %sv_0.2.reg2mem\n store i32 %sv_0.2.reload, i32* %sv_0.3.ph.reg2mem\n store i32 %sv_1.2.reload, i32* %sv_1.3.ph.reg2mem\n br label LBL_9\n LBL_9:\n %sv_1.3.ph.reload = load i32, i32* %sv_1.3.ph.reg2mem\n %sv_0.3.ph.reload = load i32, i32* %sv_0.3.ph.reg2mem\n %41 = load i32, i32* %sv_3, align 4\n %42 = zext i32 %41 to i64\n %43 = sext i32 %sv_0.3.ph.reload to i64\n %44 = icmp slt i64 %43, %42\n br i1 %44, label LBL_10, label LBL_12\n LBL_10:\n %45 = add i64 %8, 8\n store i64 %43, i64* %.reg2mem20\n store i32 %sv_0.3.ph.reload, i32* %sv_0.33.reg2mem\n br label LBL_11\n LBL_11:\n %sv_0.33.reload = load i32, i32* %sv_0.33.reg2mem\n %.reload21 = load i64, i64* %.reg2mem20\n %46 = mul nsw i64 %.reload21, 24\n %47 = add i64 %45, %46\n %48 = inttoptr i64 %47 to i64*\n %49 = load i64, i64* %48, align 8\n %50 = call i64 @FUNC(i64 %49)\n %51 = add i32 %sv_0.33.reload, 1\n %52 = load i32, i32* %sv_3, align 4\n %53 = zext i32 %52 to i64\n %54 = sext i32 %51 to i64\n %55 = icmp slt i64 %54, %53\n store i64 %54, i64* %.reg2mem20\n store i32 %51, i32* %sv_0.33.reg2mem\n br i1 %55, label LBL_11, label LBL_12\n LBL_12:\n %56 = call i64 @FUNC(i64 %8)\n %57 = sext i32 %sv_1.3.ph.reload to i64\n store i64 %57, i64* %rax.0.reg2mem\n br label LBL_13\n LBL_13:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %sv_2.05.reload, { 1, 0 }\n uselistorder i32 %21, { 1, 0 }\n uselistorder i64 %8, { 1, 2, 0, 3 }\n uselistorder i32* %sv_3, { 3, 0, 2, 1, 4 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_2.05.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_0.04.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_0.2.reg2mem, { 0, 3, 1, 2 }\n uselistorder i32* %sv_1.2.reg2mem, { 0, 3, 1, 2 }\n uselistorder i32* %sv_0.3.ph.reg2mem, { 0, 2, 3, 1 }\n uselistorder i32* %sv_1.3.ph.reg2mem, { 0, 2, 3, 1 }\n uselistorder i64* %.reg2mem20, { 1, 0, 2 }\n uselistorder i32* %sv_0.33.reg2mem, { 1, 0, 2 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i32 0, { 8, 9, 1, 2, 4, 5, 6, 3, 0, 10, 11, 7 }\n uselistorder i64 24, { 1, 0, 2 }\n uselistorder label LBL_13, { 2, 0, 1 }\n uselistorder label LBL_11, { 1, 0 }\n uselistorder label LBL_9, { 0, 2, 1 }\n uselistorder label LBL_8, { 2, 0, 1 }\n uselistorder label LBL_5, { 1, 0 }\n }",490        "label": "0"491    },492    {493        "dataset": "CompRealVul",494        "file": "network_to_result_14942",495        "fun_name": "network_to_result",496        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %3 = trunc i64 %1 to i32\n %4 = call i32 @ntohl(i32 %3)\n %5 = bitcast i64* %arg1 to i32*\n store i32 %4, i32* %5, align 4\n %6 = add i64 %2, 8\n %7 = inttoptr i64 %6 to i64*\n %8 = load i64, i64* %7, align 8\n %9 = call i64 @FUNC(i64 %8)\n store i64 %9, i64* %7, align 8\n ret i64 %9\n\n uselistorder i64 %9, { 1, 0 }\n uselistorder i32 (i32)* @ntohl, { 2, 1, 0 }\n }",497        "label": "1"498    },499    {500        "dataset": "CompRealVul",501        "file": "mtv_read_packet_15765",502        "fun_name": "mtv_read_packet",503        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %storemerge1.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %rdi = alloca i64, align 8\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg2 to i64\n %3 = ptrtoint i64* %arg1 to i64\n %4 = add i64 %3, 8\n %5 = inttoptr i64 %4 to i64*\n %6 = load i64, i64* %5, align 8\n %7 = call i64 @FUNC(i64 %6)\n %8 = add i64 %3, 16\n %9 = inttoptr i64 %8 to i32*\n %10 = load i32, i32* %9, align 4\n %11 = trunc i64 %7 to i32\n %12 = sub i32 %11, %10\n %13 = trunc i64 %1 to i32\n %14 = add i32 %12, %13\n %15 = add i64 %3, 4\n %16 = inttoptr i64 %15 to i32*\n %17 = load i32, i32* %16, align 4\n %18 = ashr i32 %14, 31\n %19 = zext i32 %14 to i64\n %20 = zext i32 %18 to i64\n %21 = mul i64 %20, 4294967296\n %22 = or i64 %21, %19\n %23 = zext i32 %17 to i64\n %24 = srem i64 %22, %23\n %25 = trunc i64 %24 to i32\n %26 = icmp eq i32 %25, 0\n br i1 %26, label LBL_3, label LBL_1\n LBL_1:\n %27 = call i64 @FUNC(i64 %6, i64 16)\n %28 = call i64 @FUNC(i64 %6, i64 %2, i64 1024)\n %29 = trunc i64 %28 to i32\n %30 = icmp eq i32 %29, 1024\n store i64 4294967291, i64* %rax.0.reg2mem\n br i1 %30, label LBL_2, label LBL_9\n LBL_2:\n %31 = add i64 %2, 4\n %32 = inttoptr i64 %31 to i32*\n %33 = load i32, i32* %32, align 4\n %34 = add i32 %33, -16\n store i32 %34, i32* %32, align 4\n %35 = bitcast i64* %arg2 to i32*\n store i32 0, i32* %35, align 4\n store i64 %28, i64* %sv_0.0.reg2mem\n br label LBL_8\n LBL_3:\n %36 = and i64 %1, 4294967295\n %37 = call i64 @FUNC(i64 %6, i64 %2, i64 %36)\n %38 = trunc i64 %37 to i32\n %39 = icmp eq i32 %13, %38\n store i64 4294967291, i64* %rax.0.reg2mem\n br i1 %39, label LBL_4, label LBL_9\n LBL_4:\n %40 = icmp slt i32 %13, 0\n %41 = zext i1 %40 to i32\n %42 = add i32 %41, %13\n %43 = icmp ugt i32 %42, 1\n br i1 %43, label LBL_5, label LBL_7\n LBL_5:\n %44 = bitcast i64* %rdi to i32*\n %45 = add i64 %2, 8\n %46 = inttoptr i64 %45 to i64*\n store i64 0, i64* %.reg2mem\n store i32 0, i32* %storemerge1.reg2mem\n br label LBL_6\n LBL_6:\n %storemerge1.reload = load i32, i32* %storemerge1.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %47 = load i64, i64* %46, align 8\n %48 = mul i64 %.reload, 2\n %49 = add i64 %47, %48\n %50 = inttoptr i64 %49 to i16*\n %51 = load i16, i16* %50, align 2\n %52 = zext i16 %51 to i64\n %53 = call i64 @FUNC(i64 %52)\n %54 = trunc i64 %53 to i16\n store i16 %54, i16* %50, align 2\n %55 = add i32 %storemerge1.reload, 1\n %56 = load i32, i32* %44, align 8\n %57 = icmp slt i32 %56, 0\n %58 = zext i1 %57 to i32\n %59 = add i32 %56, %58\n %60 = ashr i32 %59, 1\n %61 = zext i32 %60 to i64\n %62 = sext i32 %55 to i64\n %63 = icmp slt i64 %62, %61\n store i64 %62, i64* %.reg2mem\n store i32 %55, i32* %storemerge1.reg2mem\n br i1 %63, label LBL_6, label LBL_7\n LBL_7:\n %64 = bitcast i64* %arg2 to i32*\n store i32 1, i32* %64, align 4\n store i64 %37, i64* %sv_0.0.reg2mem\n br label LBL_8\n LBL_8:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %65 = and i64 %sv_0.0.reload, 4294967295\n store i64 %65, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_9:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %13, { 1, 0, 3, 2 }\n uselistorder i64 %6, { 2, 1, 0, 3 }\n uselistorder i64 %2, { 2, 3, 0, 1 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %.reg2mem, { 1, 0, 2 }\n uselistorder i32* %storemerge1.reg2mem, { 1, 0, 2 }\n uselistorder i64* %sv_0.0.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i64 (i64, i64, i64)* @av_get_packet, { 1, 0 }\n uselistorder i32 0, { 1, 0, 2, 3, 4 }\n uselistorder label LBL_9, { 2, 0, 1 }\n uselistorder label LBL_6, { 1, 0 }\n }",504        "label": "1"505    },506    {507        "dataset": "CompRealVul",508        "file": "svhandler_flash_erase_sector_6475",509        "fun_name": "svhandler_flash_erase_sector",510        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = load i8, i8* bitcast (i64* @gv_0 to i8*), align 8\n %1 = zext i8 %0 to i64\n %2 = call i64 @FUNC(i64 %1)\n %3 = and i64 %2, 4294967295\n %4 = xor i64 %3, 1\n %5 = trunc i64 %4 to i8\n %6 = icmp eq i8 %5, 0\n %7 = icmp eq i1 %6, false\n store i64 %4, i64* %rax.0.reg2mem\n br i1 %7, label LBL_2, label LBL_1\n LBL_1:\n %8 = call i64 @FUNC()\n %9 = call i64 @FUNC()\n %10 = call i64 @FUNC(i64 %1, i64 0)\n %11 = call i64 @FUNC()\n %12 = trunc i64 %11 to i8\n store i8 %12, i8* bitcast (i64* @gv_0 to i8*), align 8\n store i8 0, i8* inttoptr (i64 4210721 to i8*), align 1\n store i8 0, i8* inttoptr (i64 4210722 to i8*), align 2\n %13 = call i64 @FUNC()\n %14 = load i32, i32* inttoptr (i64 4210724 to i32*), align 4\n %15 = and i32 %14, -4\n %16 = or i32 %15, 2\n %17 = zext i32 %16 to i64\n store i32 %16, i32* @gv_1, align 4\n store i64 %17, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i8 0, { 1, 2, 3, 0 }\n uselistorder i64 1, { 2, 0, 1 }\n uselistorder i32 1, { 3, 2, 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",511        "label": "0"512    },513    {514        "dataset": "CompRealVul",515        "file": "vcpu_init_fpu_6186",516        "fun_name": "vcpu_init_fpu",517        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.in.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = trunc i64 %1 to i32\n %3 = icmp eq i32 %2, 0\n store i64 %1, i64* %storemerge.in.reg2mem\n br i1 %3, label LBL_1, label LBL_7\n LBL_1:\n %4 = icmp eq i64* %arg1, null\n br i1 %4, label LBL_5, label LBL_2\n LBL_2:\n %5 = add i64 %0, 8\n %6 = inttoptr i64 %5 to i64*\n store i64 %0, i64* %6, align 8\n %7 = load i32, i32* @gv_0, align 4\n %8 = icmp eq i32 %7, 0\n %9 = icmp eq i1 %8, false\n br i1 %9, label LBL_4, label LBL_3\n LBL_3:\n %10 = load i32, i32* inttoptr (i64 4210760 to i32*), align 8\n %11 = icmp eq i32 %10, 0\n store i64 %1, i64* %storemerge.in.reg2mem\n br i1 %11, label LBL_7, label LBL_4\n LBL_4:\n %12 = inttoptr i64 %5 to i32*\n store i32 1, i32* %12, align 4\n store i64 %1, i64* %storemerge.in.reg2mem\n br label LBL_7\n LBL_5:\n %13 = call i64 @FUNC(i64 8, i64 16)\n %14 = add i64 %0, 8\n %15 = inttoptr i64 %14 to i64*\n store i64 %13, i64* %15, align 8\n %16 = icmp eq i64 %13, 0\n store i64 4294967284, i64* %storemerge.in.reg2mem\n br i1 %16, label LBL_7, label LBL_6\n LBL_6:\n %17 = inttoptr i64 %13 to i32*\n store i32 895, i32* %17, align 4\n %18 = add i64 %13, 4\n %19 = inttoptr i64 %18 to i32*\n store i32 8064, i32* %19, align 4\n store i64 %1, i64* %storemerge.in.reg2mem\n br label LBL_7\n LBL_7:\n %storemerge.in.reload = load i64, i64* %storemerge.in.reg2mem\n %storemerge = and i64 %storemerge.in.reload, 4294967295\n ret i64 %storemerge\n\n uselistorder i64 %13, { 1, 2, 0, 3 }\n uselistorder i64 %1, { 2, 1, 0, 3, 4 }\n uselistorder i64 %0, { 1, 2, 0, 3 }\n uselistorder i64* %storemerge.in.reg2mem, { 0, 4, 1, 3, 2, 5 }\n uselistorder i64 8, { 1, 0, 2 }\n uselistorder label LBL_7, { 2, 3, 1, 0, 4 }\n }",518        "label": "0"519    },520    {521        "dataset": "CompRealVul",522        "file": "tg3_find_peer_8042",523        "fun_name": "tg3_find_peer",524        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge14.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = trunc i64 %0 to i32\n %2 = and i32 %1, -8\n store i64 %0, i64* %.reg2mem\n store i32 0, i32* %storemerge14.reg2mem\n br label LBL_1\n LBL_1:\n %storemerge14.reload = load i32, i32* %storemerge14.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %3 = or i32 %storemerge14.reload, %2\n %4 = add i64 %.reload, 8\n %5 = inttoptr i64 %4 to i64*\n %6 = load i64, i64* %5, align 8\n %7 = zext i32 %3 to i64\n %8 = call i64 @FUNC(i64 %6, i64 %7)\n %9 = icmp eq i64 %8, 0\n %.not = icmp ne i1 %9, true\n %10 = icmp eq i64 %8, %6\n %11 = icmp eq i1 %10, false\n %or.cond = icmp eq i1 %11, %.not\n br i1 %or.cond, label LBL_4, label LBL_2\n LBL_2:\n %12 = call i64 @FUNC(i64 %8)\n %13 = add nuw nsw i32 %storemerge14.reload, 1\n %14 = icmp ult i32 %13, 8\n store i64 %8, i64* %.reg2mem\n store i32 %13, i32* %storemerge14.reg2mem\n br i1 %14, label LBL_1, label LBL_3\n LBL_3:\n %15 = icmp eq i1 %9, false\n br i1 %15, label LBL_4, label LBL_5\n LBL_4:\n %16 = call i64 @FUNC(i64 %8)\n br label LBL_5\n LBL_5:\n ret i64 %8\n\n uselistorder i1 %9, { 1, 0 }\n uselistorder i64 %8, { 1, 2, 0, 4, 3, 5 }\n uselistorder i64* %.reg2mem, { 1, 0, 2 }\n uselistorder i32* %storemerge14.reg2mem, { 1, 0, 2 }\n uselistorder i64 (i64)* @pci_dev_put, { 1, 0 }\n uselistorder i1 false, { 1, 0 }\n uselistorder label LBL_5, { 1, 0 }\n uselistorder label LBL_4, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",525        "label": "0"526    },527    {528        "dataset": "CompRealVul",529        "file": "sldns_str2wire_str_buf_5602",530        "fun_name": "sldns_str2wire_str_buf",531        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0.0.lcssa.reg2mem = alloca i32\n %sv_0.04.reg2mem = alloca i32\n %sv_1 = alloca i64, align 8\n %sv_2 = alloca i8, align 1\n store i8 0, i8* %sv_2, align 1\n store i64 %arg1, i64* %sv_1, align 8\n %0 = icmp eq i64* %arg3, null\n %1 = icmp eq i1 %0, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %1, label LBL_1, label LBL_9\n LBL_1:\n %2 = ptrtoint i64* %arg2 to i64\n %3 = ptrtoint i64* %sv_1 to i64\n %4 = call i64 @FUNC(i8* nonnull %sv_2, i64* nonnull %sv_1)\n %5 = trunc i64 %4 to i32\n %6 = icmp eq i32 %5, 0\n %7 = icmp eq i1 %6, false\n store i32 0, i32* %sv_0.04.reg2mem\n store i32 0, i32* %sv_0.0.lcssa.reg2mem\n br i1 %7, label LBL_2, label LBL_7\n LBL_2:\n %sv_0.04.reload = load i32, i32* %sv_0.04.reg2mem\n %8 = icmp ult i32 %sv_0.04.reload, 255\n br i1 %8, label LBL_4, label LBL_3\n LBL_3:\n %9 = load i64, i64* %sv_1, align 8\n %10 = sub i64 %9, %arg1\n %11 = call i64 @FUNC(i64 4294967294, i64 %10)\n store i64 %11, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_4:\n %12 = sext i32 %sv_0.04.reload to i64\n %13 = add nsw i64 %12, 2\n %14 = icmp ugt i64 %13, %3\n %15 = icmp eq i1 %14, false\n br i1 %15, label LBL_6, label LBL_5\n LBL_5:\n %16 = load i64, i64* %sv_1, align 8\n %17 = sub i64 %16, %arg1\n %18 = call i64 @FUNC(i64 4294967295, i64 %17)\n store i64 %18, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_6:\n %19 = add nsw i64 %12, 1\n %20 = trunc i64 %19 to i32\n %21 = add i64 %19, %2\n %22 = load i8, i8* %sv_2, align 1\n %23 = inttoptr i64 %21 to i8*\n store i8 %22, i8* %23, align 1\n %24 = call i64 @FUNC(i8* nonnull %sv_2, i64* nonnull %sv_1)\n %25 = trunc i64 %24 to i32\n %26 = icmp eq i32 %25, 0\n %27 = icmp eq i1 %26, false\n store i32 %20, i32* %sv_0.04.reg2mem\n store i32 %20, i32* %sv_0.0.lcssa.reg2mem\n br i1 %27, label LBL_2, label LBL_7\n LBL_7:\n %28 = load i64, i64* %sv_1, align 8\n %29 = icmp eq i64 %28, 0\n %30 = icmp eq i1 %29, false\n store i64 4294967293, i64* %rax.0.reg2mem\n br i1 %30, label LBL_8, label LBL_9\n LBL_8:\n %sv_0.0.lcssa.reload = load i32, i32* %sv_0.0.lcssa.reg2mem\n %31 = trunc i32 %sv_0.0.lcssa.reload to i8\n %32 = bitcast i64* %arg2 to i8*\n store i8 %31, i8* %32, align 1\n %33 = sext i32 %sv_0.0.lcssa.reload to i64\n %34 = add nsw i64 %33, 1\n store i64 %34, i64* %arg3, align 8\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_9:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %sv_0.04.reload, { 1, 0 }\n uselistorder i8* %sv_2, { 1, 2, 0, 3 }\n uselistorder i64* %sv_1, { 2, 1, 4, 5, 0, 3, 6 }\n uselistorder i32* %sv_0.04.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 5, 4, 2 }\n uselistorder i64 1, { 1, 2, 0, 3 }\n uselistorder i64 (i64, i64)* @RET_ERR, { 1, 0 }\n uselistorder i64 (i8*, i64*)* @sldns_parse_char, { 1, 0 }\n uselistorder i64 %arg1, { 1, 0, 2 }\n uselistorder label LBL_9, { 2, 0, 3, 4, 1 }\n uselistorder label LBL_2, { 1, 0 }\n }",532        "label": "0"533    },534    {535        "dataset": "CompRealVul",536        "file": "store_tabletYtilt_9607",537        "fun_name": "store_tabletYtilt",538        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3, i64 %arg4) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %storemerge4.reg2mem = alloca i32\n %0 = ptrtoint i64* %arg1 to i64\n %sv_0 = alloca i32, align 4\n %1 = call i64 @FUNC(i64 %0)\n %2 = bitcast i32* %sv_0 to i64*\n %3 = call i64 @FUNC(i64 %arg3, i64 10, i64* nonnull %2)\n %4 = trunc i64 %3 to i32\n %5 = icmp eq i32 %4, 0\n br i1 %5, label LBL_2, label LBL_1\n LBL_1:\n %6 = add i64 %arg4, -1\n %7 = add i64 %6, %arg3\n %8 = inttoptr i64 %7 to i8*\n %9 = load i8, i8* %8, align 1\n %10 = icmp eq i8 %9, 10\n %11 = icmp eq i1 %10, false\n %storemerge = select i1 %11, i64 %arg4, i64 %6\n %12 = inttoptr i64 %arg3 to i8*\n %13 = trunc i64 %storemerge to i32\n %14 = call i32 @strncmp(i8* %12, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_0, i64 0, i64 0), i32 %13)\n %15 = icmp eq i32 %14, 0\n store i32 -1, i32* %storemerge4.reg2mem\n store i64 4294967274, i64* %rax.0.reg2mem\n br i1 %15, label LBL_3, label LBL_4\n LBL_2:\n %16 = load i32, i32* %sv_0, align 4\n %17 = icmp ult i32 %16, 101\n store i32 %16, i32* %storemerge4.reg2mem\n store i64 4294967274, i64* %rax.0.reg2mem\n br i1 %17, label LBL_3, label LBL_4\n LBL_3:\n %18 = inttoptr i64 %1 to i32*\n %storemerge4.reload = load i32, i32* %storemerge4.reg2mem\n store i32 %storemerge4.reload, i32* %18, align 4\n store i64 %arg4, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %6, { 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i8 10, { 1, 0 }\n uselistorder i64 %arg4, { 0, 2, 1 }\n uselistorder i64 %arg3, { 1, 0, 2 }\n uselistorder label LBL_4, { 2, 0, 1 }\n }",539        "label": "0"540    },541    {542        "dataset": "CompRealVul",543        "file": "uvesafb_init_9030",544        "fun_name": "uvesafb_init",545        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.shrunk.reg2mem = alloca i64\n %storemerge1.reg2mem = alloca i64\n %.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %sv_0 = alloca i64, align 8\n store i64 0, i64* %sv_0, align 8\n %4 = call i64 @FUNC(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_0, i64 0, i64 0), i64* nonnull %sv_0)\n %5 = trunc i64 %4 to i32\n %6 = icmp eq i32 %5, 0\n store i64 4294967277, i64* %rax.0.shrunk.reg2mem\n br i1 %6, label LBL_1, label LBL_9\n LBL_1:\n %7 = load i64, i64* %sv_0, align 8\n %8 = call i64 @FUNC(i64 %7)\n %9 = load i64, i64* @gv_1, align 8\n %10 = call i64 @FUNC(i64* nonnull @gv_2, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_0, i64 0, i64 0), i64 %9)\n %11 = trunc i64 %10 to i32\n %12 = icmp eq i32 %11, 0\n store i64 %10, i64* %rax.0.shrunk.reg2mem\n br i1 %12, label LBL_2, label LBL_9\n LBL_2:\n %13 = call i64 @FUNC(i64* nonnull @gv_3)\n %14 = trunc i64 %13 to i32\n %15 = icmp eq i32 %14, 0\n %16 = icmp eq i1 %15, false\n store i64 %13, i64* %rax.0.shrunk.reg2mem\n br i1 %16, label LBL_9, label LBL_3\n LBL_3:\n %17 = call i64 @FUNC(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_0, i64 0, i64 0), i64 0)\n store i64 %17, i64* @gv_4, align 8\n %18 = icmp eq i64 %17, 0\n store i64 0, i64* %.reg2mem\n store i64 4294967284, i64* %storemerge1.reg2mem\n br i1 %18, label LBL_6, label LBL_4\n LBL_4:\n %19 = call i64 @FUNC(i64 %17)\n %20 = trunc i64 %19 to i32\n %21 = icmp eq i32 %20, 0\n br i1 %21, label LBL_7, label LBL_4.LBL_6_crit_edge\n LBL_5:\n %.pre = load i64, i64* @gv_4, align 8\n store i64 %.pre, i64* %.reg2mem\n store i64 %19, i64* %storemerge1.reg2mem\n br label LBL_6\n LBL_6:\n %storemerge1.reload = load i64, i64* %storemerge1.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %22 = call i64 @FUNC(i64 %.reload)\n %23 = call i64 @FUNC(i64* nonnull @gv_3)\n %24 = call i64 @FUNC(i64* nonnull @gv_2)\n store i64 %storemerge1.reload, i64* %rax.0.shrunk.reg2mem\n br label LBL_9\n LBL_7:\n %25 = call i64 @FUNC(i64* nonnull @gv_3, i64* nonnull @gv_5)\n %26 = trunc i64 %25 to i32\n %27 = icmp eq i32 %26, 0\n store i64 0, i64* %rax.0.shrunk.reg2mem\n br i1 %27, label LBL_9, label LBL_8\n LBL_8:\n %28 = call i64 @FUNC(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @gv_6, i64 0, i64 0), i64 ptrtoint (i64* @gv_5 to i64), i64 %9, i64 %3, i64 %2, i64 %1)\n store i64 0, i64* %rax.0.shrunk.reg2mem\n br label LBL_9\n LBL_9:\n %rax.0.shrunk.reload = load i64, i64* %rax.0.shrunk.reg2mem\n %rax.0 = and i64 %rax.0.shrunk.reload, 4294967295\n ret i64 %rax.0\n\n uselistorder i64* %sv_0, { 1, 0, 2 }\n uselistorder i64* %.reg2mem, { 0, 2, 1 }\n uselistorder i64* %storemerge1.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.shrunk.reg2mem, { 0, 1, 2, 6, 3, 4, 5 }\n uselistorder i64* %0, { 2, 1, 0 }\n uselistorder i64* @gv_5, { 1, 0 }\n uselistorder i32 1, { 10, 9, 8, 7, 6, 5, 0, 4, 3, 2, 1 }\n uselistorder label LBL_9, { 2, 1, 5, 0, 3, 4 }\n }",546        "label": "0"547    },548    {549        "dataset": "CompRealVul",550        "file": "tee_shm_get_from_id_13025",551        "fun_name": "tee_shm_get_from_id",552        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %0 = icmp eq i64* %arg1, null\n %1 = icmp eq i1 %0, false\n store i64 -22, i64* %storemerge.reg2mem\n br i1 %1, label LBL_1, label LBL_6\n LBL_1:\n %2 = ptrtoint i64* %arg1 to i64\n %3 = and i64 %arg2, 4294967295\n %4 = call i64 @FUNC(i64 %2)\n %5 = add i64 %2, 40\n %6 = call i64 @FUNC(i64 %5, i64 %3)\n %7 = icmp eq i64 %6, 0\n store i64 -22, i64* %sv_0.0.reg2mem\n br i1 %7, label LBL_5, label LBL_2\n LBL_2:\n %8 = inttoptr i64 %6 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = icmp eq i64 %9, %2\n store i64 -22, i64* %sv_0.0.reg2mem\n br i1 %10, label LBL_3, label LBL_5\n LBL_3:\n %11 = add i64 %6, 8\n %12 = inttoptr i64 %11 to i32*\n %13 = load i32, i32* %12, align 4\n %14 = urem i32 %13, 2\n %15 = icmp eq i32 %14, 0\n store i64 %6, i64* %sv_0.0.reg2mem\n br i1 %15, label LBL_5, label LBL_4\n LBL_4:\n %16 = add i64 %6, 16\n %17 = inttoptr i64 %16 to i64*\n %18 = load i64, i64* %17, align 8\n %19 = call i64 @FUNC(i64 %18)\n store i64 %6, i64* %sv_0.0.reg2mem\n br label LBL_5\n LBL_5:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %20 = call i64 @FUNC(i64 %2)\n store i64 %sv_0.0.reload, i64* %storemerge.reg2mem\n br label LBL_6\n LBL_6:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %6, { 0, 2, 1, 3, 4, 5 }\n uselistorder i64 %2, { 1, 0, 3, 2 }\n uselistorder i64* %sv_0.0.reg2mem, { 0, 3, 4, 2, 1 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64* %arg1, { 1, 0 }\n uselistorder label LBL_6, { 1, 0 }\n uselistorder label LBL_5, { 2, 3, 1, 0 }\n }",553        "label": "1"554    },555    {556        "dataset": "CompRealVul",557        "file": "remove_bond_12551",558        "fun_name": "remove_bond",559        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %0 = call i64 @FUNC()\n %1 = trunc i64 %0 to i32\n %2 = icmp eq i32 %1, 0\n %3 = icmp eq i1 %2, false\n store i64 4294967295, i64* %storemerge.reg2mem\n br i1 %3, label LBL_1, label LBL_2\n LBL_1:\n %4 = ptrtoint i32* %arg1 to i64\n %5 = call i64 @FUNC(i64 %4)\n store i64 %5, i64* %storemerge.reg2mem\n br label LBL_2\n LBL_2:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder label LBL_2, { 1, 0 }\n }",560        "label": "1"561    },562    {563        "dataset": "CompRealVul",564        "file": "tls_finish_handshake_12580",565        "fun_name": "tls_finish_handshake",566        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %rdi = alloca i64, align 8\n %0 = call i64 @FUNC(i64 %arg1)\n %1 = trunc i64 %0 to i32\n %2 = icmp eq i32 %1, 0\n br i1 %2, label LBL_4, label LBL_1\n LBL_1:\n %3 = call i64 @FUNC(i64 %arg1)\n %4 = call i64 @FUNC(i64 %3)\n %5 = trunc i64 %4 to i32\n %6 = icmp eq i32 %5, 0\n br i1 %6, label LBL_4, label LBL_2\n LBL_2:\n %7 = call i64 @FUNC(i64 %arg1)\n %8 = trunc i64 %7 to i32\n %9 = icmp eq i32 %8, 0\n br i1 %9, label LBL_4, label LBL_3\n LBL_3:\n %10 = and i64 %7, 4294967295\n store i64 %10, i64* %storemerge.reg2mem\n br label LBL_15\n LBL_4:\n %11 = call i64 @FUNC(i64 %arg1)\n %12 = call i64 @FUNC(i64 %arg1)\n %13 = trunc i64 %12 to i32\n %14 = icmp eq i32 %13, 0\n %15 = icmp eq i1 %14, false\n br i1 %15, label LBL_6, label LBL_5\n LBL_5:\n %16 = add i64 %arg1, 56\n %17 = inttoptr i64 %16 to i64*\n %18 = load i64, i64* %17, align 8\n %19 = call i64 @FUNC(i64 %18)\n store i64 0, i64* %17, align 8\n br label LBL_6\n LBL_6:\n %20 = call i64 @FUNC(i64 %arg1)\n %21 = add i64 %arg1, 64\n %22 = inttoptr i64 %21 to i32*\n store i32 0, i32* %22, align 4\n %23 = bitcast i64* %rdi to i32*\n %24 = load i32, i32* %23, align 8\n %25 = icmp eq i32 %24, 0\n %.pre = add i64 %arg1, 4\n %.pre1 = inttoptr i64 %.pre to i32*\n br i1 %25, label LBL_8, label LBL_7\n LBL_7:\n %26 = load i32, i32* %.pre1, align 4\n %27 = icmp eq i32 %26, 2\n %28 = icmp eq i1 %27, false\n store i64 1, i64* %storemerge.reg2mem\n br i1 %28, label LBL_15, label LBL_8\n LBL_8:\n store i32 0, i32* %.pre1, align 4\n %29 = add i64 %arg1, 80\n %30 = inttoptr i64 %29 to i32*\n store i32 0, i32* %30, align 4\n %31 = load i32, i32* %23, align 8\n %32 = icmp eq i32 %31, 0\n br i1 %32, label LBL_10, label LBL_9\n LBL_9:\n %33 = call i64 @FUNC(i64 %arg1, i64 1)\n %34 = add i64 %arg1, 40\n %35 = inttoptr i64 %34 to i64*\n %36 = load i64, i64* %35, align 8\n %37 = add i64 %36, 8\n %38 = inttoptr i64 %37 to i32*\n %39 = load i32, i32* %38, align 4\n %40 = add i32 %39, 1\n store i32 %40, i32* %38, align 4\n %41 = add i64 %arg1, 72\n %42 = inttoptr i64 %41 to i64*\n store i64 4198833, i64* %42, align 8\n br label LBL_13\n LBL_10:\n %43 = call i64 @FUNC(i64 %arg1, i64 2)\n %44 = add i64 %arg1, 8\n %45 = inttoptr i64 %44 to i32*\n %46 = load i32, i32* %45, align 4\n %47 = icmp eq i32 %46, 0\n %.pre3 = add i64 %arg1, 40\n %.pre5 = inttoptr i64 %.pre3 to i64*\n br i1 %47, label LBL_12, label LBL_11\n LBL_11:\n %48 = load i64, i64* %.pre5, align 8\n %49 = add i64 %48, 12\n %50 = inttoptr i64 %49 to i32*\n %51 = load i32, i32* %50, align 4\n %52 = add i32 %51, 1\n store i32 %52, i32* %50, align 4\n br label LBL_12\n LBL_12:\n %53 = add i64 %arg1, 72\n %54 = inttoptr i64 %53 to i64*\n store i64 4198840, i64* %54, align 8\n %55 = load i64, i64* %.pre5, align 8\n %56 = add i64 %55, 16\n %57 = inttoptr i64 %56 to i32*\n %58 = load i32, i32* %57, align 4\n %59 = add i32 %58, 1\n store i32 %59, i32* %57, align 4\n br label LBL_13\n LBL_13:\n %60 = call i64 @FUNC(i64 %arg1)\n %61 = trunc i64 %60 to i32\n %62 = icmp eq i32 %61, 0\n store i64 1, i64* %storemerge.reg2mem\n br i1 %62, label LBL_15, label LBL_14\n LBL_14:\n %63 = add i64 %arg1, 48\n %64 = inttoptr i64 %63 to i64*\n %65 = load i64, i64* %64, align 8\n %66 = inttoptr i64 %65 to i32*\n store i32 0, i32* %66, align 4\n %67 = load i64, i64* %64, align 8\n %68 = add i64 %67, 4\n %69 = inttoptr i64 %68 to i32*\n store i32 0, i32* %69, align 4\n %70 = load i64, i64* %64, align 8\n %71 = add i64 %70, 8\n %72 = inttoptr i64 %71 to i32*\n store i32 0, i32* %72, align 4\n store i64 1, i64* %storemerge.reg2mem\n br label LBL_15\n LBL_15:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %storemerge.reg2mem, { 0, 3, 2, 1, 4 }\n uselistorder i64 (i64, i64)* @ssl_update_cache, { 1, 0 }\n uselistorder i64 1, { 2, 1, 3, 0 }\n uselistorder i64 4, { 1, 0 }\n uselistorder i64 (i64)* @SSL_IS_DTLS, { 2, 1, 0 }\n uselistorder i64 %arg1, { 7, 8, 9, 0, 10, 11, 5, 6, 12, 13, 1, 14, 15, 4, 16, 17, 2, 3, 18 }\n uselistorder label LBL_15, { 2, 1, 0, 3 }\n uselistorder label LBL_12, { 1, 0 }\n uselistorder label LBL_8, { 1, 0 }\n }",567        "label": "1"568    },569    {570        "dataset": "CompRealVul",571        "file": "split_certinfo_10314",572        "fun_name": "split_certinfo",573        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0.0.in.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = call i64 @FUNC(i64 %1)\n %3 = icmp eq i64 %2, 0\n store i64 %2, i64* %sv_0.0.in.reg2mem\n store i64 0, i64* %rax.0.reg2mem\n br i1 %3, label LBL_7, label LBL_1\n LBL_1:\n %sv_0.0.in.reload = load i64, i64* %sv_0.0.in.reg2mem\n %sv_0.0 = inttoptr i64 %sv_0.0.in.reload to i8*\n %4 = call i8* @strstr(i8* %sv_0.0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @gv_0, i64 0, i64 0))\n %5 = icmp eq i8* %4, null\n br i1 %5, label LBL_3, label LBL_2\n LBL_2:\n store i8 0, i8* %4, align 1\n br label LBL_3\n LBL_3:\n %6 = inttoptr i64 %sv_0.0.in.reload to i64*\n %7 = call i64* @memchr(i64* %6, i32 61, i32 64)\n %8 = icmp eq i64* %7, null\n br i1 %8, label LBL_5, label LBL_4\n LBL_4:\n %9 = bitcast i64* %7 to i8*\n store i8 0, i8* %9, align 1\n %10 = ptrtoint i64* %7 to i64\n %11 = add i64 %10, 1\n %12 = call i64 @FUNC(i64 %0, i64 %sv_0.0.in.reload, i64 %11)\n br label LBL_5\n LBL_5:\n %13 = ptrtoint i8* %4 to i64\n %14 = add i64 %13, 2\n %15 = icmp eq i1 %5, false\n store i64 %14, i64* %sv_0.0.in.reg2mem\n br i1 %15, label LBL_1, label LBL_6\n LBL_6:\n %16 = call i64 @FUNC(i64 %2)\n store i64 %16, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_7:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %7, { 0, 2, 1 }\n uselistorder i64 %sv_0.0.in.reload, { 1, 2, 0 }\n uselistorder i64 %2, { 1, 0, 2 }\n uselistorder i64* %sv_0.0.in.reg2mem, { 2, 0, 1 }\n uselistorder label LBL_1, { 1, 0 }\n }",574        "label": "0"575    },576    {577        "dataset": "CompRealVul",578        "file": "tipc_sk_remove_10765",579        "fun_name": "tipc_sk_remove",580        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i32* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = call i64 @FUNC(i64 %1, i64 0)\n %3 = load i64, i64* @gv_0, align 8\n %4 = add i64 %0, 4\n %5 = call i64 @FUNC(i64 %2, i64 %4, i64 %3)\n %6 = and i64 %5, 4294967295\n %7 = xor i64 %6, 1\n %8 = trunc i64 %7 to i8\n %9 = icmp eq i8 %8, 0\n store i64 %7, i64* %rax.0.reg2mem\n br i1 %9, label LBL_2, label LBL_1\n LBL_1:\n %10 = call i64 @FUNC(i64 %0)\n %11 = trunc i64 %10 to i32\n %12 = icmp eq i32 %11, 1\n %13 = zext i1 %12 to i64\n %14 = call i64 @FUNC(i64 %13)\n %15 = call i64 @FUNC(i64 %0)\n store i64 %15, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i8 0, { 1, 2, 0 }\n uselistorder i64 4294967295, { 1, 0, 2 }\n }",581        "label": "0"582    },583    {584        "dataset": "CompRealVul",585        "file": "matchExpression_4297",586        "fun_name": "matchExpression",587        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = urem i64 %1, 2\n %3 = icmp eq i64 %2, 0\n %4 = icmp eq i1 %3, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %4, label LBL_1, label LBL_11\n LBL_1:\n %5 = call i64 @FUNC(i64 %arg3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @gv_0, i64 0, i64 0), i64 0)\n %6 = icmp eq i64 %5, 0\n %7 = icmp eq i1 %6, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %7, label LBL_2, label LBL_11\n LBL_2:\n %8 = ptrtoint i64* %arg1 to i64\n %sext = mul i64 %arg2, 4294967296\n %9 = ashr exact i64 %sext, 32\n %10 = and i64 %9, 4294967295\n store i64 %10, i64* @0, align 8\n %trunc = trunc i64 %9 to i32\n store i64 0, i64* %rax.0.reg2mem\n switch i32 %trunc, label LBL_11 [\n i32 1, label LBL_3\n i32 2, label LBL_4\n i32 3, label LBL_5\n i32 4, label LBL_6\n i32 5, label LBL_7\n i32 6, label LBL_8\n i32 7, label LBL_9\n i32 8, label LBL_10\n ]\n LBL_3:\n %11 = add i64 %8, 8\n %12 = inttoptr i64 %11 to i64*\n %13 = load i64, i64* %12, align 8\n %14 = call i64 @FUNC(i64 %13, i64 %5)\n store i64 %14, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_4:\n %15 = add i64 %8, 8\n %16 = inttoptr i64 %15 to i64*\n %17 = load i64, i64* %16, align 8\n %18 = call i64 @FUNC(i64 %17, i64 %5)\n %19 = urem i64 %18, 256\n %20 = icmp eq i64 %19, 0\n %21 = zext i1 %20 to i64\n store i64 %21, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_5:\n %22 = add i64 %8, 8\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %25 = call i64 @FUNC(i64 %24, i64 %5)\n %26 = icmp slt i64 %25, 0\n %27 = zext i1 %26 to i64\n store i64 %27, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_6:\n %28 = add i64 %8, 8\n %29 = inttoptr i64 %28 to i64*\n %30 = load i64, i64* %29, align 8\n %31 = call i64 @FUNC(i64 %30, i64 %5)\n %32 = trunc i64 %31 to i32\n %33 = icmp slt i32 %32, 1\n %34 = zext i1 %33 to i64\n %35 = and i64 %31, -256\n %36 = or i64 %35, %34\n store i64 %36, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_7:\n %37 = add i64 %8, 8\n %38 = inttoptr i64 %37 to i64*\n %39 = load i64, i64* %38, align 8\n %40 = call i64 @FUNC(i64 %39, i64 %5)\n %41 = trunc i64 %40 to i32\n %42 = icmp eq i32 %41, 0\n %43 = icmp slt i32 %41, 0\n %44 = icmp eq i1 %43, false\n %45 = icmp eq i1 %42, false\n %46 = icmp eq i1 %44, %45\n %47 = zext i1 %46 to i64\n %48 = and i64 %40, -256\n %49 = or i64 %48, %47\n store i64 %49, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_8:\n %50 = add i64 %8, 8\n %51 = inttoptr i64 %50 to i64*\n %52 = load i64, i64* %51, align 8\n %53 = call i64 @FUNC(i64 %52, i64 %5)\n %54 = icmp sgt i64 %53, -1\n %55 = zext i1 %54 to i64\n store i64 %55, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_9:\n %56 = add i64 %8, 8\n %57 = inttoptr i64 %56 to i64*\n %58 = load i64, i64* %57, align 8\n %59 = call i64 @FUNC(i64 %58, i64 %5)\n %60 = trunc i64 %59 to i32\n %61 = icmp eq i32 %60, 0\n %62 = icmp eq i1 %61, false\n %63 = zext i1 %62 to i64\n %64 = and i64 %59, -256\n %65 = or i64 %64, %63\n store i64 %65, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_10:\n %66 = add i64 %8, 8\n %67 = inttoptr i64 %66 to i64*\n %68 = load i64, i64* %67, align 8\n %69 = call i64 @FUNC(i64 %68, i64 %5)\n %70 = trunc i64 %69 to i32\n %71 = icmp eq i32 %70, 0\n %72 = zext i1 %71 to i64\n %73 = and i64 %69, -256\n %74 = or i64 %73, %72\n store i64 %74, i64* %rax.0.reg2mem\n br label LBL_11\n LBL_11:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %69, { 1, 0 }\n uselistorder i64 %59, { 1, 0 }\n uselistorder i32 %41, { 1, 0 }\n uselistorder i64 %40, { 1, 0 }\n uselistorder i64 %31, { 1, 0 }\n uselistorder i64 %9, { 1, 0 }\n uselistorder i64 %8, { 7, 6, 5, 4, 3, 2, 1, 0 }\n uselistorder i64 %5, { 7, 6, 5, 4, 3, 2, 1, 0, 8 }\n uselistorder i64* %rax.0.reg2mem, { 0, 11, 10, 9, 8, 7, 6, 5, 4, 1, 2, 3 }\n uselistorder i64 (i64, i64)* @scontains, { 1, 0 }\n uselistorder i64 (i64, i64)* @scmp, { 3, 2, 1, 0 }\n uselistorder i64 (i64, i64)* @smatch, { 1, 0 }\n uselistorder i1 false, { 1, 2, 0, 3, 4, 5, 6, 7, 8, 9 }\n uselistorder label LBL_11, { 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 2 }\n }",588        "label": "0"589    },590    {591        "dataset": "CompRealVul",592        "file": "iscsi_retry_timer_expired_2756",593        "fun_name": "iscsi_retry_timer_expired",594        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = bitcast i64* %arg1 to i32*\n store i32 1, i32* %1, align 4\n %2 = add i64 %0, 8\n %3 = inttoptr i64 %2 to i64*\n %4 = load i64, i64* %3, align 8\n %5 = icmp eq i64 %4, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %5, label LBL_2, label LBL_1\n LBL_1:\n %6 = call i64 @FUNC(i64 %4)\n store i64 %6, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n }",595        "label": "0"596    },597    {598        "dataset": "CompRealVul",599        "file": "irda_bind_12652",600        "fun_name": "irda_bind",601        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %3 = trunc i64 %arg3 to i32\n %4 = call i64 @FUNC(i64 %2)\n %5 = inttoptr i64 %4 to i64*\n %6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @gv_1, i64 0, i64 0), i64* %5)\n %7 = icmp eq i32 %3, 68\n store i64 4294967274, i64* %storemerge.reg2mem\n br i1 %7, label LBL_1, label LBL_12\n LBL_1:\n %8 = ptrtoint i64* %arg2 to i64\n %9 = trunc i64 %1 to i32\n %10 = call i64 @FUNC()\n %11 = icmp eq i32 %9, 2\n %12 = icmp eq i1 %11, false\n br i1 %12, label LBL_7, label LBL_2\n LBL_2:\n %13 = add i64 %2, 4\n %14 = inttoptr i64 %13 to i32*\n %15 = load i32, i32* %14, align 4\n %16 = icmp eq i32 %15, 1\n %17 = icmp eq i1 %16, false\n br i1 %17, label LBL_7, label LBL_3\n LBL_3:\n %18 = inttoptr i64 %4 to i8*\n %19 = add i64 %8, 2\n %20 = inttoptr i64 %19 to i8*\n %21 = load i8, i8* %20, align 1\n store i8 %21, i8* %18, align 1\n %22 = icmp slt i8 %21, 0\n %23 = icmp eq i1 %22, false\n br i1 %23, label LBL_5, label LBL_4\n LBL_4:\n %24 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @gv_2, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @gv_1, i64 0, i64 0))\n store i64 4294967201, i64* %sv_0.0.reg2mem\n br label LBL_11\n LBL_5:\n %25 = zext i8 %21 to i64\n %26 = call i64 @FUNC(i64 %4, i64 %25)\n %27 = trunc i64 %26 to i32\n %28 = icmp slt i32 %27, 0\n store i64 %26, i64* %sv_0.0.reg2mem\n br i1 %28, label LBL_11, label LBL_6\n LBL_6:\n %29 = add i64 %2, 8\n %30 = inttoptr i64 %29 to i32*\n store i32 2, i32* %30, align 4\n store i64 0, i64* %sv_0.0.reg2mem\n br label LBL_11\n LBL_7:\n %31 = load i64, i64* @gv_3, align 8\n %32 = add i64 %8, 3\n %33 = call i64 @FUNC(i64 %32, i64 %31)\n %34 = add i64 %4, 8\n %35 = inttoptr i64 %34 to i64*\n store i64 %33, i64* %35, align 8\n %36 = icmp eq i64 %33, 0\n store i64 4294967284, i64* %sv_0.0.reg2mem\n br i1 %36, label LBL_11, label LBL_8\n LBL_8:\n %37 = add i64 %8, 2\n %38 = inttoptr i64 %37 to i8*\n %39 = load i8, i8* %38, align 1\n %40 = zext i8 %39 to i64\n %41 = call i64 @FUNC(i64 %4, i64 %40, i64 %32)\n %42 = trunc i64 %41 to i32\n %43 = icmp slt i32 %42, 0\n %44 = icmp eq i1 %43, false\n br i1 %44, label LBL_10, label LBL_9\n LBL_9:\n %45 = load i64, i64* %35, align 8\n %46 = inttoptr i64 %45 to i64*\n %47 = load i64, i64* %46, align 8\n %48 = call i64 @FUNC(i64 %47)\n %49 = load i64, i64* %35, align 8\n %50 = call i64 @FUNC(i64 %49)\n store i64 %41, i64* %sv_0.0.reg2mem\n br label LBL_11\n LBL_10:\n %51 = add i64 %4, 16\n %52 = inttoptr i64 %51 to i8*\n %53 = load i8, i8* %52, align 1\n %54 = zext i8 %53 to i64\n %55 = load i64, i64* %35, align 8\n %56 = call i64 @FUNC(i64 %55, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @gv_4, i64 0, i64 0), i64 %54, i64 0)\n %57 = load i64, i64* %35, align 8\n %58 = call i64 @FUNC(i64 %57)\n store i64 0, i64* %sv_0.0.reg2mem\n br label LBL_11\n LBL_11:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %59 = call i64 @FUNC()\n %60 = and i64 %sv_0.0.reload, 4294967295\n store i64 %60, i64* %storemerge.reg2mem\n br label LBL_12\n LBL_12:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %35, { 2, 3, 0, 1, 4 }\n uselistorder i64 %8, { 1, 2, 0 }\n uselistorder i64* %sv_0.0.reg2mem, { 0, 5, 4, 6, 2, 3, 1 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64 (i64)* @kfree, { 1, 0 }\n uselistorder i32 2, { 1, 0 }\n uselistorder label LBL_12, { 1, 0 }\n uselistorder label LBL_11, { 2, 3, 0, 4, 1, 5 }\n }",602        "label": "1"603    },604    {605        "dataset": "CompRealVul",606        "file": "tty_register_driver_10306",607        "fun_name": "tty_register_driver",608        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %sv_0.2.reg2mem = alloca i32\n %sv_0.1.reg2mem = alloca i32\n %.pre-phi12.reg2mem = alloca i32*\n %storemerge37.reg2mem = alloca i32\n %storemerge48.reg2mem = alloca i32\n %sv_0.0.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %sv_1 = alloca i32, align 4\n %3 = trunc i64 %1 to i32\n %4 = icmp eq i32 %3, 0\n %5 = icmp eq i1 %4, false\n br i1 %5, label LBL_3, label LBL_1\n LBL_1:\n %6 = add i64 %2, 16\n %7 = inttoptr i64 %6 to i64*\n %8 = load i64, i64* %7, align 8\n %9 = add i64 %2, 8\n %10 = inttoptr i64 %9 to i32*\n %11 = load i32, i32* %10, align 4\n %12 = add i64 %2, 4\n %13 = inttoptr i64 %12 to i32*\n %14 = load i32, i32* %13, align 4\n %15 = bitcast i32* %sv_1 to i64*\n %16 = call i64 @FUNC(i64* nonnull %15, i32 %14, i32 %11, i64 %8)\n %17 = trunc i64 %16 to i32\n %18 = icmp eq i32 %17, 0\n %19 = icmp eq i1 %18, false\n store i32 %17, i32* %sv_0.0.reg2mem\n br i1 %19, label LBL_4, label LBL_2\n LBL_2:\n %20 = load i32, i32* %sv_1, align 4\n %21 = ashr i32 %20, 20\n %22 = bitcast i64* %arg1 to i32*\n store i32 %21, i32* %22, align 4\n %23 = urem i32 %20, 1048576\n store i32 %23, i32* %13, align 4\n store i32 %17, i32* %sv_0.0.reg2mem\n br label LBL_4\n LBL_3:\n %24 = mul i32 %3, 1048576\n %25 = add i64 %2, 4\n %26 = inttoptr i64 %25 to i32*\n %27 = load i32, i32* %26, align 4\n %28 = or i32 %27, %24\n store i32 %28, i32* %sv_1, align 4\n %29 = add i64 %2, 16\n %30 = inttoptr i64 %29 to i64*\n %31 = load i64, i64* %30, align 8\n %32 = add i64 %2, 8\n %33 = inttoptr i64 %32 to i32*\n %34 = load i32, i32* %33, align 4\n %35 = sext i32 %28 to i64\n %36 = zext i32 %34 to i64\n %37 = call i64 @FUNC(i64 %35, i64 %36, i64 %31)\n %38 = trunc i64 %37 to i32\n store i32 %38, i32* %sv_0.0.reg2mem\n br label LBL_4\n LBL_4:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %39 = icmp slt i32 %sv_0.0.reload, 0\n store i32 %sv_0.0.reload, i32* %sv_0.2.reg2mem\n br i1 %39, label LBL_16, label LBL_5\n LBL_5:\n %40 = add i64 %2, 24\n %41 = inttoptr i64 %40 to i32*\n %42 = load i32, i32* %41, align 4\n %43 = urem i32 %42, 2\n %44 = icmp eq i32 %43, 0\n br i1 %44, label LBL_7, label LBL_6\n LBL_6:\n %45 = add i64 %2, 8\n %46 = inttoptr i64 %45 to i32*\n %47 = load i32, i32* %46, align 4\n %48 = load i32, i32* %sv_1, align 4\n %49 = sext i32 %48 to i64\n %50 = zext i32 %47 to i64\n %51 = call i64 @FUNC(i64 %2, i64 %49, i64 0, i64 %50)\n %52 = trunc i64 %51 to i32\n %53 = icmp eq i32 %52, 0\n %54 = icmp eq i1 %53, false\n store i32* %46, i32** %.pre-phi12.reg2mem\n store i32 %52, i32* %sv_0.1.reg2mem\n br i1 %54, label LBL_15, label LBL_7\n LBL_7:\n %55 = call i64 @FUNC(i64* nonnull @gv_0)\n %56 = add i64 %2, 32\n %57 = call i64 @FUNC(i64 %56, i64* nonnull @gv_1)\n %58 = call i64 @FUNC(i64* nonnull @gv_0)\n %59 = load i32, i32* %41, align 4\n %60 = and i32 %59, 2\n %61 = icmp eq i32 %60, 0\n %62 = icmp eq i1 %61, false\n br i1 %62, label LBL_12, label LBL_8\n LBL_8:\n %63 = add i64 %2, 8\n %64 = inttoptr i64 %63 to i32*\n %65 = load i32, i32* %64, align 4\n %66 = icmp eq i32 %65, 0\n store i32 0, i32* %storemerge48.reg2mem\n br i1 %66, label LBL_12, label LBL_9\n LBL_9:\n %storemerge48.reload = load i32, i32* %storemerge48.reg2mem\n %67 = zext i32 %storemerge48.reload to i64\n %68 = call i64 @FUNC(i64 %2, i64 %67, i64 0)\n %69 = icmp ult i64 %68, -1000\n br i1 %69, label LBL_11, label LBL_10\n LBL_10:\n %storemerge36 = add i32 %storemerge48.reload, -1\n %70 = icmp slt i32 %storemerge36, 0\n %71 = icmp eq i1 %70, false\n store i32 %storemerge36, i32* %storemerge37.reg2mem\n br i1 %71, label LBL_13, label LBL_14\n LBL_11:\n %72 = add i32 %storemerge48.reload, 1\n %73 = load i32, i32* %64, align 4\n %74 = zext i32 %73 to i64\n %75 = sext i32 %72 to i64\n %76 = icmp slt i64 %75, %74\n store i32 %72, i32* %storemerge48.reg2mem\n br i1 %76, label LBL_9, label LBL_12\n LBL_12:\n %77 = call i64 @FUNC(i64 %2)\n %78 = load i32, i32* %41, align 4\n %79 = or i32 %78, 4\n store i32 %79, i32* %41, align 4\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_17\n LBL_13:\n %storemerge37.reload = load i32, i32* %storemerge37.reg2mem\n %80 = zext i32 %storemerge37.reload to i64\n %81 = call i64 @FUNC(i64 %2, i64 %80)\n %storemerge3 = add i32 %storemerge37.reload, -1\n %82 = icmp slt i32 %storemerge3, 0\n %83 = icmp eq i1 %82, false\n store i32 %storemerge3, i32* %storemerge37.reg2mem\n br i1 %83, label LBL_13, label LBL_14\n LBL_14:\n %84 = trunc i64 %68 to i32\n %85 = call i64 @FUNC(i64* nonnull @gv_0)\n %86 = call i64 @FUNC(i64 %56)\n %87 = call i64 @FUNC(i64* nonnull @gv_0)\n store i32* %64, i32** %.pre-phi12.reg2mem\n store i32 %84, i32* %sv_0.1.reg2mem\n br label LBL_15\n LBL_15:\n %sv_0.1.reload = load i32, i32* %sv_0.1.reg2mem\n %.pre-phi12.reload = load i32*, i32** %.pre-phi12.reg2mem\n %88 = load i32, i32* %.pre-phi12.reload, align 4\n %89 = load i32, i32* %sv_1, align 4\n %90 = sext i32 %89 to i64\n %91 = zext i32 %88 to i64\n %92 = call i64 @FUNC(i64 %90, i64 %91)\n store i32 %sv_0.1.reload, i32* %sv_0.2.reg2mem\n br label LBL_16\n LBL_16:\n %sv_0.2.reload = load i32, i32* %sv_0.2.reg2mem\n %93 = zext i32 %sv_0.2.reload to i64\n store i64 %93, i64* %storemerge.reg2mem\n br label LBL_17\n LBL_17:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i32 %storemerge37.reload, { 1, 0 }\n uselistorder i32 %storemerge48.reload, { 0, 2, 1 }\n uselistorder i32* %64, { 0, 2, 1 }\n uselistorder i32* %41, { 1, 0, 2, 3 }\n uselistorder i32* %sv_1, { 3, 2, 1, 0, 4 }\n uselistorder i64 %2, { 0, 3, 2, 1, 4, 6, 7, 5, 8, 13, 12, 9, 11, 10 }\n uselistorder i32* %sv_0.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i32* %storemerge48.reg2mem, { 2, 0, 1 }\n uselistorder i32* %storemerge37.reg2mem, { 2, 0, 1 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i32 -1, { 1, 0 }\n uselistorder i64 (i64*)* @mutex_unlock, { 1, 0 }\n uselistorder i64 (i64*)* @mutex_lock, { 1, 0 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i1 false, { 1, 0, 2, 3, 4, 5 }\n uselistorder i32 0, { 3, 2, 0, 1, 4, 5, 6, 7, 8, 9 }\n uselistorder label LBL_16, { 1, 0 }\n uselistorder label LBL_15, { 1, 0 }\n uselistorder label LBL_13, { 1, 0 }\n uselistorder label LBL_9, { 1, 0 }\n }",609        "label": "0"610    },611    {612        "dataset": "CompRealVul",613        "file": "__split_vma_4117",614        "fun_name": "__split_vma",615        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3, i32 %arg4) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0.2.reg2mem = alloca i64\n %sv_0.1.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %.reg2mem = alloca i64\n %storemerge.in.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = trunc i64 %1 to i32\n %3 = icmp eq i32 %2, 0\n br i1 %3, label LBL_2, label LBL_1\n LBL_1:\n %4 = call i64 @FUNC(i64 %0)\n %5 = call i64 @FUNC(i64 %4)\n %6 = sub i64 0, %5\n %7 = sub i64 %6, 1\n %8 = and i64 %7, %arg3\n %9 = icmp eq i64 %8, 0\n store i64 4294967274, i64* %rax.0.reg2mem\n br i1 %9, label LBL_2, label LBL_23\n LBL_2:\n %10 = load i64, i64* @gv_0, align 8\n %11 = call i64 @FUNC(i64 %10, i64 0)\n %12 = icmp eq i64 %11, 0\n store i64 4294967284, i64* %sv_0.2.reg2mem\n br i1 %12, label LBL_22, label LBL_3\n LBL_3:\n %13 = add i64 %0, 8\n %14 = inttoptr i64 %13 to i64*\n %15 = load i64, i64* %14, align 8\n %16 = inttoptr i64 %11 to i64*\n store i64 0, i64* %16, align 8\n %17 = add i64 %11, 8\n %18 = inttoptr i64 %17 to i64*\n store i64 %15, i64* %18, align 8\n %19 = add i64 %0, 16\n %20 = inttoptr i64 %19 to i64*\n %21 = load i64, i64* %20, align 8\n %22 = add i64 %0, 24\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %25 = add i64 %11, 16\n %26 = inttoptr i64 %25 to i64*\n store i64 %21, i64* %26, align 8\n %27 = add i64 %11, 24\n %28 = inttoptr i64 %27 to i64*\n store i64 %24, i64* %28, align 8\n %29 = add i64 %0, 32\n %30 = inttoptr i64 %29 to i64*\n %31 = load i64, i64* %30, align 8\n %32 = add i64 %0, 40\n %33 = inttoptr i64 %32 to i64*\n %34 = load i64, i64* %33, align 8\n %35 = add i64 %11, 32\n %36 = inttoptr i64 %35 to i64*\n store i64 %31, i64* %36, align 8\n %37 = add i64 %11, 40\n %38 = inttoptr i64 %37 to i64*\n store i64 %34, i64* %38, align 8\n %39 = add i64 %0, 48\n %40 = inttoptr i64 %39 to i64*\n %41 = load i64, i64* %40, align 8\n %42 = add i64 %11, 48\n %43 = inttoptr i64 %42 to i64*\n store i64 %41, i64* %43, align 8\n %44 = call i64 @FUNC(i64 %42)\n %45 = icmp eq i32 %arg4, 0\n br i1 %45, label LBL_5, label LBL_4\n LBL_4:\n store i64 %arg3, i64* %18, align 8\n br label LBL_6\n LBL_5:\n store i64 %arg3, i64* %16, align 8\n %46 = load i64, i64* %26, align 8\n %47 = udiv i64 %arg3, 4096\n %48 = add i64 %46, %47\n store i64 %48, i64* %26, align 8\n br label LBL_6\n LBL_6:\n %49 = call i64 @FUNC(i64 %0)\n %50 = call i64 @FUNC(i64 %49)\n %51 = call i64 @FUNC(i64 %50)\n %52 = trunc i64 %51 to i32\n %53 = icmp eq i32 %52, 0\n br i1 %53, label LBL_8, label LBL_7\n LBL_7:\n %54 = call i64 @FUNC(i64 %50)\n store i64 %54, i64* %sv_0.1.reg2mem\n br label LBL_21\n LBL_8:\n %55 = call i64 @FUNC(i64 %11, i64 %50)\n %56 = call i64 @FUNC(i64 %11, i64 %0)\n %57 = trunc i64 %56 to i32\n %58 = icmp eq i32 %57, 0\n %59 = icmp eq i1 %58, false\n store i64 4294967284, i64* %sv_0.0.reg2mem\n br i1 %59, label LBL_20, label LBL_9\n LBL_9:\n %60 = ptrtoint i64* %arg1 to i64\n %61 = load i64, i64* %38, align 8\n %62 = icmp eq i64 %61, 0\n br i1 %62, label LBL_12, label LBL_10\n LBL_10:\n %63 = call i64 @FUNC(i64 %61)\n %64 = inttoptr i64 %22 to i32*\n %65 = load i32, i32* %64, align 4\n %66 = urem i32 %65, 2\n %67 = icmp eq i32 %66, 0\n br i1 %67, label LBL_12, label LBL_11\n LBL_11:\n %68 = call i64 @FUNC(i64 %60)\n br label LBL_12\n LBL_12:\n %69 = load i64, i64* %20, align 8\n br i1 %45, label LBL_14, label LBL_13\n LBL_13:\n %70 = load i64, i64* %16, align 8\n %71 = sub i64 %arg3, %70\n %72 = udiv i64 %71, 4096\n %73 = add i64 %72, %69\n %74 = load i64, i64* %14, align 8\n %75 = call i64 @FUNC(i64 %0, i64 %arg3, i64 %74, i64 %73, i64 %11)\n store i64 %75, i64* %storemerge.in.reg2mem\n br label LBL_15\n LBL_14:\n %76 = call i64 @FUNC(i64 %0, i64 %0, i64 %arg3, i64 %69, i64 %11)\n store i64 %76, i64* %storemerge.in.reg2mem\n br label LBL_15\n LBL_15:\n %storemerge.in.reload = load i64, i64* %storemerge.in.reg2mem\n %storemerge = trunc i64 %storemerge.in.reload to i32\n %77 = icmp eq i32 %storemerge, 0\n %78 = icmp eq i1 %77, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %78, label LBL_16, label LBL_23\n LBL_16:\n %79 = load i64, i64* %38, align 8\n %80 = icmp eq i64 %79, 0\n store i64 %storemerge.in.reload, i64* %sv_0.0.reg2mem\n br i1 %80, label LBL_20, label LBL_17\n LBL_17:\n %81 = inttoptr i64 %22 to i32*\n %82 = load i32, i32* %81, align 4\n %83 = urem i32 %82, 2\n %84 = icmp eq i32 %83, 0\n store i64 %79, i64* %.reg2mem\n br i1 %84, label LBL_19, label LBL_18\n LBL_18:\n %85 = call i64 @FUNC(i64 %60)\n %.pre = load i64, i64* %38, align 8\n store i64 %.pre, i64* %.reg2mem\n br label LBL_19\n LBL_19:\n %.reload = load i64, i64* %.reg2mem\n %86 = call i64 @FUNC(i64 %.reload)\n store i64 %storemerge.in.reload, i64* %sv_0.0.reg2mem\n br label LBL_20\n LBL_20:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %87 = call i64 @FUNC(i64 %50)\n store i64 %sv_0.0.reload, i64* %sv_0.1.reg2mem\n br label LBL_21\n LBL_21:\n %sv_0.1.reload = load i64, i64* %sv_0.1.reg2mem\n %88 = load i64, i64* @gv_0, align 8\n %89 = call i64 @FUNC(i64 %88, i64 %11)\n store i64 %sv_0.1.reload, i64* %sv_0.2.reg2mem\n br label LBL_22\n LBL_22:\n %sv_0.2.reload = load i64, i64* %sv_0.2.reg2mem\n %90 = and i64 %sv_0.2.reload, 4294967295\n store i64 %90, i64* %rax.0.reg2mem\n br label LBL_23\n LBL_23:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %69, { 1, 0 }\n uselistorder i64 %60, { 1, 0 }\n uselistorder i64* %26, { 1, 0, 2 }\n uselistorder i64 %22, { 1, 0, 2 }\n uselistorder i64 %11, { 2, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }\n uselistorder i64 %0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 12 }\n uselistorder i64* %storemerge.in.reg2mem, { 0, 2, 1 }\n uselistorder i64* %.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_0.1.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i64 (i64, i64, i64, i64, i64)* @vma_adjust, { 1, 0 }\n uselistorder i64 4294967284, { 1, 0 }\n uselistorder i64 %arg3, { 4, 3, 2, 0, 5, 6, 1 }\n uselistorder label LBL_23, { 2, 0, 1 }\n uselistorder label LBL_22, { 1, 0 }\n uselistorder label LBL_20, { 2, 0, 1 }\n }",616        "label": "0"617    },618    {619        "dataset": "CompRealVul",620        "file": "nbd_errno_to_system_errno_706",621        "fun_name": "nbd_errno_to_system_errno",622        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sext = mul i64 %arg1, 4294967296\n %0 = ashr exact i64 %sext, 32\n %1 = and i64 %0, 4294967295\n store i64 %1, i64* @0, align 8\n %trunc = trunc i64 %0 to i32\n store i64 0, i64* %rax.0.reg2mem\n switch i32 %trunc, label LBL_5 [\n i32 0, label LBL_7\n i32 1, label LBL_1\n i32 2, label LBL_2\n i32 3, label LBL_3\n i32 4, label LBL_4\n i32 5, label LBL_6\n ]\n LBL_1:\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_2:\n store i64 5, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_3:\n store i64 12, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_4:\n store i64 28, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_5:\n %2 = call i64 @FUNC(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @gv_0, i64 0, i64 0), i64 %1)\n br label LBL_6\n LBL_6:\n store i64 22, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_7:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %0, { 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 6, 5, 4, 3, 2, 1 }\n uselistorder i32 1, { 1, 0 }\n uselistorder label LBL_7, { 1, 2, 3, 4, 5, 0 }\n }",623        "label": "0"624    },625    {626        "dataset": "CompRealVul",627        "file": "dump_json_image_info_1829",628        "fun_name": "dump_json_image_info",629        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %sv_0 = alloca i64, align 8\n store i64 %arg1, i64* %sv_0, align 8\n %0 = call i64 @FUNC()\n %1 = call i64 @FUNC(i64 %0)\n %2 = call i64 @FUNC(i64 %1, i64 0, i64* nonnull %sv_0, i64 4198837)\n %3 = call i64 @FUNC(i64 %0)\n %4 = call i64 @FUNC(i64 %3)\n %5 = icmp eq i64 %4, 0\n %6 = icmp eq i1 %5, false\n br i1 %6, label LBL_2, label LBL_1\n LBL_1:\n call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([54 x i8], [54 x i8]* @gv_1, i64 0, i64 0), i32 32, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_2\n LBL_2:\n %7 = call i64 @FUNC(i64 %4)\n %8 = inttoptr i64 %7 to i8*\n %9 = call i32 @puts(i8* %8)\n %10 = call i64 @FUNC(i64 %3)\n %11 = call i64 @FUNC(i64 %0)\n %12 = call i64 @FUNC(i64 %4)\n ret i64 %12\n\n uselistorder i32 1, { 4, 3, 2, 1, 0 }\n }",630        "label": "0"631    },632    {633        "dataset": "CompRealVul",634        "file": "probe_common_4853",635        "fun_name": "probe_common",636        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i32\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 48, i64 0)\n %2 = call i64 @FUNC(i64 40, i64 0)\n %3 = inttoptr i64 %1 to i64*\n store i64 %2, i64* %3, align 8\n %4 = add i64 %1, 40\n %5 = call i64 @FUNC(i64 %4)\n %6 = add i64 %1, 8\n %7 = inttoptr i64 %6 to i64*\n store i64 4198895, i64* %7, align 8\n %8 = add i64 %1, 16\n %9 = inttoptr i64 %8 to i64*\n store i64 4198902, i64* %9, align 8\n %10 = add i64 %1, 24\n %11 = inttoptr i64 %10 to i64*\n store i64 %1, i64* %11, align 8\n store i64 %1, i64* %arg1, align 8\n %12 = call i64 @FUNC(i64 %0, i64 4198909, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @gv_0, i64 0, i64 0))\n %13 = add i64 %1, 32\n %14 = inttoptr i64 %13 to i64*\n store i64 %12, i64* %14, align 8\n %15 = icmp ult i64 %12, -1000\n store i32 0, i32* %sv_0.0.reg2mem\n br i1 %15, label LBL_2, label LBL_1\n LBL_1:\n %16 = load i64, i64* %3, align 8\n %17 = call i64 @FUNC(i64 %16)\n store i64 0, i64* %14, align 8\n %18 = call i64 @FUNC(i64 %1)\n %19 = and i64 %12, 4294967295\n store i64 %19, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_2:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %20 = add i32 %sv_0.0.reload, 1\n %21 = load i64, i64* %3, align 8\n %22 = zext i32 %sv_0.0.reload to i64\n %23 = inttoptr i64 %21 to i8*\n %24 = call i32 (i8*, i8*, ...) @sprintf(i8* %23, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @gv_1, i64 0, i64 0), i64 %22)\n %25 = call i64 @FUNC(i64 %1)\n %26 = trunc i64 %25 to i32\n store i32 %20, i32* %sv_0.0.reg2mem\n store i64 0, i64* %rax.0.reg2mem\n switch i32 %26, label LBL_3 [\n i32 -1, label LBL_2\n i32 0, label LBL_4\n ]\n LBL_3:\n %27 = load i64, i64* %3, align 8\n %28 = call i64 @FUNC(i64 %27)\n store i64 0, i64* %14, align 8\n %29 = call i64 @FUNC(i64 %1)\n %30 = and i64 %25, 4294967295\n store i64 %30, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %14, { 1, 0, 2 }\n uselistorder i64* %3, { 1, 2, 0, 3 }\n uselistorder i64 %1, { 1, 2, 0, 3, 4, 6, 5, 7, 8, 9, 10 }\n uselistorder i32* %sv_0.0.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i32 0, { 1, 0, 2 }\n uselistorder i64 40, { 1, 0 }\n uselistorder label LBL_4, { 1, 0, 2 }\n uselistorder label LBL_2, { 1, 0 }\n }",637        "label": "0"638    },639    {640        "dataset": "CompRealVul",641        "file": "avcodec_align_dimensions_16860",642        "fun_name": "avcodec_align_dimensions",643        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i32* %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.2.reg2mem = alloca i32\n %sv_1.2.reg2mem = alloca i32\n %sv_1.1.reg2mem = alloca i32\n %sv_1.0.reg2mem = alloca i32\n %.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %4 = trunc i64 %1 to i32\n %5 = and i64 %1, 4294967295\n store i64 %5, i64* @0, align 8\n store i32 1, i32* %sv_1.1.reg2mem\n store i32 1, i32* %sv_1.1.reg2mem\n store i32 1, i32* %sv_1.1.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_1.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n store i32 16, i32* %sv_0.2.reg2mem\n switch i32 %4, label LBL_7 [\n i32 0, label LBL_8\n i32 1, label LBL_8\n i32 2, label LBL_8\n i32 3, label LBL_8\n i32 4, label LBL_8\n i32 5, label LBL_8\n i32 6, label LBL_8\n i32 7, label LBL_8\n i32 8, label LBL_8\n i32 9, label LBL_8\n i32 10, label LBL_8\n i32 11, label LBL_8\n i32 12, label LBL_2\n i32 13, label LBL_2\n i32 14, label LBL_3\n i32 15, label LBL_0.LBL_4_crit_edge\n i32 16, label LBL_5\n i32 17, label LBL_5\n i32 18, label LBL_5\n i32 19, label LBL_6\n ]\n LBL_1:\n %.pre = ptrtoint i32* %arg1 to i64\n %.pre11 = add i64 %.pre, 4\n %.pre13 = inttoptr i64 %.pre11 to i32*\n %.pre15 = load i32, i32* %.pre13, align 4\n store i32 %.pre15, i32* %.reg2mem\n store i32 1, i32* %sv_1.0.reg2mem\n br label LBL_4\n LBL_2:\n store i32 32, i32* %sv_1.2.reg2mem\n store i32 8, i32* %sv_0.2.reg2mem\n br label LBL_8\n LBL_3:\n %6 = ptrtoint i32* %arg1 to i64\n %7 = add i64 %6, 4\n %8 = inttoptr i64 %7 to i32*\n %9 = load i32, i32* %8, align 4\n %10 = icmp eq i32 %9, 0\n %11 = icmp eq i1 %10, false\n %spec.select = select i1 %11, i32 1, i32 64\n store i32 %9, i32* %.reg2mem\n store i32 %spec.select, i32* %sv_1.0.reg2mem\n br label LBL_4\n LBL_4:\n %sv_1.0.reload = load i32, i32* %sv_1.0.reg2mem\n %.reload = load i32, i32* %.reg2mem\n %12 = icmp eq i32 %.reload, 1\n %13 = icmp eq i1 %12, false\n %spec.select4 = select i1 %13, i32 %sv_1.0.reload, i32 4\n store i32 %spec.select4, i32* %sv_1.1.reg2mem\n br label LBL_5\n LBL_5:\n %sv_1.1.reload = load i32, i32* %sv_1.1.reg2mem\n %14 = ptrtoint i32* %arg1 to i64\n %15 = add i64 %14, 4\n %16 = inttoptr i64 %15 to i32*\n %17 = load i32, i32* %16, align 4\n %18 = icmp eq i32 %17, 2\n %19 = icmp eq i1 %18, false\n %spec.select6 = select i1 %19, i32 %sv_1.1.reload, i32 4\n store i32 %spec.select6, i32* %sv_1.2.reg2mem\n store i32 %spec.select6, i32* %sv_0.2.reg2mem\n br label LBL_8\n LBL_6:\n %20 = ptrtoint i32* %arg1 to i64\n %21 = add i64 %20, 4\n %22 = inttoptr i64 %21 to i32*\n %23 = load i32, i32* %22, align 4\n %24 = icmp ne i32 %23, 3\n %25 = icmp eq i32 %23, 4\n %26 = icmp eq i1 %25, false\n %or.cond = icmp eq i1 %24, %26\n %spec.select9 = select i1 %or.cond, i32 1, i32 4\n store i32 %spec.select9, i32* %sv_1.2.reg2mem\n store i32 %spec.select9, i32* %sv_0.2.reg2mem\n br label LBL_8\n LBL_7:\n store i32 1, i32* %sv_1.2.reg2mem\n store i32 1, i32* %sv_0.2.reg2mem\n br label LBL_8\n LBL_8:\n %27 = trunc i64 %2 to i32\n %28 = trunc i64 %3 to i32\n %sv_0.2.reload = load i32, i32* %sv_0.2.reg2mem\n %sv_1.2.reload = load i32, i32* %sv_1.2.reg2mem\n %29 = add i32 %27, -1\n %30 = add i32 %29, %sv_1.2.reload\n %31 = sub i32 0, %sv_1.2.reload\n %32 = and i32 %30, %31\n store i32 %32, i32* %arg2, align 4\n %33 = add i32 %28, -1\n %34 = add i32 %33, %sv_0.2.reload\n %35 = sub i32 0, %sv_0.2.reload\n %36 = and i32 %34, %35\n %37 = bitcast i64* %arg3 to i32*\n store i32 %36, i32* %37, align 4\n %38 = ptrtoint i32* %arg1 to i64\n %39 = add i64 %38, 4\n %40 = inttoptr i64 %39 to i32*\n %41 = load i32, i32* %40, align 4\n %42 = zext i32 %41 to i64\n %43 = icmp eq i32 %41, 5\n %44 = icmp eq i1 %43, false\n store i64 %42, i64* %rax.0.reg2mem\n br i1 %44, label LBL_10, label LBL_9\n LBL_9:\n %45 = ptrtoint i64* %arg3 to i64\n %46 = add i32 %28, 2\n store i32 %46, i32* %37, align 4\n store i64 %45, i64* %rax.0.reg2mem\n br label LBL_10\n LBL_10:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %28, { 1, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i32* %sv_1.2.reg2mem, { 0, 16, 1, 2, 15, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }\n uselistorder i32* %sv_0.2.reg2mem, { 0, 16, 1, 2, 15, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }\n uselistorder i64* %0, { 2, 1, 0 }\n uselistorder i1 false, { 4, 0, 1, 2, 3 }\n uselistorder i64 4, { 4, 1, 2, 3, 0 }\n uselistorder i32 2, { 1, 0, 2 }\n uselistorder i32 16, { 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }\n uselistorder i64* %arg3, { 1, 0 }\n uselistorder i32* %arg1, { 4, 3, 2, 1, 0 }\n uselistorder label LBL_8, { 15, 0, 1, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 }\n uselistorder label LBL_4, { 1, 0 }\n }",644        "label": "1"645    },646    {647        "dataset": "CompRealVul",648        "file": "net_tap_fd_init_3512",649        "fun_name": "net_tap_fd_init",650        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %0 = call i64 @FUNC(i64 16)\n %1 = icmp eq i64 %0, 0\n %2 = icmp eq i1 %1, false\n store i64 0, i64* %storemerge.reg2mem\n br i1 %2, label LBL_1, label LBL_2\n LBL_1:\n %sext = mul i64 %arg2, 4294967296\n %3 = ashr exact i64 %sext, 32\n %4 = inttoptr i64 %0 to i32*\n %5 = ptrtoint i64* %arg1 to i64\n %6 = trunc i64 %3 to i32\n store i32 %6, i32* %4, align 4\n %7 = call i64 @FUNC(i64 %5, i64 4198890, i64 0, i64 %0)\n %8 = add i64 %0, 8\n %9 = inttoptr i64 %8 to i64*\n store i64 %7, i64* %9, align 8\n %10 = load i32, i32* %4, align 4\n %11 = zext i32 %10 to i64\n %12 = call i64 @FUNC(i64 %11, i64 4198897, i64 0, i64 %0)\n %13 = load i64, i64* %9, align 8\n %14 = and i64 %3, 4294967295\n %15 = inttoptr i64 %13 to i8*\n %16 = call i32 (i8*, i32, i8*, ...) @snprintf(i8* %15, i32 256, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @gv_0, i64 0, i64 0), i64 %14)\n store i64 %0, i64* %storemerge.reg2mem\n br label LBL_2\n LBL_2:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder label LBL_2, { 1, 0 }\n }",651        "label": "0"652    },653    {654        "dataset": "CompRealVul",655        "file": "_launch_handler_4913",656        "fun_name": "_launch_handler",657        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %4 = ptrtoint i64* %arg2 to i64\n %5 = add i64 %4, 8\n %6 = and i64 %3, 4294967295\n %7 = call i64 @FUNC(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @gv_0, i64 0, i64 0), i64 %5, i64 %6, i64 %5, i64 %2, i64 %1)\n %8 = add i64 %4, 4\n %9 = inttoptr i64 %8 to i32*\n %10 = load i32, i32* %9, align 4\n %11 = icmp eq i32 %10, 0\n br i1 %11, label LBL_2, label LBL_1\n LBL_1:\n %12 = zext i32 %10 to i64\n %13 = call i64 @FUNC(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @gv_1, i64 0, i64 0), i64 %12, i64 %5, i64 %5, i64 %2, i64 %1)\n store i64 %13, i64* %storemerge.reg2mem\n br label LBL_7\n LBL_2:\n %14 = trunc i64 %3 to i32\n %15 = call i32 @pthread_mutex_lock(i64* %arg1)\n %16 = icmp slt i32 %14, 0\n br i1 %16, label LBL_5, label LBL_3\n LBL_3:\n %17 = ptrtoint i64* %arg1 to i64\n %18 = add i64 %17, 40\n %19 = inttoptr i64 %18 to i32*\n %20 = load i32, i32* %19, align 4\n %21 = icmp ugt i32 %20, %14\n br i1 %21, label LBL_4, label LBL_5\n LBL_4:\n %22 = add i64 %17, 48\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %sext = mul i64 %3, 4294967296\n %25 = ashr exact i64 %sext, 30\n %26 = add i64 %24, %25\n %27 = inttoptr i64 %26 to i32*\n store i32 1, i32* %27, align 4\n br label LBL_6\n LBL_5:\n %28 = call i64 @FUNC(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @gv_2, i64 0, i64 0), i64 %5, i64 %6, i64 %5, i64 %2, i64 %1)\n br label LBL_6\n LBL_6:\n %29 = call i32 @pthread_mutex_unlock(i64* %arg1)\n %30 = sext i32 %29 to i64\n store i64 %30, i64* %storemerge.reg2mem\n br label LBL_7\n LBL_7:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %17, { 1, 0 }\n uselistorder i64 %6, { 1, 0 }\n uselistorder i64 %5, { 1, 2, 3, 0, 5, 4 }\n uselistorder i64 %3, { 2, 0, 1 }\n uselistorder i64 %2, { 1, 0, 2 }\n uselistorder i64 %1, { 1, 0, 2 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64* %0, { 2, 1, 0 }\n uselistorder i64 (i8*, i64, i64, i64, i64, i64)* @error, { 1, 0 }\n uselistorder i64* %arg1, { 0, 2, 1 }\n }",658        "label": "0"659    },660    {661        "dataset": "CompRealVul",662        "file": "s_zero_446",663        "fun_name": "s_zero",664        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge7.reg2mem = alloca i32\n %rsi = alloca i64, align 8\n %0 = ptrtoint i64* %arg2 to i64\n %1 = trunc i64 %arg1 to i32\n %2 = icmp eq i32 %1, 0\n %3 = add i64 %0, 40\n %4 = inttoptr i64 %3 to i32*\n %5 = load i32, i32* %4, align 4\n %6 = add i64 %0, 20\n %7 = inttoptr i64 %6 to i32*\n %8 = load i32, i32* %7, align 4\n %9 = mul i32 %8, 255\n %10 = ashr i32 %9, 8\n br i1 %2, label LBL_2, label LBL_1\n LBL_1:\n %11 = add i64 %0, 44\n %12 = inttoptr i64 %11 to i32*\n %13 = load i32, i32* %12, align 4\n %14 = xor i32 %13, %1\n %15 = icmp slt i32 %14, 0\n %16 = icmp eq i1 %15, false\n %. = select i1 %16, i32 128, i32 -128\n %17 = add nsw i32 %., %10\n store i32 %17, i32* %7, align 4\n store i32 %5, i32* %12, align 4\n %18 = load i32, i32* %7, align 4\n %19 = mul i32 %18, %5\n %20 = ashr i32 %19, 15\n %21 = add i64 %0, 36\n %22 = inttoptr i64 %21 to i32*\n %23 = load i32, i32* %22, align 4\n %24 = add i64 %0, 16\n %25 = inttoptr i64 %24 to i32*\n %26 = load i32, i32* %25, align 4\n %27 = mul i32 %26, 255\n %28 = ashr i32 %27, 8\n %29 = load i32, i32* %4, align 4\n %30 = xor i32 %29, %1\n %31 = icmp slt i32 %30, 0\n %32 = icmp eq i1 %31, false\n %storemerge5 = select i1 %32, i32 128, i32 -128\n %33 = add nsw i32 %storemerge5, %28\n store i32 %33, i32* %25, align 4\n store i32 %23, i32* %4, align 4\n %34 = load i32, i32* %25, align 4\n %35 = mul i32 %34, %23\n %36 = ashr i32 %35, 15\n %37 = add nsw i32 %36, %20\n %38 = add i64 %0, 32\n %39 = inttoptr i64 %38 to i32*\n %40 = load i32, i32* %39, align 4\n %41 = add i64 %0, 12\n %42 = inttoptr i64 %41 to i32*\n %43 = load i32, i32* %42, align 4\n %44 = mul i32 %43, 255\n %45 = ashr i32 %44, 8\n %46 = load i32, i32* %22, align 4\n %47 = xor i32 %46, %1\n %48 = icmp slt i32 %47, 0\n %49 = icmp eq i1 %48, false\n %.8 = select i1 %49, i32 128, i32 -128\n %50 = add nsw i32 %.8, %45\n store i32 %50, i32* %42, align 4\n store i32 %40, i32* %22, align 4\n %51 = load i32, i32* %42, align 4\n %52 = mul i32 %51, %40\n %53 = ashr i32 %52, 15\n %54 = add nsw i32 %37, %53\n %55 = add i64 %0, 28\n %56 = inttoptr i64 %55 to i32*\n %57 = load i32, i32* %56, align 4\n %58 = add i64 %0, 8\n %59 = inttoptr i64 %58 to i32*\n %60 = load i32, i32* %59, align 4\n %61 = mul i32 %60, 255\n %62 = ashr i32 %61, 8\n %63 = load i32, i32* %39, align 4\n %64 = xor i32 %63, %1\n %65 = icmp slt i32 %64, 0\n %66 = icmp eq i1 %65, false\n %storemerge3 = select i1 %66, i32 128, i32 -128\n %67 = add nsw i32 %storemerge3, %62\n store i32 %67, i32* %59, align 4\n store i32 %57, i32* %39, align 4\n %68 = load i32, i32* %59, align 4\n %69 = mul i32 %68, %57\n %70 = ashr i32 %69, 15\n %71 = add nsw i32 %54, %70\n %72 = add i64 %0, 24\n %73 = inttoptr i64 %72 to i32*\n %74 = load i32, i32* %73, align 4\n %75 = add i64 %0, 4\n %76 = inttoptr i64 %75 to i32*\n %77 = load i32, i32* %76, align 4\n %78 = mul i32 %77, 255\n %79 = ashr i32 %78, 8\n %80 = load i32, i32* %56, align 4\n %81 = xor i32 %80, %1\n %82 = icmp slt i32 %81, 0\n %83 = icmp eq i1 %82, false\n %.9 = select i1 %83, i32 128, i32 -128\n %84 = add nsw i32 %.9, %79\n store i32 %84, i32* %76, align 4\n store i32 %74, i32* %56, align 4\n %85 = load i32, i32* %76, align 4\n %86 = mul i32 %85, %74\n %87 = ashr i32 %86, 15\n %88 = add nsw i32 %71, %87\n %89 = mul i32 %1, 2\n %90 = bitcast i64* %rsi to i32*\n %91 = load i32, i32* %90, align 8\n %92 = mul i32 %91, 255\n %93 = ashr i32 %92, 8\n %94 = load i32, i32* %73, align 4\n %95 = xor i32 %94, %1\n %96 = icmp slt i32 %95, 0\n %97 = icmp eq i1 %96, false\n %storemerge = select i1 %97, i32 128, i32 -128\n %98 = add nsw i32 %storemerge, %93\n %99 = bitcast i64* %arg2 to i32*\n store i32 %98, i32* %99, align 4\n store i32 %89, i32* %73, align 4\n %100 = load i32, i32* %90, align 8\n %101 = mul i32 %100, %89\n %102 = ashr i32 %101, 15\n %103 = add nsw i32 %88, %102\n store i32 %103, i32* %storemerge7.reg2mem\n br label LBL_3\n LBL_2:\n store i32 %10, i32* %7, align 4\n %104 = add i64 %0, 44\n %105 = inttoptr i64 %104 to i32*\n store i32 %5, i32* %105, align 4\n %106 = load i32, i32* %7, align 4\n %107 = mul i32 %106, %5\n %108 = ashr i32 %107, 15\n %109 = add i64 %0, 36\n %110 = inttoptr i64 %109 to i32*\n %111 = load i32, i32* %110, align 4\n %112 = add i64 %0, 16\n %113 = inttoptr i64 %112 to i32*\n %114 = load i32, i32* %113, align 4\n %115 = mul i32 %114, 255\n %116 = ashr i32 %115, 8\n store i32 %116, i32* %113, align 4\n store i32 %111, i32* %4, align 4\n %117 = load i32, i32* %113, align 4\n %118 = mul i32 %117, %111\n %119 = ashr i32 %118, 15\n %120 = add nsw i32 %119, %108\n %121 = add i64 %0, 32\n %122 = inttoptr i64 %121 to i32*\n %123 = load i32, i32* %122, align 4\n %124 = add i64 %0, 12\n %125 = inttoptr i64 %124 to i32*\n %126 = load i32, i32* %125, align 4\n %127 = mul i32 %126, 255\n %128 = ashr i32 %127, 8\n store i32 %128, i32* %125, align 4\n store i32 %123, i32* %110, align 4\n %129 = load i32, i32* %125, align 4\n %130 = mul i32 %129, %123\n %131 = ashr i32 %130, 15\n %132 = add nsw i32 %120, %131\n %133 = add i64 %0, 28\n %134 = inttoptr i64 %133 to i32*\n %135 = load i32, i32* %134, align 4\n %136 = add i64 %0, 8\n %137 = inttoptr i64 %136 to i32*\n %138 = load i32, i32* %137, align 4\n %139 = mul i32 %138, 255\n %140 = ashr i32 %139, 8\n store i32 %140, i32* %137, align 4\n store i32 %135, i32* %122, align 4\n %141 = load i32, i32* %137, align 4\n %142 = mul i32 %141, %135\n %143 = ashr i32 %142, 15\n %144 = add nsw i32 %132, %143\n %145 = add i64 %0, 24\n %146 = inttoptr i64 %145 to i32*\n %147 = load i32, i32* %146, align 4\n %148 = add i64 %0, 4\n %149 = inttoptr i64 %148 to i32*\n %150 = load i32, i32* %149, align 4\n %151 = mul i32 %150, 255\n %152 = ashr i32 %151, 8\n store i32 %152, i32* %149, align 4\n store i32 %147, i32* %134, align 4\n %153 = load i32, i32* %149, align 4\n %154 = mul i32 %153, %147\n %155 = ashr i32 %154, 15\n %156 = add nsw i32 %144, %155\n %157 = bitcast i64* %rsi to i32*\n %158 = load i32, i32* %157, align 8\n %159 = mul i32 %158, 255\n %160 = ashr i32 %159, 8\n %161 = bitcast i64* %arg2 to i32*\n store i32 %160, i32* %161, align 4\n store i32 0, i32* %146, align 4\n store i32 %156, i32* %storemerge7.reg2mem\n br label LBL_3\n LBL_3:\n %storemerge7.reload = load i32, i32* %storemerge7.reg2mem\n %162 = add i64 %0, 48\n %163 = inttoptr i64 %162 to i32*\n store i32 %storemerge7.reload, i32* %163, align 4\n ret i64 %0\n\n uselistorder i32 %89, { 1, 0 }\n uselistorder i32 %10, { 1, 0 }\n uselistorder i32* %7, { 2, 3, 0, 1, 4 }\n uselistorder i32 %5, { 0, 3, 1, 2 }\n uselistorder i32* %4, { 2, 0, 1, 3 }\n uselistorder i32 %1, { 1, 0, 2, 3, 4, 5, 6, 7 }\n uselistorder i64 %0, { 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1, 0, 3, 2, 5, 4, 7, 6, 8, 21, 20 }\n uselistorder i64* %rsi, { 1, 0 }\n uselistorder i32* %storemerge7.reg2mem, { 0, 2, 1 }\n uselistorder i32 8, { 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 5 }\n uselistorder i32 255, { 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 5 }\n }",665        "label": "0"666    },667    {668        "dataset": "CompRealVul",669        "file": "hmp_drive_add_793",670        "fun_name": "hmp_drive_add",671        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.1.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %4 = load i64, i64* %0\n %5 = ptrtoint i64* %arg2 to i64\n %6 = call i64 @FUNC(i64 %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_0, i64 0, i64 0))\n %7 = call i64 @FUNC(i64 %6)\n %8 = icmp eq i64 %7, 0\n store i64 0, i64* %rax.1.reg2mem\n br i1 %8, label LBL_7, label LBL_1\n LBL_1:\n %9 = ptrtoint i64* %arg1 to i64\n %10 = add i64 %7, 8\n %11 = inttoptr i64 %10 to i64*\n %12 = load i64, i64* %11, align 8\n %13 = icmp eq i64 %12, 0\n br i1 %13, label LBL_3, label LBL_2\n LBL_2:\n %14 = call i64 @FUNC(i64 %9, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @gv_1, i64 0, i64 0), i64 %3, i64 %4, i64 %2, i64 %1)\n br label LBL_6\n LBL_3:\n %15 = inttoptr i64 %7 to i32*\n %16 = load i32, i32* %15, align 4\n %17 = icmp eq i32 %16, 0\n %18 = icmp eq i1 %17, false\n br i1 %18, label LBL_5, label LBL_4\n LBL_4:\n %19 = call i64 @FUNC(i64 %9, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @gv_2, i64 0, i64 0), i64 %3, i64 %4, i64 %2, i64 %1)\n store i64 %19, i64* %rax.1.reg2mem\n br label LBL_7\n LBL_5:\n %20 = zext i32 %16 to i64\n %21 = call i64 @FUNC(i64 %9, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @gv_3, i64 0, i64 0), i64 %20, i64 %4, i64 %2, i64 %1)\n br label LBL_6\n LBL_6:\n %22 = call i64 @FUNC(i64 %7)\n %23 = call i64 @FUNC(i64 %22)\n store i64 %23, i64* %rax.1.reg2mem\n br label LBL_7\n LBL_7:\n %rax.1.reload = load i64, i64* %rax.1.reg2mem\n ret i64 %rax.1.reload\n\n uselistorder i64 %9, { 2, 1, 0 }\n uselistorder i64 %7, { 0, 2, 1, 3 }\n uselistorder i64 %4, { 2, 1, 0 }\n uselistorder i64 %3, { 1, 0 }\n uselistorder i64 %2, { 2, 1, 0 }\n uselistorder i64 %1, { 2, 1, 0 }\n uselistorder i64* %rax.1.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64* %0, { 3, 2, 1, 0 }\n uselistorder i64 (i64, i8*, i64, i64, i64, i64)* @monitor_printf, { 2, 1, 0 }\n uselistorder label LBL_7, { 1, 2, 0 }\n }",672        "label": "0"673    },674    {675        "dataset": "CompRealVul",676        "file": "usb_host_handle_reset_14104",677        "fun_name": "usb_host_handle_reset",678        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = add i64 %arg1, 4\n %3 = inttoptr i64 %2 to i32*\n %4 = load i32, i32* %3, align 4\n %5 = trunc i64 %1 to i32\n %6 = zext i32 %4 to i64\n %7 = and i64 %1, 4294967295\n %8 = call i64 @FUNC(i64 %7, i64 %6)\n %9 = icmp eq i32 %5, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %9, label LBL_2, label LBL_1\n LBL_1:\n %10 = call i64 @FUNC(i64 %arg1)\n %11 = add i64 %arg1, 8\n %12 = inttoptr i64 %11 to i64*\n %13 = load i64, i64* %12, align 8\n %14 = call i64 @FUNC(i64 %13)\n %15 = call i64 @FUNC(i64 %arg1, i64 0)\n %16 = call i64 @FUNC(i64 %arg1)\n store i64 %16, i64* %rax.0.reg2mem\n br label LBL_2\n LBL_2:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64 %arg1, { 0, 3, 2, 1, 4 }\n uselistorder label LBL_2, { 1, 0 }\n }",679        "label": "1"680    },681    {682        "dataset": "CompRealVul",683        "file": "ndpi_netbios_name_interpret_12350",684        "fun_name": "ndpi_netbios_name_interpret",685        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i64 %arg2, i64* %arg3, i64 %arg4) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %storemerge319.reg2mem = alloca i32\n %sv_0.0.reg2mem = alloca i32\n %sv_1.0.reg2mem = alloca i64\n %sv_2.0.in.reg2mem = alloca i64\n %sv_0.0.ph.reg2mem = alloca i32\n %sv_1.0.ph.reg2mem = alloca i64\n %sv_3.0.ph.reg2mem = alloca i32\n %sv_2.0.ph.in.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = trunc i64 %arg4 to i32\n %3 = trunc i64 %1 to i8\n %4 = lshr i8 %3, 7\n %5 = add i8 %4, %3\n %6 = ashr i8 %5, 1\n %7 = sext i8 %6 to i32\n %8 = add i32 %2, -1\n %9 = bitcast i64* %arg3 to i8*\n store i8 0, i8* %9, align 1\n %10 = icmp ult i32 %8, %7\n %11 = icmp eq i8 %6, 0\n %or.cond = or i1 %11, %10\n store i64 4294967295, i64* %storemerge.reg2mem\n br i1 %or.cond, label LBL_15, label LBL_1\n LBL_1:\n %12 = mul i32 %7, 2\n %13 = zext i32 %12 to i64\n %14 = icmp ugt i64 %13, %arg2\n %15 = icmp eq i1 %14, false\n store i64 4294967295, i64* %storemerge.reg2mem\n br i1 %15, label LBL_2, label LBL_15\n LBL_2:\n %16 = ptrtoint i64* %arg3 to i64\n %sext = mul i64 %arg2, 4294967296\n %17 = ashr exact i64 %sext, 32\n %18 = ptrtoint i32* %arg1 to i64\n %19 = add i64 %18, 1\n store i64 %19, i64* %sv_2.0.ph.in.reg2mem\n store i32 0, i32* %sv_3.0.ph.reg2mem\n store i64 %17, i64* %sv_1.0.ph.reg2mem\n store i32 %7, i32* %sv_0.0.ph.reg2mem\n br label LBL_9\n LBL_3:\n %sv_1.0.reload = load i64, i64* %sv_1.0.reg2mem\n %20 = trunc i64 %sv_1.0.reload to i32\n %21 = icmp ult i32 %20, 2\n br i1 %21, label LBL_6, label LBL_4\n LBL_4:\n %sv_2.0.in.reload = load i64, i64* %sv_2.0.in.reg2mem\n %sv_2.0 = inttoptr i64 %sv_2.0.in.reload to i8*\n %22 = load i8, i8* %sv_2.0, align 1\n %.off = add i8 %22, -65\n %23 = icmp ugt i8 %.off, 15\n br i1 %23, label LBL_6, label LBL_5\n LBL_5:\n %24 = add i64 %sv_2.0.in.reload, 1\n %25 = inttoptr i64 %24 to i8*\n %26 = load i8, i8* %25, align 1\n %.off9 = add i8 %26, -65\n %27 = icmp ult i8 %.off9, 16\n br i1 %27, label LBL_7, label LBL_6\n LBL_6:\n store i8 0, i8* %50, align 1\n br label LBL_11\n LBL_7:\n %28 = add i32 %sv_0.0.reload, -1\n %29 = mul i8 %22, 16\n %30 = add i8 %29, -81\n %31 = add i8 %30, %26\n store i8 %31, i8* %50, align 1\n %32 = add i64 %sv_2.0.in.reload, 2\n %33 = mul i64 %sv_1.0.reload, 4294967296\n %sext4 = add i64 %33, -8589934592\n %34 = ashr exact i64 %sext4, 32\n %35 = call i16** @__ctype_b_loc()\n %36 = load i16*, i16** %35, align 8\n %37 = ptrtoint i16* %36 to i64\n %38 = load i8, i8* %50, align 1\n %39 = sext i8 %38 to i64\n %40 = mul i64 %39, 2\n %41 = add i64 %40, %37\n %42 = inttoptr i64 %41 to i16*\n %43 = load i16, i16* %42, align 2\n %44 = and i16 %43, 16384\n %45 = icmp eq i16 %44, 0\n store i64 %32, i64* %sv_2.0.in.reg2mem\n store i64 %34, i64* %sv_1.0.reg2mem\n store i32 %28, i32* %sv_0.0.reg2mem\n br i1 %45, label LBL_10, label LBL_8\n LBL_8:\n %46 = add i32 %sv_3.0.ph.reload, 1\n store i64 %32, i64* %sv_2.0.ph.in.reg2mem\n store i32 %46, i32* %sv_3.0.ph.reg2mem\n store i64 %34, i64* %sv_1.0.ph.reg2mem\n store i32 %28, i32* %sv_0.0.ph.reg2mem\n br label LBL_9\n LBL_9:\n %sv_0.0.ph.reload = load i32, i32* %sv_0.0.ph.reg2mem\n %sv_1.0.ph.reload = load i64, i64* %sv_1.0.ph.reg2mem\n %sv_3.0.ph.reload = load i32, i32* %sv_3.0.ph.reg2mem\n %sv_2.0.ph.in.reload = load i64, i64* %sv_2.0.ph.in.reg2mem\n %47 = icmp ult i32 %sv_3.0.ph.reload, %8\n %48 = zext i32 %sv_3.0.ph.reload to i64\n %49 = add i64 %48, %16\n %50 = inttoptr i64 %49 to i8*\n store i64 %sv_2.0.ph.in.reload, i64* %sv_2.0.in.reg2mem\n store i64 %sv_1.0.ph.reload, i64* %sv_1.0.reg2mem\n store i32 %sv_0.0.ph.reload, i32* %sv_0.0.reg2mem\n br label LBL_10\n LBL_10:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %51 = icmp ne i32 %sv_0.0.reload, 0\n %or.cond8 = icmp eq i1 %47, %51\n br i1 %or.cond8, label LBL_3, label LBL_11\n LBL_11:\n %52 = icmp eq i32 %sv_3.0.ph.reload, 0\n store i64 0, i64* %storemerge.reg2mem\n br i1 %52, label LBL_15, label LBL_12\n LBL_12:\n store i8 0, i8* %50, align 1\n %storemerge318 = add i32 %sv_3.0.ph.reload, -1\n %53 = icmp eq i32 %storemerge318, 0\n store i32 %storemerge318, i32* %storemerge319.reg2mem\n store i64 1, i64* %storemerge.reg2mem\n br i1 %53, label LBL_15, label LBL_14\n LBL_13:\n store i8 0, i8* %57, align 1\n %storemerge3 = add i32 %storemerge319.reload, -1\n %54 = icmp eq i32 %storemerge3, 0\n store i32 %storemerge3, i32* %storemerge319.reg2mem\n store i64 %48, i64* %storemerge.reg2mem\n br i1 %54, label LBL_15, label LBL_14\n LBL_14:\n %storemerge319.reload = load i32, i32* %storemerge319.reg2mem\n %55 = zext i32 %storemerge319.reload to i64\n %56 = add i64 %55, %16\n %57 = inttoptr i64 %56 to i8*\n %58 = load i8, i8* %57, align 1\n %59 = icmp eq i8 %58, 32\n store i64 %48, i64* %storemerge.reg2mem\n br i1 %59, label LBL_13, label LBL_15\n LBL_15:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i8* %57, { 1, 0 }\n uselistorder i8* %50, { 0, 1, 3, 2 }\n uselistorder i32 %sv_3.0.ph.reload, { 3, 4, 1, 2, 0 }\n uselistorder i64 %34, { 1, 0 }\n uselistorder i64 %32, { 1, 0 }\n uselistorder i32 %28, { 1, 0 }\n uselistorder i64 %sv_2.0.in.reload, { 2, 1, 0 }\n uselistorder i64 %sv_1.0.reload, { 1, 0 }\n uselistorder i64* %sv_2.0.in.reg2mem, { 1, 2, 0 }\n uselistorder i64* %sv_1.0.reg2mem, { 1, 2, 0 }\n uselistorder i32* %storemerge319.reg2mem, { 0, 2, 1 }\n uselistorder i64* %storemerge.reg2mem, { 0, 1, 2, 4, 3, 5, 6 }\n uselistorder i32 0, { 2, 1, 3, 4, 0 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i8 0, { 1, 3, 2, 0, 4 }\n uselistorder i32 -1, { 1, 0, 2, 3 }\n uselistorder i64* %arg3, { 1, 0 }\n uselistorder label LBL_15, { 0, 1, 3, 2, 4, 5 }\n uselistorder label LBL_14, { 1, 0 }\n uselistorder label LBL_9, { 1, 0 }\n }",686        "label": "1"687    },688    {689        "dataset": "CompRealVul",690        "file": "netlink_walk_start_9265",691        "fun_name": "netlink_walk_start",692        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i32* %arg1 to i64\n %3 = add i64 %2, 4\n %sext = mul i64 %1, 4294967296\n %4 = ashr exact i64 %sext, 29\n %5 = add i64 %4, ptrtoint (i64* @gv_0 to i64)\n %6 = call i64 @FUNC(i64 %5, i64 %3, i64 0)\n %7 = trunc i64 %6 to i32\n %8 = icmp eq i32 %7, 0\n br i1 %8, label LBL_2, label LBL_1\n LBL_1:\n store i32 10, i32* %arg1, align 4\n %9 = and i64 %6, 4294967295\n ret i64 %9\n LBL_2:\n %10 = call i64 @FUNC(i64 %3)\n %11 = trunc i64 %10 to i32\n %12 = icmp eq i32 %11, -11\n %13 = and i64 %10, 4294967295\n %spec.select = select i1 %12, i64 0, i64 %13\n ret i64 %spec.select\n }",693        "label": "0"694    },695    {696        "dataset": "CompRealVul",697        "file": "mxf_read_track_3165",698        "fun_name": "mxf_read_track",699        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i32 %arg3, i32 %arg4) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = icmp eq i32 %arg3, 19201\n br i1 %2, label LBL_7, label LBL_1\n LBL_1:\n %3 = icmp sgt i32 %arg3, 19201\n br i1 %3, label LBL_9, label LBL_2\n LBL_2:\n %4 = icmp eq i32 %arg3, 18436\n br i1 %4, label LBL_6, label LBL_3\n LBL_3:\n %5 = icmp sgt i32 %arg3, 18436\n br i1 %5, label LBL_9, label LBL_4\n LBL_4:\n switch i32 %arg3, label LBL_9 [\n i32 18433, label LBL_5\n i32 18435, label LBL_8\n ]\n LBL_5:\n %6 = call i64 @FUNC(i64 %0)\n %7 = trunc i64 %6 to i32\n %8 = bitcast i64* %arg1 to i32*\n store i32 %7, i32* %8, align 4\n br label LBL_9\n LBL_6:\n %9 = add i64 %1, 4\n %10 = inttoptr i64 %9 to i32*\n %11 = load i32, i32* %10, align 4\n %12 = zext i32 %11 to i64\n %13 = call i64 @FUNC(i64 %0, i64 %12, i64 4)\n br label LBL_9\n LBL_7:\n %14 = call i64 @FUNC(i64 %0)\n %15 = trunc i64 %14 to i32\n %16 = add i64 %1, 12\n %17 = inttoptr i64 %16 to i32*\n store i32 %15, i32* %17, align 4\n %18 = call i64 @FUNC(i64 %0)\n %19 = trunc i64 %18 to i32\n %20 = add i64 %1, 8\n %21 = inttoptr i64 %20 to i32*\n store i32 %19, i32* %21, align 4\n br label LBL_9\n LBL_8:\n %22 = add i64 %1, 16\n %23 = call i64 @FUNC(i64 %0, i64 %22, i64 16)\n br label LBL_9\n LBL_9:\n ret i64 0\n\n uselistorder i64 %1, { 2, 0, 1, 3 }\n uselistorder i64 %0, { 0, 3, 4, 2, 1 }\n uselistorder i64 (i64, i64, i64)* @get_buffer, { 1, 0 }\n uselistorder i64 (i64)* @get_be32, { 2, 1, 0 }\n uselistorder i32 18436, { 1, 0 }\n uselistorder i32 19201, { 1, 0 }\n uselistorder i32 %arg3, { 0, 3, 2, 1, 4 }\n uselistorder label LBL_9, { 1, 2, 3, 4, 0, 5, 6 }\n }",700        "label": "0"701    },702    {703        "dataset": "CompRealVul",704        "file": "zmalloc_no_tcache_13273",705        "fun_name": "zmalloc_no_tcache",706        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = add i64 %arg1, 16\n %1 = call i64 @FUNC(i64 %0, i64 0)\n %2 = icmp eq i64 %1, 0\n %3 = icmp eq i1 %2, false\n br i1 %3, label LBL_2, label LBL_1\n LBL_1:\n %4 = call i64 @FUNC(i64 %arg1)\n unreachable\n LBL_2:\n %5 = call i64 @FUNC(i64 %1)\n %6 = call i64 @FUNC(i64 %5)\n ret i64 %1\n\n uselistorder i64 %1, { 1, 0, 2 }\n }",707        "label": "1"708    },709    {710        "dataset": "CompRealVul",711        "file": "vring_notify_10541",712        "fun_name": "vring_notify",713        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.shrunk.reg2mem = alloca i1\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = ptrtoint i64* %arg2 to i64\n %4 = call i64 @FUNC()\n %5 = trunc i64 %1 to i32\n %6 = urem i32 %5, 2\n %7 = icmp eq i32 %6, 0\n br i1 %7, label LBL_3, label LBL_1\n LBL_1:\n %8 = trunc i64 %2 to i16\n %9 = icmp eq i16 %8, 0\n %10 = icmp eq i1 %9, false\n br i1 %10, label LBL_3, label LBL_2\n LBL_2:\n %11 = call i64 @FUNC(i64 %3)\n %12 = add i64 %3, 2\n %13 = inttoptr i64 %12 to i16*\n %14 = load i16, i16* %13, align 2\n %15 = trunc i64 %11 to i16\n %16 = icmp eq i16 %14, %15\n %17 = icmp eq i1 %16, false\n store i1 true, i1* %rax.0.shrunk.reg2mem\n br i1 %17, label LBL_3, label LBL_7\n LBL_3:\n %18 = and i32 %5, 2\n %19 = icmp eq i32 %18, 0\n %20 = icmp eq i1 %19, false\n br i1 %20, label LBL_5, label LBL_4\n LBL_4:\n %21 = call i64 @FUNC(i64 %3)\n %22 = urem i64 %21, 2\n %23 = icmp eq i64 %22, 0\n store i1 %23, i1* %rax.0.shrunk.reg2mem\n br label LBL_7\n LBL_5:\n %24 = add i64 %3, 4\n %25 = inttoptr i64 %24 to i8*\n %26 = load i8, i8* %25, align 1\n store i8 1, i8* %25, align 1\n %27 = add i64 %3, 6\n %28 = inttoptr i64 %27 to i16*\n %29 = load i16, i16* %28, align 2\n %30 = call i64 @FUNC(i64 %3)\n %31 = trunc i64 %30 to i16\n store i16 %31, i16* %28, align 2\n %32 = icmp eq i8 %26, 1\n %33 = icmp eq i1 %32, false\n store i1 true, i1* %rax.0.shrunk.reg2mem\n br i1 %33, label LBL_7, label LBL_6\n LBL_6:\n %34 = call i64 @FUNC(i64 %3)\n %35 = zext i16 %29 to i64\n %36 = urem i64 %30, 65536\n %37 = urem i64 %34, 65536\n %38 = call i64 @FUNC(i64 %37, i64 %36, i64 %35)\n %39 = trunc i64 %38 to i8\n %40 = icmp ne i8 %39, 0\n store i1 %40, i1* %rax.0.shrunk.reg2mem\n br label LBL_7\n LBL_7:\n %rax.0.shrunk.reload = load i1, i1* %rax.0.shrunk.reg2mem\n %rax.0 = zext i1 %rax.0.shrunk.reload to i64\n ret i64 %rax.0\n\n uselistorder i32 %5, { 1, 0 }\n uselistorder i64 %3, { 2, 4, 3, 5, 6, 1, 0 }\n uselistorder i1* %rax.0.shrunk.reg2mem, { 0, 1, 2, 4, 3 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i32 2, { 1, 0 }\n uselistorder label LBL_7, { 1, 0, 3, 2 }\n }",714        "label": "0"715    },716    {717        "dataset": "CompRealVul",718        "file": "init_713",719        "fun_name": "init",720        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i64*\n store i64 %0, i64* %2, align 8\n %3 = bitcast i64* %arg1 to i32*\n store i32 1, i32* %3, align 4\n ret i64 0\n }",721        "label": "0"722    },723    {724        "dataset": "CompRealVul",725        "file": "AppLayerProtoDetectDestroyCtxThread_10936",726        "fun_name": "AppLayerProtoDetectDestroyCtxThread",727        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC()\n %1 = add i64 %arg1, 40\n %2 = call i64 @FUNC(i64 %1)\n %3 = add i64 %arg1, 32\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n %6 = icmp eq i64 %5, 0\n br i1 %6, label LBL_2, label LBL_1\n LBL_1:\n %7 = call i64 @FUNC(i64 %5)\n br label LBL_2\n LBL_2:\n %8 = call i64 @FUNC(i64 %arg1)\n ret i64 %8\n\n uselistorder i64 %arg1, { 0, 2, 1 }\n }",728        "label": "0"729    },730    {731        "dataset": "CompRealVul",732        "file": "ks8695_poll_4621",733        "fun_name": "ks8695_poll",734        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = load i64, i64* %0\n %sext = mul i64 %arg2, 4294967296\n %3 = and i64 %arg2, 4294967295\n %4 = call i64 @FUNC(i64 4100)\n %5 = call i64 @FUNC(i64 %1)\n %6 = call i64 @FUNC(i64 %1, i64 %3)\n %7 = ashr exact i64 %sext, 32\n %8 = icmp ult i64 %6, %7\n %9 = icmp eq i1 %8, false\n br i1 %9, label LBL_2, label LBL_1\n LBL_1:\n %10 = trunc i64 %5 to i32\n %11 = urem i32 %10, 32\n %12 = shl i32 1, %11\n %storemerge = sext i32 %12 to i64\n %13 = call i64 @FUNC(i64 %1, i64 %2)\n %14 = call i64 @FUNC(i64 %1)\n %15 = or i64 %4, %storemerge\n %16 = call i64 @FUNC(i64 %15, i64 4100)\n %17 = call i64 @FUNC(i64 %1, i64 %2)\n br label LBL_2\n LBL_2:\n ret i64 %6\n\n uselistorder i64 %arg2, { 1, 0 }\n }",735        "label": "0"736    },737    {738        "dataset": "CompRealVul",739        "file": "uc32_cpu_get_phys_page_debug_2855",740        "fun_name": "uc32_cpu_get_phys_page_debug",741        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @gv_0, i64 0, i64 0))\n ret i64 4294967295\n }",742        "label": "0"743    },744    {745        "dataset": "CompRealVul",746        "file": "vc9_decode_init_14720",747        "fun_name": "vc9_decode_init",748        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %rdi = alloca i64, align 8\n %3 = ptrtoint i32* %arg1 to i64\n %sv_0 = alloca i64, align 8\n %4 = add i64 %3, 48\n %5 = inttoptr i64 %4 to i64*\n %6 = load i64, i64* %5, align 8\n %7 = add i64 %3, 8\n %8 = inttoptr i64 %7 to i32*\n %9 = load i32, i32* %8, align 4\n %10 = icmp eq i32 %9, 0\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %10, label LBL_17, label LBL_1\n LBL_1:\n %11 = add i64 %3, 16\n %12 = inttoptr i64 %11 to i64*\n %13 = load i64, i64* %12, align 8\n %14 = icmp eq i64 %13, 0\n %15 = icmp eq i1 %14, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %15, label LBL_2, label LBL_17\n LBL_2:\n %16 = add i64 %3, 24\n %17 = inttoptr i64 %16 to i32*\n store i32 0, i32* %17, align 4\n %18 = inttoptr i64 %6 to i64*\n store i64 %3, i64* %18, align 8\n %19 = call i64 @FUNC(i64 %3)\n %20 = trunc i64 %19 to i32\n %21 = icmp slt i32 %20, 0\n %22 = icmp eq i1 %21, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %22, label LBL_3, label LBL_17\n LBL_3:\n %23 = call i64 @FUNC(i64 %6)\n %24 = trunc i64 %23 to i32\n %25 = icmp slt i32 %24, 0\n %26 = icmp eq i1 %25, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %26, label LBL_4, label LBL_17\n LBL_4:\n %27 = bitcast i64* %rdi to i32*\n %28 = load i32, i32* %27, align 8\n %29 = add i64 %3, 28\n %30 = inttoptr i64 %29 to i32*\n store i32 %28, i32* %30, align 4\n %31 = add i64 %3, 4\n %32 = inttoptr i64 %31 to i32*\n %33 = load i32, i32* %32, align 4\n %34 = add i64 %3, 32\n %35 = inttoptr i64 %34 to i32*\n store i32 %33, i32* %35, align 4\n %36 = add i64 %3, 56\n %37 = inttoptr i64 %36 to i32*\n %38 = load i32, i32* %37, align 4\n %39 = icmp eq i32 %38, 1\n %40 = icmp eq i1 %39, false\n br i1 %40, label LBL_8, label LBL_5\n LBL_5:\n %41 = load i32, i32* %8, align 4\n %42 = load i64, i64* %12, align 8\n %43 = call i64 @FUNC(i64* nonnull %sv_0, i64 %42, i32 %41)\n %44 = call i64 @FUNC(i64 %3, i64* nonnull %sv_0)\n %45 = load i32, i32* %8, align 4\n %46 = mul i32 %45, 8\n %47 = call i64 @FUNC(i64* nonnull %sv_0)\n %48 = trunc i64 %47 to i32\n %49 = sub i32 %46, %48\n %50 = icmp slt i32 %49, 1\n br i1 %50, label LBL_7, label LBL_6\n LBL_6:\n %51 = zext i32 %49 to i64\n %52 = call i64 @FUNC(i64* nonnull %sv_0, i64 %51)\n %53 = and i64 %52, 4294967295\n %54 = call i64 @FUNC(i64 %3, i64 1, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @gv_0, i64 0, i64 0), i64 %51, i64 %53, i64 %1)\n br label LBL_8\n LBL_7:\n %55 = sub i32 0, %49\n %56 = zext i32 %55 to i64\n %57 = call i64 @FUNC(i64 %3, i64 1, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @gv_1, i64 0, i64 0), i64 %56, i64 %2, i64 %1)\n br label LBL_8\n LBL_8:\n %58 = add i64 %3, 36\n %59 = inttoptr i64 %58 to i32*\n %60 = load i32, i32* %59, align 4\n %61 = icmp eq i32 %60, 0\n %62 = icmp eq i1 %61, false\n %63 = zext i1 %62 to i32\n %64 = add i64 %3, 40\n %65 = inttoptr i64 %64 to i32*\n store i32 %63, i32* %65, align 4\n %66 = load i32, i32* %30, align 4\n %67 = add i32 %66, 15\n %68 = ashr i32 %67, 4\n %69 = add i64 %6, 8\n %70 = inttoptr i64 %69 to i32*\n store i32 %68, i32* %70, align 4\n %71 = load i32, i32* %35, align 4\n %72 = add i32 %71, 15\n %73 = ashr i32 %72, 4\n %74 = add i64 %6, 12\n %75 = inttoptr i64 %74 to i32*\n store i32 %73, i32* %75, align 4\n %76 = load i32, i32* %70, align 4\n %77 = add i64 %6, 40\n %78 = zext i32 %76 to i64\n %79 = call i64 @FUNC(i64 %77, i64 %78, i32 %73)\n %80 = trunc i64 %79 to i32\n %81 = icmp slt i32 %80, 0\n %82 = icmp eq i1 %81, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %82, label LBL_9, label LBL_17\n LBL_9:\n %83 = load i32, i32* %75, align 4\n %84 = load i32, i32* %70, align 4\n %85 = zext i32 %84 to i64\n %86 = call i64 @FUNC(i64 %77, i64 %85, i32 %83)\n %87 = trunc i64 %86 to i32\n %88 = icmp slt i32 %87, 0\n %89 = icmp eq i1 %88, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %89, label LBL_10, label LBL_17\n LBL_10:\n %90 = load i32, i32* %75, align 4\n %91 = load i32, i32* %70, align 4\n %92 = add i64 %6, 48\n %93 = zext i32 %91 to i64\n %94 = call i64 @FUNC(i64 %92, i64 %93, i32 %90)\n %95 = trunc i64 %94 to i32\n %96 = icmp slt i32 %95, 0\n %97 = icmp eq i1 %96, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %97, label LBL_11, label LBL_17\n LBL_11:\n %98 = load i32, i32* %75, align 4\n %99 = load i32, i32* %70, align 4\n %100 = add i64 %6, 56\n %101 = zext i32 %99 to i64\n %102 = call i64 @FUNC(i64 %100, i64 %101, i32 %98)\n %103 = trunc i64 %102 to i32\n %104 = icmp slt i32 %103, 0\n %105 = icmp eq i1 %104, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %105, label LBL_12, label LBL_17\n LBL_12:\n %106 = add i64 %6, 16\n %107 = inttoptr i64 %106 to i32*\n %108 = load i32, i32* %107, align 4\n %109 = mul i32 %108, 4\n %110 = sext i32 %109 to i64\n %111 = call i64 @FUNC(i64 %110)\n %112 = add i64 %6, 24\n %113 = inttoptr i64 %112 to i64*\n store i64 %111, i64* %113, align 8\n %114 = icmp eq i64 %111, 0\n %115 = icmp eq i1 %114, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %115, label LBL_13, label LBL_17\n LBL_13:\n %116 = add i64 %6, 32\n %117 = inttoptr i64 %116 to i32*\n %118 = load i32, i32* %117, align 4\n %119 = icmp slt i32 %118, 1\n br i1 %119, label LBL_16, label LBL_14\n LBL_14:\n %120 = load i32, i32* %75, align 4\n %121 = load i32, i32* %70, align 4\n %122 = add i64 %6, 64\n %123 = zext i32 %121 to i64\n %124 = call i64 @FUNC(i64 %122, i64 %123, i32 %120)\n %125 = trunc i64 %124 to i32\n %126 = icmp slt i32 %125, 0\n %127 = icmp eq i1 %126, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %127, label LBL_15, label LBL_17\n LBL_15:\n %128 = load i32, i32* %75, align 4\n %129 = load i32, i32* %70, align 4\n %130 = add i64 %6, 72\n %131 = zext i32 %129 to i64\n %132 = call i64 @FUNC(i64 %130, i64 %131, i32 %128)\n %133 = trunc i64 %132 to i32\n %134 = icmp slt i32 %133, 0\n %135 = icmp eq i1 %134, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %135, label LBL_16, label LBL_17\n LBL_16:\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_17\n LBL_17:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %6, { 0, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11 }\n uselistorder i64 %3, { 4, 3, 1, 0, 2, 5, 7, 6, 8, 9, 10, 12, 11, 13, 14 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 10 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i64 (i64, i64, i32)* @alloc_bitplane, { 5, 4, 3, 2, 1, 0 }\n uselistorder i64 (i64, i64, i8*, i64, i64, i64)* @av_log, { 1, 0 }\n uselistorder i32 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 13 }\n uselistorder label LBL_17, { 11, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 9 }\n }",749        "label": "1"750    },751    {752        "dataset": "CompRealVul",753        "file": "anetListen_6783",754        "fun_name": "anetListen",755        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i32 %arg2, i64* %arg3, i32 %arg4, i64 %arg5, i64 %arg6) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg3 to i64\n %3 = ptrtoint i64* %arg1 to i64\n %4 = bitcast i64* %arg3 to %sockaddr*\n %5 = call i32 @bind(i32 %arg2, %sockaddr* %4, i32 %arg4)\n %6 = icmp eq i32 %5, -1\n %7 = icmp eq i1 %6, false\n br i1 %7, label LBL_2, label LBL_1\n LBL_1:\n %8 = call i32* @__errno_location()\n %9 = load i32, i32* %8, align 4\n %10 = call i8* @strerror(i32 %9)\n %11 = ptrtoint i8* %10 to i64\n %12 = call i64 @FUNC(i64 %3, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @gv_0, i64 0, i64 0), i64 %11, i64 %2, i64 %arg5, i64 %arg6)\n %13 = call i32 @close(i32 %arg2)\n store i64 4294967295, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_2:\n %14 = trunc i64 %1 to i16\n %15 = icmp eq i16 %14, 1\n %16 = icmp eq i1 %15, false\n br i1 %16, label LBL_5, label LBL_3\n LBL_3:\n %17 = trunc i64 %arg6 to i32\n %18 = icmp eq i32 %17, 0\n br i1 %18, label LBL_5, label LBL_4\n LBL_4:\n %19 = add i64 %2, 2\n %20 = inttoptr i64 %19 to i8*\n %21 = call i32 @chmod(i8* %20, i32 %17)\n br label LBL_5\n LBL_5:\n %22 = trunc i64 %arg5 to i32\n %23 = call i32 @listen(i32 %arg2, i32 %22)\n %24 = icmp eq i32 %23, -1\n %25 = icmp eq i1 %24, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %25, label LBL_7, label LBL_6\n LBL_6:\n %26 = call i32* @__errno_location()\n %27 = load i32, i32* %26, align 4\n %28 = call i8* @strerror(i32 %27)\n %29 = ptrtoint i8* %28 to i64\n %30 = call i64 @FUNC(i64 %3, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @gv_1, i64 0, i64 0), i64 %29, i64 %2, i64 %arg5, i64 %arg6)\n %31 = call i32 @close(i32 %arg2)\n store i64 4294967295, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_7:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %3, { 1, 0 }\n uselistorder i64 %2, { 2, 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i64 4294967295, { 1, 0 }\n uselistorder i32 (i32)* @close, { 1, 0 }\n uselistorder i64 (i64, i8*, i64, i64, i64, i64)* @anetSetError, { 1, 0 }\n uselistorder i8* (i32)* @strerror, { 1, 0 }\n uselistorder i64 %arg6, { 2, 0, 1 }\n uselistorder i64 %arg5, { 2, 0, 1 }\n uselistorder i32 %arg2, { 1, 2, 0, 3 }\n uselistorder label LBL_7, { 1, 0, 2 }\n }",756        "label": "0"757    },758    {759        "dataset": "CompRealVul",760        "file": "rgb2hsb_10408",761        "fun_name": "rgb2hsb",762        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i128\n %.reg2mem = alloca i32\n %xmm0.27.reg2mem = alloca i128\n %indvars.iv.reg2mem = alloca i64\n %xmm0.1.reg2mem = alloca i128\n %storemerge2.reg2mem = alloca i128\n %sv_0.0.reg2mem = alloca i32\n %sv_1.0.reg2mem = alloca i32\n %sv_2.0.reg2mem = alloca i32\n %sv_2.19.reg2mem = alloca i32\n %sv_0.110.reg2mem = alloca i32\n %sv_1.111.reg2mem = alloca i32\n %indvars.iv17.reg2mem = alloca i64\n %xmm0.014.reg2mem = alloca i128\n %indvars.iv20.reg2mem = alloca i64\n %rdi = alloca i64, align 8\n %1 = load i128, i128* %0\n %sv_3 = alloca i64, align 8\n %2 = ptrtoint i64* %sv_3 to i64\n %3 = call i128 @FUNC(i32 1065353216)\n %4 = call i64 @__asm_movss.1(i128 %3)\n %5 = add i64 %2, -28\n store i64 0, i64* %indvars.iv20.reg2mem\n store i128 %3, i128* %xmm0.014.reg2mem\n br label LBL_1\n LBL_1:\n %xmm0.014.reload = load i128, i128* %xmm0.014.reg2mem\n %indvars.iv20.reload = load i64, i64* %indvars.iv20.reg2mem\n %6 = call i128 @FUNC(i128 %xmm0.014.reload, i128 %xmm0.014.reload)\n %7 = call i64 @__asm_movss.1(i128 %6)\n %8 = mul i64 %indvars.iv20.reload, 4\n %9 = add i64 %8, %5\n %10 = trunc i64 %7 to i32\n %11 = inttoptr i64 %9 to i32*\n store i32 %10, i32* %11, align 4\n %indvars.iv.next21 = add nuw nsw i64 %indvars.iv20.reload, 1\n %exitcond22 = icmp eq i64 %indvars.iv.next21, 3\n store i64 %indvars.iv.next21, i64* %indvars.iv20.reg2mem\n store i128 %6, i128* %xmm0.014.reg2mem\n br i1 %exitcond22, label LBL_2, label LBL_1\n LBL_2:\n %12 = trunc i64 %4 to i32\n %13 = ptrtoint i32* %arg1 to i64\n store i64 0, i64* %indvars.iv17.reg2mem\n store i32 %12, i32* %sv_0.110.reg2mem\n store i32 0, i32* %sv_2.19.reg2mem\n br label LBL_3\n LBL_3:\n %sv_2.19.reload = load i32, i32* %sv_2.19.reg2mem\n %sv_0.110.reload = load i32, i32* %sv_0.110.reg2mem\n %sv_1.111.reload = load i32, i32* %sv_1.111.reg2mem\n %indvars.iv17.reload = load i64, i64* %indvars.iv17.reg2mem\n %14 = mul i64 %indvars.iv17.reload, 4\n %15 = add i64 %14, %13\n %16 = icmp ult i64 %15, %13\n %17 = icmp eq i64 %15, 0\n %18 = inttoptr i64 %15 to i32*\n %19 = load i32, i32* %18, align 4\n %20 = call i128 @FUNC(i32 %19)\n %21 = call i128 @FUNC(i32 %sv_1.111.reload)\n call void @FUNC(i128 %20, i128 %21)\n %22 = or i1 %16, %17\n store i32 %sv_2.19.reload, i32* %sv_2.0.reg2mem\n store i32 %sv_1.111.reload, i32* %sv_1.0.reg2mem\n br i1 %22, label LBL_5, label LBL_4\n LBL_4:\n %23 = load i32, i32* %18, align 4\n %24 = call i128 @FUNC(i32 %23)\n %25 = call i64 @__asm_movss.1(i128 %24)\n %26 = trunc i64 %25 to i32\n %27 = trunc i64 %indvars.iv17.reload to i32\n store i32 %27, i32* %sv_2.0.reg2mem\n store i32 %26, i32* %sv_1.0.reg2mem\n br label LBL_5\n LBL_5:\n %sv_1.0.reload = load i32, i32* %sv_1.0.reg2mem\n %sv_2.0.reload = load i32, i32* %sv_2.0.reg2mem\n %28 = load i32, i32* %18, align 4\n %29 = call i128 @FUNC(i32 %28)\n %30 = call i128 @FUNC(i32 %sv_0.110.reload)\n call void @FUNC(i128 %30, i128 %29)\n store i32 %sv_0.110.reload, i32* %sv_0.0.reg2mem\n br i1 %22, label LBL_7, label LBL_6\n LBL_6:\n %31 = load i32, i32* %18, align 4\n %32 = call i128 @FUNC(i32 %31)\n %33 = call i64 @__asm_movss.1(i128 %32)\n %34 = trunc i64 %33 to i32\n store i32 %34, i32* %sv_0.0.reg2mem\n br label LBL_7\n LBL_7:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %indvars.iv.next18 = add nuw nsw i64 %indvars.iv17.reload, 1\n %exitcond19 = icmp eq i64 %indvars.iv.next18, 3\n store i64 %indvars.iv.next18, i64* %indvars.iv17.reg2mem\n store i32 %sv_1.0.reload, i32* %sv_1.111.reg2mem\n store i32 %sv_0.0.reload, i32* %sv_0.110.reg2mem\n store i32 %sv_2.0.reload, i32* %sv_2.19.reg2mem\n br i1 %exitcond19, label LBL_8, label LBL_3\n LBL_8:\n %35 = call i128 @FUNC(i32 %sv_1.0.reload)\n %36 = call i128 @FUNC(i128 %29, i128 %29)\n call void @FUNC(i128 %35, i128 %36)\n %37 = call i128 @FUNC(i128 %36, i128 %36)\n call void @FUNC(i128 %35, i128 %37)\n %38 = call i128 @FUNC(i32 %sv_1.0.reload)\n %39 = call i128 @FUNC(i128 %38, i32 %sv_0.0.reload)\n %40 = call i64 @__asm_movss.1(i128 %39)\n %41 = trunc i64 %40 to i32\n %42 = call i128 @FUNC(i32 %sv_1.0.reload)\n %43 = call i128 @FUNC(i32 %41)\n %44 = call i128 @FUNC(i128 %43, i128 %42)\n %45 = call i64 @__asm_movss.1(i128 %44)\n %46 = icmp eq i32 %sv_2.0.reload, 2\n br i1 %46, label LBL_16, label LBL_9\n LBL_9:\n %47 = icmp sgt i32 %sv_2.0.reload, 2\n store i128 %44, i128* %xmm0.1.reg2mem\n br i1 %47, label LBL_17, label LBL_10\n LBL_10:\n store i128 %44, i128* %xmm0.1.reg2mem\n switch i32 %sv_2.0.reload, label LBL_17 [\n i32 0, label LBL_11\n i32 1, label LBL_15\n ]\n LBL_11:\n %48 = call i128 @FUNC(i128 %44, i128 %44)\n call void @__asm_ucomiss.2(i128 %48, i32 %41)\n %49 = add i64 %13, 4\n %50 = inttoptr i64 %49 to i32*\n %51 = load i32, i32* %50, align 4\n %52 = call i128 @FUNC(i32 %51)\n %53 = add i64 %13, 8\n %54 = inttoptr i64 %53 to i32*\n %55 = load i32, i32* %54, align 4\n %56 = call i128 @FUNC(i32 %55)\n %57 = call i128 @__asm_subss.3(i128 %52, i128 %56)\n %58 = call i128 @FUNC(i128 %57)\n %59 = call i128 @FUNC(i128 %1, i128 %1)\n %60 = call i128 @__asm_cvtss2sd.4(i32 %41)\n %61 = call i128 @FUNC(i64 4618441417868443648)\n %62 = call i128 @FUNC(i128 %60, i128 %61)\n %63 = call i128 @FUNC(i128 %58)\n %64 = call i128 @FUNC(i128 %63, i128 %62)\n %65 = load i32, i32* %54, align 4\n %66 = call i128 @FUNC(i32 %65)\n %67 = icmp ugt i32* %arg1, inttoptr (i64 -5 to i32*)\n %68 = icmp eq i64 %49, 0\n %69 = load i32, i32* %50, align 4\n %70 = call i128 @FUNC(i32 %69)\n call void @FUNC(i128 %66, i128 %70)\n %71 = or i1 %67, %68\n br i1 %71, label LBL_13, label LBL_12\n LBL_12:\n %72 = call i128 @FUNC(i64 4607182418800017408)\n store i128 %72, i128* %storemerge2.reg2mem\n br label LBL_14\n LBL_13:\n %73 = call i128 @FUNC(i128 %66, i128 %66)\n store i128 %73, i128* %storemerge2.reg2mem\n br label LBL_14\n LBL_14:\n %storemerge2.reload = load i128, i128* %storemerge2.reg2mem\n %74 = call i128 @FUNC(i128 %storemerge2.reload, i128 %64)\n %75 = call i128 @FUNC(i128 %74)\n %76 = call i64 @__asm_movss.1(i128 %75)\n store i128 %75, i128* %xmm0.1.reg2mem\n br label LBL_17\n LBL_15:\n %77 = add i64 %13, 8\n %78 = inttoptr i64 %77 to i32*\n %79 = load i32, i32* %78, align 4\n %80 = call i128 @FUNC(i32 %79)\n %81 = bitcast i64* %rdi to i32*\n %82 = load i32, i32* %81, align 8\n %83 = call i128 @FUNC(i32 %82)\n %84 = call i128 @__asm_subss.3(i128 %80, i128 %83)\n %85 = call i128 @FUNC(i128 %84)\n %86 = call i128 @FUNC(i128 %1, i128 %1)\n %87 = call i128 @__asm_cvtss2sd.4(i32 %41)\n %88 = call i128 @FUNC(i64 4618441417868443648)\n %89 = call i128 @FUNC(i128 %87, i128 %88)\n %90 = call i128 @FUNC(i128 %85)\n %91 = call i128 @FUNC(i128 %90, i128 %89)\n %92 = call i128 @FUNC(i64 4599676419421066581)\n %93 = call i128 @FUNC(i128 %92, i128 %91)\n %94 = call i128 @FUNC(i128 %93)\n %95 = call i64 @__asm_movss.1(i128 %94)\n store i128 %94, i128* %xmm0.1.reg2mem\n br label LBL_17\n LBL_16:\n %96 = bitcast i64* %rdi to i32*\n %97 = load i32, i32* %96, align 8\n %98 = call i128 @FUNC(i32 %97)\n %99 = add i64 %13, 4\n %100 = inttoptr i64 %99 to i32*\n %101 = load i32, i32* %100, align 4\n %102 = call i128 @FUNC(i32 %101)\n %103 = call i128 @__asm_subss.3(i128 %98, i128 %102)\n %104 = call i128 @FUNC(i128 %103)\n %105 = call i128 @FUNC(i128 %1, i128 %1)\n %106 = call i128 @__asm_cvtss2sd.4(i32 %41)\n %107 = call i128 @FUNC(i64 4618441417868443648)\n %108 = call i128 @FUNC(i128 %106, i128 %107)\n %109 = call i128 @FUNC(i128 %104)\n %110 = call i128 @FUNC(i128 %109, i128 %108)\n %111 = call i128 @FUNC(i64 4604180019048437077)\n %112 = call i128 @FUNC(i128 %111, i128 %110)\n %113 = call i128 @FUNC(i128 %112)\n %114 = call i64 @__asm_movss.1(i128 %113)\n store i128 %113, i128* %xmm0.1.reg2mem\n br label LBL_17\n LBL_17:\n %xmm0.1.reload = load i128, i128* %xmm0.1.reg2mem\n store i64 0, i64* %indvars.iv.reg2mem\n store i128 %xmm0.1.reload, i128* %xmm0.27.reg2mem\n br label LBL_18\n LBL_18:\n %xmm0.27.reload = load i128, i128* %xmm0.27.reg2mem\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %115 = mul i64 %indvars.iv.reload, 4\n %116 = add i64 %115, %5\n %117 = inttoptr i64 %116 to i32*\n %118 = load i32, i32* %117, align 4\n %119 = call i128 @FUNC(i32 %118)\n %120 = call i128 @FUNC(i128 %xmm0.27.reload, i128 %xmm0.27.reload)\n call void @FUNC(i128 %120, i128 %119)\n %121 = add i64 %115, %13\n %122 = icmp ult i64 %121, %13\n %123 = icmp eq i64 %121, 0\n %124 = inttoptr i64 %121 to i32*\n %125 = load i32, i32* %124, align 4\n %126 = call i128 @FUNC(i32 %125)\n %127 = call i128 @FUNC(i32 1065353216)\n call void @FUNC(i128 %126, i128 %127)\n %128 = or i1 %122, %123\n br i1 %128, label LBL_18.LBL_21_crit_edge, label LBL_20\n LBL_19:\n %.pre = load i32, i32* %117, align 4\n store i32 %.pre, i32* %.reg2mem\n br label LBL_21\n LBL_20:\n %129 = call i128 @FUNC(i32 1065353216)\n %130 = call i64 @__asm_movss.1(i128 %129)\n %131 = trunc i64 %130 to i32\n store i32 %131, i32* %117, align 4\n store i32 %131, i32* %.reg2mem\n br label LBL_21\n LBL_21:\n %.reload = load i32, i32* %.reg2mem\n %132 = call i128 @FUNC(i32 %.reload)\n %133 = call i64 @__asm_movss.1(i128 %132)\n %134 = trunc i64 %133 to i32\n store i32 %134, i32* %124, align 4\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 3\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n store i128 %132, i128* %xmm0.27.reg2mem\n br i1 %exitcond, label LBL_22, label LBL_18\n LBL_22:\n ret i64 0\n\n uselistorder i32* %117, { 1, 0, 2 }\n uselistorder i64 %115, { 1, 0 }\n uselistorder i128 %xmm0.27.reload, { 1, 0 }\n uselistorder i128 %66, { 1, 0, 2 }\n uselistorder i128 %44, { 3, 2, 0, 1, 4 }\n uselistorder i32 %41, { 3, 0, 1, 2, 4 }\n uselistorder i128 %36, { 1, 0, 2 }\n uselistorder i128 %29, { 1, 0, 2 }\n uselistorder i32 %sv_2.0.reload, { 2, 0, 1, 3 }\n uselistorder i32 %sv_1.0.reload, { 2, 1, 0, 3 }\n uselistorder i32* %18, { 1, 2, 0, 3 }\n uselistorder i64 %13, { 2, 0, 3, 6, 5, 4, 7, 1 }\n uselistorder i128 %xmm0.014.reload, { 1, 0 }\n uselistorder i128 %1, { 4, 5, 2, 3, 0, 1 }\n uselistorder i64* %rdi, { 1, 0 }\n uselistorder i64* %indvars.iv20.reg2mem, { 1, 0, 2 }\n uselistorder i128* %xmm0.014.reg2mem, { 1, 0, 2 }\n uselistorder i64* %indvars.iv17.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_1.111.reg2mem, { 1, 0 }\n uselistorder i32* %sv_0.110.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_2.19.reg2mem, { 1, 0, 2 }\n uselistorder i128* %storemerge2.reg2mem, { 0, 2, 1 }\n uselistorder i128* %xmm0.1.reg2mem, { 0, 5, 2, 3, 1, 4 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i128* %xmm0.27.reg2mem, { 1, 0, 2 }\n uselistorder i64 4618441417868443648, { 0, 2, 1, 3 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i32 0, { 1, 0 }\n uselistorder i64 3, { 2, 1, 0 }\n uselistorder i64 1, { 2, 1, 0 }\n uselistorder i64 4, { 0, 3, 4, 1, 2 }\n uselistorder label LBL_21, { 1, 0 }\n uselistorder label LBL_17, { 1, 2, 3, 0, 4 }\n }",763        "label": "0"764    },765    {766        "dataset": "CompRealVul",767        "file": "ethtool_ntuple_flush_8804",768        "fun_name": "ethtool_ntuple_flush",769        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = add i64 %0, 16\n %2 = inttoptr i64 %1 to i32*\n store i32 0, i32* %2, align 4\n ret i64 %0\n\n uselistorder i64 %0, { 1, 0 }\n }",770        "label": "0"771    },772    {773        "dataset": "CompRealVul",774        "file": "tpm_inf_recv_4375",775        "fun_name": "tpm_inf_recv",776        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %indvars.iv10.reg2mem = alloca i64\n %indvars.iv14.reg2mem = alloca i64\n %rsi = alloca i64, align 8\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n store i32 0, i32* inttoptr (i64 4210764 to i32*), align 4\n %2 = add i64 %1, 2\n %3 = bitcast i64* %rsi to i8*\n %4 = add i64 %0, 1\n %5 = inttoptr i64 %4 to i8*\n %6 = add i64 %1, 8\n %7 = inttoptr i64 %6 to i64*\n br label LBL_1\n LBL_1:\n store i64 0, i64* %indvars.iv14.reg2mem\n br label LBL_2\n LBL_2:\n %8 = call i64 @FUNC(i64 %1, i64 1)\n %9 = trunc i64 %8 to i32\n %10 = icmp eq i32 %9, 0\n store i64 1, i64* %rax.0.reg2mem\n br i1 %10, label LBL_3, label LBL_26\n LBL_3:\n %indvars.iv14.reload = load i64, i64* %indvars.iv14.reg2mem\n %11 = add i64 %indvars.iv14.reload, %0\n %12 = call i64 @FUNC(i64 %2)\n %13 = trunc i64 %12 to i8\n %14 = inttoptr i64 %11 to i8*\n store i8 %13, i8* %14, align 1\n %indvars.iv.next15 = add nuw nsw i64 %indvars.iv14.reload, 1\n %15 = icmp ult i64 %indvars.iv.next15, 4\n store i64 %indvars.iv.next15, i64* %indvars.iv14.reg2mem\n br i1 %15, label LBL_2, label LBL_4\n LBL_4:\n %16 = load i8, i8* %3, align 8\n %17 = icmp eq i8 %16, 3\n br i1 %17, label LBL_6, label LBL_5\n LBL_5:\n %18 = load i64, i64* %7, align 8\n %19 = call i64 @FUNC(i64 %18, i8* getelementptr inbounds ([42 x i8], [42 x i8]* @gv_0, i64 0, i64 0))\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_26\n LBL_6:\n %20 = load i8, i8* %5, align 1\n %21 = icmp eq i8 %20, 4\n %22 = icmp eq i1 %21, false\n br i1 %22, label LBL_16, label LBL_7\n LBL_7:\n %23 = add i64 %0, 2\n %24 = inttoptr i64 %23 to i8*\n %25 = load i8, i8* %24, align 1\n %26 = zext i8 %25 to i32\n %27 = mul i32 %26, 256\n %28 = add i64 %0, 3\n %29 = inttoptr i64 %28 to i8*\n %30 = load i8, i8* %29, align 1\n %31 = zext i8 %30 to i32\n %32 = or i32 %27, %31\n %33 = icmp eq i32 %32, 0\n br i1 %33, label LBL_15, label LBL_8\n LBL_8:\n %wide.trip.count12 = zext i32 %32 to i64\n store i64 0, i64* %indvars.iv10.reg2mem\n br label LBL_9\n LBL_9:\n %indvars.iv10.reload = load i64, i64* %indvars.iv10.reg2mem\n %34 = call i64 @FUNC(i64 %1, i64 1)\n %35 = add i64 %indvars.iv10.reload, %0\n %36 = call i64 @FUNC(i64 %2)\n %37 = trunc i64 %36 to i8\n %38 = inttoptr i64 %35 to i8*\n store i8 %37, i8* %38, align 1\n %indvars.iv.next11 = add nuw nsw i64 %indvars.iv10.reload, 1\n %exitcond13 = icmp eq i64 %indvars.iv.next11, %wide.trip.count12\n store i64 %indvars.iv.next11, i64* %indvars.iv10.reg2mem\n br i1 %exitcond13, label LBL_10, label LBL_9\n LBL_10:\n %39 = icmp eq i32 %32, 27904\n %40 = icmp eq i1 %39, false\n br i1 %40, label LBL_13, label LBL_11\n LBL_11:\n %41 = load i8, i8* %5, align 1\n %42 = icmp eq i8 %41, -128\n %43 = icmp eq i1 %42, false\n br i1 %43, label LBL_13, label LBL_12\n LBL_12:\n %44 = load i64, i64* %7, align 8\n %45 = call i64 @FUNC(i64 %44, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @gv_1, i64 0, i64 0))\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_26\n LBL_13:\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_14\n LBL_14:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %46 = add i64 %indvars.iv.reload, %0\n %47 = add i64 %46, 6\n %48 = inttoptr i64 %47 to i8*\n %49 = load i8, i8* %48, align 1\n %50 = inttoptr i64 %46 to i8*\n store i8 %49, i8* %50, align 1\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, %wide.trip.count12\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_15, label LBL_14\n LBL_15:\n %51 = add nsw i32 %32, -6\n %52 = zext i32 %51 to i64\n store i64 %52, i64* %rax.0.reg2mem\n br label LBL_26\n LBL_16:\n %53 = icmp eq i8 %20, 5\n %54 = icmp eq i1 %53, false\n br i1 %54, label LBL_21, label LBL_17\n LBL_17:\n %55 = load i64, i64* %7, align 8\n %56 = call i64 @FUNC(i64 %55, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @gv_2, i64 0, i64 0))\n %57 = load i32, i32* @gv_3, align 4\n %58 = icmp sgt i32 %57, 9\n br i1 %58, label LBL_20, label LBL_18\n LBL_18:\n %59 = call i64 @FUNC(i64 %1)\n br label LBL_1.backedge\n LBL_19:\n br label LBL_1\n LBL_20:\n %60 = call i64 @FUNC(i64 %1)\n br label LBL_1.backedge\n LBL_21:\n %61 = icmp eq i8 %20, 6\n %62 = icmp eq i1 %61, false\n br i1 %62, label LBL_23, label LBL_22\n LBL_22:\n %63 = load i64, i64* %7, align 8\n %64 = call i64 @FUNC(i64 %63, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @gv_4, i64 0, i64 0))\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_26\n LBL_23:\n %65 = icmp eq i8 %20, 7\n %66 = icmp eq i1 %65, false\n store i64 1, i64* %rax.0.reg2mem\n br i1 %66, label LBL_26, label LBL_24\n LBL_24:\n %67 = load i64, i64* %7, align 8\n %68 = call i64 @FUNC(i64 %67, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @gv_5, i64 0, i64 0))\n %69 = add i64 %0, 4\n %70 = inttoptr i64 %69 to i8*\n %71 = load i8, i8* %70, align 1\n %72 = icmp eq i8 %71, 8\n %73 = icmp eq i1 %72, false\n store i64 1, i64* %rax.0.reg2mem\n br i1 %73, label LBL_26, label LBL_25\n LBL_25:\n %74 = load i64, i64* %7, align 8\n %75 = call i64 @FUNC(i64 %74, i8* getelementptr inbounds ([51 x i8], [51 x i8]* @gv_6, i64 0, i64 0))\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_26\n LBL_26:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %32, { 2, 3, 0, 1 }\n uselistorder i64* %7, { 1, 0, 2, 5, 3, 4 }\n uselistorder i64 %1, { 1, 2, 0, 5, 3, 4 }\n uselistorder i64 %0, { 3, 0, 1, 6, 5, 2, 4 }\n uselistorder i64* %indvars.iv14.reg2mem, { 1, 0, 2 }\n uselistorder i64* %indvars.iv10.reg2mem, { 2, 0, 1 }\n uselistorder i64* %indvars.iv.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 4, 3, 2, 8, 7, 6, 5, 1 }\n uselistorder i64 (i64, i8*)* @dev_info, { 1, 0 }\n uselistorder i64 (i64, i8*)* @dev_err, { 3, 2, 1, 0 }\n uselistorder i64 4, { 1, 0 }\n uselistorder i64 (i64)* @inb, { 1, 0 }\n uselistorder i64 (i64, i64)* @wait, { 1, 0 }\n uselistorder i64 1, { 3, 2, 1, 8, 5, 7, 9, 4, 6, 0, 10, 11 }\n uselistorder i32 0, { 0, 2, 3, 1 }\n uselistorder label LBL_26, { 3, 2, 1, 4, 5, 6, 7, 0 }\n uselistorder label LBL_1.backedge, { 1, 0 }\n uselistorder label LBL_14, { 1, 0 }\n uselistorder label LBL_13, { 1, 0 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",777        "label": "0"778    },779    {780        "dataset": "CompRealVul",781        "file": "serial_tty_free_18247",782        "fun_name": "serial_tty_free",783        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = load i64, i64* %0\n %2 = call i64 @FUNC(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @gv_0, i64 0, i64 0))\n %3 = trunc i64 %1 to i32\n %4 = icmp slt i32 %3, 0\n %.pre = add i64 %arg1, 16\n %.pre1 = inttoptr i64 %.pre to i64*\n br i1 %4, label LBL_4, label LBL_1\n LBL_1:\n %5 = load i64, i64* %.pre1, align 8\n %6 = icmp eq i64 %5, 0\n br i1 %6, label LBL_3, label LBL_2\n LBL_2:\n %7 = inttoptr i64 %5 to %termios*\n %8 = call i32 @tcsetattr(i32 %3, i32 0, %termios* %7)\n br label LBL_3\n LBL_3:\n %9 = call i32 @close(i32 %3)\n br label LBL_4\n LBL_4:\n %10 = add i64 %arg1, 8\n %11 = inttoptr i64 %10 to i64*\n %12 = load i64, i64* %11, align 8\n %13 = inttoptr i64 %12 to i64*\n call void @free(i64* %13)\n %14 = load i64, i64* %.pre1, align 8\n %15 = inttoptr i64 %14 to i64*\n call void @free(i64* %15)\n %16 = inttoptr i64 %arg1 to i64*\n call void @free(i64* %16)\n ret i64 ptrtoint (i32* @0 to i64)\n\n uselistorder i32 %3, { 0, 2, 1 }\n uselistorder void (i64*)* @free, { 2, 1, 0 }\n uselistorder i64 %arg1, { 1, 2, 0 }\n uselistorder label LBL_4, { 1, 0 }\n }",784        "label": "1"785    },786    {787        "dataset": "CompRealVul",788        "file": "dump_mask_stack_9172",789        "fun_name": "dump_mask_stack",790        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.lcssa.reg2mem = alloca i64\n %rax.01.reg2mem = alloca i64\n %sv_0.02.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = ptrtoint i64* %arg1 to i64\n %4 = icmp eq i64* %arg1, null\n %5 = icmp eq i1 %4, false\n store i32 0, i32* %sv_0.02.reg2mem\n store i64 %3, i64* %rax.01.reg2mem\n store i64 %3, i64* %rax.0.lcssa.reg2mem\n br i1 %5, label LBL_1, label LBL_2\n LBL_1:\n %rax.01.reload = load i64, i64* %rax.01.reg2mem\n %sv_0.02.reload = load i32, i32* %sv_0.02.reg2mem\n %6 = add i64 %rax.01.reload, 16\n %7 = inttoptr i64 %6 to i64*\n %8 = load i64, i64* %7, align 8\n %9 = zext i32 %sv_0.02.reload to i64\n %10 = call i64 @FUNC(i64 118, i64 %8, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @gv_0, i64 0, i64 0), i64 %9, i64 %2, i64 %1)\n %11 = inttoptr i64 %rax.01.reload to i64*\n %12 = load i64, i64* %11, align 8\n %13 = inttoptr i64 %12 to i32*\n %14 = load i32, i32* %13, align 4\n %15 = load i64, i64* %7, align 8\n %16 = zext i32 %14 to i64\n %17 = call i64 @FUNC(i64 118, i64 %15, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @gv_1, i64 0, i64 0), i64 %16, i64 %2, i64 %1)\n %18 = load i64, i64* %11, align 8\n %19 = add i64 %18, 4\n %20 = inttoptr i64 %19 to i32*\n %21 = load i32, i32* %20, align 4\n %22 = load i64, i64* %7, align 8\n %23 = zext i32 %21 to i64\n %24 = call i64 @FUNC(i64 118, i64 %22, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @gv_2, i64 0, i64 0), i64 %23, i64 %2, i64 %1)\n %25 = add i32 %sv_0.02.reload, 1\n %26 = add i64 %rax.01.reload, 8\n %27 = inttoptr i64 %26 to i64*\n %28 = load i64, i64* %27, align 8\n %29 = icmp eq i64 %28, 0\n %30 = icmp eq i1 %29, false\n store i32 %25, i32* %sv_0.02.reg2mem\n store i64 %28, i64* %rax.01.reg2mem\n store i64 %28, i64* %rax.0.lcssa.reg2mem\n br i1 %30, label LBL_1, label LBL_2\n LBL_2:\n %rax.0.lcssa.reload = load i64, i64* %rax.0.lcssa.reg2mem\n ret i64 %rax.0.lcssa.reload\n\n uselistorder i64 %rax.01.reload, { 2, 1, 0 }\n uselistorder i64 %2, { 2, 1, 0 }\n uselistorder i64 %1, { 2, 1, 0 }\n uselistorder i32* %sv_0.02.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rax.01.reg2mem, { 2, 0, 1 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i64 (i64, i64, i8*, i64, i64, i64)* @if_debug1m, { 2, 1, 0 }\n uselistorder i1 false, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",791        "label": "0"792    },793    {794        "dataset": "CompRealVul",795        "file": "nfs_set_open_stateid_13636",796        "fun_name": "nfs_set_open_stateid",797        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i32 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = call i64 @FUNC(i64 %1)\n %3 = call i64 @FUNC(i64 %1, i64 %0, i32 %arg3)\n %4 = call i64 @FUNC(i64 %1)\n ret i64 %4\n }",798        "label": "0"799    },800    {801        "dataset": "CompRealVul",802        "file": "aux_create_slave_15203",803        "fun_name": "aux_create_slave",804        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i32 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC(i64 %arg2)\n %1 = call i64 @FUNC(i64 %0)\n %2 = icmp eq i64 %1, 0\n %3 = icmp eq i1 %2, false\n br i1 %3, label LBL_2, label LBL_1\n LBL_1:\n call void @__assert_fail(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([50 x i8], [50 x i8]* @gv_1, i64 0, i64 0), i32 52, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_2\n LBL_2:\n %4 = ptrtoint i64* %arg1 to i64\n %5 = call i64 @FUNC(i64 %1, i64 %4)\n %6 = call i64 @FUNC(i64 %1)\n %7 = call i64 @FUNC(i64 %1)\n %8 = call i64 @FUNC(i64 %1)\n %9 = call i64 @FUNC(i64 %8)\n %10 = zext i32 %arg3 to i64\n %11 = call i64 @FUNC(i64 %9, i64 %7, i64 %10)\n ret i64 %1\n\n uselistorder i64 %1, { 0, 4, 3, 2, 1, 5 }\n }",805        "label": "1"806    },807    {808        "dataset": "CompRealVul",809        "file": "ptirq_free_irte_6319",810        "fun_name": "ptirq_free_irte",811        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %sv_0 = alloca i8, align 1\n %3 = trunc i64 %1 to i32\n %4 = icmp eq i32 %3, 1\n %5 = icmp eq i1 %4, false\n br i1 %5, label LBL_2, label LBL_1\n LBL_1:\n store i8 1, i8* %sv_0, align 1\n br label LBL_3\n LBL_2:\n store i8 0, i8* %sv_0, align 1\n %6 = add i64 %2, 8\n %7 = inttoptr i64 %6 to i32*\n %8 = load i32, i32* %7, align 4\n %9 = zext i32 %8 to i64\n %10 = call i64 @FUNC(i64 %9)\n br label LBL_3\n LBL_3:\n %11 = add i64 %2, 12\n %12 = inttoptr i64 %11 to i32*\n %13 = load i32, i32* %12, align 4\n %14 = zext i32 %13 to i64\n %15 = call i64 @FUNC(i8* nonnull %sv_0, i64 %14)\n ret i64 %15\n }",812        "label": "0"813    },814    {815        "dataset": "CompRealVul",816        "file": "probe_303",817        "fun_name": "probe",818        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0.1.lcssa.reg2mem = alloca i32\n %sv_0.111.reg2mem = alloca i32\n %storemerge12.reg2mem = alloca i32\n %sv_0.0.reg2mem = alloca i32\n %0 = ptrtoint i64* %arg1 to i64\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i32*\n %3 = load i32, i32* %2, align 4\n %4 = icmp slt i32 %3, 22\n store i64 0, i64* %rax.0.reg2mem\n br i1 %4, label LBL_22, label LBL_1\n LBL_1:\n %5 = trunc i64 %0 to i16\n %6 = icmp eq i16 %5, 0\n %7 = icmp eq i1 %6, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %7, label LBL_22, label LBL_2\n LBL_2:\n %8 = add i64 %0, 2\n %9 = inttoptr i64 %8 to i16*\n %10 = load i16, i16* %9, align 2\n %11 = icmp eq i16 %10, 1\n store i64 0, i64* %rax.0.reg2mem\n br i1 %11, label LBL_3, label LBL_22\n LBL_3:\n %12 = add i64 %0, 4\n %13 = inttoptr i64 %12 to i16*\n %14 = load i16, i16* %13, align 2\n %15 = icmp eq i16 %14, 0\n %16 = icmp eq i1 %15, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %16, label LBL_4, label LBL_22\n LBL_4:\n %17 = zext i16 %14 to i32\n %18 = add i32 %3, -8\n %19 = add i64 %0, 18\n store i32 0, i32* %storemerge12.reg2mem\n store i32 0, i32* %sv_0.111.reg2mem\n br label LBL_19\n LBL_5:\n %20 = or i32 %71, 10\n %21 = zext i32 %20 to i64\n %22 = add i64 %21, %0\n %23 = inttoptr i64 %22 to i16*\n %24 = load i16, i16* %23, align 2\n %25 = icmp ult i16 %24, 2\n br i1 %25, label LBL_7, label LBL_6\n LBL_6:\n %26 = icmp ult i32 %storemerge12.reload, 25\n %27 = select i1 %26, i32 %storemerge12.reload, i32 25\n %28 = zext i32 %27 to i64\n store i64 %28, i64* %rax.0.reg2mem\n br label LBL_22\n LBL_7:\n %29 = or i32 %71, 13\n %30 = zext i32 %29 to i64\n %31 = add i64 %30, %0\n %32 = inttoptr i64 %31 to i8*\n %33 = load i8, i8* %32, align 1\n %34 = icmp eq i8 %33, 0\n br i1 %34, label LBL_9, label LBL_8\n LBL_8:\n %35 = icmp ult i32 %storemerge12.reload, 25\n %36 = select i1 %35, i32 %storemerge12.reload, i32 25\n %37 = zext i32 %36 to i64\n store i64 %37, i64* %rax.0.reg2mem\n br label LBL_22\n LBL_9:\n %38 = or i32 %71, 14\n %39 = zext i32 %38 to i64\n %40 = add i64 %39, %0\n %41 = inttoptr i64 %40 to i32*\n %42 = load i32, i32* %41, align 4\n %43 = icmp ult i32 %42, 40\n br i1 %43, label LBL_10, label LBL_11\n LBL_10:\n %44 = icmp ult i32 %storemerge12.reload, 25\n %45 = select i1 %44, i32 %storemerge12.reload, i32 25\n %46 = zext i32 %45 to i64\n store i64 %46, i64* %rax.0.reg2mem\n br label LBL_22\n LBL_11:\n %47 = zext i32 %71 to i64\n %48 = add i64 %19, %47\n %49 = inttoptr i64 %48 to i32*\n %50 = load i32, i32* %49, align 4\n %51 = icmp ult i32 %50, 22\n br i1 %51, label LBL_12, label LBL_13\n LBL_12:\n %52 = icmp ult i32 %storemerge12.reload, 25\n %53 = select i1 %52, i32 %storemerge12.reload, i32 25\n %54 = zext i32 %53 to i64\n store i64 %54, i64* %rax.0.reg2mem\n br label LBL_22\n LBL_13:\n %55 = icmp ugt i32 %50, %18\n store i32 %sv_0.111.reload, i32* %sv_0.0.reg2mem\n br i1 %55, label LBL_18, label LBL_14\n LBL_14:\n %56 = zext i32 %50 to i64\n %57 = add i64 %56, %0\n %58 = inttoptr i64 %57 to i8*\n %59 = load i8, i8* %58, align 1\n %60 = icmp eq i8 %59, 40\n br i1 %60, label LBL_17, label LBL_15\n LBL_15:\n %61 = inttoptr i64 %57 to i64*\n %62 = load i64, i64* %61, align 8\n %63 = icmp eq i64 %62, -8552249625308161526\n br i1 %63, label LBL_17, label LBL_16\n LBL_16:\n %64 = icmp ult i32 %storemerge12.reload, 25\n %65 = select i1 %64, i32 %storemerge12.reload, i32 25\n %66 = zext i32 %65 to i64\n store i64 %66, i64* %rax.0.reg2mem\n br label LBL_22\n LBL_17:\n %67 = add i32 %sv_0.111.reload, 1\n store i32 %67, i32* %sv_0.0.reg2mem\n br label LBL_18\n LBL_18:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %68 = add i32 %storemerge12.reload, 1\n %69 = icmp ult i32 %68, %17\n %70 = icmp eq i1 %69, false\n store i32 %68, i32* %storemerge12.reg2mem\n store i32 %sv_0.0.reload, i32* %sv_0.111.reg2mem\n store i32 %sv_0.0.reload, i32* %sv_0.1.lcssa.reg2mem\n br i1 %70, label LBL_20, label LBL_19\n LBL_19:\n %sv_0.111.reload = load i32, i32* %sv_0.111.reg2mem\n %storemerge12.reload = load i32, i32* %storemerge12.reg2mem\n %71 = mul i32 %storemerge12.reload, 16\n %72 = add i32 %71, 22\n %73 = icmp ugt i32 %72, %3\n store i32 %sv_0.111.reload, i32* %sv_0.1.lcssa.reg2mem\n br i1 %73, label LBL_20, label LBL_5\n LBL_20:\n %sv_0.1.lcssa.reload = load i32, i32* %sv_0.1.lcssa.reg2mem\n %74 = icmp ult i32 %sv_0.1.lcssa.reload, %17\n %75 = icmp eq i1 %74, false\n store i64 51, i64* %rax.0.reg2mem\n br i1 %75, label LBL_22, label LBL_21\n LBL_21:\n %76 = icmp eq i32 %sv_0.1.lcssa.reload, 0\n %77 = icmp eq i1 %76, false\n %78 = select i1 %77, i64 26, i64 25\n store i64 %78, i64* %rax.0.reg2mem\n br label LBL_22\n LBL_22:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %storemerge12.reload, { 11, 2, 1, 4, 3, 10, 9, 8, 7, 6, 5, 0 }\n uselistorder i32 %sv_0.111.reload, { 0, 2, 1 }\n uselistorder i16 %14, { 1, 0 }\n uselistorder i64 %0, { 0, 2, 3, 4, 1, 6, 5, 7, 8 }\n uselistorder i32* %sv_0.1.lcssa.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 11, 1, 8, 9, 10, 7, 6, 2, 5, 4, 3 }\n uselistorder i32 0, { 2, 0, 1 }\n uselistorder i32 22, { 1, 0, 2 }\n uselistorder label LBL_22, { 10, 0, 5, 6, 7, 8, 9, 1, 4, 3, 2 }\n uselistorder label LBL_20, { 1, 0 }\n uselistorder label LBL_19, { 1, 0 }\n uselistorder label LBL_18, { 1, 0 }\n }",819        "label": "0"820    },821    {822        "dataset": "CompRealVul",823        "file": "free_pipe_info_6202",824        "fun_name": "free_pipe_info",825        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = and i64 %1, 4294967295\n %3 = call i64 @FUNC(i64 %arg1, i64 %2, i64 0)\n %4 = add i64 %arg1, 24\n %5 = inttoptr i64 %4 to i32*\n %6 = load i32, i32* %5, align 4\n %7 = zext i32 %6 to i64\n %8 = call i64 @FUNC(i64 %7)\n store i32 0, i32* %storemerge.reg2mem\n br label LBL_1\n LBL_1:\n %storemerge.reload = load i32, i32* %storemerge.reg2mem\n %9 = sext i32 %storemerge.reload to i64\n %10 = icmp sgt i64 %2, %9\n %11 = add i32 %storemerge.reload, 1\n store i32 %11, i32* %storemerge.reg2mem\n br i1 %10, label LBL_1, label LBL_2\n LBL_2:\n %12 = add i64 %arg1, 16\n %13 = inttoptr i64 %12 to i64*\n %14 = load i64, i64* %13, align 8\n %15 = icmp eq i64 %14, 0\n br i1 %15, label LBL_4, label LBL_3\n LBL_3:\n %16 = call i64 @FUNC(i64 %14)\n br label LBL_4\n LBL_4:\n %17 = add i64 %arg1, 8\n %18 = inttoptr i64 %17 to i64*\n %19 = load i64, i64* %18, align 8\n %20 = call i64 @FUNC(i64 %19)\n %21 = call i64 @FUNC(i64 %arg1)\n ret i64 %21\n\n uselistorder i32 %storemerge.reload, { 1, 0 }\n uselistorder i32* %storemerge.reg2mem, { 2, 0, 1 }\n uselistorder i64 (i64)* @kfree, { 1, 0 }\n uselistorder i32 1, { 5, 4, 3, 2, 1, 0 }\n uselistorder i64 %arg1, { 1, 0, 2, 3, 4 }\n }",826        "label": "0"827    },828    {829        "dataset": "CompRealVul",830        "file": "nfs4_layoutget_done_8924",831        "fun_name": "nfs4_layoutget_done",832        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %rdx.0.reg2mem = alloca i64\n %rcx.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %4 = load i64, i64* %0\n %5 = load i64, i64* %0\n %6 = ptrtoint i64* %arg2 to i64\n %7 = ptrtoint i32* %arg1 to i64\n %8 = add i64 %6, 8\n %9 = inttoptr i64 %8 to i64*\n %10 = load i64, i64* %9, align 8\n %11 = call i64 @FUNC(i64 %10)\n %12 = call i64 @FUNC(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @gv_1, i64 0, i64 0), i64 %4, i64 %5, i64 %2, i64 %1)\n %13 = call i64 @FUNC(i64 %7, i64 %6)\n %14 = trunc i64 %13 to i32\n %15 = icmp eq i32 %14, 0\n store i64 %13, i64* %rax.0.reg2mem\n br i1 %15, label LBL_7, label LBL_1\n LBL_1:\n %16 = trunc i64 %3 to i32\n %17 = icmp eq i32 %16, 0\n store i64 %6, i64* %rdx.0.reg2mem\n br i1 %17, label LBL_6, label LBL_2\n LBL_2:\n %18 = icmp sgt i32 %16, -1\n %19 = add i32 %16, -1\n %20 = icmp ult i32 %19, 2\n %or.cond = icmp eq i1 %18, %20\n br i1 %or.cond, label LBL_3, label LBL_4\n LBL_3:\n store i32 3, i32* %arg1, align 4\n br label LBL_4\n LBL_4:\n %21 = call i64 @FUNC(i64 %7, i64 %11, i64 0)\n %22 = trunc i64 %21 to i32\n %23 = icmp eq i32 %22, -11\n %24 = icmp eq i1 %23, false\n store i64 %11, i64* %rcx.0.reg2mem\n store i64 0, i64* %rdx.0.reg2mem\n br i1 %24, label LBL_6, label LBL_5\n LBL_5:\n %25 = call i64 @FUNC(i64 %7)\n store i64 %25, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_6:\n %rdx.0.reload = load i64, i64* %rdx.0.reg2mem\n %rcx.0.reload = load i64, i64* %rcx.0.reg2mem\n %26 = call i64 @FUNC(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @gv_2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @gv_1, i64 0, i64 0), i64 %rdx.0.reload, i64 %rcx.0.reload, i64 %2, i64 %1)\n store i64 %26, i64* %rax.0.reg2mem\n br label LBL_7\n LBL_7:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %16, { 1, 2, 0 }\n uselistorder i64 %6, { 0, 2, 1 }\n uselistorder i64 %2, { 1, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %0, { 4, 3, 2, 1, 0 }\n uselistorder i32 -1, { 1, 0 }\n uselistorder i64 (i8*, i8*, i64, i64, i64, i64)* @dprintk, { 1, 0 }\n uselistorder label LBL_7, { 1, 2, 0 }\n uselistorder label LBL_6, { 1, 0 }\n uselistorder label LBL_4, { 1, 0 }\n }",833        "label": "0"834    },835    {836        "dataset": "CompRealVul",837        "file": "acceptTcpHandler_10261",838        "fun_name": "acceptTcpHandler",839        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i32 %arg2, i64 %arg3, i64 %arg4) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %sv_0 = alloca i64, align 8\n %sv_1 = alloca i32, align 4\n %2 = ptrtoint i32* %sv_1 to i64\n %3 = zext i32 %arg2 to i64\n %4 = bitcast i32* %sv_1 to i64*\n store i32 99, i32* %.reg2mem\n br label LBL_1\n LBL_1:\n %5 = call i64 @FUNC(i64* nonnull @gv_0, i64 %3, i64* nonnull %sv_0, i64 16, i64* nonnull %4)\n %6 = trunc i64 %5 to i32\n %7 = icmp eq i32 %6, -1\n %8 = icmp eq i1 %7, false\n br i1 %8, label LBL_4, label LBL_2\n LBL_2:\n %9 = call i32* @__errno_location()\n %10 = load i32, i32* %9, align 4\n %11 = icmp eq i32 %10, 11\n store i64 11, i64* %rax.0.reg2mem\n br i1 %11, label LBL_6, label LBL_3\n LBL_3:\n %12 = call i64 @FUNC(i64 1, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @gv_1, i64 0, i64 0), i64* nonnull @gv_0, i64 16, i64 %2, i64 %1)\n store i64 %12, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_4:\n %.reload = load i32, i32* %.reg2mem\n %13 = load i32, i32* %sv_1, align 4\n %14 = zext i32 %13 to i64\n %15 = call i64 @FUNC(i64 2, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @gv_2, i64 0, i64 0), i64* nonnull %sv_0, i64 %14, i64 %2, i64 %1)\n %16 = and i64 %5, 4294967295\n %17 = call i64 @FUNC(i64 %16, i64 0, i64* nonnull %sv_0)\n %18 = add nsw i32 %.reload, -1\n %19 = icmp eq i32 %.reload, 0\n %20 = icmp eq i1 %19, false\n store i32 %18, i32* %.reg2mem\n br i1 %20, label LBL_1, label LBL_5\n LBL_5:\n %21 = zext i32 %.reload to i64\n store i64 %21, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_6:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %.reload, { 2, 1, 0 }\n uselistorder i64 %2, { 1, 0 }\n uselistorder i32* %sv_1, { 1, 2, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i32* %.reg2mem, { 1, 0, 2 }\n uselistorder i64 4294967295, { 1, 0 }\n uselistorder i64 (i64, i8*, i64*, i64, i64, i64)* @serverLog, { 1, 0 }\n uselistorder i1 false, { 1, 0, 2, 3 }\n uselistorder i32 -1, { 1, 0 }\n uselistorder label LBL_6, { 0, 2, 1 }\n uselistorder label LBL_1, { 1, 0 }\n }",840        "label": "0"841    },842    {843        "dataset": "CompRealVul",844        "file": "fix_small_imbalance_9568",845        "fun_name": "fix_small_imbalance",846        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %.reg2mem6 = alloca i64\n %sv_1.0.off0.reg2mem = alloca i64\n %.pre-phi4.reg2mem = alloca i64*\n %.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = icmp eq i64* %arg2, null\n %3 = icmp eq i1 %2, false\n br i1 %3, label LBL_2, label LBL_1\n LBL_1:\n %4 = call i64 @FUNC(i64 %1)\n %5 = add i64 %0, 8\n %6 = inttoptr i64 %5 to i64*\n store i64 %4, i64* %6, align 8\n %.pre2 = add i64 %0, 40\n %.pre3 = inttoptr i64 %.pre2 to i64*\n %.pre5 = load i64, i64* %.pre3, align 8\n store i64 %.pre5, i64* %.reg2mem\n store i64* %.pre3, i64** %.pre-phi4.reg2mem\n store i64 2, i64* %sv_1.0.off0.reg2mem\n br label LBL_3\n LBL_2:\n %7 = add i64 %0, 40\n %8 = inttoptr i64 %7 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = add i64 %0, 8\n %11 = inttoptr i64 %10 to i64*\n %12 = load i64, i64* %11, align 8\n %13 = icmp ugt i64 %9, %12\n %spec.select = select i1 %13, i64 1, i64 2\n store i64 %9, i64* %.reg2mem\n store i64* %8, i64** %.pre-phi4.reg2mem\n store i64 %spec.select, i64* %sv_1.0.off0.reg2mem\n br label LBL_3\n LBL_3:\n %sv_1.0.off0.reload = load i64, i64* %sv_1.0.off0.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %14 = mul i64 %.reload, 1024\n %15 = add i64 %0, 56\n %16 = inttoptr i64 %15 to i64*\n %17 = load i64, i64* %16, align 8\n %18 = udiv i64 %14, %17\n %19 = add i64 %0, 48\n %20 = inttoptr i64 %19 to i64*\n %21 = load i64, i64* %20, align 8\n %22 = add i64 %21, %18\n %23 = add i64 %0, 16\n %24 = inttoptr i64 %23 to i64*\n %25 = load i64, i64* %24, align 8\n %26 = mul i64 %18, %sv_1.0.off0.reload\n %27 = add i64 %25, %26\n %28 = icmp ult i64 %22, %27\n br i1 %28, label LBL_5, label LBL_4\n LBL_4:\n %29 = add i64 %1, 8\n %30 = inttoptr i64 %29 to i64*\n store i64 %.reload, i64* %30, align 8\n store i64 %1, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_5:\n %.pre-phi4.reload = load i64*, i64** %.pre-phi4.reg2mem\n %31 = call i64 @FUNC(i64 %.reload, i64 %21)\n %32 = add i64 %0, 24\n %33 = inttoptr i64 %32 to i64*\n %34 = load i64, i64* %33, align 8\n %35 = load i64, i64* %24, align 8\n %36 = add i64 %0, 8\n %37 = inttoptr i64 %36 to i64*\n %38 = load i64, i64* %37, align 8\n %39 = call i64 @FUNC(i64 %38, i64 %35)\n %40 = load i64, i64* %20, align 8\n %41 = icmp ugt i64 %40, %18\n %42 = icmp eq i1 %41, false\n store i64 %40, i64* %.reg2mem6\n store i64 0, i64* %sv_0.0.reg2mem\n br i1 %42, label LBL_7, label LBL_6\n LBL_6:\n %43 = load i64, i64* %16, align 8\n %44 = sub i64 %40, %18\n %45 = load i64, i64* %.pre-phi4.reload, align 8\n %46 = call i64 @FUNC(i64 %45, i64 %44)\n %47 = mul i64 %46, %43\n %.pre = load i64, i64* %20, align 8\n store i64 %.pre, i64* %.reg2mem6\n store i64 %47, i64* %sv_0.0.reg2mem\n br label LBL_7\n LBL_7:\n %48 = mul i64 %31, %17\n %49 = mul i64 %39, %34\n %50 = add i64 %49, %48\n %51 = udiv i64 %50, 1024\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %.reload7 = load i64, i64* %.reg2mem6\n %52 = load i64, i64* %16, align 8\n %53 = mul i64 %52, %.reload7\n %54 = load i64, i64* %.pre-phi4.reload, align 8\n %55 = mul i64 %54, 1024\n %56 = icmp ult i64 %53, %55\n %57 = icmp eq i1 %56, false\n %58 = load i64, i64* %33, align 8\n %. = select i1 %57, i64 %55, i64 %53\n %storemerge = udiv i64 %., %58\n %59 = load i64, i64* %24, align 8\n %60 = add i64 %59, %storemerge\n %61 = load i64, i64* %37, align 8\n %62 = call i64 @FUNC(i64 %61, i64 %60)\n %63 = mul i64 %62, %58\n %64 = add i64 %63, %sv_0.0.reload\n %65 = udiv i64 %64, 1024\n %66 = icmp ugt i64 %65, %51\n store i64 %65, i64* %rax.0.reg2mem\n br i1 %66, label LBL_8, label LBL_9\n LBL_8:\n %67 = load i64, i64* %.pre-phi4.reload, align 8\n %68 = add i64 %1, 8\n %69 = inttoptr i64 %68 to i64*\n store i64 %67, i64* %69, align 8\n store i64 %1, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_9:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %55, { 1, 0 }\n uselistorder i64 %40, { 2, 0, 1 }\n uselistorder i64* %.pre-phi4.reload, { 1, 2, 0 }\n uselistorder i64 %21, { 1, 0 }\n uselistorder i64 %18, { 3, 2, 0, 1 }\n uselistorder i64* %16, { 1, 0, 2 }\n uselistorder i64 %.reload, { 1, 0, 2 }\n uselistorder i64 %1, { 1, 4, 0, 3, 2 }\n uselistorder i64 %0, { 6, 5, 7, 2, 3, 8, 1, 0, 4 }\n uselistorder i64* %.reg2mem, { 0, 2, 1 }\n uselistorder i64** %.pre-phi4.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_1.0.off0.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64 (i64, i64)* @min, { 3, 2, 1, 0 }\n uselistorder i64 1024, { 2, 0, 3, 1 }\n uselistorder i64 2, { 1, 0 }\n uselistorder i64 40, { 1, 0 }\n uselistorder label LBL_9, { 1, 0, 2 }\n }",847        "label": "0"848    },849    {850        "dataset": "CompRealVul",851        "file": "hist_browser__toggle_fold_4035",852        "fun_name": "hist_browser__toggle_fold",853        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %storemerge.in.reg2mem = alloca i64\n %rdi = alloca i64, align 8\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %3 = add i64 %2, 8\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n %6 = icmp ne i64* %arg1, null\n %7 = icmp eq i64 %5, 0\n %8 = icmp eq i1 %7, false\n %or.cond = icmp eq i1 %6, %8\n store i64 0, i64* %rax.0.reg2mem\n br i1 %or.cond, label LBL_1, label LBL_9\n LBL_1:\n %9 = icmp eq i64 %5, %2\n %10 = icmp eq i1 %9, false\n br i1 %10, label LBL_3, label LBL_2\n LBL_2:\n %11 = call i64 @FUNC(i64 %2)\n store i64 %11, i64* %storemerge.in.reg2mem\n br label LBL_4\n LBL_3:\n %12 = call i64 @FUNC(i64 %5)\n store i64 %12, i64* %storemerge.in.reg2mem\n br label LBL_4\n LBL_4:\n %storemerge.in.reload = load i64, i64* %storemerge.in.reg2mem\n %storemerge = trunc i64 %storemerge.in.reload to i8\n %13 = icmp eq i8 %storemerge, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %13, label LBL_9, label LBL_5\n LBL_5:\n %14 = trunc i64 %1 to i32\n %15 = call i64 @FUNC(i64 %2)\n %16 = add i64 %2, 16\n %17 = inttoptr i64 %16 to i32*\n %18 = load i32, i32* %17, align 4\n %19 = bitcast i64* %rdi to i32*\n %20 = sub i32 %18, %14\n store i32 %20, i32* %17, align 4\n %21 = add i64 %2, 20\n %22 = inttoptr i64 %21 to i32*\n %23 = load i32, i32* %22, align 4\n %24 = load i32, i32* %19, align 8\n %25 = sub i32 %23, %24\n store i32 %25, i32* %22, align 4\n %26 = add i64 %2, 4\n %27 = inttoptr i64 %26 to i8*\n %28 = load i8, i8* %27, align 1\n %29 = icmp eq i8 %28, 0\n br i1 %29, label LBL_7, label LBL_6\n LBL_6:\n %30 = add i64 %2, 5\n %31 = call i64 @FUNC(i64 %30)\n %32 = trunc i64 %31 to i32\n %33 = bitcast i64* %arg1 to i32*\n store i32 %32, i32* %33, align 4\n br label LBL_8\n LBL_7:\n %34 = bitcast i64* %arg1 to i32*\n store i32 0, i32* %34, align 4\n br label LBL_8\n LBL_8:\n %35 = load i32, i32* %17, align 4\n %36 = load i32, i32* %19, align 8\n %37 = add i32 %36, %35\n store i32 %37, i32* %17, align 4\n %38 = load i32, i32* %22, align 4\n %39 = load i32, i32* %19, align 8\n %40 = add i32 %39, %38\n store i32 %40, i32* %22, align 4\n store i64 1, i64* %rax.0.reg2mem\n br label LBL_9\n LBL_9:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32* %22, { 1, 0, 2, 3 }\n uselistorder i32* %17, { 1, 0, 2, 3 }\n uselistorder i64 %5, { 2, 1, 0 }\n uselistorder i64 %2, { 1, 0, 2, 3, 4, 6, 5, 7 }\n uselistorder i64* %storemerge.in.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder i64 5, { 1, 0 }\n uselistorder i1 false, { 1, 0 }\n uselistorder label LBL_9, { 2, 0, 1 }\n }",854        "label": "0"855    },856    {857        "dataset": "CompRealVul",858        "file": "try_decode_frame_398",859        "fun_name": "try_decode_frame",860        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.shrunk.reg2mem = alloca i32\n %sv_0.0.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %sv_1 = alloca i64, align 8\n %sv_2 = alloca i32, align 4\n %3 = add i64 %2, 8\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n %6 = icmp eq i64 %5, 0\n %7 = icmp eq i1 %6, false\n store i64 %2, i64* %.reg2mem\n store i32 0, i32* %sv_0.0.reg2mem\n br i1 %7, label LBL_3, label LBL_1\n LBL_1:\n %8 = and i64 %2, 4294967295\n %9 = call i64 @FUNC(i64 %8)\n %10 = icmp eq i64 %9, 0\n %11 = icmp eq i1 %10, false\n store i32 -1, i32* %rax.0.shrunk.reg2mem\n br i1 %11, label LBL_2, label LBL_8\n LBL_2:\n %12 = call i64 @FUNC(i64 %8, i64 %9)\n %13 = trunc i64 %12 to i32\n %14 = icmp slt i32 %13, 0\n %15 = icmp eq i1 %14, false\n store i64 %8, i64* %.reg2mem\n store i32 %13, i32* %sv_0.0.reg2mem\n store i32 %13, i32* %rax.0.shrunk.reg2mem\n br i1 %15, label LBL_3, label LBL_8\n LBL_3:\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %16 = call i64 @FUNC(i64 %.reload)\n %17 = trunc i64 %16 to i32\n %18 = icmp eq i32 %17, 0\n %19 = icmp eq i1 %18, false\n store i32 %sv_0.0.reload, i32* %rax.0.shrunk.reg2mem\n br i1 %19, label LBL_8, label LBL_4\n LBL_4:\n %20 = ptrtoint i64* %arg2 to i64\n %21 = add i64 %.reload, 4\n %22 = inttoptr i64 %21 to i32*\n %23 = load i32, i32* %22, align 4\n store i32 %sv_0.0.reload, i32* %rax.0.shrunk.reg2mem\n switch i32 %23, label LBL_8 [\n i32 0, label LBL_5\n i32 1, label LBL_6\n ]\n LBL_5:\n %24 = ptrtoint i32* %sv_2 to i64\n %25 = bitcast i32* %sv_2 to i64*\n %26 = call i64 @FUNC(i64* nonnull %25)\n %27 = call i64 @FUNC(i64 %24, i64* nonnull %25, i64* nonnull %sv_1, i64 %20)\n %28 = trunc i64 %27 to i32\n store i32 %28, i32* %rax.0.shrunk.reg2mem\n br label LBL_8\n LBL_6:\n %29 = trunc i64 %1 to i32\n %30 = add i32 %29, -192000\n %31 = sub i32 191999, %29\n %32 = and i32 %31, %29\n %33 = icmp slt i32 %32, 0\n %34 = icmp slt i32 %30, 0\n %35 = icmp eq i1 %34, %33\n %36 = select i1 %35, i32 %29, i32 192000\n store i32 %36, i32* %sv_2, align 4\n %37 = zext i32 %36 to i64\n %38 = call i64 @FUNC(i64 %37)\n %39 = icmp eq i64 %38, 0\n store i32 %sv_0.0.reload, i32* %rax.0.shrunk.reg2mem\n br i1 %39, label LBL_8, label LBL_7\n LBL_7:\n %40 = bitcast i32* %sv_2 to i64*\n %41 = call i64 @FUNC(i64 %37, i64 %38, i64* nonnull %40, i64 %20)\n %42 = trunc i64 %41 to i32\n %43 = call i64 @FUNC(i64 %38)\n store i32 %42, i32* %rax.0.shrunk.reg2mem\n br label LBL_8\n LBL_8:\n %rax.0.shrunk.reload = load i32, i32* %rax.0.shrunk.reg2mem\n %rax.0 = zext i32 %rax.0.shrunk.reload to i64\n ret i64 %rax.0\n\n uselistorder i64 %38, { 1, 0, 2 }\n uselistorder i32 %29, { 2, 0, 3, 1 }\n uselistorder i64 %.reload, { 1, 0 }\n uselistorder i32 %sv_0.0.reload, { 1, 0, 2 }\n uselistorder i64 %8, { 0, 2, 1 }\n uselistorder i32* %sv_2, { 3, 1, 2, 0 }\n uselistorder i64 %2, { 1, 0, 2 }\n uselistorder i32* %rax.0.shrunk.reg2mem, { 0, 2, 3, 4, 1, 5, 6, 7 }\n uselistorder i32 0, { 2, 3, 1, 4, 5, 0 }\n uselistorder label LBL_8, { 1, 3, 0, 4, 2, 5, 6 }\n }",861        "label": "0"862    },863    {864        "dataset": "CompRealVul",865        "file": "vcc_destroy_socket_8944",866        "fun_name": "vcc_destroy_socket",867        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = call i64 @FUNC(i64 0, i64 %1)\n %3 = call i64 @FUNC(i64 1, i64 %1)\n %4 = add i64 %1, 8\n %5 = inttoptr i64 %4 to i64*\n %6 = load i64, i64* %5, align 8\n %7 = icmp eq i64 %6, 0\n br i1 %7, label LBL_4, label LBL_1\n LBL_1:\n %8 = add i64 %1, 24\n %9 = inttoptr i64 %8 to i64*\n %10 = load i64, i64* %9, align 8\n %11 = call i64 @FUNC(i64 %10)\n %12 = call i64 @FUNC(i64 %0)\n %13 = icmp eq i64 %12, 0\n %14 = icmp eq i1 %13, false\n store i64 %12, i64* %.reg2mem\n br i1 %14, label LBL_2, label LBL_3\n LBL_2:\n %.reload = load i64, i64* %.reg2mem\n %15 = inttoptr i64 %.reload to i32*\n %16 = load i32, i32* %15, align 4\n %17 = zext i32 %16 to i64\n %18 = call i64 @FUNC(i64 %1, i64 %17)\n %19 = call i64 @FUNC(i64 %.reload)\n %20 = call i64 @FUNC(i64 %0)\n %21 = icmp eq i64 %20, 0\n %22 = icmp eq i1 %21, false\n store i64 %20, i64* %.reg2mem\n br i1 %22, label LBL_2, label LBL_3\n LBL_3:\n %23 = load i64, i64* %5, align 8\n %24 = inttoptr i64 %23 to i64*\n %25 = load i64, i64* %24, align 8\n %26 = add i64 %25, 8\n %27 = inttoptr i64 %26 to i64*\n %28 = load i64, i64* %27, align 8\n %29 = call i64 @FUNC(i64 %28)\n %30 = load i64, i64* %5, align 8\n %31 = call i64 @FUNC(i64 %30)\n br label LBL_4\n LBL_4:\n %32 = call i64 @FUNC(i64 %0)\n ret i64 %32\n\n uselistorder i64 %0, { 2, 1, 0, 3 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i1 false, { 1, 0 }\n uselistorder i64 (i64)* @skb_dequeue, { 1, 0 }\n uselistorder i64 (i64)* @module_put, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",868        "label": "0"869    },870    {871        "dataset": "CompRealVul",872        "file": "adx_decode_frame_4203",873        "fun_name": "adx_decode_frame",874        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i64 %arg2, i64* %arg3, i32* %arg4) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.315.reg2mem = alloca i16*\n %storemerge16.reg2mem = alloca i64\n %.in.reg2mem = alloca i32\n %.reg2mem29 = alloca i32\n %sv_0.2.reg2mem = alloca i16*\n %.reg2mem27 = alloca i32\n %sv_0.111.reg2mem = alloca i16*\n %storemerge612.reg2mem = alloca i32\n %.reg2mem25 = alloca i64\n %r8.0.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i16*\n %sv_1.0.reg2mem = alloca i32\n %.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %rdi = alloca i64, align 8\n %2 = load i64, i64* %0\n %rcx = alloca i64, align 8\n %3 = load i64, i64* %0\n %4 = ptrtoint i32* %arg1 to i64\n %sv_2 = alloca i32, align 4\n %5 = add i64 %4, 8\n %6 = inttoptr i64 %5 to i64*\n %7 = load i64, i64* %6, align 8\n %8 = add i64 %7, 4\n %9 = inttoptr i64 %8 to i32*\n %10 = load i32, i32* %9, align 4\n %11 = icmp eq i32 %10, 0\n br i1 %11, label LBL_2, label LBL_1\n LBL_1:\n %12 = bitcast i64* %arg3 to i32*\n store i32 0, i32* %12, align 4\n %13 = and i64 %3, 4294967295\n store i64 %13, i64* %rax.0.reg2mem\n br label LBL_23\n LBL_2:\n %14 = trunc i64 %3 to i32\n %15 = inttoptr i64 %7 to i32*\n %16 = ptrtoint i32* %arg4 to i64\n %17 = add i64 %16, 8\n %18 = inttoptr i64 %17 to i64*\n %19 = load i64, i64* %18, align 8\n %20 = inttoptr i64 %19 to i16*\n %21 = load i16, i16* %20, align 2\n %22 = icmp eq i16 %21, -32768\n %23 = icmp eq i1 %22, false\n br i1 %23, label LBL_2.LBL_8_crit_edge, label LBL_4\n LBL_3:\n %.pre = load i32, i32* %15, align 4\n store i32 %.pre, i32* %.reg2mem\n store i32 %14, i32* %sv_1.0.reg2mem\n store i16* %20, i16** %sv_0.0.reg2mem\n br label LBL_8\n LBL_4:\n %24 = add i64 %7, 24\n %25 = ptrtoint i32* %sv_2 to i64\n store i64 %25, i64* %rcx, align 8\n %26 = bitcast i32* %sv_2 to i64*\n %27 = call i64 @FUNC(i64 %4, i64 %19, i32 %14, i64* nonnull %26, i64 %24)\n %28 = trunc i64 %27 to i32\n %29 = icmp slt i32 %28, 0\n %30 = icmp eq i1 %29, false\n br i1 %30, label LBL_6, label LBL_5\n LBL_5:\n %31 = call i64 @FUNC(i64 %4, i64 0, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @gv_0, i64 0, i64 0), i64 %25, i64 %24, i64 %1)\n store i64 4294967295, i64* %rax.0.reg2mem\n br label LBL_23\n LBL_6:\n %32 = trunc i64 %2 to i32\n store i32 %32, i32* %15, align 4\n %33 = load i32, i32* %sv_2, align 4\n %34 = zext i32 %33 to i64\n %sext = mul i64 %3, 4294967296\n %35 = ashr exact i64 %sext, 32\n %36 = icmp slt i64 %35, %34\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %36, label LBL_23, label LBL_7\n LBL_7:\n %37 = sext i32 %33 to i64\n %38 = add i64 %19, %37\n %39 = inttoptr i64 %38 to i16*\n %40 = sub i32 %14, %33\n store i32 %32, i32* %.reg2mem\n store i32 %40, i32* %sv_1.0.reg2mem\n store i16* %39, i16** %sv_0.0.reg2mem\n store i64 %24, i64* %r8.0.reg2mem\n br label LBL_8\n LBL_8:\n %.reload = load i32, i32* %.reg2mem\n %41 = icmp eq i32 %.reload, 0\n %42 = icmp slt i32 %.reload, 0\n %43 = icmp eq i1 %42, false\n %44 = icmp eq i1 %41, false\n %45 = icmp eq i1 %43, %44\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %45, label LBL_9, label LBL_23\n LBL_9:\n %46 = bitcast i64* %rcx to i32*\n %sv_0.0.reload = load i16*, i16** %sv_0.0.reg2mem\n %sv_1.0.reload = load i32, i32* %sv_1.0.reg2mem\n %47 = mul i32 %.reload, 16\n %48 = ashr i32 %sv_1.0.reload, 31\n %49 = zext i32 %sv_1.0.reload to i64\n %50 = zext i32 %48 to i64\n %51 = mul i64 %50, 4294967296\n %52 = or i64 %51, %49\n %53 = zext i32 %47 to i64\n %54 = sdiv i64 %52, %53\n %55 = trunc i64 %54 to i32\n %56 = icmp eq i32 %55, 0\n br i1 %56, label LBL_11, label LBL_10\n LBL_10:\n %57 = bitcast i64* %rdi to i32*\n %58 = load i32, i32* %57, align 8\n %59 = mul i32 %58, 16\n %60 = zext i32 %59 to i64\n %61 = srem i64 %52, %60\n %62 = trunc i64 %61 to i32\n %63 = icmp eq i32 %62, 0\n br i1 %63, label LBL_14, label LBL_11\n LBL_11:\n %64 = icmp slt i32 %sv_1.0.reload, 4\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %64, label LBL_23, label LBL_12\n LBL_12:\n %65 = load i16, i16* %sv_0.0.reload, align 2\n %66 = icmp slt i16 %65, 0\n %67 = icmp eq i1 %66, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %67, label LBL_23, label LBL_13\n LBL_13:\n store i32 1, i32* %9, align 4\n %68 = bitcast i64* %arg3 to i32*\n store i32 0, i32* %68, align 4\n %69 = load i32, i32* %46, align 8\n %70 = zext i32 %69 to i64\n store i64 %70, i64* %rax.0.reg2mem\n br label LBL_23\n LBL_14:\n %r8.0.reload = load i64, i64* %r8.0.reg2mem\n %71 = mul i32 %55, 16\n %72 = add i64 %7, 8\n %73 = inttoptr i64 %72 to i32*\n store i32 %71, i32* %73, align 4\n store i64 %72, i64* %rcx, align 8\n %74 = trunc i64 %4 to i32\n %75 = icmp slt i32 %74, 0\n %76 = icmp eq i1 %75, false\n br i1 %76, label LBL_16, label LBL_15\n LBL_15:\n %77 = call i64 @FUNC(i64 %4, i64 0, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @gv_1, i64 0, i64 0), i64 %72, i64 %r8.0.reload, i64 %1)\n %78 = and i64 %4, 4294967295\n store i64 %78, i64* %rax.0.reg2mem\n br label LBL_23\n LBL_16:\n %79 = add i64 %7, 16\n %80 = inttoptr i64 %79 to i64*\n %81 = load i64, i64* %80, align 8\n %.pre20 = load i32, i32* %15, align 4\n store i32 %.pre20, i32* %.reg2mem29\n store i32 %55, i32* %.in.reg2mem\n store i64 %81, i64* %storemerge16.reg2mem\n store i16* %sv_0.0.reload, i16** %sv_0.315.reg2mem\n br label LBL_21\n LBL_17:\n %sv_0.111.reload = load i16*, i16** %sv_0.111.reg2mem\n %storemerge612.reload = load i32, i32* %storemerge612.reg2mem\n %.reload26 = load i64, i64* %.reg2mem25\n %82 = mul i64 %.reload26, 2\n %83 = add i64 %82, %storemerge16.reload\n %84 = ptrtoint i16* %sv_0.111.reload to i64\n %85 = call i64 @FUNC(i64 %7, i64 %83, i64 %84, i32 %storemerge612.reload)\n %86 = trunc i64 %85 to i32\n %87 = icmp eq i32 %86, 0\n br i1 %87, label LBL_19, label LBL_18\n LBL_18:\n store i32 1, i32* %9, align 4\n %88 = load i64, i64* %18, align 8\n %89 = load i32, i32* %46, align 8\n %90 = sext i32 %89 to i64\n %91 = add i64 %88, %90\n %92 = inttoptr i64 %91 to i16*\n %.pre21 = load i32, i32* %15, align 4\n store i32 %.pre21, i32* %.reg2mem27\n store i16* %92, i16** %sv_0.2.reg2mem\n br label LBL_20\n LBL_19:\n %93 = add i64 %84, 16\n %94 = inttoptr i64 %93 to i16*\n %95 = add i32 %storemerge612.reload, 1\n %96 = load i32, i32* %15, align 4\n %97 = zext i32 %96 to i64\n %98 = sext i32 %95 to i64\n %99 = icmp slt i64 %98, %97\n store i64 %98, i64* %.reg2mem25\n store i32 %95, i32* %storemerge612.reg2mem\n store i16* %94, i16** %sv_0.111.reg2mem\n store i32 %96, i32* %.reg2mem27\n store i16* %94, i16** %sv_0.2.reg2mem\n br i1 %99, label LBL_17, label LBL_20\n LBL_20:\n %100 = add i32 %.in.reload, -1\n %sv_0.2.reload = load i16*, i16** %sv_0.2.reg2mem\n %.reload28 = load i32, i32* %.reg2mem27\n %101 = mul i32 %.reload28, 16\n %102 = sext i32 %101 to i64\n %103 = mul i64 %102, 2\n %104 = add i64 %103, %storemerge16.reload\n %105 = icmp eq i32 %100, 0\n %106 = icmp eq i1 %105, false\n store i32 %.reload28, i32* %.reg2mem29\n store i32 %100, i32* %.in.reg2mem\n store i64 %104, i64* %storemerge16.reg2mem\n store i16* %sv_0.2.reload, i16** %sv_0.315.reg2mem\n br i1 %106, label LBL_21, label LBL_22\n LBL_21:\n %sv_0.315.reload = load i16*, i16** %sv_0.315.reg2mem\n %storemerge16.reload = load i64, i64* %storemerge16.reg2mem\n %.in.reload = load i32, i32* %.in.reg2mem\n %.reload30 = load i32, i32* %.reg2mem29\n %107 = icmp eq i32 %.reload30, 0\n store i64 0, i64* %.reg2mem25\n store i32 0, i32* %storemerge612.reg2mem\n store i16* %sv_0.315.reload, i16** %sv_0.111.reg2mem\n store i32 0, i32* %.reg2mem27\n store i16* %sv_0.315.reload, i16** %sv_0.2.reg2mem\n br i1 %107, label LBL_20, label LBL_17\n LBL_22:\n %108 = bitcast i64* %arg3 to i32*\n store i32 1, i32* %108, align 4\n %109 = load i64, i64* %80, align 8\n %110 = inttoptr i64 %72 to i64*\n %111 = load i64, i64* %110, align 8\n %112 = inttoptr i64 %arg2 to i64*\n store i64 %111, i64* %112, align 8\n %113 = add i64 %arg2, 8\n %114 = inttoptr i64 %113 to i64*\n store i64 %109, i64* %114, align 8\n %115 = load i64, i64* %18, align 8\n %116 = ptrtoint i16* %sv_0.2.reload to i64\n %117 = sub i64 %116, %115\n store i64 %117, i64* %rax.0.reg2mem\n br label LBL_23\n LBL_23:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i16* %sv_0.315.reload, { 1, 0 }\n uselistorder i16* %sv_0.2.reload, { 1, 0 }\n uselistorder i64 %72, { 1, 0, 2, 3 }\n uselistorder i32 %sv_1.0.reload, { 2, 0, 1 }\n uselistorder i32 %.reload, { 2, 1, 0 }\n uselistorder i32* %15, { 4, 0, 1, 3, 2 }\n uselistorder i32 %14, { 2, 1, 0 }\n uselistorder i32* %sv_2, { 1, 2, 0 }\n uselistorder i64 %4, { 4, 2, 3, 0, 1, 5 }\n uselistorder i64 %3, { 2, 0, 1 }\n uselistorder i64* %rcx, { 1, 2, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %.reg2mem25, { 1, 2, 0 }\n uselistorder i32* %storemerge612.reg2mem, { 1, 2, 0 }\n uselistorder i16** %sv_0.111.reg2mem, { 1, 2, 0 }\n uselistorder i32* %.reg2mem27, { 2, 0, 1, 3 }\n uselistorder i16** %sv_0.2.reg2mem, { 2, 0, 1, 3 }\n uselistorder i64* %rax.0.reg2mem, { 0, 8, 7, 9, 2, 1, 3, 4, 6, 5 }\n uselistorder i64* %0, { 2, 1, 0 }\n uselistorder i64 (i64, i64, i8*, i64, i64, i64)* @av_log, { 1, 0 }\n uselistorder i64 0, { 0, 7, 3, 4, 8, 5, 6, 1, 2, 9 }\n uselistorder i1 false, { 1, 2, 3, 4, 0, 5, 6 }\n uselistorder i32 0, { 0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13 }\n uselistorder label LBL_23, { 4, 5, 6, 1, 0, 2, 3, 7, 8 }\n uselistorder label LBL_21, { 1, 0 }\n uselistorder label LBL_20, { 1, 0, 2 }\n uselistorder label LBL_8, { 1, 0 }\n }",875        "label": "0"876    },877    {878        "dataset": "CompRealVul",879        "file": "DestroyPolygonInfo_8039",880        "fun_name": "DestroyPolygonInfo",881        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %.lcssa.reg2mem = alloca i64\n %storemerge2.reg2mem = alloca i64\n %.reg2mem = alloca i64\n %0 = icmp sgt i64 %arg1, 0\n %1 = add i64 %arg1, 8\n %2 = inttoptr i64 %1 to i64*\n %3 = load i64, i64* %2, align 8\n store i64 %3, i64* %.reg2mem\n store i64 0, i64* %storemerge2.reg2mem\n store i64 %3, i64* %.lcssa.reg2mem\n br i1 %0, label LBL_1, label LBL_2\n LBL_1:\n %storemerge2.reload = load i64, i64* %storemerge2.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %4 = mul i64 %storemerge2.reload, 8\n %5 = add i64 %4, %.reload\n %6 = inttoptr i64 %5 to i64*\n %7 = load i64, i64* %6, align 8\n %8 = call i64 @FUNC(i64 %7)\n store i64 %8, i64* %6, align 8\n %9 = add nuw nsw i64 %storemerge2.reload, 1\n %10 = icmp slt i64 %9, %7\n %11 = load i64, i64* %2, align 8\n store i64 %11, i64* %.reg2mem\n store i64 %9, i64* %storemerge2.reg2mem\n store i64 %11, i64* %.lcssa.reg2mem\n br i1 %10, label LBL_1, label LBL_2\n LBL_2:\n %.lcssa.reload = load i64, i64* %.lcssa.reg2mem\n %12 = call i64 @FUNC(i64 %.lcssa.reload)\n store i64 %12, i64* %2, align 8\n %13 = call i64 @FUNC(i64 %arg1)\n ret i64 %13\n\n uselistorder i64* %2, { 0, 2, 1 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i64* %storemerge2.reg2mem, { 2, 0, 1 }\n uselistorder i64 (i64)* @RelinquishMagickMemory, { 1, 0, 2 }\n uselistorder i32 1, { 2, 1, 0 }\n uselistorder i64 %arg1, { 1, 2, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",882        "label": "0"883    },884    {885        "dataset": "CompRealVul",886        "file": "fw_cfg_add_i16_441",887        "fun_name": "fw_cfg_add_i16",888        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = trunc i64 %arg2 to i16\n %2 = call i64 @FUNC(i64 2)\n %3 = urem i64 %arg3, 65536\n %4 = call i64 @FUNC(i64 %3)\n %5 = trunc i64 %4 to i16\n %6 = inttoptr i64 %2 to i16*\n store i16 %5, i16* %6, align 2\n %7 = call i64 @FUNC(i64 %0, i16 %1, i64 %2, i64 2)\n ret i64 %7\n }",889        "label": "0"890    },891    {892        "dataset": "CompRealVul",893        "file": "dv_decode_ac_16000",894        "fun_name": "dv_decode_ac",895        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i64* %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %sv_0.1.reg2mem = alloca i32\n %sv_1.0.reg2mem = alloca i32\n %sv_0.0.reg2mem = alloca i32\n %sv_1.0.ph.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = ptrtoint i64* %arg2 to i64\n %4 = add i64 %3, 8\n %5 = inttoptr i64 %4 to i64*\n %6 = load i64, i64* %5, align 8\n %7 = add i64 %3, 16\n %8 = inttoptr i64 %7 to i32*\n %9 = load i32, i32* %8, align 4\n %10 = add i64 %3, 20\n %11 = inttoptr i64 %10 to i32*\n %12 = load i32, i32* %11, align 4\n %13 = icmp slt i32 %12, 1\n store i32 0, i32* %sv_1.0.ph.reg2mem\n br i1 %13, label LBL_2, label LBL_1\n LBL_1:\n %14 = sub i32 0, %12\n store i32 0, i32* %11, align 4\n store i32 %14, i32* %sv_1.0.ph.reg2mem\n br label LBL_2\n LBL_2:\n %15 = ptrtoint i64* %arg3 to i64\n %16 = trunc i64 %2 to i32\n %sv_1.0.ph.reload = load i32, i32* %sv_1.0.ph.reg2mem\n %sext = mul i64 %2, 4294967296\n %17 = ashr exact i64 %sext, 32\n store i32 %9, i32* %sv_0.0.reg2mem\n store i32 %sv_1.0.ph.reload, i32* %sv_1.0.reg2mem\n br label LBL_3\n LBL_3:\n %sv_1.0.reload = load i32, i32* %sv_1.0.reg2mem\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %18 = zext i32 %sv_1.0.reload to i64\n %19 = zext i32 %sv_0.0.reload to i64\n %20 = call i64 @FUNC(i64 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @gv_0, i64 0, i64 0), i64 %19, i64 0, i64 %18, i64 %1)\n %21 = load i32, i32* bitcast (i32** @gv_1 to i32*), align 8\n %22 = icmp slt i32 %21, 0\n %23 = icmp eq i1 %22, false\n %24 = sub i32 0, %21\n %sv_2.0 = select i1 %23, i32 %21, i32 %24\n %25 = add i32 %sv_2.0, %sv_1.0.reload\n %26 = zext i32 %25 to i64\n %27 = icmp slt i64 %17, %26\n br i1 %27, label LBL_4, label LBL_5\n LBL_4:\n %28 = sub i32 %16, %sv_1.0.reload\n store i32 %28, i32* %11, align 4\n %29 = add i64 %3, 24\n %30 = inttoptr i64 %29 to i32*\n store i32 0, i32* %30, align 4\n store i32 %sv_0.0.reload, i32* %sv_0.1.reg2mem\n br label LBL_7\n LBL_5:\n %31 = load i32, i32* bitcast (i32** @gv_2 to i32*), align 8\n %32 = sext i32 %31 to i64\n %.op = mul nsw i64 %32, 12\n %33 = select i1 %23, i64 0, i64 %.op\n %34 = add i64 %33, ptrtoint (i32** @gv_2 to i64)\n %35 = inttoptr i64 %34 to i32*\n %36 = load i32, i32* %35, align 4\n %37 = add i64 %33, ptrtoint (i32** @gv_3 to i64)\n %38 = inttoptr i64 %37 to i32*\n %39 = load i32, i32* %38, align 4\n %40 = zext i32 %36 to i64\n %41 = zext i32 %39 to i64\n %42 = call i64 @FUNC(i64 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @gv_4, i64 0, i64 0), i64 %41, i64 %40, i64 %18, i64 %1)\n %43 = add i32 %39, %sv_0.0.reload\n %44 = icmp sgt i32 %43, 63\n store i32 %43, i32* %sv_0.1.reg2mem\n br i1 %44, label LBL_7, label LBL_6\n LBL_6:\n %45 = sext i32 %43 to i64\n %46 = mul i64 %45, 4\n %47 = add i64 %46, %6\n %48 = inttoptr i64 %47 to i32*\n %49 = load i32, i32* %48, align 4\n %50 = mul i32 %49, %36\n %51 = xor i32 %50, -2147483648\n %52 = add i64 %45, %3\n %53 = inttoptr i64 %52 to i8*\n %54 = load i8, i8* %53, align 1\n %55 = zext i8 %54 to i64\n %56 = mul i64 %55, 4\n %57 = add i64 %56, %15\n %58 = inttoptr i64 %57 to i32*\n store i32 %51, i32* %58, align 4\n store i32 %43, i32* %sv_0.0.reg2mem\n store i32 %25, i32* %sv_1.0.reg2mem\n br label LBL_3\n LBL_7:\n %sv_0.1.reload = load i32, i32* %sv_0.1.reg2mem\n store i32 %sv_0.1.reload, i32* %8, align 4\n ret i64 %3\n\n uselistorder i64 %45, { 1, 0 }\n uselistorder i32 %43, { 1, 2, 0, 3 }\n uselistorder i64 %33, { 1, 0 }\n uselistorder i32 %sv_0.0.reload, { 2, 0, 1 }\n uselistorder i32 %sv_1.0.reload, { 2, 1, 0 }\n uselistorder i32* %11, { 1, 0, 2 }\n uselistorder i64 %3, { 1, 0, 2, 3, 4, 5 }\n uselistorder i64 %2, { 1, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i32* %sv_1.0.ph.reg2mem, { 0, 2, 1 }\n uselistorder i32* %sv_0.0.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_1.0.reg2mem, { 2, 0, 1 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i32** @gv_2, { 1, 0 }\n uselistorder i64 (i64, i8*, i64, i64, i64, i64)* @av_dlog, { 1, 0 }\n uselistorder label LBL_3, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",896        "label": "1"897    },898    {899        "dataset": "CompRealVul",900        "file": "gf_m4a_get_profile_name_66",901        "fun_name": "gf_m4a_get_profile_name",902        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %0 = trunc i64 %arg1 to i32\n %1 = urem i32 %0, 256\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_1\n LBL_1:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %2 = mul i64 %indvars.iv.reload, 16\n %3 = add i64 %2, ptrtoint (i32** @gv_0 to i64)\n %4 = inttoptr i64 %3 to i32*\n %5 = load i32, i32* %4, align 8\n %6 = icmp eq i32 %1, %5\n %7 = icmp eq i1 %6, false\n br i1 %7, label LBL_3, label LBL_2\n LBL_2:\n %8 = add i64 %2, ptrtoint ([10 x i8]** @gv_1 to i64)\n %9 = inttoptr i64 %8 to i64*\n %10 = load i64, i64* %9, align 8\n store i64 %10, i64* %storemerge.reg2mem\n br label LBL_4\n LBL_3:\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %11 = icmp ult i64 %indvars.iv.next, 3\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n store i64 ptrtoint ([28 x i8]* @gv_2 to i64), i64* %storemerge.reg2mem\n br i1 %11, label LBL_1, label LBL_4\n LBL_4:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %2, { 1, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i32 1, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",903        "label": "0"904    },905    {906        "dataset": "CompRealVul",907        "file": "nfs_writehdr_alloc_8675",908        "fun_name": "nfs_writehdr_alloc",909        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %0 = load i64, i64* @gv_0, align 8\n %1 = call i64 @FUNC(i64 %0, i64 0)\n %2 = icmp eq i64 %1, 0\n br i1 %2, label LBL_2, label LBL_1\n LBL_1:\n %3 = inttoptr i64 %1 to i64*\n %4 = call i64* @memset(i64* %3, i32 0, i32 56)\n %5 = call i64 @FUNC(i64 %1)\n %6 = add i64 %1, 16\n %7 = call i64 @FUNC(i64 %6)\n %8 = add i64 %1, 32\n %9 = call i64 @FUNC(i64 %8)\n %10 = add i64 %1, 36\n %11 = call i64 @FUNC(i64 %10, i64 0)\n %12 = add i64 %1, 48\n %13 = add i64 %1, 40\n %14 = inttoptr i64 %13 to i64*\n store i64 %12, i64* %14, align 8\n br label LBL_2\n LBL_2:\n ret i64 %1\n\n uselistorder i64 %1, { 3, 2, 0, 1, 7, 6, 5, 4, 8 }\n uselistorder i64 (i64)* @INIT_LIST_HEAD, { 1, 0 }\n }",910        "label": "0"911    },912    {913        "dataset": "CompRealVul",914        "file": "cifs_set_vol_auth_7928",915        "fun_name": "cifs_set_vol_auth",916        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = trunc i64 %1 to i32\n %3 = and i64 %1, 4294967295\n store i64 %3, i64* @0, align 8\n switch i32 %2, label LBL_6 [\n i32 0, label LBL_1\n i32 1, label LBL_2\n i32 2, label LBL_3\n i32 3, label LBL_4\n i32 4, label LBL_5\n ]\n LBL_1:\n %4 = bitcast i64* %arg1 to i32*\n store i32 1, i32* %4, align 4\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_7\n LBL_2:\n %5 = bitcast i64* %arg1 to i32*\n store i32 2, i32* %5, align 4\n br label LBL_6\n LBL_3:\n %6 = bitcast i64* %arg1 to i32*\n store i32 3, i32* %6, align 4\n br label LBL_6\n LBL_4:\n %7 = bitcast i64* %arg1 to i32*\n store i32 4, i32* %7, align 4\n br label LBL_6\n LBL_5:\n %8 = bitcast i64* %arg1 to i32*\n store i32 5, i32* %8, align 4\n br label LBL_6\n LBL_6:\n %9 = ptrtoint i64* %arg2 to i64\n %10 = ptrtoint i64* %arg1 to i64\n %11 = call i64 @FUNC(i64 %10, i64 %9)\n store i64 %11, i64* %storemerge.reg2mem\n br label LBL_7\n LBL_7:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %1, { 1, 0 }\n uselistorder i32 4, { 1, 0 }\n uselistorder i32 3, { 1, 0 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i64* %arg1, { 5, 4, 3, 2, 1, 0 }\n uselistorder label LBL_7, { 1, 0 }\n }",917        "label": "0"918    },919    {920        "dataset": "CompRealVul",921        "file": "check_unique_ts_10800",922        "fun_name": "check_unique_ts",923        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %sv_0.1.lcssa8.reg2mem = alloca i32\n %sv_0.1.lcssa7.reg2mem = alloca i32\n %sv_1.1.lcssa9.reg2mem = alloca i64\n %rdi.1.lcssa10.reg2mem = alloca i64\n %rdi.0.reg2mem = alloca i64\n %sv_1.0.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i32\n %sv_0.11.reg2mem = alloca i32\n %sv_1.12.reg2mem = alloca i64\n %rdi.13.reg2mem = alloca i64\n %storemerge4.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = load i64, i64* @gv_0, align 8\n %3 = icmp eq i64 %2, 0\n %4 = icmp eq i1 %3, false\n %5 = add i64 %1, 8\n %6 = inttoptr i64 %5 to i64*\n store i64 %2, i64* %storemerge4.reg2mem\n store i64 %1, i64* %rdi.13.reg2mem\n store i64 ptrtoint (i64* @gv_1 to i64), i64* %sv_1.12.reg2mem\n store i32 1, i32* %sv_0.11.reg2mem\n store i64 %1, i64* %rdi.1.lcssa10.reg2mem\n store i64 ptrtoint (i64* @gv_1 to i64), i64* %sv_1.1.lcssa9.reg2mem\n store i32 1, i32* %sv_0.1.lcssa7.reg2mem\n br i1 %4, label LBL_1, label LBL_7\n LBL_1:\n %sv_0.11.reload = load i32, i32* %sv_0.11.reg2mem\n %sv_1.12.reload = load i64, i64* %sv_1.12.reg2mem\n %storemerge4.reload = load i64, i64* %storemerge4.reg2mem\n %7 = add i64 %storemerge4.reload, 16\n %8 = inttoptr i64 %7 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = inttoptr i64 %storemerge4.reload to i64*\n %11 = load i64, i64* %10, align 8\n %12 = sub i64 %0, %11\n %13 = icmp slt i64 %12, 6\n br i1 %13, label LBL_3, label LBL_2\n LBL_2:\n %14 = call i64 @FUNC(i64 %storemerge4.reload)\n %15 = add i64 %sv_1.12.reload, 16\n %16 = inttoptr i64 %15 to i64*\n store i64 %9, i64* %16, align 8\n store i32 %sv_0.11.reload, i32* %sv_0.0.reg2mem\n store i64 %sv_1.12.reload, i64* %sv_1.0.reg2mem\n store i64 %storemerge4.reload, i64* %rdi.0.reg2mem\n br label LBL_5\n LBL_3:\n %rdi.13.reload = load i64, i64* %rdi.13.reg2mem\n %17 = add i64 %sv_1.12.reload, 16\n %18 = inttoptr i64 %17 to i64*\n store i64 %storemerge4.reload, i64* %18, align 8\n %19 = load i64, i64* %10, align 8\n %20 = icmp eq i64 %19, %rdi.13.reload\n %21 = icmp eq i1 %20, false\n store i32 %sv_0.11.reload, i32* %sv_0.0.reg2mem\n store i64 %storemerge4.reload, i64* %sv_1.0.reg2mem\n store i64 %rdi.13.reload, i64* %rdi.0.reg2mem\n br i1 %21, label LBL_5, label LBL_4\n LBL_4:\n %22 = add i64 %storemerge4.reload, 8\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %25 = load i64, i64* %6, align 8\n %26 = icmp eq i64 %24, %25\n %27 = icmp eq i1 %26, false\n %spec.select = select i1 %27, i32 %sv_0.11.reload, i32 0\n store i32 %spec.select, i32* %sv_0.0.reg2mem\n store i64 %storemerge4.reload, i64* %sv_1.0.reg2mem\n store i64 %rdi.13.reload, i64* %rdi.0.reg2mem\n br label LBL_5\n LBL_5:\n %rdi.0.reload = load i64, i64* %rdi.0.reg2mem\n %sv_1.0.reload = load i64, i64* %sv_1.0.reg2mem\n %sv_0.0.reload = load i32, i32* %sv_0.0.reg2mem\n %28 = icmp eq i64 %9, 0\n %29 = icmp eq i1 %28, false\n store i64 %9, i64* %storemerge4.reg2mem\n store i64 %rdi.0.reload, i64* %rdi.13.reg2mem\n store i64 %sv_1.0.reload, i64* %sv_1.12.reg2mem\n store i32 %sv_0.0.reload, i32* %sv_0.11.reg2mem\n br i1 %29, label LBL_1, label LBL_6\n LBL_6:\n %30 = icmp eq i32 %sv_0.0.reload, 0\n store i64 %rdi.0.reload, i64* %rdi.1.lcssa10.reg2mem\n store i64 %sv_1.0.reload, i64* %sv_1.1.lcssa9.reg2mem\n store i32 %sv_0.0.reload, i32* %sv_0.1.lcssa7.reg2mem\n store i32 0, i32* %sv_0.1.lcssa8.reg2mem\n br i1 %30, label LBL_8, label LBL_7\n LBL_7:\n %sv_0.1.lcssa7.reload = load i32, i32* %sv_0.1.lcssa7.reg2mem\n %sv_1.1.lcssa9.reload = load i64, i64* %sv_1.1.lcssa9.reg2mem\n %rdi.1.lcssa10.reload = load i64, i64* %rdi.1.lcssa10.reg2mem\n %31 = call i64 @FUNC()\n %32 = add i64 %sv_1.1.lcssa9.reload, 16\n %33 = inttoptr i64 %32 to i64*\n store i64 %31, i64* %33, align 8\n %34 = add i64 %31, 16\n %35 = inttoptr i64 %34 to i64*\n store i64 0, i64* %35, align 8\n %36 = load i64, i64* %6, align 8\n %37 = inttoptr i64 %31 to i64*\n store i64 %rdi.1.lcssa10.reload, i64* %37, align 8\n %38 = add i64 %31, 8\n %39 = inttoptr i64 %38 to i64*\n store i64 %36, i64* %39, align 8\n store i32 %sv_0.1.lcssa7.reload, i32* %sv_0.1.lcssa8.reg2mem\n br label LBL_8\n LBL_8:\n %sv_0.1.lcssa8.reload = load i32, i32* %sv_0.1.lcssa8.reg2mem\n %40 = zext i32 %sv_0.1.lcssa8.reload to i64\n ret i64 %40\n\n uselistorder i64 %31, { 1, 0, 2, 3 }\n uselistorder i64 %storemerge4.reload, { 1, 4, 2, 5, 0, 3, 7, 6 }\n uselistorder i64 %sv_1.12.reload, { 2, 0, 1 }\n uselistorder i32 %sv_0.11.reload, { 2, 1, 0 }\n uselistorder i64* %storemerge4.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rdi.13.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_1.12.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_0.11.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_0.0.reg2mem, { 0, 1, 3, 2 }\n uselistorder i64* %sv_1.0.reg2mem, { 0, 1, 3, 2 }\n uselistorder i64* %rdi.0.reg2mem, { 0, 1, 3, 2 }\n uselistorder i64* %rdi.1.lcssa10.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_1.1.lcssa9.reg2mem, { 0, 2, 1 }\n uselistorder i32* %sv_0.1.lcssa7.reg2mem, { 0, 2, 1 }\n uselistorder i32* %sv_0.1.lcssa8.reg2mem, { 0, 2, 1 }\n uselistorder i64 16, { 3, 4, 0, 1, 2 }\n uselistorder i64 8, { 2, 1, 0 }\n uselistorder i1 false, { 3, 1, 2, 0 }\n uselistorder label LBL_7, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",924        "label": "0"925    },926    {927        "dataset": "CompRealVul",928        "file": "PSDBlendModeToCompositeOperator_8505",929        "fun_name": "PSDBlendModeToCompositeOperator",930        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = icmp eq i64 %arg1, 0\n %1 = icmp eq i1 %0, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %1, label LBL_1, label LBL_24\n LBL_1:\n %2 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_0, i64 0, i64 0), i64 4)\n %3 = trunc i64 %2 to i32\n %4 = icmp eq i32 %3, 0\n %5 = icmp eq i1 %4, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %5, label LBL_2, label LBL_24\n LBL_2:\n %6 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_1, i64 0, i64 0), i64 4)\n %7 = trunc i64 %6 to i32\n %8 = icmp eq i32 %7, 0\n %9 = icmp eq i1 %8, false\n store i64 1, i64* %rax.0.reg2mem\n br i1 %9, label LBL_3, label LBL_24\n LBL_3:\n %10 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_2, i64 0, i64 0), i64 4)\n %11 = trunc i64 %10 to i32\n %12 = icmp eq i32 %11, 0\n %13 = icmp eq i1 %12, false\n store i64 2, i64* %rax.0.reg2mem\n br i1 %13, label LBL_4, label LBL_24\n LBL_4:\n %14 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_3, i64 0, i64 0), i64 4)\n %15 = trunc i64 %14 to i32\n %16 = icmp eq i32 %15, 0\n %17 = icmp eq i1 %16, false\n store i64 3, i64* %rax.0.reg2mem\n br i1 %17, label LBL_5, label LBL_24\n LBL_5:\n %18 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_4, i64 0, i64 0), i64 4)\n %19 = trunc i64 %18 to i32\n %20 = icmp eq i32 %19, 0\n %21 = icmp eq i1 %20, false\n store i64 4, i64* %rax.0.reg2mem\n br i1 %21, label LBL_6, label LBL_24\n LBL_6:\n %22 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_5, i64 0, i64 0), i64 4)\n %23 = trunc i64 %22 to i32\n %24 = icmp eq i32 %23, 0\n %25 = icmp eq i1 %24, false\n store i64 5, i64* %rax.0.reg2mem\n br i1 %25, label LBL_7, label LBL_24\n LBL_7:\n %26 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_6, i64 0, i64 0), i64 4)\n %27 = trunc i64 %26 to i32\n %28 = icmp eq i32 %27, 0\n %29 = icmp eq i1 %28, false\n store i64 6, i64* %rax.0.reg2mem\n br i1 %29, label LBL_8, label LBL_24\n LBL_8:\n %30 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_7, i64 0, i64 0), i64 4)\n %31 = trunc i64 %30 to i32\n %32 = icmp eq i32 %31, 0\n %33 = icmp eq i1 %32, false\n store i64 7, i64* %rax.0.reg2mem\n br i1 %33, label LBL_9, label LBL_24\n LBL_9:\n %34 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_8, i64 0, i64 0), i64 4)\n %35 = trunc i64 %34 to i32\n %36 = icmp eq i32 %35, 0\n %37 = icmp eq i1 %36, false\n store i64 8, i64* %rax.0.reg2mem\n br i1 %37, label LBL_10, label LBL_24\n LBL_10:\n %38 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_9, i64 0, i64 0), i64 4)\n %39 = trunc i64 %38 to i32\n %40 = icmp eq i32 %39, 0\n %41 = icmp eq i1 %40, false\n store i64 9, i64* %rax.0.reg2mem\n br i1 %41, label LBL_11, label LBL_24\n LBL_11:\n %42 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_10, i64 0, i64 0), i64 4)\n %43 = trunc i64 %42 to i32\n %44 = icmp eq i32 %43, 0\n %45 = icmp eq i1 %44, false\n store i64 10, i64* %rax.0.reg2mem\n br i1 %45, label LBL_12, label LBL_24\n LBL_12:\n %46 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_11, i64 0, i64 0), i64 4)\n %47 = trunc i64 %46 to i32\n %48 = icmp eq i32 %47, 0\n %49 = icmp eq i1 %48, false\n store i64 11, i64* %rax.0.reg2mem\n br i1 %49, label LBL_13, label LBL_24\n LBL_13:\n %50 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_12, i64 0, i64 0), i64 4)\n %51 = trunc i64 %50 to i32\n %52 = icmp eq i32 %51, 0\n %53 = icmp eq i1 %52, false\n store i64 12, i64* %rax.0.reg2mem\n br i1 %53, label LBL_14, label LBL_24\n LBL_14:\n %54 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_13, i64 0, i64 0), i64 4)\n %55 = trunc i64 %54 to i32\n %56 = icmp eq i32 %55, 0\n %57 = icmp eq i1 %56, false\n store i64 13, i64* %rax.0.reg2mem\n br i1 %57, label LBL_15, label LBL_24\n LBL_15:\n %58 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_14, i64 0, i64 0), i64 4)\n %59 = trunc i64 %58 to i32\n %60 = icmp eq i32 %59, 0\n %61 = icmp eq i1 %60, false\n store i64 14, i64* %rax.0.reg2mem\n br i1 %61, label LBL_16, label LBL_24\n LBL_16:\n %62 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_15, i64 0, i64 0), i64 4)\n %63 = trunc i64 %62 to i32\n %64 = icmp eq i32 %63, 0\n %65 = icmp eq i1 %64, false\n store i64 15, i64* %rax.0.reg2mem\n br i1 %65, label LBL_17, label LBL_24\n LBL_17:\n %66 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_16, i64 0, i64 0), i64 4)\n %67 = trunc i64 %66 to i32\n %68 = icmp eq i32 %67, 0\n %69 = icmp eq i1 %68, false\n store i64 16, i64* %rax.0.reg2mem\n br i1 %69, label LBL_18, label LBL_24\n LBL_18:\n %70 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_17, i64 0, i64 0), i64 4)\n %71 = trunc i64 %70 to i32\n %72 = icmp eq i32 %71, 0\n %73 = icmp eq i1 %72, false\n store i64 17, i64* %rax.0.reg2mem\n br i1 %73, label LBL_19, label LBL_24\n LBL_19:\n %74 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_18, i64 0, i64 0), i64 4)\n %75 = trunc i64 %74 to i32\n %76 = icmp eq i32 %75, 0\n %77 = icmp eq i1 %76, false\n store i64 18, i64* %rax.0.reg2mem\n br i1 %77, label LBL_20, label LBL_24\n LBL_20:\n %78 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_19, i64 0, i64 0), i64 4)\n %79 = trunc i64 %78 to i32\n %80 = icmp eq i32 %79, 0\n %81 = icmp eq i1 %80, false\n store i64 19, i64* %rax.0.reg2mem\n br i1 %81, label LBL_21, label LBL_24\n LBL_21:\n %82 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_20, i64 0, i64 0), i64 4)\n %83 = trunc i64 %82 to i32\n %84 = icmp eq i32 %83, 0\n %85 = icmp eq i1 %84, false\n store i64 20, i64* %rax.0.reg2mem\n br i1 %85, label LBL_22, label LBL_24\n LBL_22:\n %86 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_21, i64 0, i64 0), i64 4)\n %87 = trunc i64 %86 to i32\n %88 = icmp eq i32 %87, 0\n %89 = icmp eq i1 %88, false\n store i64 21, i64* %rax.0.reg2mem\n br i1 %89, label LBL_23, label LBL_24\n LBL_23:\n %90 = call i64 @FUNC(i64 %arg1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @gv_22, i64 0, i64 0), i64 4)\n %91 = trunc i64 %90 to i32\n %92 = icmp eq i32 %91, 0\n %93 = icmp eq i1 %92, false\n %. = select i1 %93, i64 0, i64 22\n store i64 %., i64* %rax.0.reg2mem\n br label LBL_24\n LBL_24:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 (i64, i8*, i64)* @LocaleNCompare, { 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }\n uselistorder i64 4, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 20, 21, 22, 23 }\n }",931        "label": "0"932    },933    {934        "dataset": "CompRealVul",935        "file": "nvmet_req_init_4002",936        "fun_name": "nvmet_req_init",937        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64* %arg3, i64* %arg4) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg4 to i64\n %1 = ptrtoint i64* %arg3 to i64\n %2 = ptrtoint i64* %arg2 to i64\n %3 = ptrtoint i64* %arg1 to i64\n %4 = add i64 %3, 8\n %5 = inttoptr i64 %4 to i64*\n store i64 %2, i64* %5, align 8\n %6 = add i64 %3, 16\n %7 = inttoptr i64 %6 to i64*\n store i64 %1, i64* %7, align 8\n %8 = add i64 %3, 24\n %9 = inttoptr i64 %8 to i64*\n store i64 %0, i64* %9, align 8\n %10 = add i64 %3, 32\n %11 = inttoptr i64 %10 to i64*\n store i64 0, i64* %11, align 8\n %12 = add i64 %3, 40\n %13 = inttoptr i64 %12 to i32*\n store i32 0, i32* %13, align 4\n %14 = add i64 %3, 44\n %15 = inttoptr i64 %14 to i32*\n store i32 0, i32* %15, align 4\n %16 = add i64 %3, 48\n %17 = inttoptr i64 %16 to i64*\n %18 = load i64, i64* %17, align 8\n %19 = inttoptr i64 %18 to i16*\n store i16 0, i16* %19, align 2\n %20 = add i64 %3, 56\n %21 = inttoptr i64 %20 to i64*\n store i64 0, i64* %21, align 8\n %22 = call i64 @FUNC(i64 %3, i64 96)\n ret i64 0\n }",938        "label": "0"939    },940    {941        "dataset": "CompRealVul",942        "file": "ebml_read_binary_14750",943        "fun_name": "ebml_read_binary",944        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg3 to i64\n %sext = mul i64 %arg2, 4294967296\n %1 = ashr exact i64 %sext, 32\n %2 = call i64 @FUNC(i64 %0)\n %3 = call i64 @FUNC(i64 %1)\n store i64 %3, i64* %arg3, align 8\n %4 = icmp eq i64* %arg3, null\n %5 = icmp eq i1 %4, false\n store i64 4294967284, i64* %rax.0.reg2mem\n br i1 %5, label LBL_1, label LBL_3\n LBL_1:\n %6 = ptrtoint i64* %arg1 to i64\n %7 = trunc i64 %1 to i32\n %8 = add i64 %0, 8\n %9 = inttoptr i64 %8 to i32*\n store i32 %7, i32* %9, align 4\n %10 = call i64 @FUNC(i64 %6)\n %11 = trunc i64 %10 to i32\n %12 = add i64 %0, 12\n %13 = inttoptr i64 %12 to i32*\n store i32 %11, i32* %13, align 4\n %14 = call i64 @FUNC(i64 %6, i64 %0, i32 %7)\n %15 = trunc i64 %14 to i32\n %16 = icmp eq i32 %7, %15\n store i64 0, i64* %rax.0.reg2mem\n br i1 %16, label LBL_3, label LBL_2\n LBL_2:\n %17 = call i64 @FUNC(i64 %0)\n store i64 4294967291, i64* %rax.0.reg2mem\n br label LBL_3\n LBL_3:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %7, { 1, 0, 2 }\n uselistorder i64 %0, { 0, 2, 1, 3, 4 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 1, 2 }\n uselistorder label LBL_3, { 2, 0, 1 }\n }",945        "label": "1"946    },947    {948        "dataset": "CompRealVul",949        "file": "ssl_renegotiate_9418",950        "fun_name": "ssl_renegotiate",951        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = call i64 @FUNC(i64 2, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @gv_0, i64 0, i64 0))\n %3 = trunc i64 %1 to i32\n %4 = icmp eq i32 %3, 1\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %4, label LBL_1, label LBL_6\n LBL_1:\n store i32 2, i32* %arg1, align 4\n %5 = ptrtoint i32* %arg1 to i64\n %6 = add i64 %5, 4\n %7 = inttoptr i64 %6 to i32*\n store i32 3, i32* %7, align 4\n %8 = call i64 @FUNC(i64 %5)\n %9 = trunc i64 %8 to i32\n %10 = icmp eq i32 %9, 0\n br i1 %10, label LBL_3, label LBL_2\n LBL_2:\n %11 = and i64 %8, 4294967295\n store i64 %11, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_3:\n %12 = call i64 @FUNC(i64 %5)\n %13 = trunc i64 %12 to i32\n %14 = icmp eq i32 %13, 0\n br i1 %14, label LBL_5, label LBL_4\n LBL_4:\n %15 = and i64 %12, 4294967295\n %16 = call i64 @FUNC(i64 1, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @gv_1, i64 0, i64 0), i64 %15)\n store i64 %15, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_5:\n %17 = call i64 @FUNC(i64 2, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @gv_2, i64 0, i64 0))\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_6\n LBL_6:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %rax.0.reg2mem, { 0, 4, 3, 2, 1 }\n uselistorder i32 2, { 1, 0 }\n uselistorder i64 (i64, i8*)* @SSL_DEBUG_MSG, { 1, 0 }\n uselistorder i32* %arg1, { 1, 0 }\n uselistorder label LBL_6, { 1, 2, 3, 0 }\n }",952        "label": "0"953    },954    {955        "dataset": "CompRealVul",956        "file": "fuse_readdir_7233",957        "fun_name": "fuse_readdir",958        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %sv_0.1.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %3 = call i64 @FUNC(i64 %2)\n %4 = call i64 @FUNC(i64 %3)\n %5 = trunc i64 %4 to i32\n %6 = icmp eq i32 %5, 0\n store i64 2, i64* %storemerge.reg2mem\n br i1 %6, label LBL_1, label LBL_5\n LBL_1:\n %7 = ptrtoint i64* %arg2 to i64\n %8 = add i64 %2, 4\n %9 = call i64 @FUNC(i64 %8)\n %10 = urem i64 %1, 2\n %11 = icmp eq i64 %10, 0\n br i1 %11, label LBL_3, label LBL_2\n LBL_2:\n %12 = call i64 @FUNC(i64 %2, i64 %7)\n %13 = trunc i64 %12 to i32\n %14 = icmp eq i32 %13, -1\n %15 = icmp eq i1 %14, false\n store i64 %12, i64* %sv_0.1.reg2mem\n br i1 %15, label LBL_4, label LBL_3\n LBL_3:\n %16 = call i64 @FUNC(i64 %2, i64 %7)\n store i64 %16, i64* %sv_0.1.reg2mem\n br label LBL_4\n LBL_4:\n %sv_0.1.reload = load i64, i64* %sv_0.1.reg2mem\n %17 = call i64 @FUNC(i64 %8)\n %18 = and i64 %sv_0.1.reload, 4294967295\n store i64 %18, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %7, { 1, 0 }\n uselistorder i64 %2, { 1, 0, 2, 3 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64 2, { 1, 0 }\n uselistorder label LBL_5, { 1, 0 }\n uselistorder label LBL_3, { 1, 0 }\n }",959        "label": "0"960    },961    {962        "dataset": "CompRealVul",963        "file": "FixExtensionMap_5875",964        "fun_name": "FixExtensionMap",965        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %storemerge.lcssa.reg2mem = alloca i32\n %sv_0.0.lcssa.reg2mem = alloca i32\n %sv_0.05.reg2mem = alloca i32\n %.reg2mem = alloca i16\n %indvars.iv.reg2mem = alloca i64\n %rdi = alloca i64, align 8\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %3 = add i64 %2, 4\n %4 = inttoptr i64 %3 to i32*\n %5 = load i32, i32* %4, align 4\n %6 = urem i32 %5, 4\n %7 = icmp eq i32 %6, 0\n br i1 %7, label LBL_2, label LBL_1\n LBL_1:\n %8 = zext i32 %5 to i64\n %9 = and i64 %1, 4294967295\n %10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @gv_0, i64 0, i64 0), i64 %9, i64 %8)\n call void @exit(i32 255)\n unreachable\n LBL_2:\n %11 = icmp sgt i32 %5, 212\n br i1 %11, label LBL_4, label LBL_3\n LBL_3:\n %12 = zext i32 %5 to i64\n %13 = and i64 %1, 4294967295\n %14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @gv_1, i64 0, i64 0), i64 %13, i64 %12)\n call void @exit(i32 255)\n unreachable\n LBL_4:\n %15 = sext i32 %5 to i64\n %16 = add nsw i64 %15, 8589934380\n %17 = udiv i64 %16, 2\n %18 = trunc i64 %17 to i32\n %19 = add i64 %2, 12\n %20 = inttoptr i64 %19 to i16*\n %21 = load i16, i16* %20, align 2\n %22 = icmp eq i16 %21, 0\n %23 = icmp slt i32 %18, 0\n %or.cond4 = or i1 %23, %22\n store i32 0, i32* %sv_0.0.lcssa.reg2mem\n store i32 0, i32* %storemerge.lcssa.reg2mem\n br i1 %or.cond4, label LBL_10, label LBL_5\n LBL_5:\n %sext = mul i64 %17, 4294967296\n %24 = ashr exact i64 %sext, 32\n store i64 0, i64* %indvars.iv.reg2mem\n store i16 %21, i16* %.reg2mem\n store i32 0, i32* %sv_0.05.reg2mem\n br label LBL_6\n LBL_6:\n %.reload = load i16, i16* %.reg2mem\n %25 = icmp ult i16 %.reload, 101\n %26 = zext i16 %.reload to i64\n br i1 %25, label LBL_8, label LBL_7\n LBL_7:\n %27 = and i64 %1, 4294967295\n %28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @gv_2, i64 0, i64 0), i64 %27, i64 %26, i64 100)\n call void @exit(i32 255)\n unreachable\n LBL_8:\n %sv_0.05.reload = load i32, i32* %sv_0.05.reg2mem\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %29 = mul i64 %26, 4\n %30 = add i64 %29, ptrtoint (i32** @gv_3 to i64)\n %31 = inttoptr i64 %30 to i32*\n %32 = load i32, i32* %31, align 4\n %33 = add i32 %32, %sv_0.05.reload\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %34 = mul i64 %indvars.iv.next, 2\n %35 = add i64 %34, %19\n %36 = inttoptr i64 %35 to i16*\n %37 = load i16, i16* %36, align 2\n %38 = icmp eq i16 %37, 0\n %39 = icmp sge i64 %indvars.iv.reload, %24\n %or.cond = or i1 %39, %38\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n store i16 %37, i16* %.reg2mem\n store i32 %33, i32* %sv_0.05.reg2mem\n br i1 %or.cond, label LBL_9, label LBL_6\n LBL_9:\n %40 = trunc i64 %indvars.iv.next to i32\n store i32 %33, i32* %sv_0.0.lcssa.reg2mem\n store i32 %40, i32* %storemerge.lcssa.reg2mem\n br label LBL_10\n LBL_10:\n %storemerge.lcssa.reload = load i32, i32* %storemerge.lcssa.reg2mem\n %sv_0.0.lcssa.reload = load i32, i32* %sv_0.0.lcssa.reg2mem\n %41 = add i64 %2, 8\n %42 = inttoptr i64 %41 to i32*\n %43 = load i32, i32* %42, align 4\n %44 = icmp eq i32 %sv_0.0.lcssa.reload, %43\n br i1 %44, label LBL_12, label LBL_11\n LBL_11:\n %45 = zext i32 %sv_0.0.lcssa.reload to i64\n %46 = zext i32 %43 to i64\n %47 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @gv_4, i64 0, i64 0), i64 %46, i64 %45)\n store i32 %sv_0.0.lcssa.reload, i32* %42, align 4\n br label LBL_12\n LBL_12:\n %48 = zext i32 %storemerge.lcssa.reload to i64\n %49 = icmp eq i32 %storemerge.lcssa.reload, %18\n store i64 %48, i64* %rax.0.reg2mem\n br i1 %49, label LBL_15, label LBL_13\n LBL_13:\n %50 = sub i32 %18, %storemerge.lcssa.reload\n %51 = icmp eq i32 %50, 1\n store i64 1, i64* %rax.0.reg2mem\n br i1 %51, label LBL_15, label LBL_14\n LBL_14:\n %52 = bitcast i64* %rdi to i32*\n %53 = load i32, i32* %52, align 8\n %54 = and i64 %17, 4294967295\n %55 = zext i32 %53 to i64\n %56 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @gv_5, i64 0, i64 0), i64 %55, i64 %54, i64 %48)\n %57 = sext i32 %56 to i64\n store i64 %57, i64* %rax.0.reg2mem\n br label LBL_15\n LBL_15:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %48, { 1, 0 }\n uselistorder i32 %sv_0.0.lcssa.reload, { 1, 2, 0 }\n uselistorder i32 %storemerge.lcssa.reload, { 0, 2, 1 }\n uselistorder i64 %indvars.iv.next, { 2, 0, 1 }\n uselistorder i64 %indvars.iv.reload, { 1, 0 }\n uselistorder i32 %18, { 2, 1, 0 }\n uselistorder i64 %17, { 2, 0, 1 }\n uselistorder i32 %5, { 1, 2, 3, 4, 0 }\n uselistorder i64 %1, { 2, 1, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i16* %.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_0.05.reg2mem, { 1, 0, 2 }\n uselistorder i32* %sv_0.0.lcssa.reg2mem, { 0, 2, 1 }\n uselistorder i32* %storemerge.lcssa.reg2mem, { 0, 2, 1 }\n uselistorder i16 0, { 1, 0 }\n uselistorder void (i32)* @exit, { 2, 1, 0 }\n uselistorder i32 (i8*, ...)* @printf, { 1, 4, 0, 3, 2 }\n uselistorder i64 4294967295, { 3, 0, 1, 2 }\n uselistorder i32 0, { 2, 0, 1, 3, 4 }\n uselistorder label LBL_6, { 1, 0 }\n }",966        "label": "0"967    },968    {969        "dataset": "CompRealVul",970        "file": "rtc_irq_eoi_tracking_reset_5233",971        "fun_name": "rtc_irq_eoi_tracking_reset",972        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = bitcast i64* %arg1 to i32*\n store i32 0, i32* %1, align 4\n %2 = add i64 %0, 4\n %3 = call i64 @FUNC(i64 %2, i64 256)\n ret i64 %3\n\n uselistorder i64 4, { 1, 0 }\n uselistorder i32 0, { 1, 2, 0 }\n }",973        "label": "0"974    },975    {976        "dataset": "CompRealVul",977        "file": "object_resolve_path_component_2956",978        "fun_name": "object_resolve_path_component",979        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %0 = call i64 @FUNC(i64 %arg1, i64 %arg2, i64 0)\n %1 = icmp eq i64 %0, 0\n %2 = icmp eq i1 %1, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %2, label LBL_1, label LBL_5\n LBL_1:\n %3 = call i64 @FUNC(i64 %0)\n %4 = trunc i64 %3 to i32\n %5 = icmp eq i32 %4, 0\n br i1 %5, label LBL_3, label LBL_2\n LBL_2:\n %6 = inttoptr i64 %0 to i64*\n %7 = load i64, i64* %6, align 8\n %8 = inttoptr i64 %7 to i64*\n %9 = load i64, i64* %8, align 8\n %10 = inttoptr i64 %9 to i64*\n %11 = load i64, i64* %10, align 8\n store i64 %11, i64* %rax.0.reg2mem\n br label LBL_5\n LBL_3:\n %12 = call i64 @FUNC(i64 %0)\n %13 = trunc i64 %12 to i32\n %14 = icmp eq i32 %13, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %14, label LBL_5, label LBL_4\n LBL_4:\n %15 = inttoptr i64 %0 to i64*\n %16 = load i64, i64* %15, align 8\n store i64 %16, i64* %rax.0.reg2mem\n br label LBL_5\n LBL_5:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %rax.0.reg2mem, { 0, 4, 1, 3, 2 }\n uselistorder label LBL_5, { 2, 0, 3, 1 }\n }",980        "label": "0"981    },982    {983        "dataset": "CompRealVul",984        "file": "av_copy_packet_side_data_2308",985        "fun_name": "av_copy_packet_side_data",986        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %rsi.01.reg2mem = alloca i64\n %rdi.02.reg2mem = alloca i64\n %storemerge3.reg2mem = alloca i32\n %.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg2 to i64\n %1 = add i64 %0, 8\n %2 = inttoptr i64 %1 to i32*\n %3 = load i32, i32* %2, align 4\n %4 = icmp eq i32 %3, 0\n br i1 %4, label LBL_3, label LBL_1\n LBL_1:\n %5 = ptrtoint i64* %arg1 to i64\n %6 = sext i32 %3 to i64\n %7 = mul i64 %6, 16\n %8 = call i64 @FUNC(i64 %5, i64 %0, i64 %7, i64 0, i64 1)\n %9 = load i32, i32* %2, align 4\n %10 = mul i32 %9, 16\n %11 = call i64* @memset(i64* %arg1, i32 0, i32 %10)\n %12 = load i32, i32* %2, align 4\n %13 = icmp eq i32 %12, 0\n store i64 0, i64* %.reg2mem\n store i32 0, i32* %storemerge3.reg2mem\n store i64 %5, i64* %rdi.02.reg2mem\n store i64 0, i64* %rsi.01.reg2mem\n br i1 %13, label LBL_3, label LBL_2\n LBL_2:\n %rsi.01.reload = load i64, i64* %rsi.01.reg2mem\n %rdi.02.reload = load i64, i64* %rdi.02.reg2mem\n %storemerge3.reload = load i32, i32* %storemerge3.reg2mem\n %.reload = load i64, i64* %.reg2mem\n %14 = mul i64 %.reload, 16\n %15 = add i64 %rsi.01.reload, %14\n %16 = add i64 %15, 8\n %17 = inttoptr i64 %16 to i32*\n %18 = load i32, i32* %17, align 4\n %19 = sext i32 %18 to i64\n %20 = inttoptr i64 %15 to i64*\n %21 = load i64, i64* %20, align 8\n %22 = add i64 %rdi.02.reload, %14\n %23 = inttoptr i64 %22 to i64*\n %24 = load i64, i64* %23, align 8\n %25 = call i64 @FUNC(i64 %24, i64 %21, i64 %19, i64 1, i64 1)\n %26 = add i64 %21, %14\n %27 = add i64 %24, %14\n %28 = add i64 %26, 8\n %29 = inttoptr i64 %28 to i32*\n %30 = load i32, i32* %29, align 4\n %31 = add i64 %27, 8\n %32 = inttoptr i64 %31 to i32*\n store i32 %30, i32* %32, align 4\n %33 = add i64 %26, 12\n %34 = inttoptr i64 %33 to i32*\n %35 = load i32, i32* %34, align 4\n %36 = add i64 %27, 12\n %37 = inttoptr i64 %36 to i32*\n store i32 %35, i32* %37, align 4\n %38 = add i32 %storemerge3.reload, 1\n %39 = load i32, i32* %2, align 4\n %40 = zext i32 %39 to i64\n %41 = sext i32 %38 to i64\n %42 = icmp slt i64 %41, %40\n store i64 %41, i64* %.reg2mem\n store i32 %38, i32* %storemerge3.reg2mem\n store i64 %24, i64* %rdi.02.reg2mem\n store i64 %21, i64* %rsi.01.reg2mem\n br i1 %42, label LBL_2, label LBL_3\n LBL_3:\n ret i64 0\n\n uselistorder i64 %14, { 3, 2, 1, 0 }\n uselistorder i32* %2, { 1, 0, 2, 3 }\n uselistorder i64* %.reg2mem, { 2, 0, 1 }\n uselistorder i32* %storemerge3.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rdi.02.reg2mem, { 2, 0, 1 }\n uselistorder i64* %rsi.01.reg2mem, { 2, 0, 1 }\n uselistorder i64* (i64*, i32, i32)* @memset, { 1, 0 }\n uselistorder i64 (i64, i64, i64, i64, i64)* @DUP_DATA, { 1, 0 }\n uselistorder i64 1, { 1, 0, 2 }\n uselistorder i32 0, { 0, 1, 2, 4, 3, 5 }\n uselistorder label LBL_2, { 1, 0 }\n }",987        "label": "0"988    },989    {990        "dataset": "CompRealVul",991        "file": "nft_delchain_77",992        "fun_name": "nft_delchain",993        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0, i64 0)\n %2 = icmp ult i64 %1, -1000\n store i64 %1, i64* %storemerge.reg2mem\n br i1 %2, label LBL_1, label LBL_2\n LBL_1:\n %3 = trunc i64 %0 to i32\n %4 = add i32 %3, -1\n %5 = bitcast i64* %arg1 to i32*\n store i32 %4, i32* %5, align 4\n %6 = add i64 %0, 16\n %7 = inttoptr i64 %6 to i64*\n %8 = load i64, i64* %7, align 8\n %9 = add i64 %0, 8\n %10 = inttoptr i64 %9 to i64*\n %11 = load i64, i64* %10, align 8\n %12 = call i64 @FUNC(i64 %11, i64 %8)\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_2\n LBL_2:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %0, { 2, 1, 0, 3 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder label LBL_2, { 1, 0 }\n }",994        "label": "0"995    },996    {997        "dataset": "CompRealVul",998        "file": "mov_current_sample_dec_9197",999        "fun_name": "mov_current_sample_dec",1000        "llvm_ir_function": "define i64 @FUNC(i32* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = ptrtoint i32* %arg1 to i64\n %3 = trunc i64 %1 to i32\n %4 = add i32 %3, -1\n store i32 %4, i32* %arg1, align 4\n %5 = add i64 %2, 4\n %6 = inttoptr i64 %5 to i32*\n %7 = load i32, i32* %6, align 4\n %8 = add i32 %7, -1\n store i32 %8, i32* %6, align 4\n %9 = add i64 %2, 16\n %10 = inttoptr i64 %9 to i64*\n %11 = load i64, i64* %10, align 8\n %12 = icmp eq i64 %11, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %12, label LBL_4, label LBL_1\n LBL_1:\n %13 = add i64 %2, 8\n %14 = inttoptr i64 %13 to i64*\n %15 = load i64, i64* %14, align 8\n %16 = inttoptr i64 %15 to i32*\n %17 = load i32, i32* %16, align 4\n %18 = zext i32 %17 to i64\n %19 = icmp ult i32 %8, %17\n store i64 %18, i64* %rax.0.reg2mem\n br i1 %19, label LBL_2, label LBL_4\n LBL_2:\n %20 = icmp ugt i64 %15, %11\n store i64 %11, i64* %rax.0.reg2mem\n br i1 %20, label LBL_3, label LBL_4\n LBL_3:\n %21 = add i64 %15, -8\n store i64 %21, i64* %14, align 8\n %22 = add i64 %15, -4\n %23 = inttoptr i64 %22 to i32*\n %24 = load i32, i32* %23, align 4\n %25 = add i32 %24, -1\n store i32 %25, i32* %6, align 4\n store i64 %2, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 2, 1, 4 }\n uselistorder label LBL_4, { 2, 0, 1, 3 }\n }",1001        "label": "0"1002    },1003    {1004        "dataset": "CompRealVul",1005        "file": "intel_sdvo_detect_hdmi_audio_4637",1006        "fun_name": "intel_sdvo_detect_hdmi_audio",1007        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0)\n %2 = inttoptr i64 %1 to i8*\n %3 = load i8, i8* %2, align 1\n %4 = icmp eq i8 %3, 1\n store i64 0, i64* %storemerge.reg2mem\n br i1 %4, label LBL_1, label LBL_5\n LBL_1:\n %5 = call i64 @FUNC(i64 %0)\n %6 = icmp eq i64 %5, 0\n store i64 0, i64* %sv_0.0.reg2mem\n br i1 %6, label LBL_4, label LBL_2\n LBL_2:\n %7 = inttoptr i64 %5 to i32*\n %8 = load i32, i32* %7, align 4\n %9 = urem i32 %8, 2\n %10 = icmp eq i32 %9, 0\n store i64 0, i64* %sv_0.0.reg2mem\n br i1 %10, label LBL_4, label LBL_3\n LBL_3:\n %11 = call i64 @FUNC(i64 %5)\n %phitmp = urem i64 %11, 256\n store i64 %phitmp, i64* %sv_0.0.reg2mem\n br label LBL_4\n LBL_4:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %12 = call i64 @FUNC(i64 %5)\n store i64 %sv_0.0.reload, i64* %storemerge.reg2mem\n br label LBL_5\n LBL_5:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64 0, { 1, 2, 4, 0, 3 }\n uselistorder label LBL_5, { 1, 0 }\n }",1008        "label": "0"1009    },1010    {1011        "dataset": "CompRealVul",1012        "file": "red_channel_client_send_empty_msg_9261",1013        "fun_name": "red_channel_client_send_empty_msg",1014        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg2 to i64\n %1 = ptrtoint i64* %arg1 to i64\n %2 = call i64 @FUNC(i64 %1, i64 %0, i64 0)\n %3 = call i64 @FUNC(i64 %1)\n ret i64 %3\n }",1015        "label": "0"1016    },1017    {1018        "dataset": "CompRealVul",1019        "file": "nvme_rw_cb_416",1020        "fun_name": "nvme_rw_cb",1021        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %3 = trunc i64 %arg2 to i32\n %4 = add i64 %2, 8\n %5 = inttoptr i64 %4 to i64*\n %6 = load i64, i64* %5, align 8\n %7 = inttoptr i64 %4 to i32*\n %8 = load i32, i32* %7, align 4\n %9 = sext i32 %8 to i64\n %10 = mul i64 %9, 8\n %11 = add i64 %10, %6\n %12 = inttoptr i64 %11 to i64*\n %13 = load i64, i64* %12, align 8\n %14 = icmp eq i32 %3, 0\n %15 = icmp eq i1 %14, false\n %16 = add i64 %2, 16\n %17 = and i64 %1, 4294967295\n %18 = call i64 @FUNC(i64 %17)\n br i1 %15, label LBL_2, label LBL_1\n LBL_1:\n %19 = call i64 @FUNC(i64 %18, i64 %16)\n store i32 0, i32* %storemerge.reg2mem\n br label LBL_3\n LBL_2:\n %20 = call i64 @FUNC(i64 %18, i64 %16)\n store i32 1, i32* %storemerge.reg2mem\n br label LBL_3\n LBL_3:\n %storemerge.reload = load i32, i32* %storemerge.reg2mem\n store i32 %storemerge.reload, i32* %7, align 4\n %21 = add i64 %2, 12\n %22 = inttoptr i64 %21 to i32*\n %23 = load i32, i32* %22, align 4\n %24 = icmp eq i32 %23, 0\n br i1 %24, label LBL_5, label LBL_4\n LBL_4:\n %25 = add i64 %2, 24\n %26 = call i64 @FUNC(i64 %25)\n br label LBL_5\n LBL_5:\n %27 = call i64 @FUNC(i64 %13, i64 %2)\n ret i64 %27\n\n uselistorder i64 %18, { 1, 0 }\n uselistorder i64 %16, { 1, 0 }\n uselistorder i64 %2, { 0, 2, 1, 3, 4 }\n }",1022        "label": "0"1023    },1024    {1025        "dataset": "CompRealVul",1026        "file": "hexagon_v6_op_7259",1027        "fun_name": "hexagon_v6_op",1028        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3, i32* %arg4, i64 %arg5) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0 = alloca i32, align 4\n %0 = trunc i64 %arg5 to i32\n %1 = icmp sgt i32 %0, 3\n store i64 0, i64* %rax.0.reg2mem\n br i1 %1, label LBL_1, label LBL_4\n LBL_1:\n %2 = ptrtoint i32* %arg4 to i64\n %3 = call i64 @FUNC(i64 %2)\n %4 = and i64 %arg3, 4294967295\n %5 = and i64 %3, 4294967295\n %6 = bitcast i32* %sv_0 to i64*\n %7 = call i64 @FUNC(i64 %5, i64* nonnull %6, i64 %4)\n %8 = trunc i64 %7 to i32\n store i32 %8, i32* %sv_0, align 4\n %9 = bitcast i64* %arg2 to i32*\n store i32 %8, i32* %9, align 4\n %10 = icmp eq i32 %8, 0\n %11 = icmp slt i32 %8, 0\n %12 = icmp eq i1 %11, false\n %13 = icmp eq i1 %10, false\n %14 = icmp eq i1 %12, %13\n br i1 %14, label LBL_3, label LBL_2\n LBL_2:\n %15 = and i64 %7, 4294967295\n store i64 %15, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_3:\n %16 = ptrtoint i64* %arg2 to i64\n %17 = add i64 %16, 8\n %18 = inttoptr i64 %17 to i64*\n store i64 %arg3, i64* %18, align 8\n %19 = call i64 @FUNC(i64* nonnull %6, i64 %16)\n store i64 %19, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %8, { 1, 0, 2, 3 }\n uselistorder i64* %rax.0.reg2mem, { 0, 3, 2, 1 }\n uselistorder i1 false, { 1, 0 }\n uselistorder i64* %arg2, { 1, 0 }\n uselistorder label LBL_4, { 1, 2, 0 }\n }",1029        "label": "0"1030    },1031    {1032        "dataset": "CompRealVul",1033        "file": "bm_set_font_6728",1034        "fun_name": "bm_set_font",1035        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %0 = icmp eq i64* %arg1, null\n %1 = icmp eq i1 %0, false\n br i1 %1, label LBL_2, label LBL_1\n LBL_1:\n call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @gv_0, i64 0, i64 0), i8* getelementptr inbounds ([45 x i8], [45 x i8]* @gv_1, i64 0, i64 0), i32 12, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @gv_2, i64 0, i64 0))\n br label LBL_2\n LBL_2:\n %2 = ptrtoint i64* %arg2 to i64\n %3 = ptrtoint i64* %arg1 to i64\n store i64 %2, i64* %arg1, align 8\n ret i64 %3\n\n uselistorder i64* %arg1, { 0, 2, 1 }\n }",1036        "label": "0"1037    },1038    {1039        "dataset": "CompRealVul",1040        "file": "bdrv_all_goto_snapshot_1543",1041        "fun_name": "bdrv_all_goto_snapshot",1042        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %sv_0.2.reg2mem = alloca i32\n %storemerge.lcssa.reg2mem = alloca i64\n %sv_0.01.reg2mem = alloca i32\n %sv_0.12.reg2mem = alloca i32\n %storemerge3.reg2mem = alloca i64\n %sv_1 = alloca i64, align 8\n %0 = call i64 @FUNC(i64* nonnull %sv_1)\n %1 = icmp eq i64 %0, 0\n %2 = icmp eq i1 %1, false\n store i64 %0, i64* %storemerge3.reg2mem\n store i32 0, i32* %sv_0.12.reg2mem\n store i64 %0, i64* %storemerge.lcssa.reg2mem\n store i32 0, i32* %sv_0.2.reg2mem\n br i1 %2, label LBL_1, label LBL_5\n LBL_1:\n %storemerge3.reload = load i64, i64* %storemerge3.reg2mem\n %3 = call i64 @FUNC(i64 %storemerge3.reload)\n store i64 %3, i64* %sv_1, align 8\n %4 = call i64 @FUNC(i64 %3)\n %5 = call i64 @FUNC(i64 %storemerge3.reload)\n %6 = trunc i64 %5 to i32\n %7 = icmp eq i32 %6, 0\n br i1 %7, label LBL_2, label LBL_3\n LBL_2:\n %sv_0.12.reload = load i32, i32* %sv_0.12.reg2mem\n %8 = load i64, i64* %sv_1, align 8\n %9 = call i64 @FUNC(i64 %8)\n store i32 %sv_0.12.reload, i32* %sv_0.01.reg2mem\n br label LBL_4\n LBL_3:\n %10 = call i64 @FUNC(i64 %storemerge3.reload, i64 %arg1)\n %11 = trunc i64 %10 to i32\n %12 = load i64, i64* %sv_1, align 8\n %13 = call i64 @FUNC(i64 %12)\n %14 = icmp slt i32 %11, 0\n store i32 %11, i32* %sv_0.01.reg2mem\n store i64 %storemerge3.reload, i64* %storemerge.lcssa.reg2mem\n store i32 %11, i32* %sv_0.2.reg2mem\n br i1 %14, label LBL_5, label LBL_4\n LBL_4:\n %sv_0.01.reload = load i32, i32* %sv_0.01.reg2mem\n %15 = call i64 @FUNC(i64* nonnull %sv_1)\n %16 = icmp eq i64 %15, 0\n %17 = icmp eq i1 %16, false\n store i64 %15, i64* %storemerge3.reg2mem\n store i32 %sv_0.01.reload, i32* %sv_0.12.reg2mem\n store i64 %15, i64* %storemerge.lcssa.reg2mem\n store i32 %sv_0.01.reload, i32* %sv_0.2.reg2mem\n br i1 %17, label LBL_1, label LBL_5\n LBL_5:\n %sv_0.2.reload = load i32, i32* %sv_0.2.reg2mem\n %storemerge.lcssa.reload = load i64, i64* %storemerge.lcssa.reg2mem\n store i64 %storemerge.lcssa.reload, i64* %arg2, align 8\n %18 = zext i32 %sv_0.2.reload to i64\n ret i64 %18\n\n uselistorder i64 %storemerge3.reload, { 0, 1, 3, 2 }\n uselistorder i64* %sv_1, { 1, 3, 0, 4, 2 }\n uselistorder i64* %storemerge3.reg2mem, { 2, 0, 1 }\n uselistorder i32* %sv_0.12.reg2mem, { 2, 0, 1 }\n uselistorder i64 (i64)* @aio_context_release, { 1, 0 }\n uselistorder label LBL_5, { 1, 0, 2 }\n uselistorder label LBL_4, { 1, 0 }\n uselistorder label LBL_1, { 1, 0 }\n }",1043        "label": "0"1044    },1045    {1046        "dataset": "CompRealVul",1047        "file": "qemu_irq_invert_16606",1048        "fun_name": "qemu_irq_invert",1049        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = and i64 %arg1, 4294967295\n %1 = call i64 @FUNC(i64 %0)\n %2 = call i64 @FUNC(i64 4198734, i64 %0, i64 1)\n %3 = inttoptr i64 %2 to i32*\n %4 = load i32, i32* %3, align 4\n %5 = zext i32 %4 to i64\n ret i64 %5\n }",1050        "label": "1"1051    },1052    {1053        "dataset": "CompRealVul",1054        "file": "jazz_led_init_16708",1055        "fun_name": "jazz_led_init",1056        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC(i64 %0, i64 4210725, i64 %0, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @gv_0, i64 0, i64 0), i64 1)\n %2 = call i64 @FUNC(i64 %0, i64 %0)\n %3 = call i64 @FUNC(i64 4198794, i64 4198801, i64 4198808, i64 4198815, i64 %0)\n %4 = add i64 %0, 8\n %5 = inttoptr i64 %4 to i64*\n store i64 %3, i64* %5, align 8\n ret i64 0\n\n uselistorder i64 %0, { 0, 1, 3, 2, 5, 4 }\n }",1057        "label": "1"1058    },1059    {1060        "dataset": "CompRealVul",1061        "file": "dns_reset_resolution_9576",1062        "fun_name": "dns_reset_resolution",1063        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = ptrtoint i64* %arg1 to i64\n %1 = bitcast i64* %arg1 to i32*\n store i32 0, i32* %1, align 4\n %2 = add i64 %0, 4\n %3 = inttoptr i64 %2 to i32*\n store i32 0, i32* %3, align 4\n %4 = add i64 %0, 8\n %5 = inttoptr i64 %4 to i64*\n store i64 4198673, i64* %5, align 8\n %6 = add i64 %0, 16\n %7 = inttoptr i64 %6 to i32*\n store i32 0, i32* %7, align 4\n %8 = add i64 %0, 20\n %9 = inttoptr i64 %8 to i32*\n store i32 0, i32* %9, align 4\n %10 = add i64 %0, 28\n %11 = inttoptr i64 %10 to i32*\n %12 = load i32, i32* %11, align 4\n %13 = add i64 %0, 24\n %14 = inttoptr i64 %13 to i32*\n store i32 %12, i32* %14, align 4\n %15 = add i64 %0, 32\n %16 = call i64 @FUNC(i64 %15)\n %17 = add i64 %0, 56\n %18 = inttoptr i64 %17 to i32*\n store i32 0, i32* %18, align 4\n %19 = add i64 %0, 48\n %20 = inttoptr i64 %19 to i32*\n store i32 0, i32* %20, align 4\n ret i64 %0\n\n uselistorder i64 %0, { 7, 8, 6, 5, 4, 3, 2, 1, 0, 9 }\n }",1064        "label": "0"1065    },1066    {1067        "dataset": "CompRealVul",1068        "file": "aio_flush_f_15050",1069        "fun_name": "aio_flush_f",1070        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC()\n ret i64 0\n }",1071        "label": "1"1072    },1073    {1074        "dataset": "CompRealVul",1075        "file": "complete_collecting_data_2402",1076        "fun_name": "complete_collecting_data",1077        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %storemerge1.reg2mem = alloca i32\n %rdi = alloca i64, align 8\n %1 = load i64, i64* %0\n %2 = ptrtoint i64* %arg1 to i64\n %3 = call i64 @FUNC(i64 %2)\n %4 = trunc i64 %3 to i32\n %5 = icmp eq i32 %4, 3\n %6 = icmp eq i1 %5, false\n store i32 0, i32* %storemerge1.reg2mem\n br i1 %6, label LBL_2, label LBL_1\n LBL_1:\n %7 = add i64 %2, 52\n %8 = inttoptr i64 %7 to i32*\n %9 = load i32, i32* %8, align 4\n store i32 %9, i32* %storemerge1.reg2mem\n br label LBL_2\n LBL_2:\n %10 = trunc i64 %1 to i32\n %storemerge1.reload = load i32, i32* %storemerge1.reg2mem\n %11 = bitcast i64* %arg1 to i32*\n store i32 %storemerge1.reload, i32* %11, align 4\n %12 = icmp sgt i32 %4, 0\n br i1 %12, label LBL_3, label LBL_5\n LBL_3:\n %13 = add i64 %2, 36\n %14 = mul i32 %10, 256\n %wide.trip.count = and i64 %3, 4294967295\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_4\n LBL_4:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n store i32 %14, i32* %11, align 4\n %15 = mul i64 %indvars.iv.reload, 4\n %16 = add i64 %13, %15\n %17 = inttoptr i64 %16 to i32*\n %18 = load i32, i32* %17, align 4\n %19 = or i32 %18, %10\n store i32 %19, i32* %11, align 4\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, %wide.trip.count\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_5, label LBL_4\n LBL_5:\n %20 = add i64 %2, 4\n %21 = inttoptr i64 %20 to i32*\n %22 = load i32, i32* %21, align 4\n %23 = add i32 %22, -1\n %24 = and i32 %23, %10\n store i32 %24, i32* %11, align 4\n %25 = add i64 %2, 8\n %26 = inttoptr i64 %25 to i32*\n store i32 0, i32* %26, align 4\n store i64 %2, i64* @0, align 8\n %27 = add i64 %2, 12\n %28 = inttoptr i64 %27 to i32*\n %29 = load i32, i32* %28, align 4\n %30 = zext i32 %29 to i64\n %31 = mul i64 %30, 8\n %32 = add i64 %31, ptrtoint (i64* @gv_0 to i64)\n %33 = inttoptr i64 %32 to i64*\n %34 = load i64, i64* %33, align 8\n store i64 %34, i64* %rax.0.reg2mem\n switch i64 %2, label LBL_19 [\n i64 0, label LBL_6\n i64 1, label LBL_6\n i64 2, label LBL_6\n i64 3, label LBL_6\n i64 4, label LBL_6\n i64 5, label LBL_7\n i64 6, label LBL_7\n i64 7, label LBL_7\n i64 8, label LBL_7\n i64 9, label LBL_7\n i64 10, label LBL_7\n i64 11, label LBL_7\n i64 12, label LBL_7\n i64 13, label LBL_7\n i64 14, label LBL_7\n i64 15, label LBL_7\n i64 16, label LBL_7\n i64 17, label LBL_8\n i64 18, label LBL_8\n i64 19, label LBL_8\n i64 20, label LBL_8\n i64 21, label LBL_8\n i64 22, label LBL_8\n i64 23, label LBL_9\n i64 24, label LBL_15\n i64 25, label LBL_16\n i64 26, label LBL_17\n i64 27, label LBL_18\n ]\n LBL_6:\n store i32 1, i32* %26, align 4\n store i64 %2, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_7:\n store i32 2, i32* %26, align 4\n store i64 %2, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_8:\n %35 = bitcast i64* %rdi to i32*\n %36 = load i32, i32* %35, align 8\n %37 = zext i32 %36 to i64\n %38 = call i64 @FUNC(i64 %2, i64 %37, i32 %29)\n store i64 %38, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_9:\n %39 = call i64 @FUNC(i64 23)\n %40 = trunc i64 %39 to i32\n switch i32 %40, label LBL_13 [\n i32 0, label LBL_10\n i32 1, label LBL_11\n ]\n LBL_10:\n %41 = load i32, i32* inttoptr (i64 63 to i32*), align 4\n %42 = and i32 %41, 2\n %43 = icmp eq i32 %42, 0\n %44 = icmp eq i1 %43, false\n %45 = zext i1 %44 to i8\n store i8 %45, i8* inttoptr (i64 40 to i8*), align 8\n br label LBL_13\n LBL_11:\n %46 = load i32, i32* inttoptr (i64 59 to i32*), align 4\n %47 = zext i32 %46 to i64\n %48 = call i64 @FUNC(i64 %47, i64 6, i64 1)\n %49 = trunc i64 %48 to i32\n %50 = icmp eq i32 %49, 0\n %51 = icmp eq i1 %50, false\n %52 = zext i1 %51 to i8\n store i8 %52, i8* inttoptr (i64 40 to i8*), align 8\n %53 = load i32, i32* inttoptr (i64 55 to i32*), align 4\n %54 = icmp slt i32 %53, 2\n br i1 %54, label LBL_13, label LBL_12\n LBL_12:\n %55 = load i32, i32* inttoptr (i64 63 to i32*), align 4\n %56 = zext i32 %55 to i64\n %57 = call i64 @FUNC(i64 %56, i64 5, i64 1)\n %58 = trunc i64 %57 to i32\n %59 = icmp eq i32 %58, 0\n %60 = icmp eq i1 %59, false\n %61 = zext i1 %60 to i8\n store i8 %61, i8* inttoptr (i64 41 to i8*), align 1\n br label LBL_13\n LBL_13:\n %62 = load i8, i8* inttoptr (i64 39 to i8*), align 1\n %63 = icmp eq i8 %62, 0\n store i64 0, i64* %rax.0.reg2mem\n br i1 %63, label LBL_19, label LBL_14\n LBL_14:\n store i8 0, i8* inttoptr (i64 39 to i8*), align 1\n store i64 23, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_15:\n %64 = load i32, i32* inttoptr (i64 60 to i32*), align 4\n store i32 %64, i32* inttoptr (i64 76 to i32*), align 4\n store i64 24, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_16:\n %65 = load i32, i32* inttoptr (i64 61 to i32*), align 4\n %66 = load i32, i32* inttoptr (i64 65 to i32*), align 4\n %67 = mul i32 %66, 256\n %68 = or i32 %67, %65\n store i32 %68, i32* inttoptr (i64 45 to i32*), align 4\n store i64 25, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_17:\n %69 = load i32, i32* inttoptr (i64 62 to i32*), align 4\n store i32 %69, i32* inttoptr (i64 50 to i32*), align 4\n store i64 26, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_18:\n %70 = load i32, i32* inttoptr (i64 63 to i32*), align 4\n store i32 %70, i32* inttoptr (i64 55 to i32*), align 4\n store i64 27, i64* %rax.0.reg2mem\n br label LBL_19\n LBL_19:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %10, { 1, 2, 0 }\n uselistorder i64 %2, { 5, 1, 0, 3, 7, 6, 8, 9, 2, 4, 10 }\n uselistorder i32* %storemerge1.reg2mem, { 0, 2, 1 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i64* %rax.0.reg2mem, { 0, 9, 8, 7, 6, 4, 5, 3, 2, 1, 10 }\n uselistorder i8* inttoptr (i64 39 to i8*), { 1, 0 }\n uselistorder i32* inttoptr (i64 55 to i32*), { 1, 0 }\n uselistorder i64 (i64, i64, i64)* @extract32, { 1, 0 }\n uselistorder i8* inttoptr (i64 40 to i8*), { 1, 0 }\n uselistorder i32* inttoptr (i64 63 to i32*), { 2, 1, 0 }\n uselistorder i64 3, { 1, 0 }\n uselistorder i64 8, { 1, 0, 2 }\n uselistorder i32 -1, { 1, 0 }\n uselistorder i64 1, { 1, 2, 3, 0 }\n uselistorder i64 4, { 1, 2, 0 }\n uselistorder i32 0, { 5, 6, 7, 3, 8, 2, 0, 4, 1, 9, 10 }\n uselistorder label LBL_19, { 3, 4, 5, 6, 1, 0, 7, 8, 9, 2 }\n uselistorder label LBL_13, { 2, 1, 3, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",1078        "label": "0"1079    },1080    {1081        "dataset": "CompRealVul",1082        "file": "do_anonymous_page_13822",1083        "fun_name": "do_anonymous_page",1084        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3, i64 %arg4, i64 %arg5, i64 %arg6) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %sv_0.1.reg2mem = alloca i64\n %sv_1.1.in.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %sv_1.0.in.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = ptrtoint i64* %arg2 to i64\n %sv_2 = alloca i64, align 8\n %4 = call i64 @FUNC(i64 %3, i64 %arg3)\n %5 = trunc i64 %4 to i32\n %6 = icmp slt i32 %5, 0\n %7 = icmp eq i1 %6, false\n store i64 4294967295, i64* %rax.0.reg2mem\n br i1 %7, label LBL_1, label LBL_14\n LBL_1:\n %8 = ptrtoint i64* %arg1 to i64\n %9 = urem i64 %arg6, 2\n %10 = icmp eq i64 %9, 0\n %11 = icmp eq i1 %10, false\n br i1 %11, label LBL_3, label LBL_2\n LBL_2:\n %12 = add i64 %3, 4\n %13 = inttoptr i64 %12 to i32*\n %14 = load i32, i32* %13, align 4\n %15 = call i64 @FUNC(i64 %arg3)\n %16 = zext i32 %14 to i64\n %17 = and i64 %15, 4294967295\n %18 = call i64 @FUNC(i64 %17, i64 %16)\n %19 = and i64 %18, 4294967295\n %20 = call i64 @FUNC(i64 %19)\n %21 = call i64 @FUNC(i64 %8, i64 %arg5)\n store i64 %21, i64* %sv_2, align 8\n %22 = call i64 @FUNC(i64 %21)\n %23 = and i64 %2, 4294967295\n %24 = call i64 @FUNC(i64 %23)\n %25 = trunc i64 %24 to i32\n %26 = icmp eq i32 %25, 0\n %27 = icmp eq i1 %26, false\n store i64 %arg4, i64* %sv_0.0.reg2mem\n store i64 %20, i64* %sv_1.1.in.reg2mem\n store i64 %arg4, i64* %sv_0.1.reg2mem\n br i1 %27, label LBL_10, label LBL_11\n LBL_3:\n %28 = call i64 @FUNC(i64 %arg4)\n %29 = call i64 @FUNC(i64 %3)\n %30 = and i64 %29, 4294967295\n %31 = call i64 @FUNC(i64 %30)\n %32 = trunc i64 %31 to i32\n %33 = icmp eq i32 %32, 0\n %34 = icmp eq i1 %33, false\n store i64 4294967294, i64* %rax.0.reg2mem\n br i1 %34, label LBL_14, label LBL_4\n LBL_4:\n %35 = call i64 @FUNC(i64 %3, i64 %arg3)\n %36 = icmp eq i64 %35, 0\n store i64 4294967294, i64* %rax.0.reg2mem\n br i1 %36, label LBL_14, label LBL_5\n LBL_5:\n %37 = call i64 @FUNC(i64 %35)\n %38 = call i64 @FUNC(i64 %35, i64 %8, i64 32)\n %39 = trunc i64 %38 to i32\n %40 = icmp eq i32 %39, 0\n %41 = icmp eq i1 %40, false\n br i1 %41, label LBL_13, label LBL_6\n LBL_6:\n %42 = add i64 %3, 4\n %43 = inttoptr i64 %42 to i32*\n %44 = load i32, i32* %43, align 4\n %45 = zext i32 %44 to i64\n %46 = call i64 @FUNC(i64 %35, i64 %45)\n %47 = and i64 %1, 2\n %48 = icmp eq i64 %47, 0\n store i64 %46, i64* %sv_1.0.in.reg2mem\n br i1 %48, label LBL_8, label LBL_7\n LBL_7:\n %49 = and i64 %46, 4294967295\n %50 = call i64 @FUNC(i64 %49)\n %51 = and i64 %50, 4294967295\n %52 = call i64 @FUNC(i64 %51)\n store i64 %52, i64* %sv_1.0.in.reg2mem\n br label LBL_8\n LBL_8:\n %53 = call i64 @FUNC(i64 %8, i64 %arg5, i64 %arg3, i64* nonnull %sv_2)\n %54 = inttoptr i64 %53 to i32*\n %55 = load i32, i32* %54, align 4\n %56 = zext i32 %55 to i64\n %57 = call i64 @FUNC(i64 %56)\n %58 = trunc i64 %57 to i32\n %59 = icmp eq i32 %58, 0\n br i1 %59, label LBL_12, label LBL_9\n LBL_9:\n %sv_1.0.in.reload = load i64, i64* %sv_1.0.in.reg2mem\n %60 = call i64 @FUNC(i64 %8, i64 1)\n %61 = call i64 @FUNC(i64 %35, i64 %3, i64 %arg3)\n store i64 %53, i64* %sv_0.0.reg2mem\n store i64 %sv_1.0.in.reload, i64* %sv_1.1.in.reg2mem\n br label LBL_10\n LBL_10:\n %sv_1.1.in.reload = load i64, i64* %sv_1.1.in.reg2mem\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %sv_1.1 = trunc i64 %sv_1.1.in.reload to i32\n %62 = call i64 @FUNC(i64 %8, i64 %arg3, i64 %sv_0.0.reload, i32 %sv_1.1)\n %63 = call i64 @FUNC(i64 %3, i64 %arg3, i64 %sv_0.0.reload)\n store i64 %sv_0.0.reload, i64* %sv_0.1.reg2mem\n br label LBL_11\n LBL_11:\n %sv_0.1.reload = load i64, i64* %sv_0.1.reg2mem\n %64 = load i64, i64* %sv_2, align 8\n %65 = call i64 @FUNC(i64 %sv_0.1.reload, i64 %64)\n store i64 0, i64* %rax.0.reg2mem\n br label LBL_14\n LBL_12:\n %66 = call i64 @FUNC(i64 %35)\n %67 = call i64 @FUNC(i64 %35)\n store i64 %53, i64* %sv_0.1.reg2mem\n br label LBL_11\n LBL_13:\n %68 = call i64 @FUNC(i64 %35)\n store i64 4294967294, i64* %rax.0.reg2mem\n br label LBL_14\n LBL_14:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %46, { 1, 0 }\n uselistorder i64 %35, { 4, 2, 1, 0, 3, 6, 5, 7 }\n uselistorder i64 %8, { 1, 2, 3, 4, 0 }\n uselistorder i64* %sv_2, { 1, 0, 2 }\n uselistorder i64 %3, { 1, 2, 3, 4, 5, 0, 6 }\n uselistorder i64* %sv_0.0.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_1.1.in.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_0.1.reg2mem, { 3, 0, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 1, 5, 3, 2, 4 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i64 (i64)* @page_cache_release, { 1, 0 }\n uselistorder i64 1, { 1, 0 }\n uselistorder i64 4294967294, { 0, 2, 1 }\n uselistorder i64 (i64)* @pte_none, { 1, 0 }\n uselistorder i64 2, { 1, 0 }\n uselistorder i32 0, { 1, 2, 3, 4, 5, 0 }\n uselistorder i64 %arg5, { 1, 0 }\n uselistorder i64 %arg4, { 2, 0, 1 }\n uselistorder i64 %arg3, { 2, 1, 3, 4, 5, 0, 6 }\n uselistorder label LBL_14, { 0, 4, 2, 1, 3 }\n uselistorder label LBL_11, { 1, 2, 0 }\n uselistorder label LBL_10, { 1, 0 }\n }",1085        "label": "0"1086    },1087    {1088        "dataset": "CompRealVul",1089        "file": "vmlinux_path__exit_4680",1090        "fun_name": "vmlinux_path__exit",1091        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %0 = load i32, i32* @gv_0, align 4\n %1 = add i32 %0, -1\n store i32 %1, i32* @gv_0, align 4\n %2 = icmp slt i32 %1, 0\n %3 = icmp eq i1 %2, false\n br i1 %3, label LBL_1, label LBL_2\n LBL_1:\n %4 = load i32, i32* inttoptr (i64 4210732 to i32*), align 4\n %5 = sext i32 %4 to i64\n %6 = mul i64 %5, 8\n %7 = add i64 %6, ptrtoint (i64* @gv_1 to i64)\n %8 = call i64 @FUNC(i64 %7)\n %9 = load i32, i32* @gv_0, align 4\n %10 = add i32 %9, -1\n store i32 %10, i32* @gv_0, align 4\n %11 = icmp slt i32 %10, 0\n %12 = icmp eq i1 %11, false\n br i1 %12, label LBL_1, label LBL_2\n LBL_2:\n store i32 0, i32* @gv_0, align 4\n %13 = call i64 @FUNC(i64 ptrtoint (i64* @gv_1 to i64))\n ret i64 %13\n\n uselistorder i1 false, { 1, 0 }\n uselistorder i32 0, { 1, 2, 0 }\n uselistorder i32 -1, { 1, 0 }\n uselistorder i32* @gv_0, { 4, 3, 2, 0, 1 }\n uselistorder label LBL_1, { 1, 0 }\n }",1092        "label": "0"1093    },1094    {1095        "dataset": "CompRealVul",1096        "file": "parse_init_table_18158",1097        "fun_name": "parse_init_table",1098        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %r8.2.reg2mem = alloca i64\n %rcx.2.reg2mem = alloca i64\n %sv_0.1.reg2mem = alloca i32\n %.lcssa7.reg2mem = alloca i16\n %r8.0.reg2mem = alloca i64\n %rcx.0.reg2mem = alloca i64\n %.lcssa.reg2mem = alloca i8\n %.lcssa65.reg2mem = alloca i64\n %.lcssa67.reg2mem = alloca i64*\n %.lcssa69.reg2mem = alloca i64\n %.reg2mem136 = alloca i32\n %.reg2mem134 = alloca i16\n %sv_1.02185.reg2mem = alloca i64\n %r8.12086.reg2mem = alloca i64\n %.reg2mem = alloca i32\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = ptrtoint i64* %arg1 to i64\n %sv_1.0.in16 = mul i64 %arg2, 281474976710656\n %sv_1.017 = ashr exact i64 %sv_1.0.in16, 48\n %4 = trunc i64 %2 to i16\n %5 = trunc i64 %sv_1.017 to i16\n %6 = icmp ugt i16 %4, %5\n %7 = icmp eq i1 %6, false\n store i16 %5, i16* %.lcssa7.reg2mem\n store i32 0, i32* %sv_0.1.reg2mem\n br i1 %7, label LBL_12, label LBL_1\n LBL_1:\n %8 = add i64 %3, 8\n %9 = inttoptr i64 %8 to i64*\n %10 = trunc i64 %3 to i32\n %11 = and i64 %3, 4294967295\n %12 = icmp slt i32 %10, 0\n %13 = icmp eq i1 %12, false\n %14 = add i64 %3, 16\n %15 = inttoptr i64 %14 to i64*\n %16 = icmp slt i32 %10, 1\n store i32 1, i32* %.reg2mem\n store i64 %sv_1.017, i64* %sv_1.02185.reg2mem\n store i16 %5, i16* %.reg2mem134\n br label LBL_2\n LBL_2:\n %.reload135 = load i16, i16* %.reg2mem134\n %sv_1.02185.reload = load i64, i64* %sv_1.02185.reg2mem\n %r8.12086.reload = load i64, i64* %r8.12086.reg2mem\n %17 = load i64, i64* %9, align 8\n %18 = urem i64 %sv_1.02185.reload, 65536\n %19 = add i64 %17, %18\n %20 = inttoptr i64 %19 to i8*\n %21 = load i8, i8* %20, align 1\n %22 = load i64, i64* @gv_0, align 8\n %23 = icmp eq i64 %22, 0\n br i1 %23, label LBL_6, label LBL_3\n LBL_3:\n %.reload = load i32, i32* %.reg2mem\n %24 = load i8, i8* bitcast (i8** @gv_1 to i8*), align 8\n %25 = icmp eq i8 %21, %24\n %26 = icmp eq i1 %25, false\n store i32 1, i32* %.reg2mem136\n store i64 %22, i64* %.lcssa69.reg2mem\n store i64* @gv_0, i64** %.lcssa67.reg2mem\n store i64 0, i64* %.lcssa65.reg2mem\n store i8 %24, i8* %.lcssa.reg2mem\n br i1 %26, label LBL_4, label LBL_7\n LBL_4:\n %.reload137 = load i32, i32* %.reg2mem136\n %27 = sext i32 %.reload137 to i64\n %28 = mul nsw i64 %27, 24\n %29 = add i64 %28, ptrtoint (i64* @gv_0 to i64)\n %30 = inttoptr i64 %29 to i64*\n %31 = load i64, i64* %30, align 8\n %32 = icmp eq i64 %31, 0\n br i1 %32, label LBL_6, label LBL_5\n LBL_5:\n %33 = add i64 %28, ptrtoint (i8** @gv_1 to i64)\n %34 = inttoptr i64 %33 to i8*\n %35 = load i8, i8* %34, align 8\n %36 = icmp eq i8 %21, %35\n %37 = icmp eq i1 %36, false\n %38 = add i32 %.reload137, 1\n store i32 %38, i32* %.reg2mem136\n store i64 %31, i64* %.lcssa69.reg2mem\n store i64* %30, i64** %.lcssa67.reg2mem\n store i64 %28, i64* %.lcssa65.reg2mem\n store i8 %35, i8* %.lcssa.reg2mem\n br i1 %37, label LBL_4, label LBL_7\n LBL_6:\n %39 = load i64, i64* %15, align 8\n %40 = call i64 @FUNC(i64 %39, i8* getelementptr inbounds ([46 x i8], [46 x i8]* @gv_2, i64 0, i64 0), i16 %.reload135, i8 %21, i64 %r8.12086.reload, i64 %1)\n store i64 4294967294, i64* %storemerge.reg2mem\n br label LBL_16\n LBL_7:\n %.lcssa.reload = load i8, i8* %.lcssa.reg2mem\n %.lcssa65.reload = load i64, i64* %.lcssa65.reg2mem\n %.lcssa69.reload = load i64, i64* %.lcssa69.reg2mem\n %41 = zext i8 %.lcssa.reload to i64\n %42 = call i64 @FUNC(i64 %3, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @gv_3, i64 0, i64 0), i16 %.reload135, i64 %41, i64 %.lcssa69.reload, i64 %1)\n %43 = add i64 %.lcssa65.reload, ptrtoint (i64* @gv_4 to i64)\n %44 = inttoptr i64 %43 to i64*\n %45 = load i64, i64* %44, align 8\n store i64 %18, i64* %rcx.0.reg2mem\n store i64 %45, i64* %r8.0.reg2mem\n br i1 %13, label LBL_9, label LBL_8\n LBL_8:\n %.lcssa67.reload = load i64*, i64** %.lcssa67.reg2mem\n %46 = load i64, i64* %.lcssa67.reload, align 8\n %47 = load i64, i64* %15, align 8\n %48 = trunc i64 %46 to i8\n %49 = call i64 @FUNC(i64 %47, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @gv_5, i64 0, i64 0), i16 %.reload135, i8 %48, i64 %11, i64 %1)\n store i64 %46, i64* %rcx.0.reg2mem\n store i64 %11, i64* %r8.0.reg2mem\n br label LBL_9\n LBL_9:\n %r8.0.reload = load i64, i64* %r8.0.reg2mem\n %rcx.0.reload = load i64, i64* %rcx.0.reg2mem\n store i16 %.reload135, i16* %.lcssa7.reg2mem\n store i32 %.reload, i32* %sv_0.1.reg2mem\n store i64 %rcx.0.reload, i64* %rcx.2.reg2mem\n store i64 %r8.0.reload, i64* %r8.2.reg2mem\n br i1 %16, label LBL_12, label LBL_10\n LBL_10:\n %50 = add i64 %sv_1.02185.reload, %3\n %sv_1.0.in = mul i64 %50, 281474976710656\n %sv_1.0 = ashr exact i64 %sv_1.0.in, 48\n %51 = trunc i64 %sv_1.0 to i16\n %52 = icmp ugt i16 %4, %51\n %53 = icmp eq i1 %52, false\n store i16 %51, i16* %.lcssa7.reg2mem\n store i32 %.reload, i32* %sv_0.1.reg2mem\n store i64 %rcx.0.reload, i64* %rcx.2.reg2mem\n store i64 %r8.0.reload, i64* %r8.2.reg2mem\n br i1 %53, label LBL_12, label LBL_11\n LBL_11:\n %54 = add nuw nsw i32 %.reload, 1\n %55 = icmp ult i32 %.reload, 256\n store i32 %54, i32* %.reg2mem\n store i64 %r8.0.reload, i64* %r8.12086.reg2mem\n store i64 %sv_1.0, i64* %sv_1.02185.reg2mem\n store i16 %51, i16* %.reg2mem134\n store i16 %51, i16* %.lcssa7.reg2mem\n store i32 %54, i32* %sv_0.1.reg2mem\n store i64 %rcx.0.reload, i64* %rcx.2.reg2mem\n store i64 %r8.0.reload, i64* %r8.2.reg2mem\n br i1 %55, label LBL_2, label LBL_12\n LBL_12:\n %r8.2.reload = load i64, i64* %r8.2.reg2mem\n %rcx.2.reload = load i64, i64* %rcx.2.reg2mem\n %sv_0.1.reload = load i32, i32* %sv_0.1.reg2mem\n %.lcssa7.reload = load i16, i16* %.lcssa7.reg2mem\n %56 = icmp ult i16 %.lcssa7.reload, %4\n br i1 %56, label LBL_14, label LBL_13\n LBL_13:\n %57 = add i64 %3, 16\n %58 = inttoptr i64 %57 to i64*\n %59 = load i64, i64* %58, align 8\n %60 = call i64 @FUNC(i64 %59, i8* getelementptr inbounds ([69 x i8], [69 x i8]* @gv_6, i64 0, i64 0), i16 %.lcssa7.reload, i64 %rcx.2.reload, i64 %r8.2.reload, i64 %1)\n br label LBL_14\n LBL_14:\n %61 = icmp slt i32 %sv_0.1.reload, 256\n store i64 0, i64* %storemerge.reg2mem\n br i1 %61, label LBL_16, label LBL_15\n LBL_15:\n %62 = add i64 %3, 16\n %63 = inttoptr i64 %62 to i64*\n %64 = load i64, i64* %63, align 8\n %65 = call i64 @FUNC(i64 %64, i8* getelementptr inbounds ([73 x i8], [73 x i8]* @gv_7, i64 0, i64 0), i16 256, i64 %rcx.2.reload, i64 %r8.2.reload, i64 %1)\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_16\n LBL_16:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i16 %51, { 1, 2, 0, 3 }\n uselistorder i64 %rcx.0.reload, { 1, 0, 2 }\n uselistorder i64 %r8.0.reload, { 1, 3, 0, 2 }\n uselistorder i32 %.reload137, { 1, 0 }\n uselistorder i32 %.reload, { 2, 3, 0, 1 }\n uselistorder i8 %21, { 0, 2, 1 }\n uselistorder i16 %.reload135, { 0, 2, 1, 3 }\n uselistorder i64* %15, { 1, 0 }\n uselistorder i16 %5, { 1, 0, 2 }\n uselistorder i64 %3, { 7, 6, 0, 4, 1, 3, 2, 5 }\n uselistorder i64 %1, { 4, 3, 1, 2, 0 }\n uselistorder i32* %.reg2mem, { 1, 0, 2 }\n uselistorder i64* %r8.12086.reg2mem, { 1, 0 }\n uselistorder i64* %sv_1.02185.reg2mem, { 1, 0, 2 }\n uselistorder i16* %.reg2mem134, { 1, 0, 2 }\n uselistorder i32* %.reg2mem136, { 2, 0, 1 }\n uselistorder i16* %.lcssa7.reg2mem, { 0, 2, 1, 3, 4 }\n uselistorder i32* %sv_0.1.reg2mem, { 0, 2, 1, 3, 4 }\n uselistorder i64* %rcx.2.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %r8.2.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1, 3 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i64 (i64, i8*, i16, i64, i64, i64)* @NV_WARN, { 1, 0 }\n uselistorder i64 (i64, i8*, i16, i8, i64, i64)* @NV_ERROR, { 1, 0 }\n uselistorder i8** @gv_1, { 1, 0 }\n uselistorder i64* @gv_0, { 2, 0, 1 }\n uselistorder i32 0, { 1, 0 }\n uselistorder i1 false, { 4, 3, 0, 2, 1 }\n uselistorder i64 48, { 1, 0 }\n uselistorder label LBL_16, { 1, 0, 2 }\n uselistorder label LBL_12, { 1, 2, 0, 3 }\n uselistorder label LBL_6, { 1, 0 }\n uselistorder label LBL_4, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",1099        "label": "1"1100    },1101    {1102        "dataset": "CompRealVul",1103        "file": "strlen_m_ext_handle_4624",1104        "fun_name": "strlen_m_ext_handle",1105        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2, i64 %arg3, i64 %arg4) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %sv_0.1.be.reg2mem = alloca i64\n %sv_1.15.reg2mem = alloca i64\n %sv_0.16.reg2mem = alloca i64\n %.reg2mem = alloca i8\n %sv_0.0.lcssa.reg2mem = alloca i64\n %sv_1.0.lcssa.reg2mem = alloca i64\n %sv_1.08.reg2mem = alloca i64\n %sv_0.09.reg2mem = alloca i64\n %sv_2 = alloca i64, align 8\n %0 = trunc i64 %arg4 to i32\n %1 = icmp ult i32 %0, 2\n br i1 %1, label LBL_1, label LBL_2\n LBL_1:\n %2 = call i64 @FUNC(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @gv_0, i64 0, i64 0))\n unreachable\n LBL_2:\n %sext = mul i64 %arg3, 4294967296\n %3 = ashr exact i64 %sext, 32\n %4 = trunc i64 %3 to i32\n %5 = or i32 %4, 1\n %6 = icmp eq i32 %5, 3\n br i1 %6, label LBL_3, label LBL_4\n LBL_3:\n %7 = call i64 @FUNC(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @gv_1, i64 0, i64 0))\n unreachable\n LBL_4:\n %8 = icmp eq i64 %arg2, 0\n %9 = icmp eq i1 %8, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %9, label LBL_5, label LBL_23\n LBL_5:\n %10 = inttoptr i64 %arg2 to i8*\n %11 = load i8, i8* %10, align 1\n %12 = icmp ne i8 %11, 0\n %13 = icmp slt i8 %11, 0\n %14 = icmp eq i1 %13, false\n %or.cond7 = icmp eq i1 %12, %14\n store i64 0, i64* %sv_0.09.reg2mem\n store i64 %arg2, i64* %sv_1.08.reg2mem\n store i64 %arg2, i64* %sv_1.0.lcssa.reg2mem\n store i64 0, i64* %sv_0.0.lcssa.reg2mem\n store i8 %11, i8* %.reg2mem\n br i1 %or.cond7, label LBL_6, label LBL_7\n LBL_6:\n %sv_1.08.reload = load i64, i64* %sv_1.08.reg2mem\n %sv_0.09.reload = load i64, i64* %sv_0.09.reg2mem\n %15 = add i64 %sv_1.08.reload, 1\n %16 = add i64 %sv_0.09.reload, 1\n %17 = inttoptr i64 %15 to i8*\n %18 = load i8, i8* %17, align 1\n %19 = icmp ne i8 %18, 0\n %20 = icmp slt i8 %18, 0\n %21 = icmp eq i1 %20, false\n %or.cond = icmp eq i1 %19, %21\n store i64 %16, i64* %sv_0.09.reg2mem\n store i64 %15, i64* %sv_1.08.reg2mem\n store i64 %15, i64* %sv_1.0.lcssa.reg2mem\n store i64 %16, i64* %sv_0.0.lcssa.reg2mem\n store i8 %18, i8* %.reg2mem\n br i1 %or.cond, label LBL_6, label LBL_7\n LBL_7:\n %.reload = load i8, i8* %.reg2mem\n %sv_0.0.lcssa.reload = load i64, i64* %sv_0.0.lcssa.reg2mem\n %22 = icmp eq i8 %.reload, 0\n %23 = icmp eq i1 %22, false\n store i64 %sv_0.0.lcssa.reload, i64* %rax.0.reg2mem\n br i1 %23, label LBL_8, label LBL_23\n LBL_8:\n %24 = ptrtoint i64* %arg1 to i64\n %sv_1.0.lcssa.reload = load i64, i64* %sv_1.0.lcssa.reg2mem\n %25 = and i64 %3, 4294967295\n %26 = icmp ult i32 %0, 5\n %27 = icmp eq i32 %0, 5\n store i64 %sv_0.0.lcssa.reload, i64* %sv_0.16.reg2mem\n store i64 %sv_1.0.lcssa.reload, i64* %sv_1.15.reg2mem\n br label LBL_9\n LBL_9:\n %sv_1.15.reload = load i64, i64* %sv_1.15.reg2mem\n %sv_0.16.reload = load i64, i64* %sv_0.16.reg2mem\n %28 = call i64 @FUNC(i64 %sv_1.15.reload, i64 5)\n %29 = call i64 @FUNC(i64 %24, i64 %sv_1.15.reload, i64 %28, i64 %25, i64* nonnull %sv_2)\n %30 = trunc i64 %29 to i32\n %31 = load i64, i64* %sv_2, align 8\n br i1 %26, label LBL_11, label LBL_10\n LBL_10:\n br i1 %27, label LBL_15, label LBL_22\n LBL_11:\n %32 = icmp sgt i32 %30, 65535\n br i1 %32, label LBL_14, label LBL_12\n LBL_12:\n %33 = add i64 %sv_0.16.reload, 1\n store i64 %33, i64* %sv_0.1.be.reg2mem\n br label LBL_13\n LBL_13:\n %34 = add i64 %31, %sv_1.15.reload\n %sv_0.1.be.reload = load i64, i64* %sv_0.1.be.reg2mem\n %35 = inttoptr i64 %34 to i8*\n %36 = load i8, i8* %35, align 1\n %37 = icmp eq i8 %36, 0\n %38 = icmp eq i1 %37, false\n store i64 %sv_0.1.be.reload, i64* %sv_0.16.reg2mem\n store i64 %34, i64* %sv_1.15.reg2mem\n store i64 %sv_0.1.be.reload, i64* %rax.0.reg2mem\n br i1 %38, label LBL_9, label LBL_23\n LBL_14:\n %39 = add i64 %sv_0.16.reload, 2\n store i64 %39, i64* %sv_0.1.be.reg2mem\n br label LBL_13\n LBL_15:\n %40 = icmp sgt i32 %30, 127\n br i1 %40, label LBL_17, label LBL_16\n LBL_16:\n %41 = add i64 %sv_0.16.reload, 1\n store i64 %41, i64* %sv_0.1.be.reg2mem\n br label LBL_13\n LBL_17:\n %42 = icmp sgt i32 %30, 2047\n br i1 %42, label LBL_19, label LBL_18\n LBL_18:\n %43 = add i64 %sv_0.16.reload, 2\n store i64 %43, i64* %sv_0.1.be.reg2mem\n br label LBL_13\n LBL_19:\n %44 = icmp sgt i32 %30, 65535\n br i1 %44, label LBL_21, label LBL_20\n LBL_20:\n %45 = add i64 %sv_0.16.reload, 3\n store i64 %45, i64* %sv_0.1.be.reg2mem\n br label LBL_13\n LBL_21:\n %46 = add i64 %sv_0.16.reload, 4\n store i64 %46, i64* %sv_0.1.be.reg2mem\n br label LBL_13\n LBL_22:\n %47 = add i64 %sv_0.16.reload, 1\n store i64 %47, i64* %sv_0.1.be.reg2mem\n br label LBL_13\n LBL_23:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %30, { 2, 1, 0, 3 }\n uselistorder i64 %sv_0.16.reload, { 4, 2, 3, 1, 0, 5, 6 }\n uselistorder i64 %sv_1.15.reload, { 2, 0, 1 }\n uselistorder i64 %sv_0.0.lcssa.reload, { 1, 0 }\n uselistorder i32 %0, { 1, 0, 2 }\n uselistorder i64* %sv_2, { 1, 0 }\n uselistorder i64* %sv_0.09.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_1.08.reg2mem, { 2, 0, 1 }\n uselistorder i64* %sv_0.16.reg2mem, { 1, 0, 2 }\n uselistorder i64* %sv_1.15.reg2mem, { 1, 0, 2 }\n uselistorder i64* %sv_0.1.be.reg2mem, { 5, 4, 3, 2, 1, 7, 0, 6 }\n uselistorder i8 0, { 4, 5, 2, 6, 0, 1, 7, 3 }\n uselistorder i1 false, { 3, 4, 2, 0, 5, 6, 7, 1 }\n uselistorder i64 (i8*)* @smb_panic, { 1, 0 }\n uselistorder label LBL_13, { 6, 5, 4, 3, 2, 1, 0 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_6, { 1, 0 }\n }",1106        "label": "0"1107    },1108    {1109        "dataset": "CompRealVul",1110        "file": "snd_rawmidi_output_trigger_17514",1111        "fun_name": "snd_rawmidi_output_trigger",1112        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %0 = ptrtoint i64* %arg1 to i64\n %1 = trunc i64 %arg2 to i32\n %2 = icmp eq i32 %1, 0\n %3 = add i64 %0, 8\n %4 = inttoptr i64 %3 to i64*\n %5 = load i64, i64* %4, align 8\n br i1 %2, label LBL_2, label LBL_1\n LBL_1:\n %6 = call i64 @FUNC(i64 %5)\n store i64 %6, i64* %storemerge.reg2mem\n br label LBL_3\n LBL_2:\n %7 = call i64 @FUNC(i64 %5)\n store i64 %0, i64* %storemerge.reg2mem\n br label LBL_3\n LBL_3:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i64 %5, { 1, 0 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n }",1113        "label": "1"1114    },1115    {1116        "dataset": "CompRealVul",1117        "file": "is_integer_6298",1118        "fun_name": "is_integer",1119        "llvm_ir_function": "define i64 @FUNC(i64* %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %storemerge.reg2mem = alloca i64\n %sv_0.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = call i16** @__ctype_b_loc()\n %3 = load i16*, i16** %2, align 8\n %4 = ptrtoint i16* %3 to i64\n %5 = trunc i64 %1 to i8\n %6 = mul i64 %1, 2\n %7 = and i64 %6, 510\n %8 = add i64 %7, %4\n %9 = inttoptr i64 %8 to i16*\n %10 = load i16, i16* %9, align 2\n %11 = and i16 %10, 2048\n %12 = icmp eq i16 %11, 0\n %13 = icmp ne i8 %5, 45\n %or.cond.not = icmp eq i1 %13, %12\n %14 = icmp eq i8 %5, 43\n %15 = icmp eq i1 %14, false\n %or.cond2 = icmp eq i1 %15, %or.cond.not\n br i1 %or.cond2, label LBL_5, label LBL_1\n LBL_1:\n %16 = ptrtoint i64* %arg1 to i64\n store i64 %16, i64* %sv_0.0.reg2mem\n br label LBL_2\n LBL_2:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n %17 = add i64 %sv_0.0.reload, 1\n %18 = inttoptr i64 %17 to i8*\n %19 = load i8, i8* %18, align 1\n %20 = icmp eq i8 %19, 0\n store i64 1, i64* %storemerge.reg2mem\n br i1 %20, label LBL_6, label LBL_3\n LBL_3:\n %21 = call i16** @__ctype_b_loc()\n %22 = load i16*, i16** %21, align 8\n %23 = ptrtoint i16* %22 to i64\n %24 = load i8, i8* %18, align 1\n %25 = zext i8 %24 to i64\n %26 = mul i64 %25, 2\n %27 = add i64 %26, %23\n %28 = inttoptr i64 %27 to i16*\n %29 = load i16, i16* %28, align 2\n %30 = and i16 %29, 2048\n %31 = icmp eq i16 %30, 0\n %32 = icmp eq i1 %31, false\n store i64 %17, i64* %sv_0.0.reg2mem\n br i1 %32, label LBL_2, label LBL_4\n LBL_4:\n %33 = icmp eq i8 %24, 0\n %34 = icmp eq i1 %33, false\n store i64 1, i64* %storemerge.reg2mem\n br i1 %34, label LBL_5, label LBL_6\n LBL_5:\n store i64 0, i64* %storemerge.reg2mem\n br label LBL_6\n LBL_6:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i8 %5, { 1, 0 }\n uselistorder i64 %1, { 1, 0 }\n uselistorder i64* %sv_0.0.reg2mem, { 2, 0, 1 }\n uselistorder i64* %storemerge.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64 1, { 1, 0, 2 }\n uselistorder i1 false, { 1, 2, 0 }\n uselistorder i16** ()* @__ctype_b_loc, { 1, 0 }\n uselistorder label LBL_6, { 2, 1, 0 }\n uselistorder label LBL_5, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",1120        "label": "0"1121    },1122    {1123        "dataset": "CompRealVul",1124        "file": "SRXAFSCB_CallBack_17623",1125        "fun_name": "SRXAFSCB_CallBack",1126        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC(i64 4202512)\n %1 = call i64 @FUNC(i64 %arg1)\n %2 = add i64 %arg1, 16\n %3 = inttoptr i64 %2 to i64*\n %4 = load i64, i64* %3, align 8\n %5 = add i64 %arg1, 8\n %6 = inttoptr i64 %5 to i32*\n %7 = load i32, i32* %6, align 4\n %8 = zext i32 %7 to i64\n %9 = call i64 @FUNC(i64 %arg1, i64 %8, i64 %4)\n %10 = call i64 @FUNC(i64* nonnull @gv_0)\n ret i64 %10\n\n uselistorder i64 %arg1, { 3, 2, 1, 0 }\n }",1127        "label": "1"1128    },1129    {1130        "dataset": "CompRealVul",1131        "file": "add_to_group_4750",1132        "fun_name": "add_to_group",1133        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64* %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %rdi.0.reg2mem = alloca i64\n %rsi = alloca i64, align 8\n %0 = ptrtoint i64* %arg1 to i64\n %1 = icmp eq i64* %arg1, null\n %.pre = add i64 %0, 8\n %.pre4 = inttoptr i64 %.pre to i32*\n store i64 %0, i64* %rdi.0.reg2mem\n br i1 %1, label LBL_5, label LBL_1\n LBL_1:\n %2 = load i32, i32* %.pre4, align 4\n %3 = sext i32 %2 to i64\n %4 = mul nsw i64 %3, 24\n %5 = add i64 %0, -24\n %6 = add i64 %5, %4\n %7 = icmp eq i64 %6, 0\n store i64 %0, i64* %rdi.0.reg2mem\n br i1 %7, label LBL_5, label LBL_2\n LBL_2:\n %8 = inttoptr i64 %6 to i8*\n %9 = bitcast i64* %arg2 to i8*\n %10 = call i32 @strncmp(i8* %8, i8* %9, i32 2)\n %11 = icmp eq i32 %10, 0\n br i1 %11, label LBL_4, label LBL_3\n LBL_3:\n %12 = add i64 %6, 8\n %13 = inttoptr i64 %12 to i64*\n %14 = load i64, i64* %13, align 8\n %15 = inttoptr i64 %14 to i32*\n %16 = load i32, i32* %15, align 4\n %17 = icmp eq i32 %16, 0\n %18 = icmp eq i1 %17, false\n store i64 %6, i64* %rdi.0.reg2mem\n br i1 %18, label LBL_5, label LBL_4\n LBL_4:\n %19 = add i64 %6, 20\n %20 = inttoptr i64 %19 to i32*\n %21 = load i32, i32* %20, align 4\n %22 = add i32 %21, 1\n store i32 %22, i32* %20, align 4\n store i64 %6, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_5:\n %rdi.0.reload = load i64, i64* %rdi.0.reg2mem\n %23 = load i32, i32* %.pre4, align 4\n %24 = add i32 %23, 1\n store i32 %24, i32* %.pre4, align 4\n %25 = mul i32 %24, 24\n %26 = inttoptr i64 %rdi.0.reload to i64*\n %27 = call i64* @realloc(i64* %26, i32 %25)\n %28 = ptrtoint i64* %27 to i64\n store i64 %28, i64* %arg1, align 8\n %29 = icmp eq i64 %rdi.0.reload, 0\n %30 = icmp eq i1 %29, false\n br i1 %30, label LBL_7, label LBL_6\n LBL_6:\n call void @exit(i32 1)\n unreachable\n LBL_7:\n %31 = ptrtoint i64* %arg2 to i64\n %32 = load i32, i32* %.pre4, align 4\n %33 = sext i32 %32 to i64\n %34 = mul nsw i64 %33, 24\n %35 = add i64 %rdi.0.reload, -24\n %36 = add i64 %35, %34\n %37 = bitcast i64* %rsi to i16*\n %38 = load i16, i16* %37, align 8\n %39 = inttoptr i64 %36 to i16*\n store i16 %38, i16* %39, align 2\n %40 = add i64 %31, 8\n %41 = inttoptr i64 %40 to i64*\n %42 = load i64, i64* %41, align 8\n %43 = add i64 %36, 8\n %44 = inttoptr i64 %43 to i64*\n store i64 %42, i64* %44, align 8\n %45 = trunc i64 %arg3 to i32\n %46 = add i64 %36, 16\n %47 = inttoptr i64 %46 to i32*\n store i32 %45, i32* %47, align 4\n %48 = add i64 %36, 20\n %49 = inttoptr i64 %48 to i32*\n store i32 1, i32* %49, align 4\n store i64 %36, i64* %rax.0.reg2mem\n br label LBL_8\n LBL_8:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %rdi.0.reload, { 2, 0, 1 }\n uselistorder i64 %6, { 0, 2, 1, 5, 4, 3 }\n uselistorder i64 %0, { 1, 3, 0, 2 }\n uselistorder i64* %rdi.0.reg2mem, { 0, 3, 2, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 1 }\n uselistorder i64 8, { 1, 2, 3, 0 }\n uselistorder i64* %arg2, { 1, 0 }\n uselistorder label LBL_5, { 1, 2, 0 }\n }",1134        "label": "0"1135    },1136    {1137        "dataset": "CompRealVul",1138        "file": "aio_write_done_14911",1139        "fun_name": "aio_write_done",1140        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %rax.0.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = load i64, i64* %0\n %sv_0 = alloca i64, align 8\n %4 = trunc i64 %arg2 to i32\n %5 = bitcast i64* %sv_0 to %timeval*\n %6 = call i32 @gettimeofday(%timeval* nonnull %5, %timezone* null)\n %7 = icmp slt i32 %4, 0\n %8 = icmp eq i1 %7, false\n br i1 %8, label LBL_2, label LBL_1\n LBL_1:\n %9 = sub i32 0, %4\n %10 = call i8* @strerror(i32 %9)\n %11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @gv_0, i64 0, i64 0), i8* %10)\n %12 = sext i32 %11 to i64\n store i64 %12, i64* %rax.0.reg2mem\n br label LBL_4\n LBL_2:\n %13 = add i64 %arg1, 32\n %14 = inttoptr i64 %13 to i32*\n %15 = load i32, i32* %14, align 4\n %16 = zext i32 %15 to i64\n %17 = icmp eq i32 %15, 0\n %18 = icmp eq i1 %17, false\n store i64 %16, i64* %rax.0.reg2mem\n br i1 %18, label LBL_4, label LBL_3\n LBL_3:\n %19 = ptrtoint i64* %sv_0 to i64\n %20 = add i64 %arg1, 8\n %21 = inttoptr i64 %20 to i64*\n %22 = load i64, i64* %21, align 8\n %23 = load i64, i64* %sv_0, align 8\n %24 = call i64 @FUNC(i64 %23, i64 %3, i64 %19, i64 %22, i64 %2, i64 %1)\n store i64 %24, i64* %sv_0, align 8\n %25 = add i64 %arg1, 36\n %26 = inttoptr i64 %25 to i32*\n %27 = load i32, i32* %26, align 4\n %28 = zext i32 %27 to i64\n %29 = add i64 %arg1, 16\n %30 = inttoptr i64 %29 to i64*\n %31 = load i64, i64* %30, align 8\n %32 = add i64 %arg1, 24\n %33 = inttoptr i64 %32 to i64*\n %34 = load i64, i64* %33, align 8\n %35 = call i64 @FUNC(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @gv_1, i64 0, i64 0), i64* nonnull %sv_0, i64 %34, i64 %31, i64 %31, i64 1, i64 %28)\n %36 = add i64 %arg1, 40\n %37 = inttoptr i64 %36 to i64*\n %38 = load i64, i64* %37, align 8\n %39 = call i64 @FUNC(i64 %38)\n %40 = inttoptr i64 %arg1 to i64*\n call void @free(i64* %40)\n store i64 ptrtoint (i32* @0 to i64), i64* %rax.0.reg2mem\n br label LBL_4\n LBL_4:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %31, { 1, 0 }\n uselistorder i64* %sv_0, { 0, 2, 3, 4, 1 }\n uselistorder i64* %rax.0.reg2mem, { 0, 2, 3, 1 }\n uselistorder i64* %0, { 2, 1, 0 }\n uselistorder void (i64*)* @free, { 1, 0 }\n uselistorder i64 %arg1, { 1, 0, 4, 3, 2, 5, 6 }\n uselistorder label LBL_4, { 1, 0, 2 }\n }",1141        "label": "1"1142    },1143    {1144        "dataset": "CompRealVul",1145        "file": "unassigned_mem_readl_18928",1146        "fun_name": "unassigned_mem_readl",1147        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %0 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @gv_0, i64 0, i64 0), i64 %arg2)\n %1 = call i64 @FUNC(i64 %arg2, i64 0, i64 0, i64 0, i64 4)\n ret i64 0\n }",1148        "label": "1"1149    },1150    {1151        "dataset": "CompRealVul",1152        "file": "_cmsReadWCharArray_10216",1153        "fun_name": "_cmsReadWCharArray",1154        "llvm_ir_function": "define i64 @FUNC(i32* %arg1, i64 %arg2, i64* %arg3) local_unnamed_addr {\n LBL_0:\n %rax.0.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %sv_0 = alloca i32, align 4\n %0 = icmp eq i32* %arg1, null\n %1 = icmp eq i1 %0, false\n %2 = zext i1 %1 to i64\n %3 = call i64 @FUNC(i64 %2)\n %4 = trunc i64 %arg2 to i32\n %5 = icmp eq i32 %4, 0\n store i64 1, i64* %rax.0.reg2mem\n br i1 %5, label LBL_7, label LBL_1\n LBL_1:\n %6 = ptrtoint i64* %arg3 to i64\n %7 = bitcast i32* %sv_0 to i64*\n %8 = icmp eq i64* %arg3, null\n %9 = ptrtoint i32* %arg1 to i64\n %10 = and i64 %arg2, 4294967295\n store i64 0, i64* %indvars.iv.reg2mem\n br label LBL_2\n LBL_2:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n br i1 %8, label LBL_5, label LBL_3\n LBL_3:\n %11 = call i64 @FUNC(i64 %9, i64* nonnull %7)\n %12 = trunc i64 %11 to i32\n %13 = icmp eq i32 %12, 0\n %14 = icmp eq i1 %13, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %14, label LBL_4, label LBL_7\n LBL_4:\n %15 = load i32, i32* %sv_0, align 4\n %16 = mul i64 %indvars.iv.reload, 4\n %17 = add i64 %16, %6\n %18 = urem i32 %15, 65536\n %19 = inttoptr i64 %17 to i32*\n store i32 %18, i32* %19, align 4\n br label LBL_6\n LBL_5:\n %20 = call i64 @FUNC(i64 %9, i64* null)\n %21 = trunc i64 %20 to i32\n %22 = icmp eq i32 %21, 0\n %23 = icmp eq i1 %22, false\n store i64 0, i64* %rax.0.reg2mem\n br i1 %23, label LBL_6, label LBL_7\n LBL_6:\n %indvars.iv.next = add nuw nsw i64 %indvars.iv.reload, 1\n %24 = icmp ult i64 %indvars.iv.next, %10\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n store i64 1, i64* %rax.0.reg2mem\n br i1 %24, label LBL_2, label LBL_7\n LBL_7:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i64 %9, { 1, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i64 (i64, i64*)* @_cmsReadUInt16Number, { 1, 0 }\n uselistorder i64* null, { 1, 0, 2 }\n uselistorder i64 1, { 0, 3, 1, 2 }\n uselistorder label LBL_7, { 2, 1, 0, 3 }\n uselistorder label LBL_2, { 1, 0 }\n }",1155        "label": "0"1156    },1157    {1158        "dataset": "CompRealVul",1159        "file": "mpfree_4049",1160        "fun_name": "mpfree",1161        "llvm_ir_function": "define i64 @FUNC(i64 %arg1) local_unnamed_addr {\n LBL_0:\n %0 = alloca i32\n %rax.0.reg2mem = alloca i64\n %indvars.iv.reg2mem = alloca i64\n %1 = load i32, i32* %0\n %2 = icmp eq i64 %arg1, 0\n br i1 %2, label LBL_5, label LBL_1\n LBL_1:\n %3 = icmp slt i32 %1, 10\n br i1 %3, label LBL_2, label LBL_4\n LBL_2:\n %4 = sext i32 %1 to i64\n store i64 %4, i64* %indvars.iv.reg2mem\n br label LBL_3\n LBL_3:\n %indvars.iv.reload = load i64, i64* %indvars.iv.reg2mem\n %5 = mul i64 %indvars.iv.reload, 8\n %6 = add i64 %5, %arg1\n %7 = inttoptr i64 %6 to i64*\n %8 = load i64, i64* %7, align 8\n %9 = inttoptr i64 %8 to i64*\n call void @free(i64* %9)\n store i64 0, i64* %7, align 8\n %indvars.iv.next = add nsw i64 %indvars.iv.reload, 1\n %exitcond = icmp eq i64 %indvars.iv.next, 10\n store i64 %indvars.iv.next, i64* %indvars.iv.reg2mem\n br i1 %exitcond, label LBL_4, label LBL_3\n LBL_4:\n %10 = inttoptr i64 %arg1 to i64*\n call void @free(i64* %10)\n store i64 ptrtoint (i32* @0 to i64), i64* %rax.0.reg2mem\n br label LBL_5\n LBL_5:\n %rax.0.reload = load i64, i64* %rax.0.reg2mem\n ret i64 %rax.0.reload\n\n uselistorder i32 %1, { 1, 0 }\n uselistorder i64* %indvars.iv.reg2mem, { 1, 0, 2 }\n uselistorder i64 %arg1, { 1, 0, 2 }\n uselistorder label LBL_5, { 1, 0 }\n }",1162        "label": "0"1163    },1164    {1165        "dataset": "CompRealVul",1166        "file": "setHeadersFromCache_13527",1167        "fun_name": "setHeadersFromCache",1168        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %sv_0.0.reg2mem = alloca i64\n %storemerge1.reg2mem = alloca i64\n %sv_1 = alloca i64, align 8\n %sv_2 = alloca i64, align 8\n %0 = inttoptr i64 %arg2 to i8*\n %1 = call i8* @strstr(i8* %0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @gv_0, i64 0, i64 0))\n %2 = icmp eq i8* %1, null\n %3 = icmp eq i1 %2, false\n store i64 %arg2, i64* %sv_0.0.reg2mem\n br i1 %3, label LBL_1, label LBL_6\n LBL_1:\n %4 = ptrtoint i64* %arg1 to i64\n %5 = ptrtoint i8* %1 to i64\n %6 = sub i64 %5, %arg2\n %7 = call i64 @FUNC(i64 %arg2, i64 %6)\n %8 = add i64 %5, 2\n %9 = call i64 @FUNC(i64 %7, i64* nonnull @gv_1, i64* nonnull %sv_2)\n %10 = icmp eq i64 %9, 0\n %11 = icmp eq i1 %10, false\n store i64 %9, i64* %storemerge1.reg2mem\n store i64 %8, i64* %sv_0.0.reg2mem\n br i1 %11, label LBL_2, label LBL_6\n LBL_2:\n %storemerge1.reload = load i64, i64* %storemerge1.reg2mem\n %12 = call i64 @FUNC(i64 %storemerge1.reload, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @gv_2, i64 0, i64 0), i64* nonnull %sv_1)\n %13 = call i64 @FUNC(i64 %12, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @gv_3, i64 0, i64 0))\n %14 = trunc i64 %13 to i32\n %15 = icmp eq i32 %14, 0\n %16 = load i64, i64* %sv_1, align 8\n br i1 %15, label LBL_4, label LBL_3\n LBL_3:\n %17 = call i64 @FUNC(i64 %16)\n %18 = trunc i64 %17 to i32\n %19 = inttoptr i64 %12 to i32*\n store i32 %18, i32* %19, align 4\n br label LBL_5\n LBL_4:\n %20 = call i64 @FUNC(i64 %4, i64 %12, i64 %16)\n br label LBL_5\n LBL_5:\n %21 = call i64 @FUNC(i64 0, i64* nonnull @gv_1, i64* nonnull %sv_2)\n %22 = icmp eq i64 %21, 0\n %23 = icmp eq i1 %22, false\n store i64 %21, i64* %storemerge1.reg2mem\n store i64 %8, i64* %sv_0.0.reg2mem\n br i1 %23, label LBL_2, label LBL_6\n LBL_6:\n %sv_0.0.reload = load i64, i64* %sv_0.0.reg2mem\n ret i64 %sv_0.0.reload\n\n uselistorder i64 %16, { 1, 0 }\n uselistorder i64 %12, { 1, 0, 2 }\n uselistorder i64 %5, { 1, 0 }\n uselistorder i8* %1, { 1, 0 }\n uselistorder i64* %sv_1, { 1, 0 }\n uselistorder i64* %storemerge1.reg2mem, { 2, 0, 1 }\n uselistorder i64 (i64, i64*, i64*)* @stok, { 1, 0 }\n uselistorder i1 false, { 1, 0, 2 }\n uselistorder i64 %arg2, { 2, 1, 0, 3 }\n uselistorder label LBL_2, { 1, 0 }\n }",1169        "label": "0"1170    },1171    {1172        "dataset": "CompRealVul",1173        "file": "core_rtas_register_types_15857",1174        "fun_name": "core_rtas_register_types",1175        "llvm_ir_function": "define i64 @FUNC() local_unnamed_addr {\n LBL_0:\n %0 = call i64 @FUNC(i64 1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @gv_0, i64 0, i64 0), i64 4198694)\n %1 = call i64 @FUNC(i64 2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @gv_1, i64 0, i64 0), i64 4198701)\n %2 = call i64 @FUNC(i64 3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @gv_2, i64 0, i64 0), i64 4198708)\n %3 = call i64 @FUNC(i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @gv_3, i64 0, i64 0), i64 4198715)\n %4 = call i64 @FUNC(i64 5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @gv_4, i64 0, i64 0), i64 4198722)\n %5 = call i64 @FUNC(i64 6, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @gv_5, i64 0, i64 0), i64 4198729)\n %6 = call i64 @FUNC(i64 7, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @gv_6, i64 0, i64 0), i64 4198736)\n %7 = call i64 @FUNC(i64 8, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @gv_7, i64 0, i64 0), i64 4198743)\n %8 = call i64 @FUNC(i64 9, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @gv_8, i64 0, i64 0), i64 4198750)\n %9 = call i64 @FUNC(i64 10, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @gv_9, i64 0, i64 0), i64 4198757)\n ret i64 %9\n\n uselistorder i64 (i64, i8*, i64)* @spapr_rtas_register, { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }\n }",1176        "label": "1"1177    },1178    {1179        "dataset": "CompRealVul",1180        "file": "qdict_do_flatten_3328",1181        "fun_name": "qdict_do_flatten",1182        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64 %arg2, i64 %arg3) local_unnamed_addr {\n LBL_0:\n %0 = alloca i64\n %sv_0.0.lcssa.reg2mem = alloca i64\n %rcx.2.be.reg2mem = alloca i64\n %sv_0.0.be.reg2mem = alloca i64\n %rcx.11.reg2mem = alloca i64\n %storemerge.reg2mem = alloca i64\n %rcx.0.reg2mem = alloca i64\n %sv_1.0.reg2mem = alloca i8\n %sv_2.0.reg2mem = alloca i64\n %sv_0.02.reg2mem = alloca i64\n %rcx.26.reg2mem = alloca i64\n %1 = load i64, i64* %0\n %2 = load i64, i64* %0\n %3 = call i64 @FUNC(i64 %arg1)\n %4 = icmp eq i64 %3, 0\n %5 = icmp eq i1 %4, false\n store i64 %3, i64* %sv_0.0.lcssa.reg2mem\n br i1 %5, label LBL_1, label LBL_11\n LBL_1:\n %6 = icmp eq i64 %arg3, 0\n store i64 %3, i64* %sv_0.02.reg2mem\n br label LBL_2\n LBL_2:\n %sv_0.02.reload = load i64, i64* %sv_0.02.reg2mem\n %rcx.26.reload = load i64, i64* %rcx.26.reg2mem\n %7 = call i64 @FUNC(i64 %arg1, i64 %sv_0.02.reload)\n %8 = call i64 @FUNC(i64 %sv_0.02.reload)\n store i64 0, i64* %sv_2.0.reg2mem\n store i8 0, i8* %sv_1.0.reg2mem\n store i64 %rcx.26.reload, i64* %rcx.0.reg2mem\n br i1 %6, label LBL_4, label LBL_3\n LBL_3:\n %9 = call i64 @FUNC(i64 %8)\n %10 = inttoptr i64 %sv_0.02.reload to i64*\n %11 = load i64, i64* %10, align 8\n %12 = call i64 @FUNC(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @gv_0, i64 0, i64 0), i64 %arg3, i64 %11, i64 %rcx.26.reload, i64 %2, i64 %1)\n %13 = call i64 @FUNC(i64 %arg2, i64 %12, i64 %8)\n store i64 %12, i64* %sv_2.0.reg2mem\n store i8 1, i8* %sv_1.0.reg2mem\n store i64 %12, i64* %rcx.0.reg2mem\n br label LBL_4\n LBL_4:\n %sv_2.0.reload = load i64, i64* %sv_2.0.reg2mem\n %14 = call i64 @FUNC(i64 %8)\n %15 = trunc i64 %14 to i32\n %16 = icmp eq i32 %15, 1\n %17 = icmp eq i1 %16, false\n br i1 %17, label LBL_8, label LBL_5\n LBL_5:\n %18 = icmp eq i64 %sv_2.0.reload, 0\n %19 = icmp eq i1 %18, false\n store i64 %sv_2.0.reload, i64* %storemerge.reg2mem\n br i1 %19, label LBL_7, label LBL_6\n LBL_6:\n %20 = inttoptr i64 %sv_0.02.reload to i64*\n %21 = load i64, i64* %20, align 8\n store i64 %21, i64* %storemerge.reg2mem\n br label LBL_7\n LBL_7:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n %22 = call i64 @FUNC(i64 %8)\n %23 = call i64 @FUNC(i64 %22, i64 %arg2, i64 %storemerge.reload)\n %24 = call i64 @FUNC(i64 %sv_2.0.reload)\n store i64 %22, i64* %rcx.11.reg2mem\n br label LBL_9\n LBL_8:\n %rcx.0.reload = load i64, i64* %rcx.0.reg2mem\n %sv_1.0.reload = load i8, i8* %sv_1.0.reg2mem\n %25 = call i64 @FUNC(i64 %sv_2.0.reload)\n %26 = icmp eq i8 %sv_1.0.reload, 0\n store i64 %rcx.0.reload, i64* %rcx.11.reg2mem\n store i64 %7, i64* %sv_0.0.be.reg2mem\n store i64 %rcx.0.reload, i64* %rcx.2.be.reg2mem\n br i1 %26, label LBL_10, label LBL_9\n LBL_9:\n %rcx.11.reload = load i64, i64* %rcx.11.reg2mem\n %27 = inttoptr i64 %sv_0.02.reload to i64*\n %28 = load i64, i64* %27, align 8\n %29 = call i64 @FUNC(i64 %arg1, i64 %28)\n %30 = call i64 @FUNC(i64 %arg1)\n store i64 %30, i64* %sv_0.0.be.reg2mem\n store i64 %rcx.11.reload, i64* %rcx.2.be.reg2mem\n br label LBL_10\n LBL_10:\n %rcx.2.be.reload = load i64, i64* %rcx.2.be.reg2mem\n %sv_0.0.be.reload = load i64, i64* %sv_0.0.be.reg2mem\n %31 = icmp eq i64 %sv_0.0.be.reload, 0\n %32 = icmp eq i1 %31, false\n store i64 %rcx.2.be.reload, i64* %rcx.26.reg2mem\n store i64 %sv_0.0.be.reload, i64* %sv_0.02.reg2mem\n store i64 %sv_0.0.be.reload, i64* %sv_0.0.lcssa.reg2mem\n br i1 %32, label LBL_2, label LBL_11\n LBL_11:\n %sv_0.0.lcssa.reload = load i64, i64* %sv_0.0.lcssa.reg2mem\n ret i64 %sv_0.0.lcssa.reload\n\n uselistorder i64 %sv_0.0.be.reload, { 0, 2, 1 }\n uselistorder i64 %sv_2.0.reload, { 1, 3, 0, 2 }\n uselistorder i64 %8, { 2, 3, 0, 1 }\n uselistorder i64 %rcx.26.reload, { 1, 0 }\n uselistorder i64 %sv_0.02.reload, { 4, 3, 0, 1, 2 }\n uselistorder i64 %3, { 1, 0, 2 }\n uselistorder i64* %rcx.26.reg2mem, { 1, 0 }\n uselistorder i64* %sv_0.02.reg2mem, { 1, 0, 2 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64* %sv_0.0.be.reg2mem, { 0, 2, 1 }\n uselistorder i64* %rcx.2.be.reg2mem, { 0, 2, 1 }\n uselistorder i64* %0, { 1, 0 }\n uselistorder i64 (i64)* @g_free, { 1, 0 }\n uselistorder i8 0, { 1, 0, 2 }\n uselistorder i1 false, { 3, 1, 2, 0 }\n uselistorder i64 (i64)* @qdict_first, { 1, 0 }\n uselistorder i32 1, { 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 0, 3, 2, 1 }\n uselistorder i64 %arg2, { 1, 0 }\n uselistorder i64 %arg1, { 1, 0, 2, 3 }\n uselistorder label LBL_9, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",1183        "label": "0"1184    },1185    {1186        "dataset": "CompRealVul",1187        "file": "ipc_lock_9866",1188        "fun_name": "ipc_lock",1189        "llvm_ir_function": "define i64 @FUNC(i64* %arg1, i64 %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.in.reg2mem = alloca i32*\n %sv_0.0.reg2mem = alloca i32*\n %0 = ptrtoint i64* %arg1 to i64\n %1 = call i64 @FUNC()\n %2 = and i64 %arg2, 4294967295\n %3 = call i64 @FUNC(i64 %0, i64 %2)\n %4 = inttoptr i64 %3 to i32*\n %5 = call i64 @FUNC(i64 %3)\n %6 = trunc i64 %5 to i32\n %7 = icmp eq i32 %6, 0\n %8 = icmp eq i1 %7, false\n store i32* %4, i32** %sv_0.0.reg2mem\n br i1 %8, label LBL_3, label LBL_1\n LBL_1:\n %9 = add i64 %3, 4\n %10 = call i64 @FUNC(i64 %9)\n %11 = load i32, i32* %4, align 4\n %12 = icmp eq i32 %11, 0\n %13 = icmp eq i1 %12, false\n store i32* %4, i32** %storemerge.in.reg2mem\n br i1 %13, label LBL_2, label LBL_4\n LBL_2:\n %14 = call i64 @FUNC(i64 %9)\n %15 = call i64 @FUNC(i64 4294967274)\n %16 = inttoptr i64 %15 to i32*\n store i32* %16, i32** %sv_0.0.reg2mem\n br label LBL_3\n LBL_3:\n %sv_0.0.reload = load i32*, i32** %sv_0.0.reg2mem\n %17 = call i64 @FUNC()\n store i32* %sv_0.0.reload, i32** %storemerge.in.reg2mem\n br label LBL_4\n LBL_4:\n %storemerge.in.reload = load i32*, i32** %storemerge.in.reg2mem\n %storemerge = ptrtoint i32* %storemerge.in.reload to i64\n ret i64 %storemerge\n\n uselistorder i32* %4, { 0, 2, 1 }\n uselistorder i64 %3, { 0, 2, 1 }\n uselistorder i32** %storemerge.in.reg2mem, { 0, 2, 1 }\n uselistorder label LBL_4, { 1, 0 }\n uselistorder label LBL_3, { 1, 0 }\n }",1190        "label": "0"1191    },1192    {1193        "dataset": "CompRealVul",1194        "file": "SFDGetSpiros_12751",1195        "fun_name": "SFDGetSpiros",1196        "llvm_ir_function": "define i64 @FUNC(i64 %arg1, i64* %arg2) local_unnamed_addr {\n LBL_0:\n %storemerge.reg2mem = alloca i64\n %rsi.1.reg2mem = alloca i64\n %.reg2mem4 = alloca i32\n %rsi.0.reg2mem = alloca i64\n %.reg2mem = alloca i32\n %0 = ptrtoint i64* %arg2 to i64\n %sv_0 = alloca i64, align 8\n %sv_1 = alloca i64, align 8\n %sv_2 = alloca i64, align 8\n %1 = call i64 @FUNC(i64 %arg1)\n %2 = call i64 @FUNC(i64 %arg1)\n %3 = call i64 @FUNC(i64 %arg1)\n %4 = call i64 @FUNC(i64 %arg1)\n %5 = call i64 @FUNC(i64 %arg1)\n %6 = inttoptr i64 %arg1 to %_IO_FILE*\n %7 = call i32 (%_IO_FILE*, i8*, ...) @fscanf(%_IO_FILE* %6, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @gv_0, i64 0, i64 0), i64* nonnull %sv_2, i64* nonnull %sv_1, i64* nonnull %sv_0)\n %8 = icmp eq i32 %7, 3\n %9 = icmp eq i64* %arg2, null\n br i1 %8, label LBL_1, label LBL_7\n LBL_1:\n %10 = add i64 %0, 8\n %11 = inttoptr i64 %10 to i32*\n %12 = add i64 %0, 12\n %13 = inttoptr i64 %12 to i32*\n br label LBL_2\n LBL_2:\n br i1 %9, label LBL_3, label LBL_4\n LBL_3:\n %14 = call i32 (%_IO_FILE*, i8*, ...) @fscanf(%_IO_FILE* %6, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @gv_0, i64 0, i64 0), i64* nonnull %sv_2, i64* nonnull %sv_1, i64* nonnull %sv_0)\n %15 = icmp eq i32 %14, 3\n br i1 %15, label LBL_2, label LBL_7\n LBL_4:\n %16 = load i32, i32* %11, align 4\n %17 = load i32, i32* %13, align 4\n %18 = icmp ult i32 %16, %17\n store i32 %16, i32* %.reg2mem\n store i64 ptrtoint ([11 x i8]* @gv_0 to i64), i64* %rsi.0.reg2mem\n br i1 %18, label LBL_6, label LBL_5\n LBL_5:\n %19 = add i32 %17, 10\n store i32 %19, i32* %13, align 4\n %20 = sext i32 %19 to i64\n %21 = mul nsw i64 %20, 24\n %22 = trunc i64 %21 to i32\n %23 = call i64* @realloc(i64* bitcast ([11 x i8]* @gv_0 to i64*), i32 %22)\n %24 = ptrtoint i64* %23 to i64\n store i64 %24, i64* %arg2, align 8\n %.pre = load i32, i32* %11, align 4\n store i32 %.pre, i32* %.reg2mem\n store i64 %21, i64* %rsi.0.reg2mem\n br label LBL_6\n LBL_6:\n %rsi.0.reload = load i64, i64* %rsi.0.reg2mem\n %.reload = load i32, i32* %.reg2mem\n %25 = add i32 %.reload, 1\n store i32 %25, i32* %11, align 4\n %26 = sext i32 %.reload to i64\n %27 = mul nsw i64 %26, 24\n %28 = add i64 %27, %rsi.0.reload\n %29 = load i64, i64* %sv_2, align 8\n %30 = load i64, i64* %sv_1, align 8\n %31 = inttoptr i64 %28 to i64*\n store i64 %29, i64* %31, align 8\n %32 = add i64 %28, 8\n %33 = inttoptr i64 %32 to i64*\n store i64 %30, i64* %33, align 8\n %34 = load i64, i64* %sv_0, align 8\n %35 = add i64 %28, 16\n %36 = inttoptr i64 %35 to i64*\n store i64 %34, i64* %36, align 8\n br label LBL_3\n LBL_7:\n br i1 %9, label LBL_11, label LBL_8\n LBL_8:\n %37 = add i64 %0, 8\n %38 = inttoptr i64 %37 to i32*\n %39 = load i32, i32* %38, align 4\n %40 = add i64 %0, 12\n %41 = inttoptr i64 %40 to i32*\n %42 = load i32, i32* %41, align 4\n %43 = icmp ult i32 %39, %42\n store i32 %39, i32* %.reg2mem4\n store i64 ptrtoint ([11 x i8]* @gv_0 to i64), i64* %rsi.1.reg2mem\n br i1 %43, label LBL_10, label LBL_9\n LBL_9:\n %44 = add i32 %42, 1\n store i32 %44, i32* %41, align 4\n %45 = sext i32 %44 to i64\n %46 = mul nsw i64 %45, 24\n %47 = trunc i64 %46 to i32\n %48 = call i64* @realloc(i64* bitcast ([11 x i8]* @gv_0 to i64*), i32 %47)\n %49 = ptrtoint i64* %48 to i64\n store i64 %49, i64* %arg2, align 8\n %.pre3 = load i32, i32* %38, align 4\n store i32 %.pre3, i32* %.reg2mem4\n store i64 %46, i64* %rsi.1.reg2mem\n br label LBL_10\n LBL_10:\n %rsi.1.reload = load i64, i64* %rsi.1.reg2mem\n %.reload5 = load i32, i32* %.reg2mem4\n %50 = sext i32 %.reload5 to i64\n %51 = mul nsw i64 %50, 24\n %52 = add i64 %51, %rsi.1.reload\n %53 = inttoptr i64 %52 to i64*\n %54 = call i64* @memset(i64* %53, i32 0, i32 24)\n %55 = load i32, i32* %38, align 4\n %56 = add i32 %55, 1\n store i32 %56, i32* %38, align 4\n %57 = sext i32 %55 to i64\n %58 = mul nsw i64 %57, 24\n %59 = add nsw i64 %58, 16\n %60 = inttoptr i64 %59 to i8*\n store i8 -1, i8* %60, align 8\n br label LBL_11\n LBL_11:\n %61 = call i64 @FUNC(i64 %arg1)\n %62 = trunc i64 %61 to i32\n %63 = icmp eq i32 %62, 69\n %64 = icmp eq i1 %63, false\n br i1 %64, label LBL_13, label LBL_12\n LBL_12:\n %65 = call i64 @FUNC(i64 %arg1)\n %66 = call i64 @FUNC(i64 %arg1)\n %67 = call i64 @FUNC(i64 %arg1)\n %68 = call i64 @FUNC(i64 %arg1)\n %69 = call i64 @FUNC(i64 %arg1)\n %70 = call i64 @FUNC(i64 %arg1)\n %71 = call i64 @FUNC(i64 %arg1)\n store i64 %71, i64* %storemerge.reg2mem\n br label LBL_14\n LBL_13:\n %72 = call i32 @ungetc(i32 %62, %_IO_FILE* %6)\n %73 = sext i32 %72 to i64\n store i64 %73, i64* %storemerge.reg2mem\n br label LBL_14\n LBL_14:\n %storemerge.reload = load i64, i64* %storemerge.reg2mem\n ret i64 %storemerge.reload\n\n uselistorder i32* %38, { 2, 1, 0, 3 }\n uselistorder i64 %28, { 2, 1, 0 }\n uselistorder i32* %11, { 1, 0, 2 }\n uselistorder %_IO_FILE* %6, { 0, 2, 1 }\n uselistorder i64* %sv_2, { 2, 1, 0 }\n uselistorder i64* %sv_1, { 2, 1, 0 }\n uselistorder i64* %sv_0, { 2, 1, 0 }\n uselistorder i64 %0, { 2, 3, 0, 1 }\n uselistorder i64* %storemerge.reg2mem, { 0, 2, 1 }\n uselistorder i64* bitcast ([11 x i8]* @gv_0 to i64*), { 1, 0 }\n uselistorder i64 24, { 2, 3, 4, 0, 1 }\n uselistorder i64 12, { 1, 0 }\n uselistorder i64 8, { 2, 0, 1 }\n uselistorder i32 3, { 1, 0 }\n uselistorder i32 (%_IO_FILE*, i8*, ...)* @fscanf, { 1, 0 }\n uselistorder [11 x i8]* @gv_0, { 0, 2, 1 }\n uselistorder i8* getelementptr inbounds ([11 x i8], [11 x i8]* @gv_0, i64 0, i64 0), { 1, 0 }\n uselistorder i64 (i64)* @nlgetc, { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }\n uselistorder i64* %arg2, { 1, 0, 2, 3 }\n uselistorder label LBL_3, { 1, 0 }\n uselistorder label LBL_2, { 1, 0 }\n }",1197        "label": "1"1198    },1199    {1200        "dataset": "CompRealVul",

Showing the first 1,200 of 24194 lines. Download the file for the rest.