8.61/3.05 NO 8.61/3.06 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 8.61/3.06 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 8.61/3.06 8.61/3.06 8.61/3.06 Termination of the given C Problem could be disproven: 8.61/3.06 8.61/3.06 (0) C Problem 8.61/3.06 (1) CToLLVMProof [EQUIVALENT, 89 ms] 8.61/3.06 (2) LLVM problem 8.61/3.06 (3) LLVMToTerminationGraphProof [EQUIVALENT, 484 ms] 8.61/3.06 (4) LLVM Symbolic Execution Graph 8.61/3.06 (5) LLVMNonterminationProof [COMPLETE, 82 ms] 8.61/3.06 (6) NO 8.61/3.06 8.61/3.06 8.61/3.06 ---------------------------------------- 8.61/3.06 8.61/3.06 (0) 8.61/3.06 Obligation: 8.61/3.06 c file /export/starexec/sandbox/benchmark/theBenchmark.c 8.61/3.06 ---------------------------------------- 8.61/3.06 8.61/3.06 (1) CToLLVMProof (EQUIVALENT) 8.61/3.06 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 8.61/3.06 ---------------------------------------- 8.61/3.06 8.61/3.06 (2) 8.61/3.06 Obligation: 8.61/3.06 LLVM Problem 8.61/3.06 8.61/3.06 Aliases: 8.61/3.06 8.61/3.06 Data layout: 8.61/3.06 8.61/3.06 "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" 8.61/3.06 8.61/3.06 Machine: 8.61/3.06 8.61/3.06 "x86_64-pc-linux-gnu" 8.61/3.06 8.61/3.06 Type definitions: 8.61/3.06 8.61/3.06 Global variables: 8.61/3.06 8.61/3.06 Function declarations and definitions: 8.61/3.06 8.61/3.06 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.61/3.06 0: 8.61/3.06 %1 = alloca i32, align 4 8.61/3.06 %bob = alloca i32, align 4 8.61/3.06 %samantha = alloca i32, align 4 8.61/3.06 %temp = alloca i32, align 4 8.61/3.06 store 0, %1 8.61/3.06 store 13, %bob 8.61/3.06 store 17, %samantha 8.61/3.06 br %2 8.61/3.06 2: 8.61/3.06 %3 = load %bob 8.61/3.06 %4 = load %samantha 8.61/3.06 %5 = add %3 %4 8.61/3.06 %6 = icmp slt %5 100 8.61/3.06 br %6, %7, %11 8.61/3.06 7: 8.61/3.06 %8 = load %bob 8.61/3.06 store %8, %temp 8.61/3.06 %9 = load %samantha 8.61/3.06 store %9, %bob 8.61/3.06 %10 = load %temp 8.61/3.06 store %10, %samantha 8.61/3.06 br %2 8.61/3.06 11: 8.61/3.06 ret 0 8.61/3.06 8.61/3.06 8.61/3.06 Analyze Termination of all function calls matching the pattern: 8.61/3.06 main() 8.61/3.06 ---------------------------------------- 8.61/3.06 8.61/3.06 (3) LLVMToTerminationGraphProof (EQUIVALENT) 8.61/3.06 Constructed symbolic execution graph for LLVM program and proved memory safety. 8.61/3.06 ---------------------------------------- 8.61/3.06 8.61/3.06 (4) 8.61/3.06 Obligation: 8.61/3.06 SE Graph 8.61/3.06 ---------------------------------------- 8.61/3.06 8.61/3.06 (5) LLVMNonterminationProof (COMPLETE) 8.61/3.06 Proved nontermination with the following witness: 8.61/3.06 8.61/3.06 State #65 with references set to {}. 8.61/3.06 Nondeterministic instruction %1 = alloca i32, align 4 in node #65 yields value 5. 8.61/3.06 Nondeterministic instruction %bob = alloca i32, align 4 in node #66 yields value 9. 8.61/3.06 Nondeterministic instruction %samantha = alloca i32, align 4 in node #67 yields value 13. 8.61/3.06 Nondeterministic instruction %temp = alloca i32, align 4 in node #68 yields value 1. 8.61/3.06 8.61/3.06 ---------------------------------------- 8.61/3.06 8.61/3.06 (6) 8.61/3.06 NO 8.93/3.09 EOF