// This file is part of the SV-Benchmarks collection of verification tasks: // https://gitlab.com/sosy-lab/benchmarking/sv-benchmarks // // SPDX-FileCopyrightText: 2013 Carnegie Mellon University // SPDX-FileCopyrightText: 2014-2021 The SV-Benchmarks Community // SPDX-FileCopyrightText: 2018 Marie-Christine Jakobs, LMU Munich // // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Attribution-CMU-LMU int __return_main; void abort(void); extern void __assert_fail(const char *, const char *, unsigned int, const char *) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); void reach_error() { __assert_fail("0", "pals_lcr.3.ufo.UNBOUNDED.pals.c.v+sep-reducer.c", 4, "reach_error"); } _Bool __VERIFIER_nondet_bool(); char __VERIFIER_nondet_char(); unsigned char __VERIFIER_nondet_uchar(); void assert(_Bool arg); void abort(void); void assume_abort_if_not(int cond) { if(!cond) {abort();} } typedef char msg_t; typedef int port_t; void read(port_t p, msg_t m); void write(port_t p, msg_t m); msg_t nomsg = (msg_t )-1; unsigned char r1 = '\x0'; port_t p1 = 0; char p1_old = '\x0'; char p1_new = '\x0'; char id1 = '\x0'; char st1 = '\x0'; msg_t send1 = '\x0'; _Bool mode1 = 0; port_t p2 = 0; char p2_old = '\x0'; char p2_new = '\x0'; char id2 = '\x0'; char st2 = '\x0'; msg_t send2 = '\x0'; _Bool mode2 = 0; port_t p3 = 0; char p3_old = '\x0'; char p3_new = '\x0'; char id3 = '\x0'; char st3 = '\x0'; msg_t send3 = '\x0'; _Bool mode3 = 0; void node1(); void node2(); void node3(); void (*nodes[3])() = { &node1, &node2, &node3 }; int init(); int check(); int main(); int __return_95; int __return_413; int __return_1142; int __return_399; int __return_1032; int __return_385; int __return_939; int __return_371; int __return_846; int __return_357; int __return_764; int __return_343; int __return_671; int __return_329; int __return_592; int __return_315; int __return_513; int __return_1291; int main() { int main__c1; int main__i2; main__c1 = 0; r1 = __VERIFIER_nondet_uchar(); id1 = __VERIFIER_nondet_char(); st1 = __VERIFIER_nondet_char(); send1 = __VERIFIER_nondet_char(); mode1 = __VERIFIER_nondet_bool(); id2 = __VERIFIER_nondet_char(); st2 = __VERIFIER_nondet_char(); send2 = __VERIFIER_nondet_char(); mode2 = __VERIFIER_nondet_bool(); id3 = __VERIFIER_nondet_char(); st3 = __VERIFIER_nondet_char(); send3 = __VERIFIER_nondet_char(); mode3 = __VERIFIER_nondet_bool(); { int init__tmp; if (((int)r1) == 0) { if (((int)id1) >= 0) { if (((int)st1) == 0) { if (((int)send1) == ((int)id1)) { if (((int)mode1) == 0) { if (((int)id2) >= 0) { if (((int)st2) == 0) { if (((int)send2) == ((int)id2)) { if (((int)mode2) == 0) { if (((int)id3) >= 0) { if (((int)st3) == 0) { if (((int)send3) == ((int)id3)) { if (((int)mode3) == 0) { if (((int)id1) != ((int)id2)) { if (((int)id1) != ((int)id3)) { if (((int)id2) != ((int)id3)) { init__tmp = 1; __return_95 = init__tmp; main__i2 = __return_95; if (main__i2 != 0) { p1_old = nomsg; p1_new = nomsg; p2_old = nomsg; p2_new = nomsg; p3_old = nomsg; p3_new = nomsg; main__i2 = 0; { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { return __return_main; } else { int node1____CPAchecker_TMP_0; if (send1 != nomsg) { if (p1_new == nomsg) { node1____CPAchecker_TMP_0 = send1; p1_new = node1____CPAchecker_TMP_0; mode1 = 1; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { return __return_main; } else { int node2____CPAchecker_TMP_0; if (send2 != nomsg) { if (p2_new == nomsg) { node2____CPAchecker_TMP_0 = send2; p2_new = node2____CPAchecker_TMP_0; mode2 = 1; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { return __return_main; } else { int node3____CPAchecker_TMP_0; if (send3 != nomsg) { if (p3_new == nomsg) { node3____CPAchecker_TMP_0 = send3; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_413 = check__tmp; main__c1 = __return_413; { _Bool __tmp_1; __tmp_1 = main__c1; _Bool assert__arg; assert__arg = __tmp_1; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { if (((int)node1__m1) > ((int)id1)) { send1 = node1__m1; goto label_1056; } else { if (((int)node1__m1) == ((int)id1)) { st1 = 1; mode1 = 0; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { if (((int)node2__m2) > ((int)id2)) { send2 = node2__m2; goto label_1085; } else { if (((int)node2__m2) == ((int)id2)) { st2 = 1; mode2 = 0; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { if (((int)node3__m3) > ((int)id3)) { send3 = node3__m3; goto label_1114; } else { if (((int)node3__m3) == ((int)id3)) { st3 = 1; mode3 = 0; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { return __return_main; } else { check__tmp = 0; __return_1142 = check__tmp; main__c1 = __return_1142; label_1143:; { _Bool __tmp_2; __tmp_2 = main__c1; _Bool assert__arg; assert__arg = __tmp_2; if (assert__arg == 0) { {reach_error();} return __return_main; } else { goto label_773; } } } } } else { label_1114:; mode3 = 0; goto label_1125; } } } else { mode3 = 0; label_1125:; goto label_926; } } else { return __return_main; } } } else { label_1085:; mode2 = 0; goto label_1096; } } } else { mode2 = 0; label_1096:; goto label_722; } } else { return __return_main; } } } else { label_1056:; mode1 = 0; goto label_1067; } } } else { mode1 = 0; label_1067:; goto label_961; } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } else { return __return_main; } } else { node3____CPAchecker_TMP_0 = p3_new; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_399 = check__tmp; main__c1 = __return_399; { _Bool __tmp_3; __tmp_3 = main__c1; _Bool assert__arg; assert__arg = __tmp_3; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { return __return_main; } else { mode1 = 0; label_961:; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { if (((int)node2__m2) > ((int)id2)) { send2 = node2__m2; goto label_975; } else { if (((int)node2__m2) == ((int)id2)) { st2 = 1; mode2 = 0; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { if (((int)node3__m3) > ((int)id3)) { send3 = node3__m3; goto label_1004; } else { if (((int)node3__m3) == ((int)id3)) { st3 = 1; mode3 = 0; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { return __return_main; } else { check__tmp = 0; __return_1032 = check__tmp; main__c1 = __return_1032; { _Bool __tmp_4; __tmp_4 = main__c1; _Bool assert__arg; assert__arg = __tmp_4; if (assert__arg == 0) { {reach_error();} return __return_main; } else { return __return_main; } } } } } else { label_1004:; mode3 = 0; goto label_1015; } } } else { mode3 = 0; label_1015:; goto label_830; } } else { return __return_main; } } } else { label_975:; mode2 = 0; goto label_986; } } } else { mode2 = 0; label_986:; goto label_626; } } else { return __return_main; } } } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } } } } else { return __return_main; } } else { node2____CPAchecker_TMP_0 = p2_new; p2_new = node2____CPAchecker_TMP_0; mode2 = 1; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { return __return_main; } else { int node3____CPAchecker_TMP_0; if (send3 != nomsg) { if (p3_new == nomsg) { node3____CPAchecker_TMP_0 = send3; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_385 = check__tmp; main__c1 = __return_385; { _Bool __tmp_5; __tmp_5 = main__c1; _Bool assert__arg; assert__arg = __tmp_5; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { if (((int)node1__m1) > ((int)id1)) { send1 = node1__m1; goto label_870; } else { if (((int)node1__m1) == ((int)id1)) { st1 = 1; mode1 = 0; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { if (((int)node2__m2) > ((int)id2)) { send2 = node2__m2; goto label_899; } else { if (((int)node2__m2) == ((int)id2)) { st2 = 1; mode2 = 0; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { return __return_main; } else { mode3 = 0; label_926:; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { return __return_main; } else { check__tmp = 0; __return_939 = check__tmp; main__c1 = __return_939; { _Bool __tmp_6; __tmp_6 = main__c1; _Bool assert__arg; assert__arg = __tmp_6; if (assert__arg == 0) { {reach_error();} return __return_main; } else { return __return_main; } } } } } } else { return __return_main; } } } else { label_899:; mode2 = 0; goto label_910; } } } else { mode2 = 0; label_910:; goto label_564; } } else { return __return_main; } } } else { label_870:; mode1 = 0; goto label_881; } } } else { mode1 = 0; label_881:; goto label_789; } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } else { return __return_main; } } else { node3____CPAchecker_TMP_0 = p3_new; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_371 = check__tmp; main__c1 = __return_371; { _Bool __tmp_7; __tmp_7 = main__c1; _Bool assert__arg; assert__arg = __tmp_7; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { return __return_main; } else { mode1 = 0; label_789:; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { if (((int)node2__m2) > ((int)id2)) { send2 = node2__m2; goto label_803; } else { if (((int)node2__m2) == ((int)id2)) { st2 = 1; mode2 = 0; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { return __return_main; } else { mode3 = 0; label_830:; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { return __return_main; } else { check__tmp = 0; __return_846 = check__tmp; main__c1 = __return_846; { _Bool __tmp_8; __tmp_8 = main__c1; _Bool assert__arg; assert__arg = __tmp_8; if (assert__arg == 0) { {reach_error();} return __return_main; } else { return __return_main; } } } } } else { return __return_main; } } } } else { return __return_main; } } } else { label_803:; mode2 = 0; goto label_814; } } } else { mode2 = 0; label_814:; goto label_482; } } else { return __return_main; } } } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } } } } } } } else { return __return_main; } } else { node1____CPAchecker_TMP_0 = p1_new; p1_new = node1____CPAchecker_TMP_0; mode1 = 1; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { return __return_main; } else { int node2____CPAchecker_TMP_0; if (send2 != nomsg) { if (p2_new == nomsg) { node2____CPAchecker_TMP_0 = send2; p2_new = node2____CPAchecker_TMP_0; mode2 = 1; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { return __return_main; } else { int node3____CPAchecker_TMP_0; if (send3 != nomsg) { if (p3_new == nomsg) { node3____CPAchecker_TMP_0 = send3; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_357 = check__tmp; main__c1 = __return_357; { _Bool __tmp_9; __tmp_9 = main__c1; _Bool assert__arg; assert__arg = __tmp_9; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { if (((int)node1__m1) > ((int)id1)) { send1 = node1__m1; goto label_695; } else { if (((int)node1__m1) == ((int)id1)) { st1 = 1; mode1 = 0; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { return __return_main; } else { mode2 = 0; label_722:; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { if (((int)node3__m3) > ((int)id3)) { send3 = node3__m3; goto label_736; } else { if (((int)node3__m3) == ((int)id3)) { st3 = 1; mode3 = 0; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { return __return_main; } else { check__tmp = 0; __return_764 = check__tmp; main__c1 = __return_764; { _Bool __tmp_10; __tmp_10 = main__c1; _Bool assert__arg; assert__arg = __tmp_10; if (assert__arg == 0) { {reach_error();} return __return_main; } else { label_773:; goto label_1152; } } } } } else { label_736:; mode3 = 0; goto label_747; } } } else { mode3 = 0; label_747:; goto label_576; } } else { return __return_main; } } } } else { return __return_main; } } } else { label_695:; mode1 = 0; goto label_706; } } } else { mode1 = 0; label_706:; goto label_614; } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } else { return __return_main; } } else { node3____CPAchecker_TMP_0 = p3_new; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_343 = check__tmp; main__c1 = __return_343; { _Bool __tmp_11; __tmp_11 = main__c1; _Bool assert__arg; assert__arg = __tmp_11; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { return __return_main; } else { mode1 = 0; label_614:; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { return __return_main; } else { mode2 = 0; label_626:; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { if (((int)node3__m3) > ((int)id3)) { send3 = node3__m3; goto label_640; } else { if (((int)node3__m3) == ((int)id3)) { st3 = 1; mode3 = 0; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { return __return_main; } else { check__tmp = 0; __return_671 = check__tmp; main__c1 = __return_671; { _Bool __tmp_12; __tmp_12 = main__c1; _Bool assert__arg; assert__arg = __tmp_12; if (assert__arg == 0) { {reach_error();} return __return_main; } else { return __return_main; } } } } } else { return __return_main; } } } else { label_640:; mode3 = 0; goto label_651; } } } else { mode3 = 0; label_651:; goto label_494; } } else { return __return_main; } } } } else { return __return_main; } } } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } } } } else { return __return_main; } } else { node2____CPAchecker_TMP_0 = p2_new; p2_new = node2____CPAchecker_TMP_0; mode2 = 1; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { return __return_main; } else { int node3____CPAchecker_TMP_0; if (send3 != nomsg) { if (p3_new == nomsg) { node3____CPAchecker_TMP_0 = send3; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_329 = check__tmp; main__c1 = __return_329; { _Bool __tmp_13; __tmp_13 = main__c1; _Bool assert__arg; assert__arg = __tmp_13; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { if (((int)node1__m1) > ((int)id1)) { send1 = node1__m1; goto label_537; } else { if (((int)node1__m1) == ((int)id1)) { st1 = 1; mode1 = 0; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { return __return_main; } else { mode2 = 0; label_564:; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { return __return_main; } else { mode3 = 0; label_576:; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { return __return_main; } else { check__tmp = 0; __return_592 = check__tmp; main__c1 = __return_592; { _Bool __tmp_14; __tmp_14 = main__c1; _Bool assert__arg; assert__arg = __tmp_14; if (assert__arg == 0) { {reach_error();} return __return_main; } else { return __return_main; } } } } } else { return __return_main; } } } } else { return __return_main; } } } } else { return __return_main; } } } else { label_537:; mode1 = 0; goto label_548; } } } else { mode1 = 0; label_548:; goto label_470; } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } else { return __return_main; } } else { node3____CPAchecker_TMP_0 = p3_new; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_315 = check__tmp; main__c1 = __return_315; { _Bool __tmp_15; __tmp_15 = main__c1; _Bool assert__arg; assert__arg = __tmp_15; if (assert__arg == 0) { return __return_main; } else { { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { return __return_main; } else { r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { return __return_main; } else { mode1 = 0; label_470:; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { return __return_main; } else { mode2 = 0; label_482:; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { return __return_main; } else { mode3 = 0; label_494:; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { return __return_main; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { if (((int)r1) < 3) { check__tmp = 1; __return_513 = check__tmp; main__c1 = __return_513; { _Bool __tmp_16; __tmp_16 = main__c1; _Bool assert__arg; assert__arg = __tmp_16; if (assert__arg == 0) { return __return_main; } else { label_1152:; { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { r1 = 2; goto label_1161; } else { label_1161:; r1 = r1 + 1; node1__m1 = p3_old; p3_old = nomsg; if (((int)node1__m1) != ((int)nomsg)) { if (((int)node1__m1) > ((int)id1)) { send1 = node1__m1; goto label_1168; } else { if (((int)node1__m1) == ((int)id1)) { st1 = 1; goto label_1168; } else { goto label_1168; } } } else { label_1168:; mode1 = 0; label_1179:; { msg_t node2__m2; node2__m2 = nomsg; if (!(mode2 == 0)) { node2__m2 = p1_old; p1_old = nomsg; if (((int)node2__m2) != ((int)nomsg)) { if (((int)node2__m2) > ((int)id2)) { send2 = node2__m2; goto label_1201; } else { if (((int)node2__m2) == ((int)id2)) { st2 = 1; goto label_1201; } else { goto label_1201; } } } else { label_1201:; mode2 = 0; label_1212:; { msg_t node3__m3; node3__m3 = nomsg; if (!(mode3 == 0)) { node3__m3 = p2_old; p2_old = nomsg; if (((int)node3__m3) != ((int)nomsg)) { if (((int)node3__m3) > ((int)id3)) { send3 = node3__m3; goto label_1234; } else { if (((int)node3__m3) == ((int)id3)) { st3 = 1; goto label_1234; } else { goto label_1234; } } } else { label_1234:; mode3 = 0; label_1245:; p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; { int check__tmp; if (((((int)st1) + ((int)st2)) + ((int)st3)) <= 1) { if (((int)r1) >= 3) { goto label_1277; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { label_1277:; if (((int)r1) < 3) { check__tmp = 1; goto label_1284; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 1) { check__tmp = 1; goto label_1284; } else { check__tmp = 0; label_1284:; goto label_1276; } } } else { check__tmp = 0; label_1276:; goto label_1270; } } } else { check__tmp = 0; label_1270:; __return_1291 = check__tmp; main__c1 = __return_1291; goto label_1143; } } } } else { int node3____CPAchecker_TMP_0; if (send3 != nomsg) { if (p3_new == nomsg) { node3____CPAchecker_TMP_0 = send3; goto label_1251; } else { goto label_1248; } } else { label_1248:; node3____CPAchecker_TMP_0 = p3_new; label_1251:; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; goto label_1245; } } } } } else { int node2____CPAchecker_TMP_0; if (send2 != nomsg) { if (p2_new == nomsg) { node2____CPAchecker_TMP_0 = send2; goto label_1218; } else { goto label_1215; } } else { label_1215:; node2____CPAchecker_TMP_0 = p2_new; label_1218:; p2_new = node2____CPAchecker_TMP_0; mode2 = 1; goto label_1212; } } } } } } else { int node1____CPAchecker_TMP_0; if (send1 != nomsg) { if (p1_new == nomsg) { node1____CPAchecker_TMP_0 = send1; goto label_1185; } else { goto label_1182; } } else { label_1182:; node1____CPAchecker_TMP_0 = p1_new; label_1185:; p1_new = node1____CPAchecker_TMP_0; mode1 = 1; goto label_1179; } } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } } else { return __return_main; } } } } else { return __return_main; } } } } } else { return __return_main; } } } } } else { return __return_main; } } else { return __return_main; } } } else { return __return_main; } } } } } } } } } } } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } else { return __return_main; } } }