8.02/3.68 MAYBE 8.34/3.78 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 8.34/3.78 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 8.34/3.78 8.34/3.78 8.34/3.78 Termination of the given C Problem could not be shown: 8.34/3.78 8.34/3.78 (0) C Problem 8.34/3.78 (1) CToLLVMProof [EQUIVALENT, 257 ms] 8.34/3.78 (2) LLVM problem 8.34/3.78 8.34/3.78 8.34/3.78 ---------------------------------------- 8.34/3.78 8.34/3.78 (0) 8.34/3.78 Obligation: 8.34/3.78 c file /export/starexec/sandbox/benchmark/theBenchmark.c 8.34/3.78 ---------------------------------------- 8.34/3.78 8.34/3.78 (1) CToLLVMProof (EQUIVALENT) 8.34/3.78 Compiled c-file /export/starexec/sandbox/benchmark/theBenchmark.c to LLVM. 8.34/3.78 ---------------------------------------- 8.34/3.78 8.34/3.78 (2) 8.34/3.78 Obligation: 8.34/3.78 LLVM Problem 8.34/3.78 8.34/3.78 Aliases: 8.34/3.78 8.34/3.78 Data layout: 8.34/3.78 8.34/3.78 "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.34/3.78 8.34/3.78 Machine: 8.34/3.78 8.34/3.78 "x86_64-pc-linux-gnu" 8.34/3.78 8.34/3.78 Type definitions: 8.34/3.78 8.34/3.78 union.__CS__u --> BasicStructureType(elementType: [3 x i32]) 8.34/3.78 8.34/3.78 Global variables: 8.34/3.78 8.34/3.78 Name: __CS_round initVal: 0 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: false linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __CS_ret initVal: 0 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: false linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __CS_ret_PREEMPTED initVal: 1 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: true linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __CS_ret_ERROR initVal: 2 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: true linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __CS_ret_FINISHED initVal: 4 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: true linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __CS_error initVal: 0 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: false linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __THREAD_UNUSED initVal: 0 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: true linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __THREAD_RUNNING initVal: 1 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: true linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __THREAD_FINISHED initVal: 2 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: true linkageType: null section: null 8.34/3.78 8.34/3.78 Name: __CS_thread_index initVal: 0 type: i8 addrSpace: null alignment: 1 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: __CS_thread_lockedon initVal: ((null,null,null),(null,null,null),(null,null,null)) type: [3 x [3 x *i8]] addrSpace: null alignment: 16 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: __CS_thread_status initVal: ((0,0,0),(0,0,0),(0,0,0)) type: [3 x [3 x i8]] addrSpace: null alignment: 1 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: __CS_thread_allocated initVal: (0,0,0) type: [3 x i8] addrSpace: null alignment: 1 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: __CS_thread_born_round initVal: (0,0,0) type: [3 x i8] addrSpace: null alignment: 1 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: __CS_thread initVal: (null,null,null) type: [3 x *BasicFunctionType varArgs: falsereturnType: *i8paramTypes: (*i8)] addrSpace: null alignment: 16 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: b1 initVal: (0,0,0) type: [3 x i32] addrSpace: null alignment: 4 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: x initVal: (0,0,0) type: [3 x i32] addrSpace: null alignment: 4 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: y initVal: (0,0,0) type: [3 x i32] addrSpace: null alignment: 4 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: b2 initVal: (0,0,0) type: [3 x i32] addrSpace: null alignment: 4 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: X initVal: (0,0,0) type: [3 x i32] addrSpace: null alignment: 4 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Name: __CS_u initVal: {(0,0,0)} type: BasicTypeName typeName: union.__CS__uBasicStructureType(elementType: [3 x i32]) addrSpace: null alignment: 4 threadLocal: false constant: false linkageType: COMMON section: null 8.34/3.78 8.34/3.78 Function declarations and definitions: 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__VERIFIER_error" returnParam: BasicVoidType parameters: () variableLength: true visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 *BasicFunctionTypename: "__VERIFIER_assume" returnParam: BasicVoidType parameters: (i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 *BasicFunctionTypename: "nondet_int" returnParam: i32 parameters: () variableLength: true visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 *BasicFunctionTypename: "__VERIFIER_assert" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: (cond i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 store %cond, %1 8.34/3.78 %2 = load %1 8.34/3.78 %3 = icmp ne %2 0 8.34/3.78 br %3, %6, %4 8.34/3.78 4: 8.34/3.78 br %5 8.34/3.78 5: 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType (...)* @__VERIFIER_error() noreturn 8.34/3.78 unreachable 8.34/3.78 6: 8.34/3.78 ret void 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_cs" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %k = alloca i8, align 1 8.34/3.78 %1 = load @__CS_round 8.34/3.78 %2 = zext i8 %1 to i32 8.34/3.78 %3 = load %k 8.34/3.78 %4 = zext i8 %3 to i32 8.34/3.78 %5 = add %2 %4 8.34/3.78 %6 = icmp slt %5 3 8.34/3.78 %7 = zext i1 %6 to i32 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %7) 8.34/3.78 %8 = load %k 8.34/3.78 %9 = zext i8 %8 to i32 8.34/3.78 %10 = load @__CS_round 8.34/3.78 %11 = zext i8 %10 to i32 8.34/3.78 %12 = add %11 %9 8.34/3.78 %13 = trunc i32 %12 to i8 8.34/3.78 store %13, @__CS_round 8.34/3.78 %14 = call i32 (...)* @nondet_int() 8.34/3.78 %15 = icmp ne %14 0 8.34/3.78 br %15, %16, %21 8.34/3.78 16: 8.34/3.78 %17 = load @__CS_round 8.34/3.78 %18 = zext i8 %17 to i32 8.34/3.78 %19 = icmp eq %18 2 8.34/3.78 br %19, %20, %21 8.34/3.78 20: 8.34/3.78 br %24 8.34/3.78 21: 8.34/3.78 %22 = load @__CS_ret 8.34/3.78 %23 = zext i8 %22 to i32 8.34/3.78 br %24 8.34/3.78 24: 8.34/3.78 %25 = phi [1, %20], [%23, %21] 8.34/3.78 %26 = trunc i32 %25 to i8 8.34/3.78 store %26, @__CS_ret 8.34/3.78 ret void 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_mutex_init" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (mutex *i8, attr *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca *i8, align 8 8.34/3.78 %2 = alloca *i8, align 8 8.34/3.78 store %mutex, %1 8.34/3.78 store %attr, %2 8.34/3.78 ret 0 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_mutex_destroy" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (lock *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca *i8, align 8 8.34/3.78 store %lock, %1 8.34/3.78 %2 = load %1 8.34/3.78 %3 = load %2 8.34/3.78 %4 = zext i8 %3 to i32 8.34/3.78 %5 = load @__CS_thread_index 8.34/3.78 %6 = zext i8 %5 to i32 8.34/3.78 %7 = icmp ne %4 %6 8.34/3.78 br %7, %8, %14 8.34/3.78 8: 8.34/3.78 %9 = load %1 8.34/3.78 %10 = load %9 8.34/3.78 %11 = zext i8 %10 to i32 8.34/3.78 %12 = icmp ne %11 0 8.34/3.78 br %12, %13, %14 8.34/3.78 13: 8.34/3.78 store 1, @__CS_error 8.34/3.78 store 2, @__CS_ret 8.34/3.78 br %16 8.34/3.78 14: 8.34/3.78 %15 = load %1 8.34/3.78 store 0, %15 8.34/3.78 br %16 8.34/3.78 16: 8.34/3.78 ret 0 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_mutex_lock" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (lock *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 %2 = alloca *i8, align 8 8.34/3.78 store %lock, %2 8.34/3.78 %3 = load %2 8.34/3.78 %4 = load %3 8.34/3.78 %5 = zext i8 %4 to i32 8.34/3.78 %6 = icmp eq %5 0 8.34/3.78 br %6, %7, %13 8.34/3.78 7: 8.34/3.78 %8 = load @__CS_thread_index 8.34/3.78 %9 = zext i8 %8 to i32 8.34/3.78 %10 = add %9 1 8.34/3.78 %11 = trunc i32 %10 to i8 8.34/3.78 %12 = load %2 8.34/3.78 store %11, %12 8.34/3.78 br %14 8.34/3.78 13: 8.34/3.78 store 1, @__CS_ret 8.34/3.78 store 1, %1 8.34/3.78 br %15 8.34/3.78 14: 8.34/3.78 store 0, %1 8.34/3.78 br %15 8.34/3.78 15: 8.34/3.78 %16 = load %1 8.34/3.78 ret %16 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_mutex_unlock" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (lock *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 %2 = alloca *i8, align 8 8.34/3.78 store %lock, %2 8.34/3.78 %3 = load %2 8.34/3.78 %4 = load %3 8.34/3.78 %5 = zext i8 %4 to i32 8.34/3.78 %6 = load @__CS_thread_index 8.34/3.78 %7 = zext i8 %6 to i32 8.34/3.78 %8 = add %7 1 8.34/3.78 %9 = icmp ne %5 %8 8.34/3.78 br %9, %10, %11 8.34/3.78 10: 8.34/3.78 store 1, @__CS_error 8.34/3.78 store 2, @__CS_ret 8.34/3.78 store 1, %1 8.34/3.78 br %14 8.34/3.78 11: 8.34/3.78 %12 = load %2 8.34/3.78 store 0, %12 8.34/3.78 br %13 8.34/3.78 13: 8.34/3.78 store 0, %1 8.34/3.78 br %14 8.34/3.78 14: 8.34/3.78 %15 = load %1 8.34/3.78 ret %15 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_cond_init" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (cond *i8, attr *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca *i8, align 8 8.34/3.78 %2 = alloca *i8, align 8 8.34/3.78 store %cond, %1 8.34/3.78 store %attr, %2 8.34/3.78 ret 0 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_cond_signal" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (cond *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca *i8, align 8 8.34/3.78 %j = alloca i32, align 4 8.34/3.78 store %cond, %1 8.34/3.78 store 0, %j 8.34/3.78 br %2 8.34/3.78 2: 8.34/3.78 %3 = load %j 8.34/3.78 %4 = icmp sle %3 2 8.34/3.78 br %4, %5, %26 8.34/3.78 5: 8.34/3.78 %6 = load %j 8.34/3.78 %7 = sext i32 %6 to i64 8.34/3.78 %8 = load @__CS_round 8.34/3.78 %9 = zext i8 %8 to i64 8.34/3.78 %10 = getelementptr @__CS_thread_lockedon, 0, %9 8.34/3.78 %11 = getelementptr %10, 0, %7 8.34/3.78 %12 = load %11 8.34/3.78 %13 = load %1 8.34/3.78 %14 = icmp eq %12 %13 8.34/3.78 br %14, %15, %22 8.34/3.78 15: 8.34/3.78 %16 = load %j 8.34/3.78 %17 = sext i32 %16 to i64 8.34/3.78 %18 = load @__CS_round 8.34/3.78 %19 = zext i8 %18 to i64 8.34/3.78 %20 = getelementptr @__CS_thread_lockedon, 0, %19 8.34/3.78 %21 = getelementptr %20, 0, %17 8.34/3.78 store null, %21 8.34/3.78 br %22 8.34/3.78 22: 8.34/3.78 br %23 8.34/3.78 23: 8.34/3.78 %24 = load %j 8.34/3.78 %25 = add %24 1 8.34/3.78 store %25, %j 8.34/3.78 br %2 8.34/3.78 26: 8.34/3.78 ret 0 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_cond_broadcast" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (cond *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca *i8, align 8 8.34/3.78 %j = alloca i32, align 4 8.34/3.78 store %cond, %1 8.34/3.78 store 0, %j 8.34/3.78 br %2 8.34/3.78 2: 8.34/3.78 %3 = load %j 8.34/3.78 %4 = icmp sle %3 2 8.34/3.78 br %4, %5, %26 8.34/3.78 5: 8.34/3.78 %6 = load %j 8.34/3.78 %7 = sext i32 %6 to i64 8.34/3.78 %8 = load @__CS_round 8.34/3.78 %9 = zext i8 %8 to i64 8.34/3.78 %10 = getelementptr @__CS_thread_lockedon, 0, %9 8.34/3.78 %11 = getelementptr %10, 0, %7 8.34/3.78 %12 = load %11 8.34/3.78 %13 = load %1 8.34/3.78 %14 = icmp eq %12 %13 8.34/3.78 br %14, %15, %22 8.34/3.78 15: 8.34/3.78 %16 = load %j 8.34/3.78 %17 = sext i32 %16 to i64 8.34/3.78 %18 = load @__CS_round 8.34/3.78 %19 = zext i8 %18 to i64 8.34/3.78 %20 = getelementptr @__CS_thread_lockedon, 0, %19 8.34/3.78 %21 = getelementptr %20, 0, %17 8.34/3.78 store null, %21 8.34/3.78 br %22 8.34/3.78 22: 8.34/3.78 br %23 8.34/3.78 23: 8.34/3.78 %24 = load %j 8.34/3.78 %25 = add %24 1 8.34/3.78 store %25, %j 8.34/3.78 br %2 8.34/3.78 26: 8.34/3.78 ret 0 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_cond_wait" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (cond *i8, lock *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 %2 = alloca *i8, align 8 8.34/3.78 %3 = alloca *i8, align 8 8.34/3.78 store %cond, %2 8.34/3.78 store %lock, %3 8.34/3.78 %4 = load %3 8.34/3.78 %5 = load %4 8.34/3.78 %6 = zext i8 %5 to i32 8.34/3.78 %7 = load @__CS_thread_index 8.34/3.78 %8 = zext i8 %7 to i32 8.34/3.78 %9 = add %8 1 8.34/3.78 %10 = icmp ne %6 %9 8.34/3.78 br %10, %11, %12 8.34/3.78 11: 8.34/3.78 store 1, @__CS_error 8.34/3.78 store 2, @__CS_ret 8.34/3.78 store 1, %1 8.34/3.78 br %34 8.34/3.78 12: 8.34/3.78 %13 = load %3 8.34/3.78 store 0, %13 8.34/3.78 br %14 8.34/3.78 14: 8.34/3.78 %15 = load %2 8.34/3.78 %16 = load @__CS_thread_index 8.34/3.78 %17 = zext i8 %16 to i64 8.34/3.78 %18 = load @__CS_round 8.34/3.78 %19 = zext i8 %18 to i64 8.34/3.78 %20 = getelementptr @__CS_thread_lockedon, 0, %19 8.34/3.78 %21 = getelementptr %20, 0, %17 8.34/3.78 store %15, %21 8.34/3.78 store 1, @__CS_ret 8.34/3.78 %22 = load %3 8.34/3.78 %23 = load %22 8.34/3.78 %24 = zext i8 %23 to i32 8.34/3.78 %25 = icmp eq %24 0 8.34/3.78 br %25, %26, %32 8.34/3.78 26: 8.34/3.78 %27 = load @__CS_thread_index 8.34/3.78 %28 = zext i8 %27 to i32 8.34/3.78 %29 = add %28 1 8.34/3.78 %30 = trunc i32 %29 to i8 8.34/3.78 %31 = load %3 8.34/3.78 store %30, %31 8.34/3.78 br %33 8.34/3.78 32: 8.34/3.78 store 1, @__CS_ret 8.34/3.78 store 1, %1 8.34/3.78 br %34 8.34/3.78 33: 8.34/3.78 store 0, %1 8.34/3.78 br %34 8.34/3.78 34: 8.34/3.78 %35 = load %1 8.34/3.78 ret %35 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_assert" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: (expr i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 store %expr, %1 8.34/3.78 %2 = load %1 8.34/3.78 %3 = icmp ne %2 0 8.34/3.78 br %3, %5, %4 8.34/3.78 4: 8.34/3.78 store 1, @__CS_error 8.34/3.78 store 2, @__CS_ret 8.34/3.78 br %5 8.34/3.78 5: 8.34/3.78 ret void 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_assume" linkageType: EXTERNALLY_VISIBLE returnParam: BasicVoidType parameters: (expr i32) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 store %expr, %1 8.34/3.78 %2 = load %1 8.34/3.78 %3 = icmp ne %2 0 8.34/3.78 br %3, %5, %4 8.34/3.78 4: 8.34/3.78 store 1, @__CS_ret 8.34/3.78 br %5 8.34/3.78 5: 8.34/3.78 ret void 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_join" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (thread i8 zeroext, value_ptr **i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 %2 = alloca i8, align 1 8.34/3.78 %3 = alloca **i8, align 8 8.34/3.78 store %thread, %2 8.34/3.78 store %value_ptr, %3 8.34/3.78 %4 = load %2 8.34/3.78 %5 = zext i8 %4 to i32 8.34/3.78 %6 = icmp ne %5 123 8.34/3.78 br %6, %7, %12 8.34/3.78 7: 8.34/3.78 %8 = load %2 8.34/3.78 %9 = zext i8 %8 to i32 8.34/3.78 %10 = icmp sgt %9 3 8.34/3.78 br %10, %11, %12 8.34/3.78 11: 8.34/3.78 store 1, @__CS_error 8.34/3.78 store 2, @__CS_ret 8.34/3.78 store 0, %1 8.34/3.78 br %49 8.34/3.78 12: 8.34/3.78 %13 = load %2 8.34/3.78 %14 = zext i8 %13 to i32 8.34/3.78 %15 = icmp eq %14 123 8.34/3.78 br %15, %26, %16 8.34/3.78 16: 8.34/3.78 %17 = load %2 8.34/3.78 %18 = zext i8 %17 to i64 8.34/3.78 %19 = load @__CS_round 8.34/3.78 %20 = zext i8 %19 to i64 8.34/3.78 %21 = getelementptr @__CS_thread_status, 0, %20 8.34/3.78 %22 = getelementptr %21, 0, %18 8.34/3.78 %23 = load %22 8.34/3.78 %24 = zext i8 %23 to i32 8.34/3.78 %25 = icmp eq %24 1 8.34/3.78 br %25, %26, %27 8.34/3.78 26: 8.34/3.78 store 1, @__CS_ret 8.34/3.78 store 0, %1 8.34/3.78 br %49 8.34/3.78 27: 8.34/3.78 %28 = load %2 8.34/3.78 %29 = zext i8 %28 to i64 8.34/3.78 %30 = load @__CS_round 8.34/3.78 %31 = zext i8 %30 to i64 8.34/3.78 %32 = getelementptr @__CS_thread_status, 0, %31 8.34/3.78 %33 = getelementptr %32, 0, %29 8.34/3.78 %34 = load %33 8.34/3.78 %35 = zext i8 %34 to i32 8.34/3.78 %36 = icmp eq %35 0 8.34/3.78 br %36, %37, %38 8.34/3.78 37: 8.34/3.78 store 1, @__CS_error 8.34/3.78 store 2, @__CS_ret 8.34/3.78 store 0, %1 8.34/3.78 br %49 8.34/3.78 38: 8.34/3.78 %39 = load %2 8.34/3.78 %40 = zext i8 %39 to i64 8.34/3.78 %41 = load @__CS_round 8.34/3.78 %42 = zext i8 %41 to i64 8.34/3.78 %43 = getelementptr @__CS_thread_status, 0, %42 8.34/3.78 %44 = getelementptr %43, 0, %40 8.34/3.78 %45 = load %44 8.34/3.78 %46 = zext i8 %45 to i32 8.34/3.78 %47 = icmp eq %46 2 8.34/3.78 %48 = zext i1 %47 to i32 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %48) 8.34/3.78 store 0, %1 8.34/3.78 br %49 8.34/3.78 49: 8.34/3.78 %50 = load %1 8.34/3.78 ret %50 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "__CS_pthread_create" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: (id1 *i8, attr *i8, t1 *BasicFunctionType varArgs: falsereturnType: *i8paramTypes: (*i8), arg *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca i32, align 4 8.34/3.78 %2 = alloca *i8, align 8 8.34/3.78 %3 = alloca *i8, align 8 8.34/3.78 %4 = alloca *BasicFunctionType varArgs: falsereturnType: *i8paramTypes: (*i8), align 8 8.34/3.78 %5 = alloca *i8, align 8 8.34/3.78 store %id1, %2 8.34/3.78 store %attr, %3 8.34/3.78 store %t1, %4 8.34/3.78 store %arg, %5 8.34/3.78 %6 = load @__CS_thread_index 8.34/3.78 %7 = zext i8 %6 to i32 8.34/3.78 %8 = icmp eq %7 2 8.34/3.78 br %8, %9, %11 8.34/3.78 9: 8.34/3.78 %10 = load %2 8.34/3.78 store 123, %10 8.34/3.78 store -1, %1 8.34/3.78 br %35 8.34/3.78 11: 8.34/3.78 %12 = load @__CS_thread_index 8.34/3.78 %13 = add %12 1 8.34/3.78 store %13, @__CS_thread_index 8.34/3.78 %14 = load @__CS_thread_index 8.34/3.78 %15 = zext i8 %14 to i64 8.34/3.78 %16 = getelementptr @__CS_thread_allocated, 0, %15 8.34/3.78 store 1, %16 8.34/3.78 %17 = load @__CS_round 8.34/3.78 %18 = load @__CS_thread_index 8.34/3.78 %19 = zext i8 %18 to i64 8.34/3.78 %20 = getelementptr @__CS_thread_born_round, 0, %19 8.34/3.78 store %17, %20 8.34/3.78 %21 = load %4 8.34/3.78 %22 = load @__CS_thread_index 8.34/3.78 %23 = zext i8 %22 to i64 8.34/3.78 %24 = getelementptr @__CS_thread, 0, %23 8.34/3.78 store %21, %24 8.34/3.78 %25 = load @__CS_thread_index 8.34/3.78 %26 = zext i8 %25 to i64 8.34/3.78 %27 = load @__CS_round 8.34/3.78 %28 = zext i8 %27 to i64 8.34/3.78 %29 = getelementptr @__CS_thread_status, 0, %28 8.34/3.78 %30 = getelementptr %29, 0, %26 8.34/3.78 store 1, %30 8.34/3.78 %31 = load @__CS_thread_index 8.34/3.78 %32 = load %2 8.34/3.78 store %31, %32 8.34/3.78 %33 = load @__CS_thread_index 8.34/3.78 %34 = zext i8 %33 to i32 8.34/3.78 store %34, %1 8.34/3.78 br %35 8.34/3.78 35: 8.34/3.78 %36 = load %1 8.34/3.78 ret %36 8.34/3.78 8.34/3.78 *BasicFunctionTypename: "thr1" linkageType: EXTERNALLY_VISIBLE returnParam: *i8 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.78 0: 8.34/3.78 %1 = alloca *i8, align 8 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %2 = load @__CS_ret 8.34/3.78 %3 = zext i8 %2 to i32 8.34/3.78 %4 = icmp ne %3 0 8.34/3.78 br %4, %5, %6 8.34/3.78 5: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 6: 8.34/3.78 br %7 8.34/3.78 7: 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %8 = load @__CS_ret 8.34/3.78 %9 = zext i8 %8 to i32 8.34/3.78 %10 = icmp ne %9 0 8.34/3.78 br %10, %11, %12 8.34/3.78 11: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 12: 8.34/3.78 %13 = load @__CS_round 8.34/3.78 %14 = zext i8 %13 to i64 8.34/3.78 %15 = getelementptr @b1, 0, %14 8.34/3.78 store 1, %15 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %16 = load @__CS_ret 8.34/3.78 %17 = zext i8 %16 to i32 8.34/3.78 %18 = icmp ne %17 0 8.34/3.78 br %18, %19, %20 8.34/3.78 19: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 20: 8.34/3.78 %21 = load @__CS_round 8.34/3.78 %22 = zext i8 %21 to i64 8.34/3.78 %23 = getelementptr @x, 0, %22 8.34/3.78 store 1, %23 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %24 = load @__CS_ret 8.34/3.78 %25 = zext i8 %24 to i32 8.34/3.78 %26 = icmp ne %25 0 8.34/3.78 br %26, %27, %28 8.34/3.78 27: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 28: 8.34/3.78 %29 = load @__CS_round 8.34/3.78 %30 = zext i8 %29 to i64 8.34/3.78 %31 = getelementptr @y, 0, %30 8.34/3.78 %32 = load %31 8.34/3.78 %33 = icmp ne %32 0 8.34/3.78 br %33, %34, %71 8.34/3.78 34: 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %35 = load @__CS_ret 8.34/3.78 %36 = zext i8 %35 to i32 8.34/3.78 %37 = icmp ne %36 0 8.34/3.78 br %37, %38, %39 8.34/3.78 38: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 39: 8.34/3.78 %40 = load @__CS_round 8.34/3.78 %41 = zext i8 %40 to i64 8.34/3.78 %42 = getelementptr @b1, 0, %41 8.34/3.78 store 0, %42 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %43 = load @__CS_ret 8.34/3.78 %44 = zext i8 %43 to i32 8.34/3.78 %45 = icmp ne %44 0 8.34/3.78 br %45, %46, %47 8.34/3.78 46: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 47: 8.34/3.78 br %48 8.34/3.78 48: 8.34/3.78 %49 = load @__CS_round 8.34/3.78 %50 = zext i8 %49 to i64 8.34/3.78 %51 = getelementptr @y, 0, %50 8.34/3.78 %52 = load %51 8.34/3.78 %53 = icmp ne %52 0 8.34/3.78 br %53, %54, %60 8.34/3.78 54: 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %55 = load @__CS_ret 8.34/3.78 %56 = zext i8 %55 to i32 8.34/3.78 %57 = icmp ne %56 0 8.34/3.78 br %57, %58, %59 8.34/3.78 58: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 59: 8.34/3.78 br %48 8.34/3.78 60: 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %61 = load @__CS_ret 8.34/3.78 %62 = zext i8 %61 to i32 8.34/3.78 %63 = icmp ne %62 0 8.34/3.78 br %63, %64, %65 8.34/3.78 64: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 65: 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %66 = load @__CS_ret 8.34/3.78 %67 = zext i8 %66 to i32 8.34/3.78 %68 = icmp ne %67 0 8.34/3.78 br %68, %69, %70 8.34/3.78 69: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 70: 8.34/3.78 br %7 8.34/3.78 71: 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %72 = load @__CS_ret 8.34/3.78 %73 = zext i8 %72 to i32 8.34/3.78 %74 = icmp ne %73 0 8.34/3.78 br %74, %75, %76 8.34/3.78 75: 8.34/3.78 store null, %1 8.34/3.78 br %225 8.34/3.78 76: 8.34/3.78 %77 = load @__CS_round 8.34/3.78 %78 = zext i8 %77 to i64 8.34/3.78 %79 = getelementptr @y, 0, %78 8.34/3.78 store 1, %79 8.34/3.78 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.78 %80 = load @__CS_ret 8.34/3.78 %81 = zext i8 %80 to i32 8.34/3.79 %82 = icmp ne %81 0 8.34/3.79 br %82, %83, %84 8.34/3.79 83: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 84: 8.34/3.79 %85 = load @__CS_round 8.34/3.79 %86 = zext i8 %85 to i64 8.34/3.79 %87 = getelementptr @x, 0, %86 8.34/3.79 %88 = load %87 8.34/3.79 %89 = icmp ne %88 1 8.34/3.79 br %89, %90, %167 8.34/3.79 90: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %91 = load @__CS_ret 8.34/3.79 %92 = zext i8 %91 to i32 8.34/3.79 %93 = icmp ne %92 0 8.34/3.79 br %93, %94, %95 8.34/3.79 94: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 95: 8.34/3.79 %96 = load @__CS_round 8.34/3.79 %97 = zext i8 %96 to i64 8.34/3.79 %98 = getelementptr @b1, 0, %97 8.34/3.79 store 0, %98 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %99 = load @__CS_ret 8.34/3.79 %100 = zext i8 %99 to i32 8.34/3.79 %101 = icmp ne %100 0 8.34/3.79 br %101, %102, %103 8.34/3.79 102: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 103: 8.34/3.79 br %104 8.34/3.79 104: 8.34/3.79 %105 = load @__CS_round 8.34/3.79 %106 = zext i8 %105 to i64 8.34/3.79 %107 = getelementptr @b2, 0, %106 8.34/3.79 %108 = load %107 8.34/3.79 %109 = icmp sge %108 1 8.34/3.79 br %109, %110, %116 8.34/3.79 110: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %111 = load @__CS_ret 8.34/3.79 %112 = zext i8 %111 to i32 8.34/3.79 %113 = icmp ne %112 0 8.34/3.79 br %113, %114, %115 8.34/3.79 114: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 115: 8.34/3.79 br %104 8.34/3.79 116: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %117 = load @__CS_ret 8.34/3.79 %118 = zext i8 %117 to i32 8.34/3.79 %119 = icmp ne %118 0 8.34/3.79 br %119, %120, %121 8.34/3.79 120: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 121: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %122 = load @__CS_ret 8.34/3.79 %123 = zext i8 %122 to i32 8.34/3.79 %124 = icmp ne %123 0 8.34/3.79 br %124, %125, %126 8.34/3.79 125: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 126: 8.34/3.79 %127 = load @__CS_round 8.34/3.79 %128 = zext i8 %127 to i64 8.34/3.79 %129 = getelementptr @y, 0, %128 8.34/3.79 %130 = load %129 8.34/3.79 %131 = icmp ne %130 1 8.34/3.79 br %131, %132, %161 8.34/3.79 132: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %133 = load @__CS_ret 8.34/3.79 %134 = zext i8 %133 to i32 8.34/3.79 %135 = icmp ne %134 0 8.34/3.79 br %135, %136, %137 8.34/3.79 136: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 137: 8.34/3.79 br %138 8.34/3.79 138: 8.34/3.79 %139 = load @__CS_round 8.34/3.79 %140 = zext i8 %139 to i64 8.34/3.79 %141 = getelementptr @y, 0, %140 8.34/3.79 %142 = load %141 8.34/3.79 %143 = icmp ne %142 0 8.34/3.79 br %143, %144, %150 8.34/3.79 144: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %145 = load @__CS_ret 8.34/3.79 %146 = zext i8 %145 to i32 8.34/3.79 %147 = icmp ne %146 0 8.34/3.79 br %147, %148, %149 8.34/3.79 148: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 149: 8.34/3.79 br %138 8.34/3.79 150: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %151 = load @__CS_ret 8.34/3.79 %152 = zext i8 %151 to i32 8.34/3.79 %153 = icmp ne %152 0 8.34/3.79 br %153, %154, %155 8.34/3.79 154: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 155: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %156 = load @__CS_ret 8.34/3.79 %157 = zext i8 %156 to i32 8.34/3.79 %158 = icmp ne %157 0 8.34/3.79 br %158, %159, %160 8.34/3.79 159: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 160: 8.34/3.79 br %7 8.34/3.79 161: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %162 = load @__CS_ret 8.34/3.79 %163 = zext i8 %162 to i32 8.34/3.79 %164 = icmp ne %163 0 8.34/3.79 br %164, %165, %166 8.34/3.79 165: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 166: 8.34/3.79 br %167 8.34/3.79 167: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %168 = load @__CS_ret 8.34/3.79 %169 = zext i8 %168 to i32 8.34/3.79 %170 = icmp ne %169 0 8.34/3.79 br %170, %171, %172 8.34/3.79 171: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 172: 8.34/3.79 br %173 8.34/3.79 173: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %174 = load @__CS_ret 8.34/3.79 %175 = zext i8 %174 to i32 8.34/3.79 %176 = icmp ne %175 0 8.34/3.79 br %176, %177, %178 8.34/3.79 177: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 178: 8.34/3.79 %179 = load @__CS_round 8.34/3.79 %180 = zext i8 %179 to i64 8.34/3.79 %181 = getelementptr @X, 0, %180 8.34/3.79 store 0, %181 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %182 = load @__CS_ret 8.34/3.79 %183 = zext i8 %182 to i32 8.34/3.79 %184 = icmp ne %183 0 8.34/3.79 br %184, %185, %186 8.34/3.79 185: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 186: 8.34/3.79 %187 = load @__CS_round 8.34/3.79 %188 = zext i8 %187 to i64 8.34/3.79 %189 = getelementptr @X, 0, %188 8.34/3.79 %190 = load %189 8.34/3.79 %191 = icmp sle %190 0 8.34/3.79 br %191, %199, %192 8.34/3.79 192: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %193 = load @__CS_ret 8.34/3.79 %194 = zext i8 %193 to i32 8.34/3.79 %195 = icmp ne %194 0 8.34/3.79 br %195, %196, %197 8.34/3.79 196: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 197: 8.34/3.79 br %198 8.34/3.79 198: 8.34/3.79 store 1, @__CS_error 8.34/3.79 store 2, @__CS_ret 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 199: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %200 = load @__CS_ret 8.34/3.79 %201 = zext i8 %200 to i32 8.34/3.79 %202 = icmp ne %201 0 8.34/3.79 br %202, %203, %204 8.34/3.79 203: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 204: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %205 = load @__CS_ret 8.34/3.79 %206 = zext i8 %205 to i32 8.34/3.79 %207 = icmp ne %206 0 8.34/3.79 br %207, %208, %209 8.34/3.79 208: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 209: 8.34/3.79 %210 = load @__CS_round 8.34/3.79 %211 = zext i8 %210 to i64 8.34/3.79 %212 = getelementptr @y, 0, %211 8.34/3.79 store 0, %212 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %213 = load @__CS_ret 8.34/3.79 %214 = zext i8 %213 to i32 8.34/3.79 %215 = icmp ne %214 0 8.34/3.79 br %215, %216, %217 8.34/3.79 216: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 217: 8.34/3.79 %218 = load @__CS_round 8.34/3.79 %219 = zext i8 %218 to i64 8.34/3.79 %220 = getelementptr @b1, 0, %219 8.34/3.79 store 0, %220 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %221 = load @__CS_ret 8.34/3.79 %222 = zext i8 %221 to i32 8.34/3.79 %223 = icmp ne %222 0 8.34/3.79 br %223, %224, %225 8.34/3.79 224: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 225: 8.34/3.79 %226 = load %1 8.34/3.79 ret %226 8.34/3.79 8.34/3.79 *BasicFunctionTypename: "thr2" linkageType: EXTERNALLY_VISIBLE returnParam: *i8 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.79 0: 8.34/3.79 %1 = alloca *i8, align 8 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %2 = load @__CS_ret 8.34/3.79 %3 = zext i8 %2 to i32 8.34/3.79 %4 = icmp ne %3 0 8.34/3.79 br %4, %5, %6 8.34/3.79 5: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 6: 8.34/3.79 br %7 8.34/3.79 7: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %8 = load @__CS_ret 8.34/3.79 %9 = zext i8 %8 to i32 8.34/3.79 %10 = icmp ne %9 0 8.34/3.79 br %10, %11, %12 8.34/3.79 11: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 12: 8.34/3.79 %13 = load @__CS_round 8.34/3.79 %14 = zext i8 %13 to i64 8.34/3.79 %15 = getelementptr @b2, 0, %14 8.34/3.79 store 1, %15 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %16 = load @__CS_ret 8.34/3.79 %17 = zext i8 %16 to i32 8.34/3.79 %18 = icmp ne %17 0 8.34/3.79 br %18, %19, %20 8.34/3.79 19: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 20: 8.34/3.79 %21 = load @__CS_round 8.34/3.79 %22 = zext i8 %21 to i64 8.34/3.79 %23 = getelementptr @x, 0, %22 8.34/3.79 store 2, %23 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %24 = load @__CS_ret 8.34/3.79 %25 = zext i8 %24 to i32 8.34/3.79 %26 = icmp ne %25 0 8.34/3.79 br %26, %27, %28 8.34/3.79 27: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 28: 8.34/3.79 %29 = load @__CS_round 8.34/3.79 %30 = zext i8 %29 to i64 8.34/3.79 %31 = getelementptr @y, 0, %30 8.34/3.79 %32 = load %31 8.34/3.79 %33 = icmp ne %32 0 8.34/3.79 br %33, %34, %71 8.34/3.79 34: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %35 = load @__CS_ret 8.34/3.79 %36 = zext i8 %35 to i32 8.34/3.79 %37 = icmp ne %36 0 8.34/3.79 br %37, %38, %39 8.34/3.79 38: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 39: 8.34/3.79 %40 = load @__CS_round 8.34/3.79 %41 = zext i8 %40 to i64 8.34/3.79 %42 = getelementptr @b2, 0, %41 8.34/3.79 store 0, %42 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %43 = load @__CS_ret 8.34/3.79 %44 = zext i8 %43 to i32 8.34/3.79 %45 = icmp ne %44 0 8.34/3.79 br %45, %46, %47 8.34/3.79 46: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 47: 8.34/3.79 br %48 8.34/3.79 48: 8.34/3.79 %49 = load @__CS_round 8.34/3.79 %50 = zext i8 %49 to i64 8.34/3.79 %51 = getelementptr @y, 0, %50 8.34/3.79 %52 = load %51 8.34/3.79 %53 = icmp ne %52 0 8.34/3.79 br %53, %54, %60 8.34/3.79 54: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %55 = load @__CS_ret 8.34/3.79 %56 = zext i8 %55 to i32 8.34/3.79 %57 = icmp ne %56 0 8.34/3.79 br %57, %58, %59 8.34/3.79 58: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 59: 8.34/3.79 br %48 8.34/3.79 60: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %61 = load @__CS_ret 8.34/3.79 %62 = zext i8 %61 to i32 8.34/3.79 %63 = icmp ne %62 0 8.34/3.79 br %63, %64, %65 8.34/3.79 64: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 65: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %66 = load @__CS_ret 8.34/3.79 %67 = zext i8 %66 to i32 8.34/3.79 %68 = icmp ne %67 0 8.34/3.79 br %68, %69, %70 8.34/3.79 69: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 70: 8.34/3.79 br %7 8.34/3.79 71: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %72 = load @__CS_ret 8.34/3.79 %73 = zext i8 %72 to i32 8.34/3.79 %74 = icmp ne %73 0 8.34/3.79 br %74, %75, %76 8.34/3.79 75: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 76: 8.34/3.79 %77 = load @__CS_round 8.34/3.79 %78 = zext i8 %77 to i64 8.34/3.79 %79 = getelementptr @y, 0, %78 8.34/3.79 store 2, %79 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %80 = load @__CS_ret 8.34/3.79 %81 = zext i8 %80 to i32 8.34/3.79 %82 = icmp ne %81 0 8.34/3.79 br %82, %83, %84 8.34/3.79 83: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 84: 8.34/3.79 %85 = load @__CS_round 8.34/3.79 %86 = zext i8 %85 to i64 8.34/3.79 %87 = getelementptr @x, 0, %86 8.34/3.79 %88 = load %87 8.34/3.79 %89 = icmp ne %88 2 8.34/3.79 br %89, %90, %167 8.34/3.79 90: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %91 = load @__CS_ret 8.34/3.79 %92 = zext i8 %91 to i32 8.34/3.79 %93 = icmp ne %92 0 8.34/3.79 br %93, %94, %95 8.34/3.79 94: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 95: 8.34/3.79 %96 = load @__CS_round 8.34/3.79 %97 = zext i8 %96 to i64 8.34/3.79 %98 = getelementptr @b2, 0, %97 8.34/3.79 store 0, %98 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %99 = load @__CS_ret 8.34/3.79 %100 = zext i8 %99 to i32 8.34/3.79 %101 = icmp ne %100 0 8.34/3.79 br %101, %102, %103 8.34/3.79 102: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 103: 8.34/3.79 br %104 8.34/3.79 104: 8.34/3.79 %105 = load @__CS_round 8.34/3.79 %106 = zext i8 %105 to i64 8.34/3.79 %107 = getelementptr @b1, 0, %106 8.34/3.79 %108 = load %107 8.34/3.79 %109 = icmp sge %108 1 8.34/3.79 br %109, %110, %116 8.34/3.79 110: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %111 = load @__CS_ret 8.34/3.79 %112 = zext i8 %111 to i32 8.34/3.79 %113 = icmp ne %112 0 8.34/3.79 br %113, %114, %115 8.34/3.79 114: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 115: 8.34/3.79 br %104 8.34/3.79 116: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %117 = load @__CS_ret 8.34/3.79 %118 = zext i8 %117 to i32 8.34/3.79 %119 = icmp ne %118 0 8.34/3.79 br %119, %120, %121 8.34/3.79 120: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 121: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %122 = load @__CS_ret 8.34/3.79 %123 = zext i8 %122 to i32 8.34/3.79 %124 = icmp ne %123 0 8.34/3.79 br %124, %125, %126 8.34/3.79 125: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 126: 8.34/3.79 %127 = load @__CS_round 8.34/3.79 %128 = zext i8 %127 to i64 8.34/3.79 %129 = getelementptr @y, 0, %128 8.34/3.79 %130 = load %129 8.34/3.79 %131 = icmp ne %130 2 8.34/3.79 br %131, %132, %161 8.34/3.79 132: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %133 = load @__CS_ret 8.34/3.79 %134 = zext i8 %133 to i32 8.34/3.79 %135 = icmp ne %134 0 8.34/3.79 br %135, %136, %137 8.34/3.79 136: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 137: 8.34/3.79 br %138 8.34/3.79 138: 8.34/3.79 %139 = load @__CS_round 8.34/3.79 %140 = zext i8 %139 to i64 8.34/3.79 %141 = getelementptr @y, 0, %140 8.34/3.79 %142 = load %141 8.34/3.79 %143 = icmp ne %142 0 8.34/3.79 br %143, %144, %150 8.34/3.79 144: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %145 = load @__CS_ret 8.34/3.79 %146 = zext i8 %145 to i32 8.34/3.79 %147 = icmp ne %146 0 8.34/3.79 br %147, %148, %149 8.34/3.79 148: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 149: 8.34/3.79 br %138 8.34/3.79 150: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %151 = load @__CS_ret 8.34/3.79 %152 = zext i8 %151 to i32 8.34/3.79 %153 = icmp ne %152 0 8.34/3.79 br %153, %154, %155 8.34/3.79 154: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 155: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %156 = load @__CS_ret 8.34/3.79 %157 = zext i8 %156 to i32 8.34/3.79 %158 = icmp ne %157 0 8.34/3.79 br %158, %159, %160 8.34/3.79 159: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 160: 8.34/3.79 br %7 8.34/3.79 161: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %162 = load @__CS_ret 8.34/3.79 %163 = zext i8 %162 to i32 8.34/3.79 %164 = icmp ne %163 0 8.34/3.79 br %164, %165, %166 8.34/3.79 165: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 166: 8.34/3.79 br %167 8.34/3.79 167: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %168 = load @__CS_ret 8.34/3.79 %169 = zext i8 %168 to i32 8.34/3.79 %170 = icmp ne %169 0 8.34/3.79 br %170, %171, %172 8.34/3.79 171: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 172: 8.34/3.79 br %173 8.34/3.79 173: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %174 = load @__CS_ret 8.34/3.79 %175 = zext i8 %174 to i32 8.34/3.79 %176 = icmp ne %175 0 8.34/3.79 br %176, %177, %178 8.34/3.79 177: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 178: 8.34/3.79 %179 = load @__CS_round 8.34/3.79 %180 = zext i8 %179 to i64 8.34/3.79 %181 = getelementptr @X, 0, %180 8.34/3.79 store 1, %181 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %182 = load @__CS_ret 8.34/3.79 %183 = zext i8 %182 to i32 8.34/3.79 %184 = icmp ne %183 0 8.34/3.79 br %184, %185, %186 8.34/3.79 185: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 186: 8.34/3.79 %187 = load @__CS_round 8.34/3.79 %188 = zext i8 %187 to i64 8.34/3.79 %189 = getelementptr @X, 0, %188 8.34/3.79 %190 = load %189 8.34/3.79 %191 = icmp sge %190 1 8.34/3.79 br %191, %199, %192 8.34/3.79 192: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %193 = load @__CS_ret 8.34/3.79 %194 = zext i8 %193 to i32 8.34/3.79 %195 = icmp ne %194 0 8.34/3.79 br %195, %196, %197 8.34/3.79 196: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 197: 8.34/3.79 br %198 8.34/3.79 198: 8.34/3.79 store 1, @__CS_error 8.34/3.79 store 2, @__CS_ret 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 199: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %200 = load @__CS_ret 8.34/3.79 %201 = zext i8 %200 to i32 8.34/3.79 %202 = icmp ne %201 0 8.34/3.79 br %202, %203, %204 8.34/3.79 203: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 204: 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %205 = load @__CS_ret 8.34/3.79 %206 = zext i8 %205 to i32 8.34/3.79 %207 = icmp ne %206 0 8.34/3.79 br %207, %208, %209 8.34/3.79 208: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 209: 8.34/3.79 %210 = load @__CS_round 8.34/3.79 %211 = zext i8 %210 to i64 8.34/3.79 %212 = getelementptr @y, 0, %211 8.34/3.79 store 0, %212 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %213 = load @__CS_ret 8.34/3.79 %214 = zext i8 %213 to i32 8.34/3.79 %215 = icmp ne %214 0 8.34/3.79 br %215, %216, %217 8.34/3.79 216: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 217: 8.34/3.79 %218 = load @__CS_round 8.34/3.79 %219 = zext i8 %218 to i64 8.34/3.79 %220 = getelementptr @b2, 0, %219 8.34/3.79 store 0, %220 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %221 = load @__CS_ret 8.34/3.79 %222 = zext i8 %221 to i32 8.34/3.79 %223 = icmp ne %222 0 8.34/3.79 br %223, %224, %225 8.34/3.79 224: 8.34/3.79 store null, %1 8.34/3.79 br %225 8.34/3.79 225: 8.34/3.79 %226 = load %1 8.34/3.79 ret %226 8.34/3.79 8.34/3.79 *BasicFunctionTypename: "main_thread" linkageType: EXTERNALLY_VISIBLE returnParam: *i8 parameters: (arg *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.79 0: 8.34/3.79 %1 = alloca *i8, align 8 8.34/3.79 %2 = alloca *i8, align 8 8.34/3.79 %t1 = alloca i8, align 1 8.34/3.79 %t2 = alloca i8, align 1 8.34/3.79 store %arg, %2 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %3 = load @__CS_ret 8.34/3.79 %4 = zext i8 %3 to i32 8.34/3.79 %5 = icmp ne %4 0 8.34/3.79 br %5, %6, %7 8.34/3.79 6: 8.34/3.79 store null, %1 8.34/3.79 br %33 8.34/3.79 7: 8.34/3.79 %8 = call i32 @__CS_pthread_create(*i8 %t1, *i8 null, *BasicFunctionType varArgs: falsereturnType: *i8paramTypes: (*i8) aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMConversionConstExpr@58d45641, *i8 null) 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %9 = load @__CS_ret 8.34/3.79 %10 = zext i8 %9 to i32 8.34/3.79 %11 = icmp ne %10 0 8.34/3.79 br %11, %12, %13 8.34/3.79 12: 8.34/3.79 store null, %1 8.34/3.79 br %33 8.34/3.79 13: 8.34/3.79 %14 = call i32 @__CS_pthread_create(*i8 %t2, *i8 null, *BasicFunctionType varArgs: falsereturnType: *i8paramTypes: (*i8) aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMConversionConstExpr@3b1d3416, *i8 null) 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %15 = load @__CS_ret 8.34/3.79 %16 = zext i8 %15 to i32 8.34/3.79 %17 = icmp ne %16 0 8.34/3.79 br %17, %18, %19 8.34/3.79 18: 8.34/3.79 store null, %1 8.34/3.79 br %33 8.34/3.79 19: 8.34/3.79 %20 = load %t1 8.34/3.79 %21 = call i32 @__CS_pthread_join(i8 zeroext %20, **i8 null) 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %22 = load @__CS_ret 8.34/3.79 %23 = zext i8 %22 to i32 8.34/3.79 %24 = icmp ne %23 0 8.34/3.79 br %24, %25, %26 8.34/3.79 25: 8.34/3.79 store null, %1 8.34/3.79 br %33 8.34/3.79 26: 8.34/3.79 %27 = load %t2 8.34/3.79 %28 = call i32 @__CS_pthread_join(i8 zeroext %27, **i8 null) 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__CS_cs() 8.34/3.79 %29 = load @__CS_ret 8.34/3.79 %30 = zext i8 %29 to i32 8.34/3.79 %31 = icmp ne %30 0 8.34/3.79 br %31, %32, %33 8.34/3.79 32: 8.34/3.79 store null, %1 8.34/3.79 br %33 8.34/3.79 33: 8.34/3.79 %34 = load %1 8.34/3.79 ret %34 8.34/3.79 8.34/3.79 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 8.34/3.79 0: 8.34/3.79 %1 = alloca i32, align 4 8.34/3.79 %__CS_cp___CS_thread_status = alloca [3 x [3 x i8]], align 1 8.34/3.79 %__CS_cp___CS_thread_lockedon = alloca [3 x [3 x *i8]], align 16 8.34/3.79 %__CS_cp_x = alloca [3 x i32], align 4 8.34/3.79 %__CS_cp_y = alloca [3 x i32], align 4 8.34/3.79 %__CS_cp_b1 = alloca [3 x i32], align 4 8.34/3.79 %__CS_cp_b2 = alloca [3 x i32], align 4 8.34/3.79 %__CS_cp_X = alloca [3 x i32], align 4 8.34/3.79 store 0, %1 8.34/3.79 %2 = getelementptr %__CS_cp___CS_thread_status, 0, 1 8.34/3.79 %3 = getelementptr %2, 0, 0 8.34/3.79 %4 = load %3 8.34/3.79 store %4, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@761759df 8.34/3.79 %5 = getelementptr %__CS_cp___CS_thread_status, 0, 2 8.34/3.79 %6 = getelementptr %5, 0, 0 8.34/3.79 %7 = load %6 8.34/3.79 store %7, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@7be71713 8.34/3.79 %8 = getelementptr %__CS_cp___CS_thread_status, 0, 1 8.34/3.79 %9 = getelementptr %8, 0, 1 8.34/3.79 %10 = load %9 8.34/3.79 store %10, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@cc3a128 8.34/3.79 %11 = getelementptr %__CS_cp___CS_thread_status, 0, 2 8.34/3.79 %12 = getelementptr %11, 0, 1 8.34/3.79 %13 = load %12 8.34/3.79 store %13, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@345aa2b0 8.34/3.79 %14 = getelementptr %__CS_cp___CS_thread_status, 0, 1 8.34/3.79 %15 = getelementptr %14, 0, 2 8.34/3.79 %16 = load %15 8.34/3.79 store %16, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@78cfdc45 8.34/3.79 %17 = getelementptr %__CS_cp___CS_thread_status, 0, 2 8.34/3.79 %18 = getelementptr %17, 0, 2 8.34/3.79 %19 = load %18 8.34/3.79 store %19, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@3bd303c0 8.34/3.79 %20 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 1 8.34/3.79 %21 = getelementptr %20, 0, 0 8.34/3.79 %22 = load %21 8.34/3.79 store %22, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@2a082f73 8.34/3.79 %23 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 2 8.34/3.79 %24 = getelementptr %23, 0, 0 8.34/3.79 %25 = load %24 8.34/3.79 store %25, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@4ba647a0 8.34/3.79 %26 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 1 8.34/3.79 %27 = getelementptr %26, 0, 1 8.34/3.79 %28 = load %27 8.34/3.79 store %28, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@4d8d8765 8.34/3.79 %29 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 2 8.34/3.79 %30 = getelementptr %29, 0, 1 8.34/3.79 %31 = load %30 8.34/3.79 store %31, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@6ee35017 8.34/3.79 %32 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 1 8.34/3.79 %33 = getelementptr %32, 0, 2 8.34/3.79 %34 = load %33 8.34/3.79 store %34, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@5fb990f 8.34/3.79 %35 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 2 8.34/3.79 %36 = getelementptr %35, 0, 2 8.34/3.79 %37 = load %36 8.34/3.79 store %37, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@7c994557 8.34/3.79 %38 = getelementptr %__CS_cp_x, 0, 1 8.34/3.79 %39 = load %38 8.34/3.79 store %39, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@5d8e430e 8.34/3.79 %40 = getelementptr %__CS_cp_x, 0, 2 8.34/3.79 %41 = load %40 8.34/3.79 store %41, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@2999c340 8.34/3.79 %42 = getelementptr %__CS_cp_y, 0, 1 8.34/3.79 %43 = load %42 8.34/3.79 store %43, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@7073149d 8.34/3.79 %44 = getelementptr %__CS_cp_y, 0, 2 8.34/3.79 %45 = load %44 8.34/3.79 store %45, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@46f64439 8.34/3.79 %46 = getelementptr %__CS_cp_b1, 0, 1 8.34/3.79 %47 = load %46 8.34/3.79 store %47, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@694ff9da 8.34/3.79 %48 = getelementptr %__CS_cp_b1, 0, 2 8.34/3.79 %49 = load %48 8.34/3.79 store %49, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@e2ba470 8.34/3.79 %50 = getelementptr %__CS_cp_b2, 0, 1 8.34/3.79 %51 = load %50 8.34/3.79 store %51, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@66948ed4 8.34/3.79 %52 = getelementptr %__CS_cp_b2, 0, 2 8.34/3.79 %53 = load %52 8.34/3.79 store %53, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@1237d9b3 8.34/3.79 %54 = getelementptr %__CS_cp_X, 0, 1 8.34/3.79 %55 = load %54 8.34/3.79 store %55, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@4207306 8.34/3.79 %56 = getelementptr %__CS_cp_X, 0, 2 8.34/3.79 %57 = load %56 8.34/3.79 store %57, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@577b4fd6 8.34/3.79 store 0, @__CS_round 8.34/3.79 store 0, @__CS_thread_index 8.34/3.79 %58 = load @__CS_round 8.34/3.79 store %58, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@155b99c3 8.34/3.79 store 1, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@390d209a 8.34/3.79 store @main_thread, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@3e32ccfe 8.34/3.79 store 1, aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@333a3111 8.34/3.79 %59 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@7a662334 8.34/3.79 %60 = zext i8 %59 to i32 8.34/3.79 %61 = icmp eq %60 1 8.34/3.79 br %61, %62, %75 8.34/3.79 62: 8.34/3.79 %63 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@2abfc512 8.34/3.79 store %63, @__CS_round 8.34/3.79 store 0, @__CS_ret 8.34/3.79 %64 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@242a987 8.34/3.79 %65 = call *i8 %64(*i8 null) 8.34/3.79 %66 = load @__CS_ret 8.34/3.79 %67 = zext i8 %66 to i32 8.34/3.79 %68 = icmp ne %67 1 8.34/3.79 br %68, %69, %74 8.34/3.79 69: 8.34/3.79 %70 = load @__CS_round 8.34/3.79 %71 = zext i8 %70 to i64 8.34/3.79 %72 = getelementptr @__CS_thread_status, 0, %71 8.34/3.79 %73 = getelementptr %72, 0, 0 8.34/3.79 store 2, %73 8.34/3.79 br %74 8.34/3.79 74: 8.34/3.79 br %75 8.34/3.79 75: 8.34/3.79 %76 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@6012b267 8.34/3.79 %77 = zext i8 %76 to i32 8.34/3.79 %78 = icmp eq %77 1 8.34/3.79 br %78, %79, %92 8.34/3.79 79: 8.34/3.79 %80 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@2ba642d2 8.34/3.79 store %80, @__CS_round 8.34/3.79 store 0, @__CS_ret 8.34/3.79 %81 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@7fe595e1 8.34/3.79 %82 = call *i8 %81(*i8 null) 8.34/3.79 %83 = load @__CS_ret 8.34/3.79 %84 = zext i8 %83 to i32 8.34/3.79 %85 = icmp ne %84 1 8.34/3.79 br %85, %86, %91 8.34/3.79 86: 8.34/3.79 %87 = load @__CS_round 8.34/3.79 %88 = zext i8 %87 to i64 8.34/3.79 %89 = getelementptr @__CS_thread_status, 0, %88 8.34/3.79 %90 = getelementptr %89, 0, 1 8.34/3.79 store 2, %90 8.34/3.79 br %91 8.34/3.79 91: 8.34/3.79 br %92 8.34/3.79 92: 8.34/3.79 %93 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@687c050b 8.34/3.79 %94 = zext i8 %93 to i32 8.34/3.79 %95 = icmp eq %94 1 8.34/3.79 br %95, %96, %109 8.34/3.79 96: 8.34/3.79 %97 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@1d0813e9 8.34/3.79 store %97, @__CS_round 8.34/3.79 store 0, @__CS_ret 8.34/3.79 %98 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@4217248 8.34/3.79 %99 = call *i8 %98(*i8 null) 8.34/3.79 %100 = load @__CS_ret 8.34/3.79 %101 = zext i8 %100 to i32 8.34/3.79 %102 = icmp ne %101 1 8.34/3.79 br %102, %103, %108 8.34/3.79 103: 8.34/3.79 %104 = load @__CS_round 8.34/3.79 %105 = zext i8 %104 to i64 8.34/3.79 %106 = getelementptr @__CS_thread_status, 0, %105 8.34/3.79 %107 = getelementptr %106, 0, 2 8.34/3.79 store 2, %107 8.34/3.79 br %108 8.34/3.79 108: 8.34/3.79 br %109 8.34/3.79 109: 8.34/3.79 %110 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@5738b5b0 8.34/3.79 %111 = zext i8 %110 to i32 8.34/3.79 %112 = getelementptr %__CS_cp___CS_thread_status, 0, 1 8.34/3.79 %113 = getelementptr %112, 0, 0 8.34/3.79 %114 = load %113 8.34/3.79 %115 = zext i8 %114 to i32 8.34/3.79 %116 = icmp eq %111 %115 8.34/3.79 %117 = zext i1 %116 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %117) 8.34/3.79 %118 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@5f64a601 8.34/3.79 %119 = zext i8 %118 to i32 8.34/3.79 %120 = getelementptr %__CS_cp___CS_thread_status, 0, 2 8.34/3.79 %121 = getelementptr %120, 0, 0 8.34/3.79 %122 = load %121 8.34/3.79 %123 = zext i8 %122 to i32 8.34/3.79 %124 = icmp eq %119 %123 8.34/3.79 %125 = zext i1 %124 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %125) 8.34/3.79 %126 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@2ae715f 8.34/3.79 %127 = zext i8 %126 to i32 8.34/3.79 %128 = getelementptr %__CS_cp___CS_thread_status, 0, 1 8.34/3.79 %129 = getelementptr %128, 0, 1 8.34/3.79 %130 = load %129 8.34/3.79 %131 = zext i8 %130 to i32 8.34/3.79 %132 = icmp eq %127 %131 8.34/3.79 %133 = zext i1 %132 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %133) 8.34/3.79 %134 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@d92e070 8.34/3.79 %135 = zext i8 %134 to i32 8.34/3.79 %136 = getelementptr %__CS_cp___CS_thread_status, 0, 2 8.34/3.79 %137 = getelementptr %136, 0, 1 8.34/3.79 %138 = load %137 8.34/3.79 %139 = zext i8 %138 to i32 8.34/3.79 %140 = icmp eq %135 %139 8.34/3.79 %141 = zext i1 %140 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %141) 8.34/3.79 %142 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@1f154147 8.34/3.79 %143 = zext i8 %142 to i32 8.34/3.79 %144 = getelementptr %__CS_cp___CS_thread_status, 0, 1 8.34/3.79 %145 = getelementptr %144, 0, 2 8.34/3.79 %146 = load %145 8.34/3.79 %147 = zext i8 %146 to i32 8.34/3.79 %148 = icmp eq %143 %147 8.34/3.79 %149 = zext i1 %148 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %149) 8.34/3.79 %150 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@65bbb80a 8.34/3.79 %151 = zext i8 %150 to i32 8.34/3.79 %152 = getelementptr %__CS_cp___CS_thread_status, 0, 2 8.34/3.79 %153 = getelementptr %152, 0, 2 8.34/3.79 %154 = load %153 8.34/3.79 %155 = zext i8 %154 to i32 8.34/3.79 %156 = icmp eq %151 %155 8.34/3.79 %157 = zext i1 %156 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %157) 8.34/3.79 %158 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@146e096b 8.34/3.79 %159 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 1 8.34/3.79 %160 = getelementptr %159, 0, 0 8.34/3.79 %161 = load %160 8.34/3.79 %162 = icmp eq %158 %161 8.34/3.79 %163 = zext i1 %162 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %163) 8.34/3.79 %164 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@e65faf6 8.34/3.79 %165 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 2 8.34/3.79 %166 = getelementptr %165, 0, 0 8.34/3.79 %167 = load %166 8.34/3.79 %168 = icmp eq %164 %167 8.34/3.79 %169 = zext i1 %168 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %169) 8.34/3.79 %170 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@3bcf8d04 8.34/3.79 %171 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 1 8.34/3.79 %172 = getelementptr %171, 0, 1 8.34/3.79 %173 = load %172 8.34/3.79 %174 = icmp eq %170 %173 8.34/3.79 %175 = zext i1 %174 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %175) 8.34/3.79 %176 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@38c199f 8.34/3.79 %177 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 2 8.34/3.79 %178 = getelementptr %177, 0, 1 8.34/3.79 %179 = load %178 8.34/3.79 %180 = icmp eq %176 %179 8.34/3.79 %181 = zext i1 %180 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %181) 8.34/3.79 %182 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@67cd6dd4 8.34/3.79 %183 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 1 8.34/3.79 %184 = getelementptr %183, 0, 2 8.34/3.79 %185 = load %184 8.34/3.79 %186 = icmp eq %182 %185 8.34/3.79 %187 = zext i1 %186 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %187) 8.34/3.79 %188 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@46de9991 8.34/3.79 %189 = getelementptr %__CS_cp___CS_thread_lockedon, 0, 2 8.34/3.79 %190 = getelementptr %189, 0, 2 8.34/3.79 %191 = load %190 8.34/3.79 %192 = icmp eq %188 %191 8.34/3.79 %193 = zext i1 %192 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %193) 8.34/3.79 %194 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@13e8be3 8.34/3.79 %195 = getelementptr %__CS_cp_x, 0, 1 8.34/3.79 %196 = load %195 8.34/3.79 %197 = icmp eq %194 %196 8.34/3.79 %198 = zext i1 %197 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %198) 8.34/3.79 %199 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@621d3aba 8.34/3.79 %200 = getelementptr %__CS_cp_x, 0, 2 8.34/3.79 %201 = load %200 8.34/3.79 %202 = icmp eq %199 %201 8.34/3.79 %203 = zext i1 %202 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %203) 8.34/3.79 %204 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@6eb248e0 8.34/3.79 %205 = getelementptr %__CS_cp_y, 0, 1 8.34/3.79 %206 = load %205 8.34/3.79 %207 = icmp eq %204 %206 8.34/3.79 %208 = zext i1 %207 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %208) 8.34/3.79 %209 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@5c9256b6 8.34/3.79 %210 = getelementptr %__CS_cp_y, 0, 2 8.34/3.79 %211 = load %210 8.34/3.79 %212 = icmp eq %209 %211 8.34/3.79 %213 = zext i1 %212 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %213) 8.34/3.79 %214 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@2986bf54 8.34/3.79 %215 = getelementptr %__CS_cp_b1, 0, 1 8.34/3.79 %216 = load %215 8.34/3.79 %217 = icmp eq %214 %216 8.34/3.79 %218 = zext i1 %217 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %218) 8.34/3.79 %219 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@22458834 8.34/3.79 %220 = getelementptr %__CS_cp_b1, 0, 2 8.34/3.79 %221 = load %220 8.34/3.79 %222 = icmp eq %219 %221 8.34/3.79 %223 = zext i1 %222 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %223) 8.34/3.79 %224 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@5ecc21d4 8.34/3.79 %225 = getelementptr %__CS_cp_b2, 0, 1 8.34/3.79 %226 = load %225 8.34/3.79 %227 = icmp eq %224 %226 8.34/3.79 %228 = zext i1 %227 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %228) 8.34/3.79 %229 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@10a5fb5d 8.34/3.79 %230 = getelementptr %__CS_cp_b2, 0, 2 8.34/3.79 %231 = load %230 8.34/3.79 %232 = icmp eq %229 %231 8.34/3.79 %233 = zext i1 %232 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %233) 8.34/3.79 %234 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@c458a02 8.34/3.79 %235 = getelementptr %__CS_cp_X, 0, 1 8.34/3.79 %236 = load %235 8.34/3.79 %237 = icmp eq %234 %236 8.34/3.79 %238 = zext i1 %237 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %238) 8.34/3.79 %239 = load aprove.InputModules.Programs.llvm.internalStructures.literals.const_expr.LLVMGetElementPtrConstExpr@2cfa796 8.34/3.79 %240 = getelementptr %__CS_cp_X, 0, 2 8.34/3.79 %241 = load %240 8.34/3.79 %242 = icmp eq %239 %241 8.34/3.79 %243 = zext i1 %242 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assume(i32 %243) 8.34/3.79 %244 = load @__CS_error 8.34/3.79 %245 = zext i8 %244 to i32 8.34/3.79 %246 = icmp ne %245 1 8.34/3.79 %247 = zext i1 %246 to i32 8.34/3.79 Unnamed Call-Instruction = call BasicVoidType @__VERIFIER_assert(i32 %247) 8.34/3.79 %248 = load %1 8.34/3.79 ret %248 8.34/3.79 8.34/3.79 8.34/3.79 Analyze Termination of all function calls matching the pattern: 8.34/3.79 main() 8.57/3.86 EOF