/export/starexec/sandbox2/solver/bin/starexec_run_c /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could not be shown: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 177 ms] (2) LLVM problem ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. ---------------------------------------- (2) Obligation: LLVM Problem Aliases: Data layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Machine: "x86_64-pc-linux-gnu" Type definitions: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "bubble" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: (a *i32, N i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca *i32, align 8 %2 = alloca i32, align 4 %i = alloca i32, align 4 %j = alloca i32, align 4 %t = alloca i32, align 4 store %a, %1 store %N, %2 %3 = load %2 store %3, %i br %4 4: %5 = load %i %6 = icmp sge %5 1 br %6, %7, %55 7: store 2, %j br %8 8: %9 = load %j %10 = load %i %11 = icmp sle %9 %10 br %11, %12, %51 12: %13 = load %j %14 = sub %13 1 %15 = sext i32 %14 to i64 %16 = load %1 %17 = getelementptr %16, %15 %18 = load %17 %19 = load %j %20 = sext i32 %19 to i64 %21 = load %1 %22 = getelementptr %21, %20 %23 = load %22 %24 = icmp sgt %18 %23 br %24, %25, %47 25: %26 = load %j %27 = sub %26 1 %28 = sext i32 %27 to i64 %29 = load %1 %30 = getelementptr %29, %28 %31 = load %30 store %31, %t %32 = load %j %33 = sext i32 %32 to i64 %34 = load %1 %35 = getelementptr %34, %33 %36 = load %35 %37 = load %j %38 = sub %37 1 %39 = sext i32 %38 to i64 %40 = load %1 %41 = getelementptr %40, %39 store %36, %41 %42 = load %t %43 = load %j %44 = sext i32 %43 to i64 %45 = load %1 %46 = getelementptr %45, %44 store %42, %46 br %47 47: br %48 48: %49 = load %j %50 = add %49 1 store %50, %j br %8 51: br %52 52: %53 = load %i %54 = add %53 -1 store %54, %i br %4 55: ret void *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %a = alloca *i32, align 8 %n = alloca i32, align 4 store 0, %1 %2 = call i32 @__VERIFIER_nondet_int() store %2, %n %3 = load %a %4 = load %n Unnamed Call-Instruction = call BasicVoidType @bubble(*i32 %3, i32 %4) ret 0 Analyze Termination of all function calls matching the pattern: main()