5.43/2.33 MAYBE 5.61/2.34 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 5.61/2.34 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.61/2.34 5.61/2.34 5.61/2.34 Termination of the given C Problem could not be shown: 5.61/2.34 5.61/2.34 (0) C Problem 5.61/2.34 (1) CToLLVMProof [EQUIVALENT, 176 ms] 5.61/2.34 (2) LLVM problem 5.61/2.34 5.61/2.34 5.61/2.34 ---------------------------------------- 5.61/2.34 5.61/2.34 (0) 5.61/2.34 Obligation: 5.61/2.34 c file /export/starexec/sandbox/benchmark/theBenchmark.c 5.61/2.34 ---------------------------------------- 5.61/2.34 5.61/2.34 (1) CToLLVMProof (EQUIVALENT) 5.61/2.34 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 5.61/2.34 ---------------------------------------- 5.61/2.34 5.61/2.34 (2) 5.61/2.34 Obligation: 5.61/2.34 LLVM Problem 5.61/2.34 5.61/2.34 Aliases: 5.61/2.34 5.61/2.34 Data layout: 5.61/2.34 5.61/2.34 "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" 5.61/2.34 5.61/2.34 Machine: 5.61/2.34 5.61/2.34 "x86_64-pc-linux-gnu" 5.61/2.34 5.61/2.34 Type definitions: 5.61/2.34 5.61/2.34 Global variables: 5.61/2.34 5.61/2.34 Function declarations and definitions: 5.61/2.34 5.61/2.34 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 5.61/2.34 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 5.61/2.34 0: 5.61/2.34 %1 = alloca i32, align 4 5.61/2.34 %i = alloca i32, align 4 5.61/2.34 %j = alloca i32, align 4 5.61/2.34 %val = alloca i32, align 4 5.61/2.34 %length = alloca i32, align 4 5.61/2.34 %arr = alloca *i32, align 8 5.61/2.34 store 0, %1 5.61/2.34 %2 = call i32 @__VERIFIER_nondet_int() 5.61/2.34 store %2, %length 5.61/2.34 %3 = load %length 5.61/2.34 %4 = icmp slt %3 1 5.61/2.34 br %4, %5, %6 5.61/2.34 5: 5.61/2.34 store 1, %length 5.61/2.34 br %6 5.61/2.34 6: 5.61/2.34 %7 = load %length 5.61/2.34 %8 = sext i32 %7 to i64 5.61/2.34 %9 = alloca i8, numElementsLit: %8 5.61/2.34 %10 = bitcast *i8 %9 to *i32 5.61/2.34 store %10, %arr 5.61/2.34 %11 = load %arr 5.61/2.34 %12 = icmp ne %11 null 5.61/2.34 br %12, %14, %13 5.61/2.34 13: 5.61/2.34 store 0, %1 5.61/2.34 br %58 5.61/2.34 14: 5.61/2.34 store 0, %i 5.61/2.34 br %15 5.61/2.34 15: 5.61/2.34 %16 = load %i 5.61/2.34 %17 = load %length 5.61/2.34 %18 = icmp slt %16 %17 5.61/2.34 br %18, %19, %33 5.61/2.34 19: 5.61/2.34 %20 = call i32 @__VERIFIER_nondet_int() 5.61/2.34 store %20, %val 5.61/2.34 %21 = load %val 5.61/2.34 %22 = icmp slt %21 0 5.61/2.34 br %22, %23, %24 5.61/2.34 23: 5.61/2.34 store 0, %val 5.61/2.34 br %24 5.61/2.34 24: 5.61/2.34 %25 = load %val 5.61/2.34 %26 = load %i 5.61/2.34 %27 = sext i32 %26 to i64 5.61/2.34 %28 = load %arr 5.61/2.34 %29 = getelementptr %28, %27 5.61/2.34 store %25, %29 5.61/2.34 br %30 5.61/2.34 30: 5.61/2.34 %31 = load %i 5.61/2.34 %32 = add %31 1 5.61/2.34 store %32, %i 5.61/2.34 br %15 5.61/2.34 33: 5.61/2.34 store 0, %j 5.61/2.34 br %34 5.61/2.34 34: 5.61/2.34 %35 = load %j 5.61/2.34 %36 = load %length 5.61/2.34 %37 = icmp slt %35 %36 5.61/2.34 br %37, %38, %57 5.61/2.34 38: 5.61/2.34 br %39 5.61/2.34 39: 5.61/2.34 %40 = load %j 5.61/2.34 %41 = sext i32 %40 to i64 5.61/2.34 %42 = load %arr 5.61/2.34 %43 = getelementptr %42, %41 5.61/2.34 %44 = load %43 5.61/2.34 %45 = icmp sgt %44 0 5.61/2.34 br %45, %46, %53 5.61/2.34 46: 5.61/2.34 %47 = load %j 5.61/2.34 %48 = sext i32 %47 to i64 5.61/2.34 %49 = load %arr 5.61/2.34 %50 = getelementptr %49, %48 5.61/2.34 %51 = load %50 5.61/2.34 %52 = add %51 -1 5.61/2.34 store %52, %50 5.61/2.34 br %39 5.61/2.34 53: 5.61/2.34 br %54 5.61/2.34 54: 5.61/2.34 %55 = load %j 5.61/2.34 %56 = add %55 1 5.61/2.34 store %56, %j 5.61/2.34 br %34 5.61/2.34 57: 5.61/2.34 store 0, %1 5.61/2.34 br %58 5.61/2.34 58: 5.61/2.34 %59 = load %1 5.61/2.34 ret %59 5.61/2.34 5.61/2.34 5.61/2.34 Analyze Termination of all function calls matching the pattern: 5.61/2.34 main() 5.61/2.40 EOF