11.19/4.27 MAYBE 11.19/4.28 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 11.19/4.28 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.19/4.28 11.19/4.28 11.19/4.28 Termination of the given C Problem could not be shown: 11.19/4.28 11.19/4.28 (0) C Problem 11.19/4.28 (1) CToLLVMProof [EQUIVALENT, 165 ms] 11.19/4.28 (2) LLVM problem 11.19/4.28 11.19/4.28 11.19/4.28 ---------------------------------------- 11.19/4.28 11.19/4.28 (0) 11.19/4.28 Obligation: 11.19/4.28 c file /export/starexec/sandbox/benchmark/theBenchmark.c 11.19/4.28 ---------------------------------------- 11.19/4.28 11.19/4.28 (1) CToLLVMProof (EQUIVALENT) 11.19/4.28 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 11.19/4.28 ---------------------------------------- 11.19/4.28 11.19/4.28 (2) 11.19/4.28 Obligation: 11.19/4.28 LLVM Problem 11.19/4.28 11.19/4.28 Aliases: 11.19/4.28 11.19/4.28 Data layout: 11.19/4.28 11.19/4.28 "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" 11.19/4.28 11.19/4.28 Machine: 11.19/4.28 11.19/4.28 "x86_64-pc-linux-gnu" 11.19/4.28 11.19/4.28 Type definitions: 11.19/4.28 11.19/4.28 struct.node --> BasicStructureType(elementType: i32, elementType: *struct.node) 11.19/4.28 11.19/4.28 Global variables: 11.19/4.28 11.19/4.28 Function declarations and definitions: 11.19/4.28 11.19/4.28 *BasicFunctionTypename: "malloc" returnParam: *i8 noalias parameters: (i64) variableLength: false visibilityType: DEFAULT callingConvention: ccc 11.19/4.28 *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: true visibilityType: DEFAULT callingConvention: ccc 11.19/4.28 *BasicFunctionTypename: "__VERIFIER_error" returnParam: BasicVoidType parameters: () variableLength: true visibilityType: DEFAULT callingConvention: ccc 11.19/4.28 *BasicFunctionTypename: "exit" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: (s i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 11.19/4.28 0: 11.19/4.28 %1 = alloca i32, align 4 11.19/4.28 store %s, %1 11.19/4.28 br %2 11.19/4.28 2: 11.19/4.28 br %2 11.19/4.28 3: 11.19/4.28 ret void 11.19/4.28 11.19/4.28 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 11.19/4.28 0: 11.19/4.28 %1 = alloca i32, align 4 11.19/4.28 %a = alloca *BasicTypeName typeName: struct.nodeBasicStructureType(elementType: i32, elementType: *struct.node), align 8 11.19/4.28 %t = alloca *BasicTypeName typeName: struct.nodeBasicStructureType(elementType: i32, elementType: *struct.node), align 8 11.19/4.28 %p = alloca *BasicTypeName typeName: struct.nodeBasicStructureType(elementType: i32, elementType: *struct.node), align 8 11.19/4.28 store 0, %1 11.19/4.28 %2 = call noalias *i8 @malloc(i64 16) nounwind 11.19/4.28 %3 = bitcast *i8 %2 to *BasicTypeName typeName: struct.nodeBasicStructureType(elementType: i32, elementType: *struct.node) 11.19/4.28 store %3, %a 11.19/4.28 %4 = load %a 11.19/4.28 %5 = icmp eq %4 null 11.19/4.28 br %5, %6, %7 11.19/4.28 6: 11.19/4.28 Unnamed Call-Instruction = call BasicVoidType @exit(i32 1) noreturn nounwind 11.19/4.28 unreachable 11.19/4.28 7: 11.19/4.28 %8 = load %a 11.19/4.28 store %8, %p 11.19/4.28 br %9 11.19/4.28 9: 11.19/4.28 %10 = call i32 (...)* @__VERIFIER_nondet_int() 11.19/4.28 %11 = icmp ne %10 0 11.19/4.28 br %11, %12, %27 11.19/4.28 12: 11.19/4.28 %13 = load %p 11.19/4.28 %14 = getelementptr %13, 0, 0 11.19/4.28 store 1, %14 11.19/4.28 %15 = call noalias *i8 @malloc(i64 16) nounwind 11.19/4.28 %16 = bitcast *i8 %15 to *BasicTypeName typeName: struct.nodeBasicStructureType(elementType: i32, elementType: *struct.node) 11.19/4.28 store %16, %t 11.19/4.28 %17 = load %t 11.19/4.28 %18 = icmp eq %17 null 11.19/4.28 br %18, %19, %20 11.19/4.28 19: 11.19/4.28 Unnamed Call-Instruction = call BasicVoidType @exit(i32 1) noreturn nounwind 11.19/4.28 unreachable 11.19/4.28 20: 11.19/4.28 %21 = load %t 11.19/4.28 %22 = load %p 11.19/4.28 %23 = getelementptr %22, 0, 1 11.19/4.28 store %21, %23 11.19/4.28 %24 = load %p 11.19/4.28 %25 = getelementptr %24, 0, 1 11.19/4.28 %26 = load %25 11.19/4.28 store %26, %p 11.19/4.28 br %9 11.19/4.28 27: 11.19/4.28 br %28 11.19/4.28 28: 11.19/4.28 %29 = call i32 (...)* @__VERIFIER_nondet_int() 11.19/4.28 %30 = icmp ne %29 0 11.19/4.28 br %30, %31, %46 11.19/4.28 31: 11.19/4.28 %32 = load %p 11.19/4.28 %33 = getelementptr %32, 0, 0 11.19/4.28 store 2, %33 11.19/4.28 %34 = call noalias *i8 @malloc(i64 16) nounwind 11.19/4.28 %35 = bitcast *i8 %34 to *BasicTypeName typeName: struct.nodeBasicStructureType(elementType: i32, elementType: *struct.node) 11.19/4.28 store %35, %t 11.19/4.28 %36 = load %t 11.19/4.28 %37 = icmp eq %36 null 11.19/4.28 br %37, %38, %39 11.19/4.28 38: 11.19/4.28 Unnamed Call-Instruction = call BasicVoidType @exit(i32 1) noreturn nounwind 11.19/4.28 unreachable 11.19/4.28 39: 11.19/4.28 %40 = load %t 11.19/4.28 %41 = load %p 11.19/4.28 %42 = getelementptr %41, 0, 1 11.19/4.28 store %40, %42 11.19/4.28 %43 = load %p 11.19/4.28 %44 = getelementptr %43, 0, 1 11.19/4.28 %45 = load %44 11.19/4.28 store %45, %p 11.19/4.28 br %28 11.19/4.28 46: 11.19/4.28 %47 = load %p 11.19/4.28 %48 = getelementptr %47, 0, 0 11.19/4.28 store 3, %48 11.19/4.28 %49 = load %a 11.19/4.28 store %49, %p 11.19/4.28 br %50 11.19/4.28 50: 11.19/4.28 %51 = load %p 11.19/4.28 %52 = getelementptr %51, 0, 0 11.19/4.28 %53 = load %52 11.19/4.28 %54 = icmp eq %53 1 11.19/4.28 br %54, %55, %59 11.19/4.28 55: 11.19/4.28 %56 = load %p 11.19/4.28 %57 = getelementptr %56, 0, 1 11.19/4.28 %58 = load %57 11.19/4.28 store %58, %p 11.19/4.28 br %50 11.19/4.28 59: 11.19/4.28 br %60 11.19/4.28 60: 11.19/4.28 %61 = load %p 11.19/4.28 %62 = getelementptr %61, 0, 0 11.19/4.28 %63 = load %62 11.19/4.28 %64 = icmp eq %63 2 11.19/4.28 br %64, %65, %69 11.19/4.28 65: 11.19/4.28 %66 = load %p 11.19/4.28 %67 = getelementptr %66, 0, 1 11.19/4.28 %68 = load %67 11.19/4.28 store %68, %p 11.19/4.28 br %60 11.19/4.28 69: 11.19/4.28 %70 = load %p 11.19/4.28 %71 = getelementptr %70, 0, 0 11.19/4.28 %72 = load %71 11.19/4.28 %73 = icmp ne %72 3 11.19/4.28 br %73, %74, %76 11.19/4.28 74: 11.19/4.28 br %75 11.19/4.28 75: 11.19/4.28 Unnamed Call-Instruction = call BasicVoidType (...)* @__VERIFIER_error() noreturn 11.19/4.28 unreachable 11.19/4.28 76: 11.19/4.28 ret 0 11.19/4.28 11.19/4.28 11.19/4.28 Analyze Termination of all function calls matching the pattern: 11.19/4.28 main() 11.44/4.38 EOF