/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, 178 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 %length = alloca i32, align 4 %fac = alloca i32, align 4 %arr = alloca *i32, align 8 %arr2 = 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 = call i32 @__VERIFIER_nondet_int() store %7, %fac %8 = load %fac %9 = icmp slt %8 1 br %9, %10, %11 10: store 1, %fac br %11 11: %12 = load %length %13 = sext i32 %12 to i64 %14 = mul %13 4 %15 = alloca i8, numElementsLit: %14 %16 = bitcast *i8 %15 to *i32 store %16, %arr %17 = load %fac %18 = load %length %19 = mul %17 %18 %20 = sext i32 %19 to i64 %21 = mul %20 4 %22 = alloca i8, numElementsLit: %21 %23 = bitcast *i8 %22 to *i32 store %23, %arr2 %24 = load %arr %25 = icmp ne %24 null br %25, %26, %29 26: %27 = load %arr2 %28 = icmp ne %27 null br %28, %30, %29 29: store 0, %1 br %67 30: store 0, %i br %31 31: %32 = load %i %33 = load %length %34 = icmp slt %32 %33 br %34, %35, %44 35: %36 = call i32 @__VERIFIER_nondet_int() %37 = load %i %38 = sext i32 %37 to i64 %39 = load %arr %40 = getelementptr %39, %38 store %36, %40 br %41 41: %42 = load %i %43 = add %42 1 store %43, %i br %31 44: store 0, %j br %45 45: %46 = load %j %47 = load %length %48 = load %fac %49 = mul %47 %48 %50 = icmp slt %46 %49 br %50, %51, %66 51: %52 = load %i %53 = load %length %54 = srem %52 %53 %55 = sext i32 %54 to i64 %56 = load %arr %57 = getelementptr %56, %55 %58 = load %57 %59 = load %j %60 = sext i32 %59 to i64 %61 = load %arr2 %62 = getelementptr %61, %60 store %58, %62 br %63 63: %64 = load %j %65 = add %64 1 store %65, %j br %45 66: store 0, %1 br %67 67: %68 = load %1 ret %68 Analyze Termination of all function calls matching the pattern: main()