/export/starexec/sandbox/solver/bin/starexec_run_c /export/starexec/sandbox/benchmark/theBenchmark.c /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could not be shown: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 177 ms] (2) LLVM problem ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox/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: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 %i = alloca i32, align 4 %j = alloca i32, align 4 %tmp = alloca i32, align 4 %length = alloca i32, align 4 %arr = alloca *i32, align 8 %a = alloca *i32, align 8 %b = alloca *i32, align 8 store 0, %1 %2 = call i32 @__VERIFIER_nondet_int() store %2, %length %3 = load %length %4 = icmp slt %3 1 br %4, %5, %6 5: store 1, %length br %6 6: %7 = load %length %8 = srem %7 2 %9 = icmp eq %8 0 br %9, %10, %13 10: %11 = load %length %12 = add %11 1 store %12, %length br %13 13: %14 = load %length %15 = sext i32 %14 to i64 %16 = mul %15 4 %17 = alloca i8, numElementsLit: %16 %18 = bitcast *i8 %17 to *i32 store %18, %arr store 0, %i br %19 19: %20 = load %i %21 = load %length %22 = icmp slt %20 %21 br %22, %23, %41 23: %24 = load %i %25 = sext i32 %24 to i64 %26 = load %arr %27 = getelementptr %26, %25 %28 = load %27 %29 = icmp eq %28 0 br %29, %30, %37 30: %31 = load %i %32 = sext i32 %31 to i64 %33 = load %arr %34 = getelementptr %33, %32 %35 = load %34 %36 = add %35 1 store %36, %34 br %37 37: br %38 38: %39 = load %i %40 = add %39 1 store %40, %i br %19 41: %42 = load %length %43 = sdiv %42 2 %44 = add %43 1 %45 = sext i32 %44 to i64 %46 = load %arr %47 = getelementptr %46, %45 store 0, %47 %48 = load %arr store %48, %a %49 = load %arr %50 = load %length %51 = sext i32 %50 to i64 %52 = getelementptr %49, %51 %53 = getelementptr %52, -1 store %53, %b br %54 54: %55 = load %a %56 = load %55 %57 = icmp ne %56 0 br %57, %58, %62 58: %59 = load %b %60 = load %59 %61 = icmp ne %60 0 br %62 62: %63 = phi [0, %54], [%61, %58] br %63, %64, %76 64: %65 = load %a %66 = load %65 store %66, %tmp %67 = load %b %68 = load %67 %69 = load %a store %68, %69 %70 = load %tmp %71 = load %b store %70, %71 %72 = load %a %73 = getelementptr %72, 1 store %73, %a %74 = load %b %75 = getelementptr %74, -1 store %75, %b br %54 76: ret 0 Analyze Termination of all function calls matching the pattern: main()