// 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.1.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_1146; int __return_399; int __return_1035; int __return_385; int __return_942; int __return_371; int __return_848; int __return_357; int __return_766; int __return_343; int __return_672; int __return_329; int __return_593; int __return_315; int __return_513; int __return_1296; 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_1060; } 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_1089; } 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_1118; } 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_1146 = check__tmp; main__c1 = __return_1146; label_1147:; { _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_775; } } } } } else { label_1118:; mode3 = 0; goto label_1129; } } } else { mode3 = 0; label_1129:; goto label_929; } } else { return __return_main; } } } else { label_1089:; mode2 = 0; goto label_1100; } } } else { mode2 = 0; label_1100:; goto label_724; } } else { return __return_main; } } } else { send1 = node1__m1; label_1060:; mode1 = 0; goto label_1071; } } } else { mode1 = 0; label_1071:; goto label_964; } } } 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_964:; { 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_978; } 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_1007; } 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_1035 = check__tmp; main__c1 = __return_1035; { _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_1007:; mode3 = 0; goto label_1018; } } } else { mode3 = 0; label_1018:; goto label_832; } } else { return __return_main; } } } else { label_978:; mode2 = 0; goto label_989; } } } else { mode2 = 0; label_989:; goto label_627; } } 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_873; } 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_902; } 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_929:; 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_942 = check__tmp; main__c1 = __return_942; { _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_902:; mode2 = 0; goto label_913; } } } else { mode2 = 0; label_913:; goto label_565; } } else { return __return_main; } } } else { send1 = node1__m1; label_873:; mode1 = 0; goto label_884; } } } else { mode1 = 0; label_884:; goto label_791; } } } 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_791:; { 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_805; } 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_832:; 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_848 = check__tmp; main__c1 = __return_848; { _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_805:; mode2 = 0; goto label_816; } } } else { mode2 = 0; label_816:; 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_697; } 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_724:; { 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_738; } 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_766 = check__tmp; main__c1 = __return_766; { _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_775:; goto label_1156; } } } } } else { label_738:; mode3 = 0; goto label_749; } } } else { mode3 = 0; label_749:; goto label_577; } } else { return __return_main; } } } } else { return __return_main; } } } else { send1 = node1__m1; label_697:; mode1 = 0; goto label_708; } } } else { mode1 = 0; label_708:; goto label_615; } } } 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_615:; { 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_627:; { 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_641; } 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_672 = check__tmp; main__c1 = __return_672; { _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_641:; mode3 = 0; goto label_652; } } } else { mode3 = 0; label_652:; 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_538; } 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_565:; { 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_577:; 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_593 = check__tmp; main__c1 = __return_593; { _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 { send1 = node1__m1; label_538:; mode1 = 0; goto label_549; } } } else { mode1 = 0; label_549:; 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_1156:; { msg_t node1__m1; node1__m1 = nomsg; if (!(mode1 == 0)) { if (r1 == 255) { r1 = 2; goto label_1165; } else { label_1165:; 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_1172; } else { if (((int)node1__m1) == ((int)id1)) { st1 = 1; goto label_1172; } else { send1 = node1__m1; goto label_1172; } } } else { label_1172:; mode1 = 0; label_1184:; { 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_1206; } else { if (((int)node2__m2) == ((int)id2)) { st2 = 1; goto label_1206; } else { goto label_1206; } } } else { label_1206:; mode2 = 0; label_1217:; { 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_1239; } else { if (((int)node3__m3) == ((int)id3)) { st3 = 1; goto label_1239; } else { goto label_1239; } } } else { label_1239:; mode3 = 0; label_1250:; 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_1282; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 0) { label_1282:; if (((int)r1) < 3) { check__tmp = 1; goto label_1289; } else { if (((((int)st1) + ((int)st2)) + ((int)st3)) == 1) { check__tmp = 1; goto label_1289; } else { check__tmp = 0; label_1289:; goto label_1281; } } } else { check__tmp = 0; label_1281:; goto label_1275; } } } else { check__tmp = 0; label_1275:; __return_1296 = check__tmp; main__c1 = __return_1296; goto label_1147; } } } } else { int node3____CPAchecker_TMP_0; if (send3 != nomsg) { if (p3_new == nomsg) { node3____CPAchecker_TMP_0 = send3; goto label_1256; } else { goto label_1253; } } else { label_1253:; node3____CPAchecker_TMP_0 = p3_new; label_1256:; p3_new = node3____CPAchecker_TMP_0; mode3 = 1; goto label_1250; } } } } } else { int node2____CPAchecker_TMP_0; if (send2 != nomsg) { if (p2_new == nomsg) { node2____CPAchecker_TMP_0 = send2; goto label_1223; } else { goto label_1220; } } else { label_1220:; node2____CPAchecker_TMP_0 = p2_new; label_1223:; p2_new = node2____CPAchecker_TMP_0; mode2 = 1; goto label_1217; } } } } } } else { int node1____CPAchecker_TMP_0; if (send1 != nomsg) { if (p1_new == nomsg) { node1____CPAchecker_TMP_0 = send1; goto label_1190; } else { goto label_1187; } } else { label_1187:; node1____CPAchecker_TMP_0 = p1_new; label_1190:; p1_new = node1____CPAchecker_TMP_0; mode1 = 1; goto label_1184; } } } } } } 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; } } }