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