4.29/2.05 MAYBE 4.29/2.05 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 4.29/2.05 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.29/2.05 4.29/2.05 4.29/2.05 Termination of the given C Problem could not be shown: 4.29/2.05 4.29/2.05 (0) C Problem 4.29/2.05 (1) CToLLVMProof [EQUIVALENT, 172 ms] 4.29/2.05 (2) LLVM problem 4.29/2.05 4.29/2.05 4.29/2.05 ---------------------------------------- 4.29/2.05 4.29/2.05 (0) 4.29/2.05 Obligation: 4.29/2.05 c file /export/starexec/sandbox/benchmark/theBenchmark.c 4.29/2.05 ---------------------------------------- 4.29/2.05 4.29/2.05 (1) CToLLVMProof (EQUIVALENT) 4.29/2.05 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 4.29/2.05 ---------------------------------------- 4.29/2.05 4.29/2.05 (2) 4.29/2.05 Obligation: 4.29/2.05 LLVM Problem 4.29/2.05 4.29/2.05 Aliases: 4.29/2.05 4.29/2.05 Data layout: 4.29/2.05 4.29/2.05 "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" 4.29/2.05 4.29/2.05 Machine: 4.29/2.05 4.29/2.05 "x86_64-pc-linux-gnu" 4.29/2.05 4.29/2.05 Type definitions: 4.29/2.05 4.29/2.05 Global variables: 4.29/2.05 4.29/2.05 Function declarations and definitions: 4.29/2.05 4.29/2.05 *BasicFunctionTypename: "malloc" returnParam: *i8 parameters: (i64) variableLength: false visibilityType: DEFAULT callingConvention: ccc 4.29/2.05 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 4.29/2.05 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 4.29/2.05 0: 4.29/2.05 %1 = alloca i32, align 4 4.29/2.05 %p = alloca *i32, align 8 4.29/2.05 %q = alloca *i32, align 8 4.29/2.05 store 0, %1 4.29/2.05 %2 = call *i8 @malloc(i64 4192) 4.29/2.05 %3 = bitcast *i8 %2 to *i32 4.29/2.05 store %3, %p 4.29/2.05 %4 = load %p 4.29/2.05 store %4, %q 4.29/2.05 br %5 4.29/2.05 5: 4.29/2.05 %6 = load %q 4.29/2.05 %7 = load %6 4.29/2.05 %8 = icmp sge %7 0 4.29/2.05 br %8, %9, %14 4.29/2.05 9: 4.29/2.05 %10 = load %q 4.29/2.05 %11 = load %p 4.29/2.05 %12 = getelementptr %11, 1048 4.29/2.05 %13 = icmp ult %10 %12 4.29/2.05 br %14 4.29/2.05 14: 4.29/2.05 %15 = phi [0, %5], [%13, %9] 4.29/2.05 br %15, %16, %27 4.29/2.05 16: 4.29/2.05 %17 = call i32 @__VERIFIER_nondet_int() 4.29/2.05 %18 = icmp ne %17 0 4.29/2.05 br %18, %19, %22 4.29/2.05 19: 4.29/2.05 %20 = load %q 4.29/2.05 %21 = getelementptr %20, 1 4.29/2.05 store %21, %q 4.29/2.05 br %26 4.29/2.05 22: 4.29/2.05 %23 = load %q 4.29/2.05 %24 = load %23 4.29/2.05 %25 = add %24 -1 4.29/2.05 store %25, %23 4.29/2.05 br %26 4.29/2.05 26: 4.29/2.05 br %5 4.29/2.05 27: 4.29/2.05 ret 0 4.29/2.05 4.29/2.05 4.29/2.05 Analyze Termination of all function calls matching the pattern: 4.29/2.05 main() 4.29/2.09 EOF