4.46/2.11 MAYBE 4.46/2.12 proof of /export/starexec/sandbox2/benchmark/theBenchmark.c 4.46/2.12 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.46/2.12 4.46/2.12 4.46/2.12 Termination of the given C Problem could not be shown: 4.46/2.12 4.46/2.12 (0) C Problem 4.46/2.12 (1) CToLLVMProof [EQUIVALENT, 172 ms] 4.46/2.12 (2) LLVM problem 4.46/2.12 4.46/2.12 4.46/2.12 ---------------------------------------- 4.46/2.12 4.46/2.12 (0) 4.46/2.12 Obligation: 4.46/2.12 c file /export/starexec/sandbox2/benchmark/theBenchmark.c 4.46/2.12 ---------------------------------------- 4.46/2.12 4.46/2.12 (1) CToLLVMProof (EQUIVALENT) 4.46/2.12 Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. 4.46/2.12 ---------------------------------------- 4.46/2.12 4.46/2.12 (2) 4.46/2.12 Obligation: 4.46/2.12 LLVM Problem 4.46/2.12 4.46/2.12 Aliases: 4.46/2.12 4.46/2.12 Data layout: 4.46/2.12 4.46/2.12 "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.46/2.12 4.46/2.12 Machine: 4.46/2.12 4.46/2.12 "x86_64-pc-linux-gnu" 4.46/2.12 4.46/2.12 Type definitions: 4.46/2.12 4.46/2.12 Global variables: 4.46/2.12 4.46/2.12 Function declarations and definitions: 4.46/2.12 4.46/2.12 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 4.46/2.12 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 4.46/2.12 0: 4.46/2.12 %1 = alloca i32, align 4 4.46/2.12 %length1 = alloca i32, align 4 4.46/2.12 %x = alloca *i8, align 8 4.46/2.12 %y = alloca *i8, align 8 4.46/2.12 store 0, %1 4.46/2.12 %2 = call i32 @__VERIFIER_nondet_int() 4.46/2.12 store %2, %length1 4.46/2.12 %3 = load %length1 4.46/2.12 %4 = icmp slt %3 1 4.46/2.12 br %4, %5, %6 4.46/2.12 5: 4.46/2.12 store 1, %length1 4.46/2.12 br %6 4.46/2.12 6: 4.46/2.12 %7 = load %length1 4.46/2.12 %8 = sext i32 %7 to i64 4.46/2.12 %9 = mul %8 1 4.46/2.12 %10 = alloca i8, numElementsLit: %9 4.46/2.12 store %10, %x 4.46/2.12 %11 = load %x 4.46/2.12 %12 = load %y 4.46/2.12 %13 = icmp ule %11 %12 4.46/2.12 br %13, %14, %34 4.46/2.12 14: 4.46/2.12 %15 = load %y 4.46/2.12 %16 = load %x 4.46/2.12 %17 = load %length1 4.46/2.12 %18 = sext i32 %17 to i64 4.46/2.12 %19 = mul %18 1 4.46/2.12 %20 = getelementptr %16, %19 4.46/2.12 %21 = icmp ult %15 %20 4.46/2.12 br %21, %22, %34 4.46/2.12 22: 4.46/2.12 %23 = load %y 4.46/2.12 store 0, %23 4.46/2.12 br %24 4.46/2.12 24: 4.46/2.12 %25 = load %x 4.46/2.12 %26 = load %25 4.46/2.12 %27 = sext i8 %26 to i32 4.46/2.12 %28 = icmp ne %27 0 4.46/2.12 br %28, %29, %33 4.46/2.12 29: 4.46/2.12 %30 = load %x 4.46/2.12 store 0, %30 4.46/2.12 %31 = load %x 4.46/2.12 %32 = getelementptr %31, 1 4.46/2.12 store %32, %x 4.46/2.12 br %24 4.46/2.12 33: 4.46/2.12 br %34 4.46/2.12 34: 4.46/2.12 ret 0 4.46/2.12 4.46/2.12 4.46/2.12 Analyze Termination of all function calls matching the pattern: 4.46/2.12 main() 4.72/2.17 EOF