./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.2.ufo.UNBOUNDED.pals.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.2.ufo.UNBOUNDED.pals.c -s /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash d52e74df0654e1f032e9591db582096a56c19f5c ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 07:58:57,909 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:58:57,910 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:58:57,918 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:58:57,918 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:58:57,919 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:58:57,919 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:58:57,921 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:58:57,922 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:58:57,922 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:58:57,923 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:58:57,923 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:58:57,924 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:58:57,925 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:58:57,925 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:58:57,926 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:58:57,927 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:58:57,928 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:58:57,929 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:58:57,930 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:58:57,931 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:58:57,932 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:58:57,934 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:58:57,934 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:58:57,934 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:58:57,935 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:58:57,935 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:58:57,936 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:58:57,937 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:58:57,937 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:58:57,938 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:58:57,938 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:58:57,938 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:58:57,938 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:58:57,939 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:58:57,940 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:58:57,940 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 07:58:57,950 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:58:57,951 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:58:57,951 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 07:58:57,951 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 07:58:57,952 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:58:57,952 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:58:57,952 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:58:57,952 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:58:57,953 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:58:57,954 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 07:58:57,954 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 07:58:57,954 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 07:58:57,954 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:58:57,954 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 07:58:57,954 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 07:58:57,954 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:58:57,954 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 07:58:57,955 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 07:58:57,955 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 07:58:57,955 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 07:58:57,955 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 07:58:57,955 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> d52e74df0654e1f032e9591db582096a56c19f5c [2018-11-23 07:58:57,978 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:58:57,986 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:58:57,988 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:58:57,989 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:58:57,989 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:58:57,990 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/../../sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.2.ufo.UNBOUNDED.pals.c [2018-11-23 07:58:58,029 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/data/50c58475b/a8236fb4e7c0446495868ede3b84bd85/FLAG4f4a198ea [2018-11-23 07:58:58,386 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:58:58,386 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.2.ufo.UNBOUNDED.pals.c [2018-11-23 07:58:58,391 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/data/50c58475b/a8236fb4e7c0446495868ede3b84bd85/FLAG4f4a198ea [2018-11-23 07:58:58,791 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/data/50c58475b/a8236fb4e7c0446495868ede3b84bd85 [2018-11-23 07:58:58,793 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:58:58,794 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:58:58,795 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:58:58,795 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:58:58,797 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:58:58,797 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:58:58" (1/1) ... [2018-11-23 07:58:58,799 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@e869ad4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:58, skipping insertion in model container [2018-11-23 07:58:58,800 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:58:58" (1/1) ... [2018-11-23 07:58:58,807 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:58:58,833 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:58:58,994 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:58:59,000 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:58:59,025 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:58:59,039 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:58:59,039 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59 WrapperNode [2018-11-23 07:58:59,040 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:58:59,040 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:58:59,040 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:58:59,040 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:58:59,046 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,052 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,111 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:58:59,112 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:58:59,112 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:58:59,112 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:58:59,117 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,118 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,119 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,120 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,124 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,137 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,139 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... [2018-11-23 07:58:59,141 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:58:59,142 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:58:59,142 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:58:59,142 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:58:59,143 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:58:59" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 07:58:59,186 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:58:59,186 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:59:00,123 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:59:00,123 INFO L280 CfgBuilder]: Removed 17 assue(true) statements. [2018-11-23 07:59:00,124 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:59:00 BoogieIcfgContainer [2018-11-23 07:59:00,124 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:59:00,124 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 07:59:00,125 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 07:59:00,132 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 07:59:00,133 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:59:00" (1/1) ... [2018-11-23 07:59:00,141 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:59:00,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:59:00,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 6 states and 7 transitions. [2018-11-23 07:59:00,169 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 7 transitions. [2018-11-23 07:59:00,171 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-11-23 07:59:00,172 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:59:00,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:59:00,474 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:59:00,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:59:00,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 7 states and 10 transitions. [2018-11-23 07:59:00,532 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 10 transitions. [2018-11-23 07:59:00,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-11-23 07:59:00,532 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:59:00,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:59:00,865 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification. DAG size of input: 98 DAG size of output: 65 [2018-11-23 07:59:01,010 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:59:01,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:59:01,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 10 states and 18 transitions. [2018-11-23 07:59:01,693 INFO L276 IsEmpty]: Start isEmpty. Operand 10 states and 18 transitions. [2018-11-23 07:59:01,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 07:59:01,695 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:59:01,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:59:02,079 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:59:02,888 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification. DAG size of input: 78 DAG size of output: 76 [2018-11-23 07:59:03,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:59:03,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 14 states and 31 transitions. [2018-11-23 07:59:03,372 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 31 transitions. [2018-11-23 07:59:03,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 07:59:03,372 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:59:03,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:59:04,257 WARN L180 SmtUtils]: Spent 216.00 ms on a formula simplification. DAG size of input: 152 DAG size of output: 70 [2018-11-23 07:59:05,079 WARN L180 SmtUtils]: Spent 680.00 ms on a formula simplification. DAG size of input: 252 DAG size of output: 146 [2018-11-23 07:59:05,955 WARN L180 SmtUtils]: Spent 729.00 ms on a formula simplification. DAG size of input: 234 DAG size of output: 141 [2018-11-23 07:59:06,786 WARN L180 SmtUtils]: Spent 703.00 ms on a formula simplification. DAG size of input: 226 DAG size of output: 136 [2018-11-23 07:59:07,464 WARN L180 SmtUtils]: Spent 534.00 ms on a formula simplification. DAG size of input: 230 DAG size of output: 112 [2018-11-23 07:59:08,131 WARN L180 SmtUtils]: Spent 484.00 ms on a formula simplification. DAG size of input: 226 DAG size of output: 108 [2018-11-23 07:59:08,147 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:59:08,462 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 81 DAG size of output: 79 [2018-11-23 07:59:08,980 WARN L180 SmtUtils]: Spent 300.00 ms on a formula simplification. DAG size of input: 157 DAG size of output: 142 [2018-11-23 07:59:09,220 WARN L180 SmtUtils]: Spent 142.00 ms on a formula simplification that was a NOOP. DAG size: 138 [2018-11-23 07:59:09,593 WARN L180 SmtUtils]: Spent 354.00 ms on a formula simplification. DAG size of input: 159 DAG size of output: 153 [2018-11-23 07:59:09,826 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification that was a NOOP. DAG size: 143 [2018-11-23 07:59:10,042 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification that was a NOOP. DAG size: 154 [2018-11-23 07:59:10,424 WARN L180 SmtUtils]: Spent 300.00 ms on a formula simplification. DAG size of input: 157 DAG size of output: 140 [2018-11-23 07:59:10,786 WARN L180 SmtUtils]: Spent 333.00 ms on a formula simplification. DAG size of input: 159 DAG size of output: 154 [2018-11-23 07:59:11,010 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification that was a NOOP. DAG size: 141 [2018-11-23 07:59:11,247 WARN L180 SmtUtils]: Spent 148.00 ms on a formula simplification that was a NOOP. DAG size: 155 [2018-11-23 07:59:11,604 WARN L180 SmtUtils]: Spent 278.00 ms on a formula simplification. DAG size of input: 148 DAG size of output: 129 [2018-11-23 07:59:11,841 WARN L180 SmtUtils]: Spent 134.00 ms on a formula simplification that was a NOOP. DAG size: 131 [2018-11-23 07:59:12,160 WARN L180 SmtUtils]: Spent 284.00 ms on a formula simplification. DAG size of input: 150 DAG size of output: 143 [2018-11-23 07:59:12,339 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 128 [2018-11-23 07:59:12,546 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 142 [2018-11-23 07:59:12,807 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification that was a NOOP. DAG size: 126 [2018-11-23 07:59:13,004 WARN L180 SmtUtils]: Spent 156.00 ms on a formula simplification. DAG size of input: 147 DAG size of output: 103 [2018-11-23 07:59:13,430 WARN L180 SmtUtils]: Spent 227.00 ms on a formula simplification. DAG size of input: 149 DAG size of output: 147 [2018-11-23 07:59:13,803 WARN L180 SmtUtils]: Spent 118.00 ms on a formula simplification that was a NOOP. DAG size: 147 [2018-11-23 07:59:14,167 WARN L180 SmtUtils]: Spent 130.00 ms on a formula simplification that was a NOOP. DAG size: 155 [2018-11-23 07:59:14,409 WARN L180 SmtUtils]: Spent 133.00 ms on a formula simplification that was a NOOP. DAG size: 156 [2018-11-23 07:59:14,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:59:14,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 20 states and 50 transitions. [2018-11-23 07:59:14,481 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 50 transitions. [2018-11-23 07:59:14,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 07:59:14,481 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:59:14,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:59:14,862 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:59:15,204 WARN L180 SmtUtils]: Spent 285.00 ms on a formula simplification. DAG size of input: 151 DAG size of output: 126 [2018-11-23 07:59:15,564 WARN L180 SmtUtils]: Spent 326.00 ms on a formula simplification. DAG size of input: 153 DAG size of output: 148 [2018-11-23 07:59:15,787 WARN L180 SmtUtils]: Spent 118.00 ms on a formula simplification that was a NOOP. DAG size: 126 [2018-11-23 07:59:16,055 WARN L180 SmtUtils]: Spent 157.00 ms on a formula simplification that was a NOOP. DAG size: 148 [2018-11-23 07:59:16,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:59:16,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 21 states and 52 transitions. [2018-11-23 07:59:16,133 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 52 transitions. [2018-11-23 07:59:16,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 07:59:16,133 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:59:16,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:59:17,103 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:59:17,464 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification. DAG size of input: 109 DAG size of output: 101 [2018-11-23 07:59:17,731 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 104 [2018-11-23 07:59:18,714 WARN L180 SmtUtils]: Spent 271.00 ms on a formula simplification. DAG size of input: 155 DAG size of output: 153 [2018-11-23 07:59:19,067 WARN L180 SmtUtils]: Spent 133.00 ms on a formula simplification that was a NOOP. DAG size: 154 [2018-11-23 07:59:19,509 WARN L180 SmtUtils]: Spent 150.00 ms on a formula simplification that was a NOOP. DAG size: 162 [2018-11-23 07:59:19,883 WARN L180 SmtUtils]: Spent 158.00 ms on a formula simplification that was a NOOP. DAG size: 163 [2018-11-23 07:59:19,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:59:19,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 23 states and 61 transitions. [2018-11-23 07:59:19,956 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 61 transitions. [2018-11-23 07:59:19,957 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 07:59:19,957 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:59:20,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:59:20,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:59:20,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:59:20,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:59:21,038 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 7 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~r1~0 := 0;~p1_old~0 := 0;~p1_new~0 := 0;~id1~0 := 0;~st1~0 := 0;~mode1~0 := 0;~alive1~0 := 0;~p2_old~0 := 0;~p2_new~0 := 0;~id2~0 := 0;~st2~0 := 0;~mode2~0 := 0;~alive2~0 := 0;~p3_old~0 := 0;~p3_new~0 := 0;~id3~0 := 0;~st3~0 := 0;~mode3~0 := 0;~alive3~0 := 0;~nomsg~0 := -1;~p1~0 := 0;~send1~0 := 0;~p2~0 := 0;~send2~0 := 0;~p3~0 := 0;~send3~0 := 0;~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset];havoc main_#res;havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0;havoc main_~c1~0;havoc main_~i2~0;main_~c1~0 := 0;~r1~0 := main_#t~nondet5;havoc main_#t~nondet5;assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127;~id1~0 := main_#t~nondet6;havoc main_#t~nondet6;assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127;~st1~0 := main_#t~nondet7;havoc main_#t~nondet7;assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127;~send1~0 := main_#t~nondet8;havoc main_#t~nondet8;~mode1~0 := main_#t~nondet9;havoc main_#t~nondet9;~alive1~0 := main_#t~nondet10;havoc main_#t~nondet10;assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127;~id2~0 := main_#t~nondet11;havoc main_#t~nondet11;assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127;~st2~0 := main_#t~nondet12;havoc main_#t~nondet12;assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127;~send2~0 := main_#t~nondet13;havoc main_#t~nondet13;~mode2~0 := main_#t~nondet14;havoc main_#t~nondet14;~alive2~0 := main_#t~nondet15;havoc main_#t~nondet15;assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127;~id3~0 := main_#t~nondet16;havoc main_#t~nondet16;assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127;~st3~0 := main_#t~nondet17;havoc main_#t~nondet17;assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127;~send3~0 := main_#t~nondet18;havoc main_#t~nondet18;~mode3~0 := main_#t~nondet19;havoc main_#t~nondet19;~alive3~0 := main_#t~nondet20;havoc main_#t~nondet20;havoc init_#res;havoc init_~tmp~0;havoc init_~tmp~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~r1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~r1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 == ~id1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send1~0 == ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id2~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id2~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 == ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send2~0 == ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode2~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id3~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id3~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 == ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send3~0 == ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode3~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~id2~0 != ~id3~0;init_~tmp~0 := 1;ParallelCodeBlock1: assume !(~id2~0 != ~id3~0);init_~tmp~0 := 0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelCompositioninit_#res := init_~tmp~0;main_#t~ret21 := init_#res;assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647;main_~i2~0 := main_#t~ret21;havoc main_#t~ret21;assume 0 != main_~i2~0;~p1_old~0 := ~nomsg~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~nomsg~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~nomsg~0;~p3_new~0 := ~nomsg~0;main_~i2~0 := 0; VAL [ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, |ULTIMATE.start_init_#res|=1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=8, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=13, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=14, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=8, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=13, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=14, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=17, |ULTIMATE.start_node2_#t~ite1|=23, |ULTIMATE.start_node2_#t~ite2|=24, |ULTIMATE.start_node3_#t~ite3|=27, |ULTIMATE.start_node3_#t~ite4|=26, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=17, |ULTIMATE.start_node2_#t~ite1|=23, |ULTIMATE.start_node2_#t~ite2|=24, |ULTIMATE.start_node3_#t~ite3|=27, |ULTIMATE.start_node3_#t~ite4|=26, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=35, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=37, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=35, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=37, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=40, |ULTIMATE.start_node2_#t~ite1|=46, |ULTIMATE.start_node2_#t~ite2|=47, |ULTIMATE.start_node3_#t~ite3|=50, |ULTIMATE.start_node3_#t~ite4|=49, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=40, |ULTIMATE.start_node2_#t~ite1|=46, |ULTIMATE.start_node2_#t~ite2|=47, |ULTIMATE.start_node3_#t~ite3|=50, |ULTIMATE.start_node3_#t~ite4|=49, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=53, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=58, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=60, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=53, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=58, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=60, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=63, |ULTIMATE.start_node2_#t~ite1|=69, |ULTIMATE.start_node2_#t~ite2|=70, |ULTIMATE.start_node3_#t~ite3|=72, |ULTIMATE.start_node3_#t~ite4|=71, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume 0 == assert_~arg % 256; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=63, |ULTIMATE.start_node2_#t~ite1|=69, |ULTIMATE.start_node2_#t~ite2|=70, |ULTIMATE.start_node3_#t~ite3|=72, |ULTIMATE.start_node3_#t~ite4|=71, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=63, |ULTIMATE.start_node2_#t~ite1|=69, |ULTIMATE.start_node2_#t~ite2|=70, |ULTIMATE.start_node3_#t~ite3|=72, |ULTIMATE.start_node3_#t~ite4|=71, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset]; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205-L273] assume 0 == ~r1~0 % 256; [L206-L270] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L207-L267] assume ~id1~0 >= 0; [L208-L264] assume 0 == ~st1~0; [L209-L261] assume ~send1~0 == ~id1~0; [L210-L258] assume 0 == ~mode1~0 % 256; [L211-L255] assume ~id2~0 >= 0; [L212-L252] assume 0 == ~st2~0; [L213-L249] assume ~send2~0 == ~id2~0; [L214-L246] assume 0 == ~mode2~0 % 256; [L215-L243] assume ~id3~0 >= 0; [L216-L240] assume 0 == ~st3~0; [L217-L237] assume ~send3~0 == ~id3~0; [L218-L234] assume 0 == ~mode3~0 % 256; [L219-L231] assume ~id1~0 != ~id2~0; [L220-L228] assume ~id1~0 != ~id3~0; [L221-L225] assume ~id2~0 != ~id3~0; [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume !(~r1~0 % 256 < 3); [L286-L290] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset]; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205-L273] assume 0 == ~r1~0 % 256; [L206-L270] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L207-L267] assume ~id1~0 >= 0; [L208-L264] assume 0 == ~st1~0; [L209-L261] assume ~send1~0 == ~id1~0; [L210-L258] assume 0 == ~mode1~0 % 256; [L211-L255] assume ~id2~0 >= 0; [L212-L252] assume 0 == ~st2~0; [L213-L249] assume ~send2~0 == ~id2~0; [L214-L246] assume 0 == ~mode2~0 % 256; [L215-L243] assume ~id3~0 >= 0; [L216-L240] assume 0 == ~st3~0; [L217-L237] assume ~send3~0 == ~id3~0; [L218-L234] assume 0 == ~mode3~0 % 256; [L219-L231] assume ~id1~0 != ~id2~0; [L220-L228] assume ~id1~0 != ~id3~0; [L221-L225] assume ~id2~0 != ~id3~0; [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume !(~r1~0 % 256 < 3); [L286-L290] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [L299] havoc ~c1~0; [L300] havoc ~i2~0; [L303] ~c1~0 := 0; [L304] ~r1~0 := #t~nondet5; [L304] havoc #t~nondet5; [L305] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L305] ~id1~0 := #t~nondet6; [L305] havoc #t~nondet6; [L306] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L306] ~st1~0 := #t~nondet7; [L306] havoc #t~nondet7; [L307] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L307] ~send1~0 := #t~nondet8; [L307] havoc #t~nondet8; [L308] ~mode1~0 := #t~nondet9; [L308] havoc #t~nondet9; [L309] ~alive1~0 := #t~nondet10; [L309] havoc #t~nondet10; [L310] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L310] ~id2~0 := #t~nondet11; [L310] havoc #t~nondet11; [L311] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L311] ~st2~0 := #t~nondet12; [L311] havoc #t~nondet12; [L312] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L312] ~send2~0 := #t~nondet13; [L312] havoc #t~nondet13; [L313] ~mode2~0 := #t~nondet14; [L313] havoc #t~nondet14; [L314] ~alive2~0 := #t~nondet15; [L314] havoc #t~nondet15; [L315] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L315] ~id3~0 := #t~nondet16; [L315] havoc #t~nondet16; [L316] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L316] ~st3~0 := #t~nondet17; [L316] havoc #t~nondet17; [L317] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L317] ~send3~0 := #t~nondet18; [L317] havoc #t~nondet18; [L318] ~mode3~0 := #t~nondet19; [L318] havoc #t~nondet19; [L319] ~alive3~0 := #t~nondet20; [L319] havoc #t~nondet20; [L202] havoc ~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] ~tmp~0 := 1; [L274] #res := ~tmp~0; [L320] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L320] ~i2~0 := #t~ret21; [L320] havoc #t~ret21; [L321] assume 0 != ~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] ~tmp~1 := 0; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [L299] havoc ~c1~0; [L300] havoc ~i2~0; [L303] ~c1~0 := 0; [L304] ~r1~0 := #t~nondet5; [L304] havoc #t~nondet5; [L305] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L305] ~id1~0 := #t~nondet6; [L305] havoc #t~nondet6; [L306] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L306] ~st1~0 := #t~nondet7; [L306] havoc #t~nondet7; [L307] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L307] ~send1~0 := #t~nondet8; [L307] havoc #t~nondet8; [L308] ~mode1~0 := #t~nondet9; [L308] havoc #t~nondet9; [L309] ~alive1~0 := #t~nondet10; [L309] havoc #t~nondet10; [L310] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L310] ~id2~0 := #t~nondet11; [L310] havoc #t~nondet11; [L311] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L311] ~st2~0 := #t~nondet12; [L311] havoc #t~nondet12; [L312] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L312] ~send2~0 := #t~nondet13; [L312] havoc #t~nondet13; [L313] ~mode2~0 := #t~nondet14; [L313] havoc #t~nondet14; [L314] ~alive2~0 := #t~nondet15; [L314] havoc #t~nondet15; [L315] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L315] ~id3~0 := #t~nondet16; [L315] havoc #t~nondet16; [L316] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L316] ~st3~0 := #t~nondet17; [L316] havoc #t~nondet17; [L317] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L317] ~send3~0 := #t~nondet18; [L317] havoc #t~nondet18; [L318] ~mode3~0 := #t~nondet19; [L318] havoc #t~nondet19; [L319] ~alive3~0 := #t~nondet20; [L319] havoc #t~nondet20; [L202] havoc ~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] ~tmp~0 := 1; [L274] #res := ~tmp~0; [L320] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L320] ~i2~0 := #t~ret21; [L320] havoc #t~ret21; [L321] assume 0 != ~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] ~tmp~1 := 0; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] unsigned char r1 ; [L73] char p1_old ; [L74] char p1_new ; [L75] char id1 ; [L76] char st1 ; [L78] _Bool mode1 ; [L79] _Bool alive1 ; [L81] char p2_old ; [L82] char p2_new ; [L83] char id2 ; [L84] char st2 ; [L86] _Bool mode2 ; [L87] _Bool alive2 ; [L89] char p3_old ; [L90] char p3_new ; [L91] char id3 ; [L92] char st3 ; [L94] _Bool mode3 ; [L95] _Bool alive3 ; [L70] msg_t nomsg = (msg_t )-1; [L72] port_t p1 ; [L77] msg_t send1 ; [L80] port_t p2 ; [L85] msg_t send2 ; [L88] port_t p3 ; [L93] msg_t send3 ; [L199] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L299] int c1 ; [L300] int i2 ; [L303] c1 = 0 [L304] r1 = __VERIFIER_nondet_uchar() [L305] id1 = __VERIFIER_nondet_char() [L306] st1 = __VERIFIER_nondet_char() [L307] send1 = __VERIFIER_nondet_char() [L308] mode1 = __VERIFIER_nondet_bool() [L309] alive1 = __VERIFIER_nondet_bool() [L310] id2 = __VERIFIER_nondet_char() [L311] st2 = __VERIFIER_nondet_char() [L312] send2 = __VERIFIER_nondet_char() [L313] mode2 = __VERIFIER_nondet_bool() [L314] alive2 = __VERIFIER_nondet_bool() [L315] id3 = __VERIFIER_nondet_char() [L316] st3 = __VERIFIER_nondet_char() [L317] send3 = __VERIFIER_nondet_char() [L318] mode3 = __VERIFIER_nondet_bool() [L319] alive3 = __VERIFIER_nondet_bool() [L202] int tmp ; [L205] COND TRUE (int )r1 == 0 [L206] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L207] COND TRUE (int )id1 >= 0 [L208] COND TRUE (int )st1 == 0 [L209] COND TRUE (int )send1 == (int )id1 [L210] COND TRUE (int )mode1 == 0 [L211] COND TRUE (int )id2 >= 0 [L212] COND TRUE (int )st2 == 0 [L213] COND TRUE (int )send2 == (int )id2 [L214] COND TRUE (int )mode2 == 0 [L215] COND TRUE (int )id3 >= 0 [L216] COND TRUE (int )st3 == 0 [L217] COND TRUE (int )send3 == (int )id3 [L218] COND TRUE (int )mode3 == 0 [L219] COND TRUE (int )id1 != (int )id2 [L220] COND TRUE (int )id1 != (int )id3 [L221] COND TRUE (int )id2 != (int )id3 [L222] tmp = 1 [L274] return (tmp); [L320] i2 = init() [L322] p1_old = nomsg [L323] p1_new = nomsg [L324] p2_old = nomsg [L325] p2_new = nomsg [L326] p3_old = nomsg [L327] p3_new = nomsg [L328] i2 = 0 VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=0, send1=126, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=0, send1=126, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=1, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=1, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=2, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=2, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND FALSE !((int )r1 < 3) [L286] COND FALSE !(((int )st1 + (int )st2) + (int )st3 == 1) [L289] tmp = 0 [L294] return (tmp); [L340] c1 = check() [L352] COND TRUE ! arg VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=3, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L354] __VERIFIER_error() VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=3, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] ----- [2018-11-23 07:59:21,411 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 07:59:21 ImpRootNode [2018-11-23 07:59:21,412 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 07:59:21,412 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 07:59:21,412 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 07:59:21,412 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 07:59:21,413 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:59:00" (3/4) ... [2018-11-23 07:59:21,415 INFO L138 WitnessPrinter]: Generating witness for reachability counterexample ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~r1~0 := 0;~p1_old~0 := 0;~p1_new~0 := 0;~id1~0 := 0;~st1~0 := 0;~mode1~0 := 0;~alive1~0 := 0;~p2_old~0 := 0;~p2_new~0 := 0;~id2~0 := 0;~st2~0 := 0;~mode2~0 := 0;~alive2~0 := 0;~p3_old~0 := 0;~p3_new~0 := 0;~id3~0 := 0;~st3~0 := 0;~mode3~0 := 0;~alive3~0 := 0;~nomsg~0 := -1;~p1~0 := 0;~send1~0 := 0;~p2~0 := 0;~send2~0 := 0;~p3~0 := 0;~send3~0 := 0;~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset];havoc main_#res;havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0;havoc main_~c1~0;havoc main_~i2~0;main_~c1~0 := 0;~r1~0 := main_#t~nondet5;havoc main_#t~nondet5;assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127;~id1~0 := main_#t~nondet6;havoc main_#t~nondet6;assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127;~st1~0 := main_#t~nondet7;havoc main_#t~nondet7;assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127;~send1~0 := main_#t~nondet8;havoc main_#t~nondet8;~mode1~0 := main_#t~nondet9;havoc main_#t~nondet9;~alive1~0 := main_#t~nondet10;havoc main_#t~nondet10;assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127;~id2~0 := main_#t~nondet11;havoc main_#t~nondet11;assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127;~st2~0 := main_#t~nondet12;havoc main_#t~nondet12;assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127;~send2~0 := main_#t~nondet13;havoc main_#t~nondet13;~mode2~0 := main_#t~nondet14;havoc main_#t~nondet14;~alive2~0 := main_#t~nondet15;havoc main_#t~nondet15;assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127;~id3~0 := main_#t~nondet16;havoc main_#t~nondet16;assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127;~st3~0 := main_#t~nondet17;havoc main_#t~nondet17;assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127;~send3~0 := main_#t~nondet18;havoc main_#t~nondet18;~mode3~0 := main_#t~nondet19;havoc main_#t~nondet19;~alive3~0 := main_#t~nondet20;havoc main_#t~nondet20;havoc init_#res;havoc init_~tmp~0;havoc init_~tmp~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~r1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~r1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 == ~id1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send1~0 == ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id2~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id2~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 == ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send2~0 == ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode2~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id3~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id3~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 == ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send3~0 == ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode3~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~id2~0 != ~id3~0;init_~tmp~0 := 1;ParallelCodeBlock1: assume !(~id2~0 != ~id3~0);init_~tmp~0 := 0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelCompositioninit_#res := init_~tmp~0;main_#t~ret21 := init_#res;assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647;main_~i2~0 := main_#t~ret21;havoc main_#t~ret21;assume 0 != main_~i2~0;~p1_old~0 := ~nomsg~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~nomsg~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~nomsg~0;~p3_new~0 := ~nomsg~0;main_~i2~0 := 0; VAL [ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, |ULTIMATE.start_init_#res|=1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=8, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=13, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=14, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=8, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=13, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=14, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=17, |ULTIMATE.start_node2_#t~ite1|=23, |ULTIMATE.start_node2_#t~ite2|=24, |ULTIMATE.start_node3_#t~ite3|=27, |ULTIMATE.start_node3_#t~ite4|=26, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=17, |ULTIMATE.start_node2_#t~ite1|=23, |ULTIMATE.start_node2_#t~ite2|=24, |ULTIMATE.start_node3_#t~ite3|=27, |ULTIMATE.start_node3_#t~ite4|=26, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=35, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=37, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=35, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=37, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=40, |ULTIMATE.start_node2_#t~ite1|=46, |ULTIMATE.start_node2_#t~ite2|=47, |ULTIMATE.start_node3_#t~ite3|=50, |ULTIMATE.start_node3_#t~ite4|=49, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=40, |ULTIMATE.start_node2_#t~ite1|=46, |ULTIMATE.start_node2_#t~ite2|=47, |ULTIMATE.start_node3_#t~ite3|=50, |ULTIMATE.start_node3_#t~ite4|=49, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=53, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=58, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=60, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !(0 == assert_~arg % 256); VAL [ULTIMATE.start_assert_~arg=1, ULTIMATE.start_check_~tmp~1=1, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=1, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=(- 1), ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=53, |ULTIMATE.start_node2_#t~ite1|=0, |ULTIMATE.start_node2_#t~ite2|=58, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=60, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=0, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite0 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite0 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256);havoc node1_#t~ite0;}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite1 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite1 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256);havoc node2_#t~ite1;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite2 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite2 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256);havoc node2_#t~ite2;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;ParallelCodeBlock1: assume 0 != ~mode2~0 % 256;node2_~m2~0 := ~p1_old~0;~p1_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node2_~m2~0 != ~nomsg~0);ParallelCodeBlock1: assume node2_~m2~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive2~0 % 256);~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 > ~id2~0;~send2~0 := node2_~m2~0;ParallelCodeBlock1: assume !(node2_~m2~0 > ~id2~0);BeginParallelComposition{ParallelCodeBlock0: assume node2_~m2~0 == ~id2~0;~st2~0 := 1;ParallelCodeBlock1: assume !(node2_~m2~0 == ~id2~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode2~0 := 0;}EndParallelCompositionhavoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0;havoc node3_~m3~0;node3_~m3~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 != ~id3~0);ParallelCodeBlock1: assume ~send3~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite4 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite4 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite4 % 256 <= 127 then node3_#t~ite4 % 256 else node3_#t~ite4 % 256 - 256);havoc node3_#t~ite4;}EndParallelCompositionParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0;node3_#t~ite3 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite3 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256);havoc node3_#t~ite3;}EndParallelComposition~mode3~0 := 1;ParallelCodeBlock1: assume 0 != ~mode3~0 % 256;node3_~m3~0 := ~p2_old~0;~p2_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node3_~m3~0 != ~nomsg~0);ParallelCodeBlock1: assume node3_~m3~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive3~0 % 256);~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume 0 != ~alive3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 > ~id3~0;~send3~0 := node3_~m3~0;ParallelCodeBlock1: assume !(node3_~m3~0 > ~id3~0);BeginParallelComposition{ParallelCodeBlock0: assume node3_~m3~0 == ~id3~0;~st3~0 := 1;ParallelCodeBlock1: assume !(node3_~m3~0 == ~id3~0);}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode3~0 := 0;}EndParallelComposition~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;havoc check_#res;havoc check_~tmp~1;havoc check_~tmp~1;BeginParallelComposition{ParallelCodeBlock0: assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1);check_~tmp~1 := 0;ParallelCodeBlock1: assume ~st1~0 + ~st2~0 + ~st3~0 <= 1;BeginParallelComposition{ParallelCodeBlock0: assume ~r1~0 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret22 := check_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~c1~0 := main_#t~ret22;havoc main_#t~ret22;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=63, |ULTIMATE.start_node2_#t~ite1|=69, |ULTIMATE.start_node2_#t~ite2|=70, |ULTIMATE.start_node3_#t~ite3|=72, |ULTIMATE.start_node3_#t~ite4|=71, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume 0 == assert_~arg % 256; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=63, |ULTIMATE.start_node2_#t~ite1|=69, |ULTIMATE.start_node2_#t~ite2|=70, |ULTIMATE.start_node3_#t~ite3|=72, |ULTIMATE.start_node3_#t~ite4|=71, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=127, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=0, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=63, |ULTIMATE.start_node2_#t~ite1|=69, |ULTIMATE.start_node2_#t~ite2|=70, |ULTIMATE.start_node3_#t~ite3|=72, |ULTIMATE.start_node3_#t~ite4|=71, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset]; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205-L273] assume 0 == ~r1~0 % 256; [L206-L270] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L207-L267] assume ~id1~0 >= 0; [L208-L264] assume 0 == ~st1~0; [L209-L261] assume ~send1~0 == ~id1~0; [L210-L258] assume 0 == ~mode1~0 % 256; [L211-L255] assume ~id2~0 >= 0; [L212-L252] assume 0 == ~st2~0; [L213-L249] assume ~send2~0 == ~id2~0; [L214-L246] assume 0 == ~mode2~0 % 256; [L215-L243] assume ~id3~0 >= 0; [L216-L240] assume 0 == ~st3~0; [L217-L237] assume ~send3~0 == ~id3~0; [L218-L234] assume 0 == ~mode3~0 % 256; [L219-L231] assume ~id1~0 != ~id2~0; [L220-L228] assume ~id1~0 != ~id3~0; [L221-L225] assume ~id2~0 != ~id3~0; [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume !(~r1~0 % 256 < 3); [L286-L290] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L199] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset]; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205-L273] assume 0 == ~r1~0 % 256; [L206-L270] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L207-L267] assume ~id1~0 >= 0; [L208-L264] assume 0 == ~st1~0; [L209-L261] assume ~send1~0 == ~id1~0; [L210-L258] assume 0 == ~mode1~0 % 256; [L211-L255] assume ~id2~0 >= 0; [L212-L252] assume 0 == ~st2~0; [L213-L249] assume ~send2~0 == ~id2~0; [L214-L246] assume 0 == ~mode2~0 % 256; [L215-L243] assume ~id3~0 >= 0; [L216-L240] assume 0 == ~st3~0; [L217-L237] assume ~send3~0 == ~id3~0; [L218-L234] assume 0 == ~mode3~0 % 256; [L219-L231] assume ~id1~0 != ~id2~0; [L220-L228] assume ~id1~0 != ~id3~0; [L221-L225] assume ~id2~0 != ~id3~0; [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume !(0 != ~mode1~0 % 256); [L123-L125] assume !(0 != ~alive1~0 % 256); [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume !(0 != ~mode2~0 % 256); [L154-L159] assume 0 != ~alive2~0 % 256; [L155] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume !(0 != ~mode3~0 % 256); [L188-L193] assume 0 != ~alive3~0 % 256; [L189] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume ~r1~0 % 256 < 3; [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] assume !false; [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L120] assume node1_~m1~0 != ~nomsg~0; [L110-L119] assume !(0 != ~alive1~0 % 256); [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] assume 0 != ~mode2~0 % 256; [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140-L151] assume !(node2_~m2~0 != ~nomsg~0); [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] assume 0 != ~mode3~0 % 256; [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174-L185] assume node3_~m3~0 != ~nomsg~0; [L175-L184] assume 0 != ~alive3~0 % 256; [L176-L181] assume !(node3_~m3~0 > ~id3~0); [L179-L181] assume !(node3_~m3~0 == ~id3~0); [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282-L293] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L283-L290] assume !(~r1~0 % 256 < 3); [L286-L290] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352-L356] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~ret21, main_#t~ret22, main_~c1~0, main_~i2~0; [L299] havoc main_~c1~0; [L300] havoc main_~i2~0; [L303] main_~c1~0 := 0; [L304] ~r1~0 := main_#t~nondet5; [L304] havoc main_#t~nondet5; [L305] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L305] ~id1~0 := main_#t~nondet6; [L305] havoc main_#t~nondet6; [L306] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L306] ~st1~0 := main_#t~nondet7; [L306] havoc main_#t~nondet7; [L307] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L307] ~send1~0 := main_#t~nondet8; [L307] havoc main_#t~nondet8; [L308] ~mode1~0 := main_#t~nondet9; [L308] havoc main_#t~nondet9; [L309] ~alive1~0 := main_#t~nondet10; [L309] havoc main_#t~nondet10; [L310] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L310] ~id2~0 := main_#t~nondet11; [L310] havoc main_#t~nondet11; [L311] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L311] ~st2~0 := main_#t~nondet12; [L311] havoc main_#t~nondet12; [L312] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L312] ~send2~0 := main_#t~nondet13; [L312] havoc main_#t~nondet13; [L313] ~mode2~0 := main_#t~nondet14; [L313] havoc main_#t~nondet14; [L314] ~alive2~0 := main_#t~nondet15; [L314] havoc main_#t~nondet15; [L315] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L315] ~id3~0 := main_#t~nondet16; [L315] havoc main_#t~nondet16; [L316] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L316] ~st3~0 := main_#t~nondet17; [L316] havoc main_#t~nondet17; [L317] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L317] ~send3~0 := main_#t~nondet18; [L317] havoc main_#t~nondet18; [L318] ~mode3~0 := main_#t~nondet19; [L318] havoc main_#t~nondet19; [L319] ~alive3~0 := main_#t~nondet20; [L319] havoc main_#t~nondet20; [L320] havoc init_#res; [L320] havoc init_~tmp~0; [L202] havoc init_~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] init_~tmp~0 := 1; [L274] init_#res := init_~tmp~0; [L320] main_#t~ret21 := init_#res; [L320] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L320] main_~i2~0 := main_#t~ret21; [L320] havoc main_#t~ret21; [L321] assume 0 != main_~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=8, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=13, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=14, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=17, node1_~m1~0=127, node2_#t~ite1=23, node2_#t~ite2=24, node2_~m2~0=-1, node3_#t~ite3=27, node3_#t~ite4=26, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=35, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=37, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=40, node1_~m1~0=127, node2_#t~ite1=46, node2_#t~ite2=47, node2_~m2~0=-1, node3_#t~ite3=50, node3_#t~ite4=49, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] node2_#t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if node2_#t~ite1 % 256 <= 127 then node2_#t~ite1 % 256 else node2_#t~ite1 % 256 - 256); [L155] havoc node2_#t~ite1; [L160] ~mode2~0 := 1; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] node3_#t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L189] havoc node3_#t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] check_~tmp~1 := 1; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=53, node1_~m1~0=-1, node2_#t~ite1=0, node2_#t~ite2=58, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=60, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L331] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := node1_~m1~0; [L121] ~mode1~0 := 0; [L332] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L133] havoc node2_~m2~0; [L136] node2_~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] node2_~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L333] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L167] havoc node3_~m3~0; [L170] node3_~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] node3_~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE node3_~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(node3_~m3~0 > ~id3~0) [L179] COND FALSE !(node3_~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L340] havoc check_#res; [L340] havoc check_~tmp~1; [L279] havoc check_~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] check_~tmp~1 := 0; [L294] check_#res := check_~tmp~1; [L340] main_#t~ret22 := check_#res; [L340] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L340] main_~c1~0 := main_#t~ret22; [L340] havoc main_#t~ret22; [L341] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L341] havoc assert_~arg; [L347-L358] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=63, node1_~m1~0=127, node2_#t~ite1=69, node2_#t~ite2=70, node2_~m2~0=-1, node3_#t~ite3=72, node3_#t~ite4=71, node3_~m3~0=0, ~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [L299] havoc ~c1~0; [L300] havoc ~i2~0; [L303] ~c1~0 := 0; [L304] ~r1~0 := #t~nondet5; [L304] havoc #t~nondet5; [L305] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L305] ~id1~0 := #t~nondet6; [L305] havoc #t~nondet6; [L306] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L306] ~st1~0 := #t~nondet7; [L306] havoc #t~nondet7; [L307] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L307] ~send1~0 := #t~nondet8; [L307] havoc #t~nondet8; [L308] ~mode1~0 := #t~nondet9; [L308] havoc #t~nondet9; [L309] ~alive1~0 := #t~nondet10; [L309] havoc #t~nondet10; [L310] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L310] ~id2~0 := #t~nondet11; [L310] havoc #t~nondet11; [L311] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L311] ~st2~0 := #t~nondet12; [L311] havoc #t~nondet12; [L312] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L312] ~send2~0 := #t~nondet13; [L312] havoc #t~nondet13; [L313] ~mode2~0 := #t~nondet14; [L313] havoc #t~nondet14; [L314] ~alive2~0 := #t~nondet15; [L314] havoc #t~nondet15; [L315] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L315] ~id3~0 := #t~nondet16; [L315] havoc #t~nondet16; [L316] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L316] ~st3~0 := #t~nondet17; [L316] havoc #t~nondet17; [L317] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L317] ~send3~0 := #t~nondet18; [L317] havoc #t~nondet18; [L318] ~mode3~0 := #t~nondet19; [L318] havoc #t~nondet19; [L319] ~alive3~0 := #t~nondet20; [L319] havoc #t~nondet20; [L202] havoc ~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] ~tmp~0 := 1; [L274] #res := ~tmp~0; [L320] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L320] ~i2~0 := #t~ret21; [L320] havoc #t~ret21; [L321] assume 0 != ~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] ~tmp~1 := 0; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L71] ~r1~0 := 0; [L73] ~p1_old~0 := 0; [L74] ~p1_new~0 := 0; [L75] ~id1~0 := 0; [L76] ~st1~0 := 0; [L78] ~mode1~0 := 0; [L79] ~alive1~0 := 0; [L81] ~p2_old~0 := 0; [L82] ~p2_new~0 := 0; [L83] ~id2~0 := 0; [L84] ~st2~0 := 0; [L86] ~mode2~0 := 0; [L87] ~alive2~0 := 0; [L89] ~p3_old~0 := 0; [L90] ~p3_new~0 := 0; [L91] ~id3~0 := 0; [L92] ~st3~0 := 0; [L94] ~mode3~0 := 0; [L95] ~alive3~0 := 0; [L70] ~nomsg~0 := -1; [L72] ~p1~0 := 0; [L77] ~send1~0 := 0; [L80] ~p2~0 := 0; [L85] ~send2~0 := 0; [L88] ~p3~0 := 0; [L93] ~send3~0 := 0; [L199] ~nodes~0[0] := #funAddr~node1; [L199] ~nodes~0[1] := #funAddr~node2; [L199] ~nodes~0[2] := #funAddr~node3; [L299] havoc ~c1~0; [L300] havoc ~i2~0; [L303] ~c1~0 := 0; [L304] ~r1~0 := #t~nondet5; [L304] havoc #t~nondet5; [L305] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L305] ~id1~0 := #t~nondet6; [L305] havoc #t~nondet6; [L306] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L306] ~st1~0 := #t~nondet7; [L306] havoc #t~nondet7; [L307] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L307] ~send1~0 := #t~nondet8; [L307] havoc #t~nondet8; [L308] ~mode1~0 := #t~nondet9; [L308] havoc #t~nondet9; [L309] ~alive1~0 := #t~nondet10; [L309] havoc #t~nondet10; [L310] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L310] ~id2~0 := #t~nondet11; [L310] havoc #t~nondet11; [L311] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L311] ~st2~0 := #t~nondet12; [L311] havoc #t~nondet12; [L312] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L312] ~send2~0 := #t~nondet13; [L312] havoc #t~nondet13; [L313] ~mode2~0 := #t~nondet14; [L313] havoc #t~nondet14; [L314] ~alive2~0 := #t~nondet15; [L314] havoc #t~nondet15; [L315] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L315] ~id3~0 := #t~nondet16; [L315] havoc #t~nondet16; [L316] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L316] ~st3~0 := #t~nondet17; [L316] havoc #t~nondet17; [L317] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L317] ~send3~0 := #t~nondet18; [L317] havoc #t~nondet18; [L318] ~mode3~0 := #t~nondet19; [L318] havoc #t~nondet19; [L319] ~alive3~0 := #t~nondet20; [L319] havoc #t~nondet20; [L202] havoc ~tmp~0; [L205] COND TRUE 0 == ~r1~0 % 256 [L206] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L207] COND TRUE ~id1~0 >= 0 [L208] COND TRUE 0 == ~st1~0 [L209] COND TRUE ~send1~0 == ~id1~0 [L210] COND TRUE 0 == ~mode1~0 % 256 [L211] COND TRUE ~id2~0 >= 0 [L212] COND TRUE 0 == ~st2~0 [L213] COND TRUE ~send2~0 == ~id2~0 [L214] COND TRUE 0 == ~mode2~0 % 256 [L215] COND TRUE ~id3~0 >= 0 [L216] COND TRUE 0 == ~st3~0 [L217] COND TRUE ~send3~0 == ~id3~0 [L218] COND TRUE 0 == ~mode3~0 % 256 [L219] COND TRUE ~id1~0 != ~id2~0 [L220] COND TRUE ~id1~0 != ~id3~0 [L221] COND TRUE ~id2~0 != ~id3~0 [L222] ~tmp~0 := 1; [L274] #res := ~tmp~0; [L320] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L320] ~i2~0 := #t~ret21; [L320] havoc #t~ret21; [L321] assume 0 != ~i2~0; [L322] ~p1_old~0 := ~nomsg~0; [L323] ~p1_new~0 := ~nomsg~0; [L324] ~p2_old~0 := ~nomsg~0; [L325] ~p2_new~0 := ~nomsg~0; [L326] ~p3_old~0 := ~nomsg~0; [L327] ~p3_new~0 := ~nomsg~0; [L328] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=256, ~send1~0=126, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=1, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND FALSE !(0 != ~mode1~0 % 256) [L123-L125] COND FALSE !(0 != ~alive1~0 % 256) [L126] ~mode1~0 := 1; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND FALSE !(0 != ~mode2~0 % 256) [L154-L159] COND TRUE 0 != ~alive2~0 % 256 [L155] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L155] #t~ite1 := ~send2~0; [L155] ~p2_new~0 := (if #t~ite1 % 256 <= 127 then #t~ite1 % 256 else #t~ite1 % 256 - 256); [L155] havoc #t~ite1; [L160] ~mode2~0 := 1; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND FALSE !(0 != ~mode3~0 % 256) [L188-L193] COND TRUE 0 != ~alive3~0 % 256 [L189] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L189] #t~ite3 := ~send3~0; [L189] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L189] havoc #t~ite3; [L194] ~mode3~0 := 1; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND TRUE ~r1~0 % 256 < 3 [L284] ~tmp~1 := 1; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=0, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=127, ~p3~0=0, ~r1~0=2, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L329-L343] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L127] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L119] COND FALSE !(0 != ~alive1~0 % 256) [L118] ~send1~0 := ~m1~0; [L121] ~mode1~0 := 0; [L133] havoc ~m2~0; [L136] ~m2~0 := ~nomsg~0; [L137-L161] COND TRUE 0 != ~mode2~0 % 256 [L138] ~m2~0 := ~p1_old~0; [L139] ~p1_old~0 := ~nomsg~0; [L140] COND FALSE !(~m2~0 != ~nomsg~0) [L152] ~mode2~0 := 0; [L167] havoc ~m3~0; [L170] ~m3~0 := ~nomsg~0; [L171-L195] COND TRUE 0 != ~mode3~0 % 256 [L172] ~m3~0 := ~p2_old~0; [L173] ~p2_old~0 := ~nomsg~0; [L174] COND TRUE ~m3~0 != ~nomsg~0 [L175-L184] COND TRUE 0 != ~alive3~0 % 256 [L176] COND FALSE !(~m3~0 > ~id3~0) [L179] COND FALSE !(~m3~0 == ~id3~0) [L186] ~mode3~0 := 0; [L334] ~p1_old~0 := ~p1_new~0; [L335] ~p1_new~0 := ~nomsg~0; [L336] ~p2_old~0 := ~p2_new~0; [L337] ~p2_new~0 := ~nomsg~0; [L338] ~p3_old~0 := ~p3_new~0; [L339] ~p3_new~0 := ~nomsg~0; [L279] havoc ~tmp~1; [L282] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L283] COND FALSE !(~r1~0 % 256 < 3) [L286] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L289] ~tmp~1 := 0; [L294] #res := ~tmp~1; [L340] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L340] ~c1~0 := #t~ret22; [L340] havoc #t~ret22; [L347-L358] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L354] assert false; VAL [~alive1~0=0, ~alive2~0=1, ~alive3~0=1, ~id1~0=126, ~id2~0=0, ~id3~0=127, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=3, ~send1~0=127, ~send2~0=0, ~send3~0=127, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] unsigned char r1 ; [L73] char p1_old ; [L74] char p1_new ; [L75] char id1 ; [L76] char st1 ; [L78] _Bool mode1 ; [L79] _Bool alive1 ; [L81] char p2_old ; [L82] char p2_new ; [L83] char id2 ; [L84] char st2 ; [L86] _Bool mode2 ; [L87] _Bool alive2 ; [L89] char p3_old ; [L90] char p3_new ; [L91] char id3 ; [L92] char st3 ; [L94] _Bool mode3 ; [L95] _Bool alive3 ; [L70] msg_t nomsg = (msg_t )-1; [L72] port_t p1 ; [L77] msg_t send1 ; [L80] port_t p2 ; [L85] msg_t send2 ; [L88] port_t p3 ; [L93] msg_t send3 ; [L199] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L299] int c1 ; [L300] int i2 ; [L303] c1 = 0 [L304] r1 = __VERIFIER_nondet_uchar() [L305] id1 = __VERIFIER_nondet_char() [L306] st1 = __VERIFIER_nondet_char() [L307] send1 = __VERIFIER_nondet_char() [L308] mode1 = __VERIFIER_nondet_bool() [L309] alive1 = __VERIFIER_nondet_bool() [L310] id2 = __VERIFIER_nondet_char() [L311] st2 = __VERIFIER_nondet_char() [L312] send2 = __VERIFIER_nondet_char() [L313] mode2 = __VERIFIER_nondet_bool() [L314] alive2 = __VERIFIER_nondet_bool() [L315] id3 = __VERIFIER_nondet_char() [L316] st3 = __VERIFIER_nondet_char() [L317] send3 = __VERIFIER_nondet_char() [L318] mode3 = __VERIFIER_nondet_bool() [L319] alive3 = __VERIFIER_nondet_bool() [L202] int tmp ; [L205] COND TRUE (int )r1 == 0 [L206] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L207] COND TRUE (int )id1 >= 0 [L208] COND TRUE (int )st1 == 0 [L209] COND TRUE (int )send1 == (int )id1 [L210] COND TRUE (int )mode1 == 0 [L211] COND TRUE (int )id2 >= 0 [L212] COND TRUE (int )st2 == 0 [L213] COND TRUE (int )send2 == (int )id2 [L214] COND TRUE (int )mode2 == 0 [L215] COND TRUE (int )id3 >= 0 [L216] COND TRUE (int )st3 == 0 [L217] COND TRUE (int )send3 == (int )id3 [L218] COND TRUE (int )mode3 == 0 [L219] COND TRUE (int )id1 != (int )id2 [L220] COND TRUE (int )id1 != (int )id3 [L221] COND TRUE (int )id2 != (int )id3 [L222] tmp = 1 [L274] return (tmp); [L320] i2 = init() [L322] p1_old = nomsg [L323] p1_new = nomsg [L324] p2_old = nomsg [L325] p2_new = nomsg [L326] p3_old = nomsg [L327] p3_new = nomsg [L328] i2 = 0 VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=0, send1=126, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=0, send1=126, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=1, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=1, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=2, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=2, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND FALSE !((int )r1 < 3) [L286] COND FALSE !(((int )st1 + (int )st2) + (int )st3 == 1) [L289] tmp = 0 [L294] return (tmp); [L340] c1 = check() [L352] COND TRUE ! arg VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=3, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L354] __VERIFIER_error() VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=3, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] ----- [2018-11-23 07:59:22,604 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_e99c100d-b2d6-43d1-89d6-a996dc3e5ceb/bin-2019/ukojak/witness.graphml [2018-11-23 07:59:22,604 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 07:59:22,606 INFO L168 Benchmark]: Toolchain (without parser) took 23812.21 ms. Allocated memory was 1.0 GB in the beginning and 1.6 GB in the end (delta: 534.2 MB). Free memory was 958.0 MB in the beginning and 1.4 GB in the end (delta: -444.6 MB). Peak memory consumption was 89.7 MB. Max. memory is 11.5 GB. [2018-11-23 07:59:22,607 INFO L168 Benchmark]: CDTParser took 0.12 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:59:22,607 INFO L168 Benchmark]: CACSL2BoogieTranslator took 245.32 ms. Allocated memory is still 1.0 GB. Free memory was 958.0 MB in the beginning and 941.9 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:59:22,607 INFO L168 Benchmark]: Boogie Procedure Inliner took 71.16 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 148.9 MB). Free memory was 941.9 MB in the beginning and 1.1 GB in the end (delta: -205.4 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:59:22,607 INFO L168 Benchmark]: Boogie Preprocessor took 29.99 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 07:59:22,608 INFO L168 Benchmark]: RCFGBuilder took 982.36 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 982.0 MB in the end (delta: 162.1 MB). Peak memory consumption was 162.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:59:22,608 INFO L168 Benchmark]: CodeCheck took 21287.21 ms. Allocated memory was 1.2 GB in the beginning and 1.6 GB in the end (delta: 385.4 MB). Free memory was 982.0 MB in the beginning and 1.4 GB in the end (delta: -448.3 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:59:22,608 INFO L168 Benchmark]: Witness Printer took 1192.20 ms. Allocated memory is still 1.6 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 27.6 MB). Peak memory consumption was 27.6 MB. Max. memory is 11.5 GB. [2018-11-23 07:59:22,610 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 75 locations, 1 error locations. UNSAFE Result, 20.8s OverallTime, 7 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 32 SDtfs, 276 SDslu, 64 SDs, 0 SdLazy, 2686 SolverSat, 486 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 2.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 662 GetRequests, 531 SyntacticMatches, 21 SemanticMatches, 110 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5782 ImplicationChecksByTransitivity, 17.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.8s SatisfiabilityAnalysisTime, 6.4s InterpolantComputationTime, 64 NumberOfCodeBlocks, 64 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 44 ConstructedInterpolants, 0 QuantifiedInterpolants, 40238 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 6 InterpolantComputations, 1 PerfectInterpolantSequences, 3/52 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - CounterExampleResult [Line: 354]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L71] unsigned char r1 ; [L73] char p1_old ; [L74] char p1_new ; [L75] char id1 ; [L76] char st1 ; [L78] _Bool mode1 ; [L79] _Bool alive1 ; [L81] char p2_old ; [L82] char p2_new ; [L83] char id2 ; [L84] char st2 ; [L86] _Bool mode2 ; [L87] _Bool alive2 ; [L89] char p3_old ; [L90] char p3_new ; [L91] char id3 ; [L92] char st3 ; [L94] _Bool mode3 ; [L95] _Bool alive3 ; [L70] msg_t nomsg = (msg_t )-1; [L72] port_t p1 ; [L77] msg_t send1 ; [L80] port_t p2 ; [L85] msg_t send2 ; [L88] port_t p3 ; [L93] msg_t send3 ; [L199] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L299] int c1 ; [L300] int i2 ; [L303] c1 = 0 [L304] r1 = __VERIFIER_nondet_uchar() [L305] id1 = __VERIFIER_nondet_char() [L306] st1 = __VERIFIER_nondet_char() [L307] send1 = __VERIFIER_nondet_char() [L308] mode1 = __VERIFIER_nondet_bool() [L309] alive1 = __VERIFIER_nondet_bool() [L310] id2 = __VERIFIER_nondet_char() [L311] st2 = __VERIFIER_nondet_char() [L312] send2 = __VERIFIER_nondet_char() [L313] mode2 = __VERIFIER_nondet_bool() [L314] alive2 = __VERIFIER_nondet_bool() [L315] id3 = __VERIFIER_nondet_char() [L316] st3 = __VERIFIER_nondet_char() [L317] send3 = __VERIFIER_nondet_char() [L318] mode3 = __VERIFIER_nondet_bool() [L319] alive3 = __VERIFIER_nondet_bool() [L202] int tmp ; [L205] COND TRUE (int )r1 == 0 [L206] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L207] COND TRUE (int )id1 >= 0 [L208] COND TRUE (int )st1 == 0 [L209] COND TRUE (int )send1 == (int )id1 [L210] COND TRUE (int )mode1 == 0 [L211] COND TRUE (int )id2 >= 0 [L212] COND TRUE (int )st2 == 0 [L213] COND TRUE (int )send2 == (int )id2 [L214] COND TRUE (int )mode2 == 0 [L215] COND TRUE (int )id3 >= 0 [L216] COND TRUE (int )st3 == 0 [L217] COND TRUE (int )send3 == (int )id3 [L218] COND TRUE (int )mode3 == 0 [L219] COND TRUE (int )id1 != (int )id2 [L220] COND TRUE (int )id1 != (int )id3 [L221] COND TRUE (int )id2 != (int )id3 [L222] tmp = 1 [L274] return (tmp); [L320] i2 = init() [L322] p1_old = nomsg [L323] p1_new = nomsg [L324] p2_old = nomsg [L325] p2_new = nomsg [L326] p3_old = nomsg [L327] p3_new = nomsg [L328] i2 = 0 VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=0, send1=126, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=0, send1=126, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=1, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=1, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=2, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L123] COND FALSE !(\read(alive1)) [L126] mode1 = (_Bool)1 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND FALSE !(\read(mode2)) [L154] COND TRUE \read(alive2) [L155] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L155] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] mode2 = (_Bool)1 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND FALSE !(\read(mode3)) [L188] COND TRUE \read(alive3) [L189] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L189] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L194] mode3 = (_Bool)1 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND TRUE (int )r1 < 3 [L284] tmp = 1 [L294] return (tmp); [L340] c1 = check() [L352] COND FALSE !(! arg) VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=0, p3=0, p3_new=-1, p3_old=127, r1=2, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L329] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND FALSE !(\read(alive1)) [L118] send1 = m1 [L121] mode1 = (_Bool)0 [L133] msg_t m2 ; [L136] m2 = nomsg [L137] COND TRUE \read(mode2) [L138] m2 = p1_old [L139] p1_old = nomsg [L140] COND FALSE !((int )m2 != (int )nomsg) [L152] mode2 = (_Bool)0 [L167] msg_t m3 ; [L170] m3 = nomsg [L171] COND TRUE \read(mode3) [L172] m3 = p2_old [L173] p2_old = nomsg [L174] COND TRUE (int )m3 != (int )nomsg [L175] COND TRUE \read(alive3) [L176] COND FALSE !((int )m3 > (int )id3) [L179] COND FALSE !((int )m3 == (int )id3) [L186] mode3 = (_Bool)0 [L334] p1_old = p1_new [L335] p1_new = nomsg [L336] p2_old = p2_new [L337] p2_new = nomsg [L338] p3_old = p3_new [L339] p3_new = nomsg [L279] int tmp ; [L282] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L283] COND FALSE !((int )r1 < 3) [L286] COND FALSE !(((int )st1 + (int )st2) + (int )st3 == 1) [L289] tmp = 0 [L294] return (tmp); [L340] c1 = check() [L352] COND TRUE ! arg VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=3, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] [L354] __VERIFIER_error() VAL [alive1=0, alive2=1, alive3=1, id1=126, id2=0, id3=127, mode1=0, mode2=0, mode3=0, nomsg=-1, p1=0, p1_new=-1, p1_old=-1, p2=0, p2_new=-1, p2_old=-1, p3=0, p3_new=-1, p3_old=-1, r1=3, send1=127, send2=0, send3=127, st1=0, st2=0, st3=0] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 245.32 ms. Allocated memory is still 1.0 GB. Free memory was 958.0 MB in the beginning and 941.9 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 71.16 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 148.9 MB). Free memory was 941.9 MB in the beginning and 1.1 GB in the end (delta: -205.4 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 29.99 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 982.36 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 982.0 MB in the end (delta: 162.1 MB). Peak memory consumption was 162.1 MB. Max. memory is 11.5 GB. * CodeCheck took 21287.21 ms. Allocated memory was 1.2 GB in the beginning and 1.6 GB in the end (delta: 385.4 MB). Free memory was 982.0 MB in the beginning and 1.4 GB in the end (delta: -448.3 MB). There was no memory consumed. Max. memory is 11.5 GB. * Witness Printer took 1192.20 ms. Allocated memory is still 1.6 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 27.6 MB). Peak memory consumption was 27.6 MB. Max. memory is 11.5 GB. RESULT: Ultimate proved your program to be incorrect! Received shutdown request...