./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.BOUNDED-6.pals_true-termination.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_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.2.ufo.BOUNDED-6.pals_true-termination.c -s /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/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 f2969d4725852fd68e7759cdb7f1d1929ca0124c ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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-22 22:33:56,715 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:33:56,716 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:33:56,723 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:33:56,723 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:33:56,724 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:33:56,724 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:33:56,725 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:33:56,726 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:33:56,727 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:33:56,728 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:33:56,728 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:33:56,728 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:33:56,729 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:33:56,730 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:33:56,730 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:33:56,731 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:33:56,732 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:33:56,732 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:33:56,733 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:33:56,734 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:33:56,734 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:33:56,736 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:33:56,736 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:33:56,736 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:33:56,737 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:33:56,738 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:33:56,738 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:33:56,739 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:33:56,740 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:33:56,740 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:33:56,740 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:33:56,740 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:33:56,742 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:33:56,743 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:33:56,743 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:33:56,743 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-22 22:33:56,754 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:33:56,754 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:33:56,754 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:33:56,754 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-22 22:33:56,755 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 22:33:56,755 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 22:33:56,755 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:33:56,755 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:33:56,756 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:33:56,757 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:33:56,757 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-22 22:33:56,757 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-22 22:33:56,757 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:33:56,757 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:33:56,757 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-22 22:33:56,757 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:33:56,757 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:33:56,758 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:33:56,758 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-22 22:33:56,758 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:33:56,758 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 22:33:56,758 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_d331402e-0ecd-46a5-933f-74ee26849f25/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 -> f2969d4725852fd68e7759cdb7f1d1929ca0124c [2018-11-22 22:33:56,780 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:33:56,788 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:33:56,790 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:33:56,791 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:33:56,791 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:33:56,792 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/../../sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.2.ufo.BOUNDED-6.pals_true-termination.c [2018-11-22 22:33:56,828 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/data/b10906a27/7a96f0bf804540ac82c41a492578be82/FLAG61b7257c2 [2018-11-22 22:33:57,263 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:33:57,264 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.2.ufo.BOUNDED-6.pals_true-termination.c [2018-11-22 22:33:57,269 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/data/b10906a27/7a96f0bf804540ac82c41a492578be82/FLAG61b7257c2 [2018-11-22 22:33:57,278 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/data/b10906a27/7a96f0bf804540ac82c41a492578be82 [2018-11-22 22:33:57,280 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:33:57,281 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:33:57,282 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:33:57,282 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:33:57,285 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:33:57,286 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,289 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@290897d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57, skipping insertion in model container [2018-11-22 22:33:57,289 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,298 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:33:57,324 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:33:57,469 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:33:57,474 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:33:57,498 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:33:57,550 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:33:57,550 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57 WrapperNode [2018-11-22 22:33:57,550 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:33:57,551 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:33:57,551 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:33:57,551 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:33:57,557 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,562 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,578 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:33:57,578 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:33:57,578 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:33:57,578 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:33:57,584 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,584 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,586 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,586 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,588 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,594 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,595 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... [2018-11-22 22:33:57,598 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:33:57,598 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:33:57,598 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:33:57,598 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:33:57,599 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:33:57" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/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-22 22:33:57,638 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:33:57,638 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:33:58,502 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:33:58,503 INFO L280 CfgBuilder]: Removed 17 assue(true) statements. [2018-11-22 22:33:58,503 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:58 BoogieIcfgContainer [2018-11-22 22:33:58,503 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:33:58,503 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-22 22:33:58,504 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-22 22:33:58,511 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-22 22:33:58,511 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:58" (1/1) ... [2018-11-22 22:33:58,519 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:33:58,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:33:58,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 7 states and 8 transitions. [2018-11-22 22:33:58,543 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 8 transitions. [2018-11-22 22:33:58,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-11-22 22:33:58,545 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:33:58,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:33:58,825 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-22 22:33:58,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:33:58,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 9 states and 12 transitions. [2018-11-22 22:33:58,912 INFO L276 IsEmpty]: Start isEmpty. Operand 9 states and 12 transitions. [2018-11-22 22:33:58,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-11-22 22:33:58,912 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:33:59,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:33:59,297 WARN L180 SmtUtils]: Spent 115.00 ms on a formula simplification. DAG size of input: 94 DAG size of output: 59 [2018-11-22 22:33:59,497 WARN L180 SmtUtils]: Spent 174.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 79 [2018-11-22 22:33:59,702 WARN L180 SmtUtils]: Spent 157.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 77 [2018-11-22 22:33:59,722 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-22 22:34:00,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:34:00,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 13 states and 23 transitions. [2018-11-22 22:34:00,710 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 23 transitions. [2018-11-22 22:34:00,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-22 22:34:00,712 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:34:00,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:01,058 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:34:01,206 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 84 DAG size of output: 80 [2018-11-22 22:34:01,357 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 85 DAG size of output: 81 [2018-11-22 22:34:02,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:34:02,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 19 states and 41 transitions. [2018-11-22 22:34:02,800 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 41 transitions. [2018-11-22 22:34:02,800 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-22 22:34:02,801 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:34:02,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:03,932 WARN L180 SmtUtils]: Spent 363.00 ms on a formula simplification. DAG size of input: 140 DAG size of output: 64 [2018-11-22 22:34:05,225 WARN L180 SmtUtils]: Spent 1.03 s on a formula simplification. DAG size of input: 283 DAG size of output: 182 [2018-11-22 22:34:06,345 WARN L180 SmtUtils]: Spent 913.00 ms on a formula simplification. DAG size of input: 295 DAG size of output: 184 [2018-11-22 22:34:07,125 WARN L180 SmtUtils]: Spent 580.00 ms on a formula simplification. DAG size of input: 269 DAG size of output: 159 [2018-11-22 22:34:08,129 WARN L180 SmtUtils]: Spent 531.00 ms on a formula simplification. DAG size of input: 277 DAG size of output: 119 [2018-11-22 22:34:08,822 WARN L180 SmtUtils]: Spent 471.00 ms on a formula simplification. DAG size of input: 273 DAG size of output: 115 [2018-11-22 22:34:08,831 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:34:09,155 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 76 DAG size of output: 75 [2018-11-22 22:34:09,857 WARN L180 SmtUtils]: Spent 481.00 ms on a formula simplification. DAG size of input: 202 DAG size of output: 193 [2018-11-22 22:34:10,376 WARN L180 SmtUtils]: Spent 382.00 ms on a formula simplification. DAG size of input: 169 DAG size of output: 169 [2018-11-22 22:34:10,890 WARN L180 SmtUtils]: Spent 483.00 ms on a formula simplification. DAG size of input: 203 DAG size of output: 201 [2018-11-22 22:34:11,497 WARN L180 SmtUtils]: Spent 483.00 ms on a formula simplification. DAG size of input: 193 DAG size of output: 193 [2018-11-22 22:34:11,835 WARN L180 SmtUtils]: Spent 223.00 ms on a formula simplification that was a NOOP. DAG size: 202 [2018-11-22 22:34:12,446 WARN L180 SmtUtils]: Spent 492.00 ms on a formula simplification. DAG size of input: 203 DAG size of output: 199 [2018-11-22 22:34:12,980 WARN L180 SmtUtils]: Spent 402.00 ms on a formula simplification. DAG size of input: 171 DAG size of output: 171 [2018-11-22 22:34:13,535 WARN L180 SmtUtils]: Spent 504.00 ms on a formula simplification. DAG size of input: 205 DAG size of output: 205 [2018-11-22 22:34:13,918 WARN L180 SmtUtils]: Spent 244.00 ms on a formula simplification that was a NOOP. DAG size: 200 [2018-11-22 22:34:14,287 WARN L180 SmtUtils]: Spent 232.00 ms on a formula simplification that was a NOOP. DAG size: 206 [2018-11-22 22:34:14,790 WARN L180 SmtUtils]: Spent 431.00 ms on a formula simplification. DAG size of input: 154 DAG size of output: 147 [2018-11-22 22:34:15,308 WARN L180 SmtUtils]: Spent 398.00 ms on a formula simplification. DAG size of input: 149 DAG size of output: 142 [2018-11-22 22:34:15,641 WARN L180 SmtUtils]: Spent 301.00 ms on a formula simplification. DAG size of input: 148 DAG size of output: 147 [2018-11-22 22:34:16,019 WARN L180 SmtUtils]: Spent 275.00 ms on a formula simplification. DAG size of input: 147 DAG size of output: 146 [2018-11-22 22:34:16,265 WARN L180 SmtUtils]: Spent 137.00 ms on a formula simplification that was a NOOP. DAG size: 148 [2018-11-22 22:34:16,783 WARN L180 SmtUtils]: Spent 431.00 ms on a formula simplification. DAG size of input: 152 DAG size of output: 145 [2018-11-22 22:34:17,117 WARN L180 SmtUtils]: Spent 289.00 ms on a formula simplification. DAG size of input: 146 DAG size of output: 145 [2018-11-22 22:34:17,514 WARN L180 SmtUtils]: Spent 276.00 ms on a formula simplification. DAG size of input: 145 DAG size of output: 144 [2018-11-22 22:34:17,765 WARN L180 SmtUtils]: Spent 143.00 ms on a formula simplification that was a NOOP. DAG size: 146 [2018-11-22 22:34:18,150 WARN L180 SmtUtils]: Spent 294.00 ms on a formula simplification. DAG size of input: 154 DAG size of output: 148 [2018-11-22 22:34:18,721 WARN L180 SmtUtils]: Spent 298.00 ms on a formula simplification. DAG size of input: 156 DAG size of output: 154 [2018-11-22 22:34:19,012 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification that was a NOOP. DAG size: 148 [2018-11-22 22:34:19,311 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification that was a NOOP. DAG size: 154 [2018-11-22 22:34:19,679 WARN L180 SmtUtils]: Spent 250.00 ms on a formula simplification. DAG size of input: 148 DAG size of output: 144 [2018-11-22 22:34:20,107 WARN L180 SmtUtils]: Spent 134.00 ms on a formula simplification that was a NOOP. DAG size: 150 [2018-11-22 22:34:20,371 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification that was a NOOP. DAG size: 145 [2018-11-22 22:34:20,682 WARN L180 SmtUtils]: Spent 146.00 ms on a formula simplification that was a NOOP. DAG size: 151 [2018-11-22 22:34:21,073 WARN L180 SmtUtils]: Spent 201.00 ms on a formula simplification that was a NOOP. DAG size: 159 [2018-11-22 22:34:21,390 WARN L180 SmtUtils]: Spent 149.00 ms on a formula simplification that was a NOOP. DAG size: 160 [2018-11-22 22:34:21,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:34:21,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 28 states and 76 transitions. [2018-11-22 22:34:21,462 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 76 transitions. [2018-11-22 22:34:21,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-22 22:34:21,462 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:34:21,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:22,273 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:34:22,898 WARN L180 SmtUtils]: Spent 438.00 ms on a formula simplification. DAG size of input: 153 DAG size of output: 152 [2018-11-22 22:34:23,207 WARN L180 SmtUtils]: Spent 161.00 ms on a formula simplification that was a NOOP. DAG size: 153 [2018-11-22 22:34:23,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:34:23,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 29 states and 78 transitions. [2018-11-22 22:34:23,289 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 78 transitions. [2018-11-22 22:34:23,289 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-22 22:34:23,289 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:34:23,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:24,518 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 20 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:34:25,116 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification that was a NOOP. DAG size: 149 [2018-11-22 22:34:25,564 WARN L180 SmtUtils]: Spent 284.00 ms on a formula simplification. DAG size of input: 151 DAG size of output: 150 [2018-11-22 22:34:25,911 WARN L180 SmtUtils]: Spent 149.00 ms on a formula simplification that was a NOOP. DAG size: 150 [2018-11-22 22:34:26,215 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification that was a NOOP. DAG size: 151 [2018-11-22 22:34:26,856 WARN L180 SmtUtils]: Spent 293.00 ms on a formula simplification. DAG size of input: 162 DAG size of output: 158 [2018-11-22 22:34:27,335 WARN L180 SmtUtils]: Spent 158.00 ms on a formula simplification that was a NOOP. DAG size: 158 [2018-11-22 22:34:27,988 WARN L180 SmtUtils]: Spent 299.00 ms on a formula simplification. DAG size of input: 156 DAG size of output: 154 [2018-11-22 22:34:28,440 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification that was a NOOP. DAG size: 155 [2018-11-22 22:34:28,847 WARN L180 SmtUtils]: Spent 278.00 ms on a formula simplification. DAG size of input: 165 DAG size of output: 163 [2018-11-22 22:34:29,144 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification that was a NOOP. DAG size: 164 [2018-11-22 22:34:29,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:34:29,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 32 states and 84 transitions. [2018-11-22 22:34:29,212 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 84 transitions. [2018-11-22 22:34:29,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-22 22:34:29,213 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:34:29,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:34:29,338 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 20 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:34:29,556 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification that was a NOOP. DAG size: 146 [2018-11-22 22:34:29,894 WARN L180 SmtUtils]: Spent 279.00 ms on a formula simplification. DAG size of input: 148 DAG size of output: 147 [2018-11-22 22:34:30,195 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification that was a NOOP. DAG size: 147 [2018-11-22 22:34:30,506 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification that was a NOOP. DAG size: 148 [2018-11-22 22:34:30,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-22 22:34:30,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 34 states and 87 transitions. [2018-11-22 22:34:30,566 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 87 transitions. [2018-11-22 22:34:30,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-22 22:34:30,566 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-22 22:34:30,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:34:31,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:34:38,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:34:38,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:34:38,893 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 8 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_#t~post23, main_~c1~0, main_~i2~0;havoc main_~c1~0;havoc main_~i2~0;main_~c1~0 := 0;assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127;~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);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~r1~0;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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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|=12, |ULTIMATE.start_node2_#t~ite1|=16, |ULTIMATE.start_node2_#t~ite2|=17, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=11, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~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|=12, |ULTIMATE.start_node2_#t~ite1|=16, |ULTIMATE.start_node2_#t~ite2|=17, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=11, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=1, 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|=12, |ULTIMATE.start_node2_#t~ite1|=16, |ULTIMATE.start_node2_#t~ite2|=17, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=11, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=1, ULTIMATE.start_node1_~m1~0=0, 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|=24, |ULTIMATE.start_node2_#t~ite1|=27, |ULTIMATE.start_node2_#t~ite2|=28, |ULTIMATE.start_node3_#t~ite3|=22, |ULTIMATE.start_node3_#t~ite4|=21, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=1, ULTIMATE.start_node1_~m1~0=0, 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|=24, |ULTIMATE.start_node2_#t~ite1|=27, |ULTIMATE.start_node2_#t~ite2|=28, |ULTIMATE.start_node3_#t~ite3|=22, |ULTIMATE.start_node3_#t~ite4|=21, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=2, ULTIMATE.start_node1_~m1~0=0, 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|=24, |ULTIMATE.start_node2_#t~ite1|=27, |ULTIMATE.start_node2_#t~ite2|=28, |ULTIMATE.start_node3_#t~ite3|=22, |ULTIMATE.start_node3_#t~ite4|=21, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=2, 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|=34, |ULTIMATE.start_node2_#t~ite1|=38, |ULTIMATE.start_node2_#t~ite2|=39, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=32, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~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=2, 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|=34, |ULTIMATE.start_node2_#t~ite1|=38, |ULTIMATE.start_node2_#t~ite2|=39, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=32, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=3, 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|=34, |ULTIMATE.start_node2_#t~ite1|=38, |ULTIMATE.start_node2_#t~ite2|=39, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=32, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=3, ULTIMATE.start_node1_~m1~0=0, 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|=46, |ULTIMATE.start_node2_#t~ite1|=50, |ULTIMATE.start_node2_#t~ite2|=51, |ULTIMATE.start_node3_#t~ite3|=44, |ULTIMATE.start_node3_#t~ite4|=43, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=3, ULTIMATE.start_node1_~m1~0=0, 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|=46, |ULTIMATE.start_node2_#t~ite1|=50, |ULTIMATE.start_node2_#t~ite2|=51, |ULTIMATE.start_node3_#t~ite3|=44, |ULTIMATE.start_node3_#t~ite4|=43, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=4, ULTIMATE.start_node1_~m1~0=0, 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|=46, |ULTIMATE.start_node2_#t~ite1|=50, |ULTIMATE.start_node2_#t~ite2|=51, |ULTIMATE.start_node3_#t~ite3|=44, |ULTIMATE.start_node3_#t~ite4|=43, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=4, 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|=57, |ULTIMATE.start_node2_#t~ite1|=61, |ULTIMATE.start_node2_#t~ite2|=62, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=55, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~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=4, 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|=57, |ULTIMATE.start_node2_#t~ite1|=61, |ULTIMATE.start_node2_#t~ite2|=62, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=55, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=5, 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|=57, |ULTIMATE.start_node2_#t~ite1|=61, |ULTIMATE.start_node2_#t~ite2|=62, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=55, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=5, ULTIMATE.start_node1_~m1~0=0, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=69, |ULTIMATE.start_node2_#t~ite1|=74, |ULTIMATE.start_node2_#t~ite2|=75, |ULTIMATE.start_node3_#t~ite3|=67, |ULTIMATE.start_node3_#t~ite4|=66, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=5, ULTIMATE.start_node1_~m1~0=0, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=69, |ULTIMATE.start_node2_#t~ite1|=74, |ULTIMATE.start_node2_#t~ite2|=75, |ULTIMATE.start_node3_#t~ite3|=67, |ULTIMATE.start_node3_#t~ite4|=66, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=5, ULTIMATE.start_node1_~m1~0=0, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=69, |ULTIMATE.start_node2_#t~ite1|=74, |ULTIMATE.start_node2_#t~ite2|=75, |ULTIMATE.start_node3_#t~ite3|=67, |ULTIMATE.start_node3_#t~ite4|=66, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202-L270] assume 0 == ~r1~0; [L203-L267] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L204-L264] assume ~id1~0 >= 0; [L205-L261] assume 0 == ~st1~0; [L206-L258] assume ~send1~0 == ~id1~0; [L207-L255] assume 0 == ~mode1~0 % 256; [L208-L252] assume ~id2~0 >= 0; [L209-L249] assume 0 == ~st2~0; [L210-L246] assume ~send2~0 == ~id2~0; [L211-L243] assume 0 == ~mode2~0 % 256; [L212-L240] assume ~id3~0 >= 0; [L213-L237] assume 0 == ~st3~0; [L214-L234] assume ~send3~0 == ~id3~0; [L215-L231] assume 0 == ~mode3~0 % 256; [L216-L228] assume ~id1~0 != ~id2~0; [L217-L225] assume ~id1~0 != ~id3~0; [L218-L222] assume ~id2~0 != ~id3~0; [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume !(~r1~0 < 3); [L283-L287] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202-L270] assume 0 == ~r1~0; [L203-L267] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L204-L264] assume ~id1~0 >= 0; [L205-L261] assume 0 == ~st1~0; [L206-L258] assume ~send1~0 == ~id1~0; [L207-L255] assume 0 == ~mode1~0 % 256; [L208-L252] assume ~id2~0 >= 0; [L209-L249] assume 0 == ~st2~0; [L210-L246] assume ~send2~0 == ~id2~0; [L211-L243] assume 0 == ~mode2~0 % 256; [L212-L240] assume ~id3~0 >= 0; [L213-L237] assume 0 == ~st3~0; [L214-L234] assume ~send3~0 == ~id3~0; [L215-L231] assume 0 == ~mode3~0 % 256; [L216-L228] assume ~id1~0 != ~id2~0; [L217-L225] assume ~id1~0 != ~id3~0; [L218-L222] assume ~id2~0 != ~id3~0; [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume !(~r1~0 < 3); [L283-L287] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~nodes~0[2] := #funAddr~node3; [L296] havoc ~c1~0; [L297] havoc ~i2~0; [L300] ~c1~0 := 0; [L301] assume -128 <= #t~nondet5 && #t~nondet5 <= 127; [L301] ~r1~0 := #t~nondet5; [L301] havoc #t~nondet5; [L302] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L302] ~id1~0 := #t~nondet6; [L302] havoc #t~nondet6; [L303] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L303] ~st1~0 := #t~nondet7; [L303] havoc #t~nondet7; [L304] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L304] ~send1~0 := #t~nondet8; [L304] havoc #t~nondet8; [L305] ~mode1~0 := #t~nondet9; [L305] havoc #t~nondet9; [L306] ~alive1~0 := #t~nondet10; [L306] havoc #t~nondet10; [L307] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L307] ~id2~0 := #t~nondet11; [L307] havoc #t~nondet11; [L308] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L308] ~st2~0 := #t~nondet12; [L308] havoc #t~nondet12; [L309] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L309] ~send2~0 := #t~nondet13; [L309] havoc #t~nondet13; [L310] ~mode2~0 := #t~nondet14; [L310] havoc #t~nondet14; [L311] ~alive2~0 := #t~nondet15; [L311] havoc #t~nondet15; [L312] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L312] ~id3~0 := #t~nondet16; [L312] havoc #t~nondet16; [L313] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L313] ~st3~0 := #t~nondet17; [L313] havoc #t~nondet17; [L314] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L314] ~send3~0 := #t~nondet18; [L314] havoc #t~nondet18; [L315] ~mode3~0 := #t~nondet19; [L315] havoc #t~nondet19; [L316] ~alive3~0 := #t~nondet20; [L316] havoc #t~nondet20; [L199] havoc ~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] ~tmp~0 := 1; [L271] #res := ~tmp~0; [L317] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L317] ~i2~0 := #t~ret21; [L317] havoc #t~ret21; [L318] assume 0 != ~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] ~tmp~1 := 0; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] assert false; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~nodes~0[2] := #funAddr~node3; [L296] havoc ~c1~0; [L297] havoc ~i2~0; [L300] ~c1~0 := 0; [L301] assume -128 <= #t~nondet5 && #t~nondet5 <= 127; [L301] ~r1~0 := #t~nondet5; [L301] havoc #t~nondet5; [L302] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L302] ~id1~0 := #t~nondet6; [L302] havoc #t~nondet6; [L303] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L303] ~st1~0 := #t~nondet7; [L303] havoc #t~nondet7; [L304] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L304] ~send1~0 := #t~nondet8; [L304] havoc #t~nondet8; [L305] ~mode1~0 := #t~nondet9; [L305] havoc #t~nondet9; [L306] ~alive1~0 := #t~nondet10; [L306] havoc #t~nondet10; [L307] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L307] ~id2~0 := #t~nondet11; [L307] havoc #t~nondet11; [L308] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L308] ~st2~0 := #t~nondet12; [L308] havoc #t~nondet12; [L309] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L309] ~send2~0 := #t~nondet13; [L309] havoc #t~nondet13; [L310] ~mode2~0 := #t~nondet14; [L310] havoc #t~nondet14; [L311] ~alive2~0 := #t~nondet15; [L311] havoc #t~nondet15; [L312] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L312] ~id3~0 := #t~nondet16; [L312] havoc #t~nondet16; [L313] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L313] ~st3~0 := #t~nondet17; [L313] havoc #t~nondet17; [L314] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L314] ~send3~0 := #t~nondet18; [L314] havoc #t~nondet18; [L315] ~mode3~0 := #t~nondet19; [L315] havoc #t~nondet19; [L316] ~alive3~0 := #t~nondet20; [L316] havoc #t~nondet20; [L199] havoc ~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] ~tmp~0 := 1; [L271] #res := ~tmp~0; [L317] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L317] ~i2~0 := #t~ret21; [L317] havoc #t~ret21; [L318] assume 0 != ~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] ~tmp~1 := 0; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] assert false; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] 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 ; [L196] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L296] int c1 ; [L297] int i2 ; [L300] c1 = 0 [L301] r1 = __VERIFIER_nondet_char() [L302] id1 = __VERIFIER_nondet_char() [L303] st1 = __VERIFIER_nondet_char() [L304] send1 = __VERIFIER_nondet_char() [L305] mode1 = __VERIFIER_nondet_bool() [L306] alive1 = __VERIFIER_nondet_bool() [L307] id2 = __VERIFIER_nondet_char() [L308] st2 = __VERIFIER_nondet_char() [L309] send2 = __VERIFIER_nondet_char() [L310] mode2 = __VERIFIER_nondet_bool() [L311] alive2 = __VERIFIER_nondet_bool() [L312] id3 = __VERIFIER_nondet_char() [L313] st3 = __VERIFIER_nondet_char() [L314] send3 = __VERIFIER_nondet_char() [L315] mode3 = __VERIFIER_nondet_bool() [L316] alive3 = __VERIFIER_nondet_bool() [L199] int tmp ; [L202] COND TRUE (int )r1 == 0 [L203] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L204] COND TRUE (int )id1 >= 0 [L205] COND TRUE (int )st1 == 0 [L206] COND TRUE (int )send1 == (int )id1 [L207] COND TRUE (int )mode1 == 0 [L208] COND TRUE (int )id2 >= 0 [L209] COND TRUE (int )st2 == 0 [L210] COND TRUE (int )send2 == (int )id2 [L211] COND TRUE (int )mode2 == 0 [L212] COND TRUE (int )id3 >= 0 [L213] COND TRUE (int )st3 == 0 [L214] COND TRUE (int )send3 == (int )id3 [L215] COND TRUE (int )mode3 == 0 [L216] COND TRUE (int )id1 != (int )id2 [L217] COND TRUE (int )id1 != (int )id3 [L218] COND TRUE (int )id2 != (int )id3 [L219] tmp = 1 [L271] return (tmp); [L317] i2 = init() [L319] p1_old = nomsg [L320] p1_new = nomsg [L321] p2_old = nomsg [L322] p2_new = nomsg [L323] p3_old = nomsg [L324] p3_new = nomsg [L325] i2 = 0 VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=0, send1=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=0, send1=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=1, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=1, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=2, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=2, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND FALSE !((int )r1 < 3) [L283] COND FALSE !(((int )st1 + (int )st2) + (int )st3 == 1) [L286] tmp = 0 [L291] return (tmp); [L337] c1 = check() [L350] COND TRUE ! arg VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L352] __VERIFIER_error() VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] ----- [2018-11-22 22:34:39,329 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 22.11 10:34:39 ImpRootNode [2018-11-22 22:34:39,330 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-22 22:34:39,330 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:34:39,330 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:34:39,330 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:34:39,331 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:33:58" (3/4) ... [2018-11-22 22:34:39,333 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_#t~post23, main_~c1~0, main_~i2~0;havoc main_~c1~0;havoc main_~i2~0;main_~c1~0 := 0;assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127;~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);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~r1~0;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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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|=12, |ULTIMATE.start_node2_#t~ite1|=16, |ULTIMATE.start_node2_#t~ite2|=17, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=11, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~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|=12, |ULTIMATE.start_node2_#t~ite1|=16, |ULTIMATE.start_node2_#t~ite2|=17, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=11, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=1, 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|=12, |ULTIMATE.start_node2_#t~ite1|=16, |ULTIMATE.start_node2_#t~ite2|=17, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=11, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=1, ULTIMATE.start_node1_~m1~0=0, 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|=24, |ULTIMATE.start_node2_#t~ite1|=27, |ULTIMATE.start_node2_#t~ite2|=28, |ULTIMATE.start_node3_#t~ite3|=22, |ULTIMATE.start_node3_#t~ite4|=21, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=1, ULTIMATE.start_node1_~m1~0=0, 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|=24, |ULTIMATE.start_node2_#t~ite1|=27, |ULTIMATE.start_node2_#t~ite2|=28, |ULTIMATE.start_node3_#t~ite3|=22, |ULTIMATE.start_node3_#t~ite4|=21, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=2, ULTIMATE.start_node1_~m1~0=0, 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|=24, |ULTIMATE.start_node2_#t~ite1|=27, |ULTIMATE.start_node2_#t~ite2|=28, |ULTIMATE.start_node3_#t~ite3|=22, |ULTIMATE.start_node3_#t~ite4|=21, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=2, 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|=34, |ULTIMATE.start_node2_#t~ite1|=38, |ULTIMATE.start_node2_#t~ite2|=39, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=32, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~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=2, 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|=34, |ULTIMATE.start_node2_#t~ite1|=38, |ULTIMATE.start_node2_#t~ite2|=39, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=32, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=3, 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|=34, |ULTIMATE.start_node2_#t~ite1|=38, |ULTIMATE.start_node2_#t~ite2|=39, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=32, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=3, ULTIMATE.start_node1_~m1~0=0, 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|=46, |ULTIMATE.start_node2_#t~ite1|=50, |ULTIMATE.start_node2_#t~ite2|=51, |ULTIMATE.start_node3_#t~ite3|=44, |ULTIMATE.start_node3_#t~ite4|=43, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=3, ULTIMATE.start_node1_~m1~0=0, 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|=46, |ULTIMATE.start_node2_#t~ite1|=50, |ULTIMATE.start_node2_#t~ite2|=51, |ULTIMATE.start_node3_#t~ite3|=44, |ULTIMATE.start_node3_#t~ite4|=43, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=4, ULTIMATE.start_node1_~m1~0=0, 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|=46, |ULTIMATE.start_node2_#t~ite1|=50, |ULTIMATE.start_node2_#t~ite2|=51, |ULTIMATE.start_node3_#t~ite3|=44, |ULTIMATE.start_node3_#t~ite4|=43, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=4, 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|=57, |ULTIMATE.start_node2_#t~ite1|=61, |ULTIMATE.start_node2_#t~ite2|=62, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=55, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~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=4, 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|=57, |ULTIMATE.start_node2_#t~ite1|=61, |ULTIMATE.start_node2_#t~ite2|=62, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=55, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] main_#t~post23 := main_~i2~0;main_~i2~0 := 1 + main_#t~post23;havoc main_#t~post23; 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=5, 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|=57, |ULTIMATE.start_node2_#t~ite1|=61, |ULTIMATE.start_node2_#t~ite2|=62, |ULTIMATE.start_node3_#t~ite3|=0, |ULTIMATE.start_node3_#t~ite4|=55, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !!(main_~i2~0 < 6);havoc node1_#t~ite0, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 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;ParallelCodeBlock1: 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;}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 != ~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;}EndParallelCompositionParallelCodeBlock1: 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;}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;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;ParallelCodeBlock1: assume !(0 != ~mode3~0 % 256);BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: 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;}EndParallelComposition}EndParallelComposition~mode3~0 := 1;}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 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 < 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=5, ULTIMATE.start_node1_~m1~0=0, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=69, |ULTIMATE.start_node2_#t~ite1|=74, |ULTIMATE.start_node2_#t~ite2|=75, |ULTIMATE.start_node3_#t~ite3|=67, |ULTIMATE.start_node3_#t~ite4|=66, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=5, ULTIMATE.start_node1_~m1~0=0, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=69, |ULTIMATE.start_node2_#t~ite1|=74, |ULTIMATE.start_node2_#t~ite2|=75, |ULTIMATE.start_node3_#t~ite3|=67, |ULTIMATE.start_node3_#t~ite4|=66, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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=5, ULTIMATE.start_node1_~m1~0=0, ULTIMATE.start_node2_~m2~0=(- 1), ULTIMATE.start_node3_~m3~0=(- 1), |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=69, |ULTIMATE.start_node2_#t~ite1|=74, |ULTIMATE.start_node2_#t~ite2|=75, |ULTIMATE.start_node3_#t~ite3|=67, |ULTIMATE.start_node3_#t~ite4|=66, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202-L270] assume 0 == ~r1~0; [L203-L267] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L204-L264] assume ~id1~0 >= 0; [L205-L261] assume 0 == ~st1~0; [L206-L258] assume ~send1~0 == ~id1~0; [L207-L255] assume 0 == ~mode1~0 % 256; [L208-L252] assume ~id2~0 >= 0; [L209-L249] assume 0 == ~st2~0; [L210-L246] assume ~send2~0 == ~id2~0; [L211-L243] assume 0 == ~mode2~0 % 256; [L212-L240] assume ~id3~0 >= 0; [L213-L237] assume 0 == ~st3~0; [L214-L234] assume ~send3~0 == ~id3~0; [L215-L231] assume 0 == ~mode3~0 % 256; [L216-L228] assume ~id1~0 != ~id2~0; [L217-L225] assume ~id1~0 != ~id3~0; [L218-L222] assume ~id2~0 != ~id3~0; [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume !(~r1~0 < 3); [L283-L287] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L196] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202-L270] assume 0 == ~r1~0; [L203-L267] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L204-L264] assume ~id1~0 >= 0; [L205-L261] assume 0 == ~st1~0; [L206-L258] assume ~send1~0 == ~id1~0; [L207-L255] assume 0 == ~mode1~0 % 256; [L208-L252] assume ~id2~0 >= 0; [L209-L249] assume 0 == ~st2~0; [L210-L246] assume ~send2~0 == ~id2~0; [L211-L243] assume 0 == ~mode2~0 % 256; [L212-L240] assume ~id3~0 >= 0; [L213-L237] assume 0 == ~st3~0; [L214-L234] assume ~send3~0 == ~id3~0; [L215-L231] assume 0 == ~mode3~0 % 256; [L216-L228] assume ~id1~0 != ~id2~0; [L217-L225] assume ~id1~0 != ~id3~0; [L218-L222] assume ~id2~0 != ~id3~0; [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume !(0 != ~mode1~0 % 256); [L120-L122] assume !(0 != ~alive1~0 % 256); [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume !(0 != ~mode2~0 % 256); [L151-L156] assume !(0 != ~alive2~0 % 256); [L154-L156] assume !(~send2~0 != ~id2~0); [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume !(0 != ~mode3~0 % 256); [L185-L190] assume 0 != ~alive3~0 % 256; [L186] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume ~r1~0 < 3; [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] assume !!(main_~i2~0 < 6); [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] assume 0 != ~mode1~0 % 256; [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106-L117] assume node1_~m1~0 != ~nomsg~0; [L107-L116] assume !(0 != ~alive1~0 % 256); [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] assume 0 != ~mode2~0 % 256; [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137-L148] assume !(node2_~m2~0 != ~nomsg~0); [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] assume 0 != ~mode3~0 % 256; [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171-L182] assume !(node3_~m3~0 != ~nomsg~0); [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279-L290] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L280-L287] assume !(~r1~0 < 3); [L283-L287] assume !(1 == ~st1~0 + ~st2~0 + ~st3~0); [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350-L354] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~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_#t~post23, main_~c1~0, main_~i2~0; [L296] havoc main_~c1~0; [L297] havoc main_~i2~0; [L300] main_~c1~0 := 0; [L301] assume -128 <= main_#t~nondet5 && main_#t~nondet5 <= 127; [L301] ~r1~0 := main_#t~nondet5; [L301] havoc main_#t~nondet5; [L302] assume -128 <= main_#t~nondet6 && main_#t~nondet6 <= 127; [L302] ~id1~0 := main_#t~nondet6; [L302] havoc main_#t~nondet6; [L303] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L303] ~st1~0 := main_#t~nondet7; [L303] havoc main_#t~nondet7; [L304] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L304] ~send1~0 := main_#t~nondet8; [L304] havoc main_#t~nondet8; [L305] ~mode1~0 := main_#t~nondet9; [L305] havoc main_#t~nondet9; [L306] ~alive1~0 := main_#t~nondet10; [L306] havoc main_#t~nondet10; [L307] assume -128 <= main_#t~nondet11 && main_#t~nondet11 <= 127; [L307] ~id2~0 := main_#t~nondet11; [L307] havoc main_#t~nondet11; [L308] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L308] ~st2~0 := main_#t~nondet12; [L308] havoc main_#t~nondet12; [L309] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L309] ~send2~0 := main_#t~nondet13; [L309] havoc main_#t~nondet13; [L310] ~mode2~0 := main_#t~nondet14; [L310] havoc main_#t~nondet14; [L311] ~alive2~0 := main_#t~nondet15; [L311] havoc main_#t~nondet15; [L312] assume -128 <= main_#t~nondet16 && main_#t~nondet16 <= 127; [L312] ~id3~0 := main_#t~nondet16; [L312] havoc main_#t~nondet16; [L313] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L313] ~st3~0 := main_#t~nondet17; [L313] havoc main_#t~nondet17; [L314] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L314] ~send3~0 := main_#t~nondet18; [L314] havoc main_#t~nondet18; [L315] ~mode3~0 := main_#t~nondet19; [L315] havoc main_#t~nondet19; [L316] ~alive3~0 := main_#t~nondet20; [L316] havoc main_#t~nondet20; [L317] havoc init_#res; [L317] havoc init_~tmp~0; [L199] havoc init_~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] init_~tmp~0 := 1; [L271] init_#res := init_~tmp~0; [L317] main_#t~ret21 := init_#res; [L317] assume -2147483648 <= main_#t~ret21 && main_#t~ret21 <= 2147483647; [L317] main_~i2~0 := main_#t~ret21; [L317] havoc main_#t~ret21; [L318] assume 0 != main_~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] 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=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=1, node1_#t~ite0=12, node1_~m1~0=-1, node2_#t~ite1=16, node2_#t~ite2=17, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=11, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=1, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=2, node1_#t~ite0=24, node1_~m1~0=0, node2_#t~ite1=27, node2_#t~ite2=28, node2_~m2~0=-1, node3_#t~ite3=22, node3_#t~ite4=21, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=2, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=3, node1_#t~ite0=34, node1_~m1~0=-1, node2_#t~ite1=38, node2_#t~ite2=39, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=32, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=3, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=4, node1_#t~ite0=46, node1_~m1~0=0, node2_#t~ite1=50, node2_#t~ite2=51, node2_~m2~0=-1, node3_#t~ite3=44, node3_#t~ite4=43, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] node3_#t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if node3_#t~ite3 % 256 <= 127 then node3_#t~ite3 % 256 else node3_#t~ite3 % 256 - 256); [L186] havoc node3_#t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] check_~tmp~1 := 1; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=4, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] main_#t~post23 := main_~i2~0; [L339] main_~i2~0 := 1 + main_#t~post23; [L339] havoc main_#t~post23; 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=5, node1_#t~ite0=57, node1_~m1~0=-1, node2_#t~ite1=61, node2_#t~ite2=62, node2_~m2~0=-1, node3_#t~ite3=0, node3_#t~ite4=55, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(main_~i2~0 < 6)) [L328] havoc node1_#t~ite0, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] node1_~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE node1_~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := node1_~m1~0; [L118] ~mode1~0 := 0; [L329] havoc node2_#t~ite1, node2_#t~ite2, node2_~m2~0; [L130] havoc node2_~m2~0; [L133] node2_~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] node2_~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(node2_~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L330] havoc node3_#t~ite3, node3_#t~ite4, node3_~m3~0; [L164] havoc node3_~m3~0; [L167] node3_~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] node3_~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(node3_~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L337] havoc check_#res; [L337] havoc check_~tmp~1; [L276] havoc check_~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] check_~tmp~1 := 0; [L291] check_#res := check_~tmp~1; [L337] main_#t~ret22 := check_#res; [L337] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L337] main_~c1~0 := main_#t~ret22; [L337] havoc main_#t~ret22; [L338] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L338] havoc assert_~arg; [L345-L356] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] 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=5, node1_#t~ite0=69, node1_~m1~0=0, node2_#t~ite1=74, node2_#t~ite2=75, node2_~m2~0=-1, node3_#t~ite3=67, node3_#t~ite4=66, node3_~m3~0=-1, ~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~nodes~0[2] := #funAddr~node3; [L296] havoc ~c1~0; [L297] havoc ~i2~0; [L300] ~c1~0 := 0; [L301] assume -128 <= #t~nondet5 && #t~nondet5 <= 127; [L301] ~r1~0 := #t~nondet5; [L301] havoc #t~nondet5; [L302] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L302] ~id1~0 := #t~nondet6; [L302] havoc #t~nondet6; [L303] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L303] ~st1~0 := #t~nondet7; [L303] havoc #t~nondet7; [L304] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L304] ~send1~0 := #t~nondet8; [L304] havoc #t~nondet8; [L305] ~mode1~0 := #t~nondet9; [L305] havoc #t~nondet9; [L306] ~alive1~0 := #t~nondet10; [L306] havoc #t~nondet10; [L307] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L307] ~id2~0 := #t~nondet11; [L307] havoc #t~nondet11; [L308] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L308] ~st2~0 := #t~nondet12; [L308] havoc #t~nondet12; [L309] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L309] ~send2~0 := #t~nondet13; [L309] havoc #t~nondet13; [L310] ~mode2~0 := #t~nondet14; [L310] havoc #t~nondet14; [L311] ~alive2~0 := #t~nondet15; [L311] havoc #t~nondet15; [L312] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L312] ~id3~0 := #t~nondet16; [L312] havoc #t~nondet16; [L313] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L313] ~st3~0 := #t~nondet17; [L313] havoc #t~nondet17; [L314] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L314] ~send3~0 := #t~nondet18; [L314] havoc #t~nondet18; [L315] ~mode3~0 := #t~nondet19; [L315] havoc #t~nondet19; [L316] ~alive3~0 := #t~nondet20; [L316] havoc #t~nondet20; [L199] havoc ~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] ~tmp~0 := 1; [L271] #res := ~tmp~0; [L317] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L317] ~i2~0 := #t~ret21; [L317] havoc #t~ret21; [L318] assume 0 != ~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] ~tmp~1 := 0; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] assert false; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~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; [L196] ~nodes~0[0] := #funAddr~node1; [L196] ~nodes~0[1] := #funAddr~node2; [L196] ~nodes~0[2] := #funAddr~node3; [L296] havoc ~c1~0; [L297] havoc ~i2~0; [L300] ~c1~0 := 0; [L301] assume -128 <= #t~nondet5 && #t~nondet5 <= 127; [L301] ~r1~0 := #t~nondet5; [L301] havoc #t~nondet5; [L302] assume -128 <= #t~nondet6 && #t~nondet6 <= 127; [L302] ~id1~0 := #t~nondet6; [L302] havoc #t~nondet6; [L303] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L303] ~st1~0 := #t~nondet7; [L303] havoc #t~nondet7; [L304] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L304] ~send1~0 := #t~nondet8; [L304] havoc #t~nondet8; [L305] ~mode1~0 := #t~nondet9; [L305] havoc #t~nondet9; [L306] ~alive1~0 := #t~nondet10; [L306] havoc #t~nondet10; [L307] assume -128 <= #t~nondet11 && #t~nondet11 <= 127; [L307] ~id2~0 := #t~nondet11; [L307] havoc #t~nondet11; [L308] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L308] ~st2~0 := #t~nondet12; [L308] havoc #t~nondet12; [L309] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L309] ~send2~0 := #t~nondet13; [L309] havoc #t~nondet13; [L310] ~mode2~0 := #t~nondet14; [L310] havoc #t~nondet14; [L311] ~alive2~0 := #t~nondet15; [L311] havoc #t~nondet15; [L312] assume -128 <= #t~nondet16 && #t~nondet16 <= 127; [L312] ~id3~0 := #t~nondet16; [L312] havoc #t~nondet16; [L313] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L313] ~st3~0 := #t~nondet17; [L313] havoc #t~nondet17; [L314] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L314] ~send3~0 := #t~nondet18; [L314] havoc #t~nondet18; [L315] ~mode3~0 := #t~nondet19; [L315] havoc #t~nondet19; [L316] ~alive3~0 := #t~nondet20; [L316] havoc #t~nondet20; [L199] havoc ~tmp~0; [L202] COND TRUE 0 == ~r1~0 [L203] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L204] COND TRUE ~id1~0 >= 0 [L205] COND TRUE 0 == ~st1~0 [L206] COND TRUE ~send1~0 == ~id1~0 [L207] COND TRUE 0 == ~mode1~0 % 256 [L208] COND TRUE ~id2~0 >= 0 [L209] COND TRUE 0 == ~st2~0 [L210] COND TRUE ~send2~0 == ~id2~0 [L211] COND TRUE 0 == ~mode2~0 % 256 [L212] COND TRUE ~id3~0 >= 0 [L213] COND TRUE 0 == ~st3~0 [L214] COND TRUE ~send3~0 == ~id3~0 [L215] COND TRUE 0 == ~mode3~0 % 256 [L216] COND TRUE ~id1~0 != ~id2~0 [L217] COND TRUE ~id1~0 != ~id3~0 [L218] COND TRUE ~id2~0 != ~id3~0 [L219] ~tmp~0 := 1; [L271] #res := ~tmp~0; [L317] assume -2147483648 <= #t~ret21 && #t~ret21 <= 2147483647; [L317] ~i2~0 := #t~ret21; [L317] havoc #t~ret21; [L318] assume 0 != ~i2~0; [L319] ~p1_old~0 := ~nomsg~0; [L320] ~p1_new~0 := ~nomsg~0; [L321] ~p2_old~0 := ~nomsg~0; [L322] ~p2_new~0 := ~nomsg~0; [L323] ~p3_old~0 := ~nomsg~0; [L324] ~p3_new~0 := ~nomsg~0; [L325] ~i2~0 := 0; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=0, ~send1~0=1, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=1, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND FALSE !(0 != ~mode1~0 % 256) [L120-L122] COND FALSE !(0 != ~alive1~0 % 256) [L123] ~mode1~0 := 1; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND FALSE !(0 != ~mode2~0 % 256) [L151-L156] COND FALSE !(0 != ~alive2~0 % 256) [L154] COND FALSE !(~send2~0 != ~id2~0) [L157] ~mode2~0 := 1; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND FALSE !(0 != ~mode3~0 % 256) [L185-L190] COND TRUE 0 != ~alive3~0 % 256 [L186] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L186] #t~ite3 := ~send3~0; [L186] ~p3_new~0 := (if #t~ite3 % 256 <= 127 then #t~ite3 % 256 else #t~ite3 % 256 - 256); [L186] havoc #t~ite3; [L191] ~mode3~0 := 1; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND TRUE ~r1~0 < 3 [L281] ~tmp~1 := 1; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L339] #t~post23 := ~i2~0; [L339] ~i2~0 := 1 + #t~post23; [L339] havoc #t~post23; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=0, ~p3~0=0, ~r1~0=2, ~send1~0=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L326-L341] COND FALSE !(!(~i2~0 < 6)) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L124] COND TRUE 0 != ~mode1~0 % 256 [L103] ~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256); [L104] ~m1~0 := ~p3_old~0; [L105] ~p3_old~0 := ~nomsg~0; [L106] COND TRUE ~m1~0 != ~nomsg~0 [L107-L116] COND FALSE !(0 != ~alive1~0 % 256) [L115] ~send1~0 := ~m1~0; [L118] ~mode1~0 := 0; [L130] havoc ~m2~0; [L133] ~m2~0 := ~nomsg~0; [L134-L158] COND TRUE 0 != ~mode2~0 % 256 [L135] ~m2~0 := ~p1_old~0; [L136] ~p1_old~0 := ~nomsg~0; [L137] COND FALSE !(~m2~0 != ~nomsg~0) [L149] ~mode2~0 := 0; [L164] havoc ~m3~0; [L167] ~m3~0 := ~nomsg~0; [L168-L192] COND TRUE 0 != ~mode3~0 % 256 [L169] ~m3~0 := ~p2_old~0; [L170] ~p2_old~0 := ~nomsg~0; [L171] COND FALSE !(~m3~0 != ~nomsg~0) [L183] ~mode3~0 := 0; [L331] ~p1_old~0 := ~p1_new~0; [L332] ~p1_new~0 := ~nomsg~0; [L333] ~p2_old~0 := ~p2_new~0; [L334] ~p2_new~0 := ~nomsg~0; [L335] ~p3_old~0 := ~p3_new~0; [L336] ~p3_new~0 := ~nomsg~0; [L276] havoc ~tmp~1; [L279] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L280] COND FALSE !(~r1~0 < 3) [L283] COND FALSE !(1 == ~st1~0 + ~st2~0 + ~st3~0) [L286] ~tmp~1 := 0; [L291] #res := ~tmp~1; [L337] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L337] ~c1~0 := #t~ret22; [L337] havoc #t~ret22; [L345-L356] ~arg := #in~arg; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L350] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L352] assert false; VAL [~alive1~0=0, ~alive2~0=0, ~alive3~0=1, ~id1~0=1, ~id2~0=2, ~id3~0=0, ~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=0, ~send2~0=2, ~send3~0=0, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L71] 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 ; [L196] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L296] int c1 ; [L297] int i2 ; [L300] c1 = 0 [L301] r1 = __VERIFIER_nondet_char() [L302] id1 = __VERIFIER_nondet_char() [L303] st1 = __VERIFIER_nondet_char() [L304] send1 = __VERIFIER_nondet_char() [L305] mode1 = __VERIFIER_nondet_bool() [L306] alive1 = __VERIFIER_nondet_bool() [L307] id2 = __VERIFIER_nondet_char() [L308] st2 = __VERIFIER_nondet_char() [L309] send2 = __VERIFIER_nondet_char() [L310] mode2 = __VERIFIER_nondet_bool() [L311] alive2 = __VERIFIER_nondet_bool() [L312] id3 = __VERIFIER_nondet_char() [L313] st3 = __VERIFIER_nondet_char() [L314] send3 = __VERIFIER_nondet_char() [L315] mode3 = __VERIFIER_nondet_bool() [L316] alive3 = __VERIFIER_nondet_bool() [L199] int tmp ; [L202] COND TRUE (int )r1 == 0 [L203] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L204] COND TRUE (int )id1 >= 0 [L205] COND TRUE (int )st1 == 0 [L206] COND TRUE (int )send1 == (int )id1 [L207] COND TRUE (int )mode1 == 0 [L208] COND TRUE (int )id2 >= 0 [L209] COND TRUE (int )st2 == 0 [L210] COND TRUE (int )send2 == (int )id2 [L211] COND TRUE (int )mode2 == 0 [L212] COND TRUE (int )id3 >= 0 [L213] COND TRUE (int )st3 == 0 [L214] COND TRUE (int )send3 == (int )id3 [L215] COND TRUE (int )mode3 == 0 [L216] COND TRUE (int )id1 != (int )id2 [L217] COND TRUE (int )id1 != (int )id3 [L218] COND TRUE (int )id2 != (int )id3 [L219] tmp = 1 [L271] return (tmp); [L317] i2 = init() [L319] p1_old = nomsg [L320] p1_new = nomsg [L321] p2_old = nomsg [L322] p2_new = nomsg [L323] p3_old = nomsg [L324] p3_new = nomsg [L325] i2 = 0 VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=0, send1=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=0, send1=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=1, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=1, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=2, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=2, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND FALSE !((int )r1 < 3) [L283] COND FALSE !(((int )st1 + (int )st2) + (int )st3 == 1) [L286] tmp = 0 [L291] return (tmp); [L337] c1 = check() [L350] COND TRUE ! arg VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L352] __VERIFIER_error() VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] ----- [2018-11-22 22:34:40,746 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_d331402e-0ecd-46a5-933f-74ee26849f25/bin-2019/ukojak/witness.graphml [2018-11-22 22:34:40,746 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:34:40,747 INFO L168 Benchmark]: Toolchain (without parser) took 43466.27 ms. Allocated memory was 1.0 GB in the beginning and 1.5 GB in the end (delta: 476.1 MB). Free memory was 962.3 MB in the beginning and 1.0 GB in the end (delta: -54.8 MB). Peak memory consumption was 421.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:40,748 INFO L168 Benchmark]: CDTParser took 0.11 ms. Allocated memory is still 1.0 GB. Free memory is still 982.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:34:40,748 INFO L168 Benchmark]: CACSL2BoogieTranslator took 268.47 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 133.7 MB). Free memory was 962.3 MB in the beginning and 1.1 GB in the end (delta: -168.4 MB). Peak memory consumption was 31.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:40,748 INFO L168 Benchmark]: Boogie Procedure Inliner took 27.03 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:34:40,748 INFO L168 Benchmark]: Boogie Preprocessor took 19.74 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:40,748 INFO L168 Benchmark]: RCFGBuilder took 905.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 970.4 MB in the end (delta: 157.6 MB). Peak memory consumption was 157.6 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:40,749 INFO L168 Benchmark]: CodeCheck took 40826.14 ms. Allocated memory was 1.2 GB in the beginning and 1.5 GB in the end (delta: 342.4 MB). Free memory was 970.4 MB in the beginning and 1.0 GB in the end (delta: -72.0 MB). Peak memory consumption was 270.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:40,749 INFO L168 Benchmark]: Witness Printer took 1416.31 ms. Allocated memory is still 1.5 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 25.3 MB). Peak memory consumption was 25.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:34:40,751 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, 74 locations, 1 error locations. UNSAFE Result, 40.3s OverallTime, 8 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 700 SDtfs, 924 SDslu, 1396 SDs, 0 SdLazy, 4848 SolverSat, 1036 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 2.8s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 1068 GetRequests, 897 SyntacticMatches, 43 SemanticMatches, 128 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7846 ImplicationChecksByTransitivity, 29.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 8.2s SatisfiabilityAnalysisTime, 8.7s InterpolantComputationTime, 98 NumberOfCodeBlocks, 98 NumberOfCodeBlocksAsserted, 8 NumberOfCheckSat, 72 ConstructedInterpolants, 0 QuantifiedInterpolants, 107694 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 7 InterpolantComputations, 1 PerfectInterpolantSequences, 12/91 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: 352]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L71] 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 ; [L196] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L296] int c1 ; [L297] int i2 ; [L300] c1 = 0 [L301] r1 = __VERIFIER_nondet_char() [L302] id1 = __VERIFIER_nondet_char() [L303] st1 = __VERIFIER_nondet_char() [L304] send1 = __VERIFIER_nondet_char() [L305] mode1 = __VERIFIER_nondet_bool() [L306] alive1 = __VERIFIER_nondet_bool() [L307] id2 = __VERIFIER_nondet_char() [L308] st2 = __VERIFIER_nondet_char() [L309] send2 = __VERIFIER_nondet_char() [L310] mode2 = __VERIFIER_nondet_bool() [L311] alive2 = __VERIFIER_nondet_bool() [L312] id3 = __VERIFIER_nondet_char() [L313] st3 = __VERIFIER_nondet_char() [L314] send3 = __VERIFIER_nondet_char() [L315] mode3 = __VERIFIER_nondet_bool() [L316] alive3 = __VERIFIER_nondet_bool() [L199] int tmp ; [L202] COND TRUE (int )r1 == 0 [L203] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L204] COND TRUE (int )id1 >= 0 [L205] COND TRUE (int )st1 == 0 [L206] COND TRUE (int )send1 == (int )id1 [L207] COND TRUE (int )mode1 == 0 [L208] COND TRUE (int )id2 >= 0 [L209] COND TRUE (int )st2 == 0 [L210] COND TRUE (int )send2 == (int )id2 [L211] COND TRUE (int )mode2 == 0 [L212] COND TRUE (int )id3 >= 0 [L213] COND TRUE (int )st3 == 0 [L214] COND TRUE (int )send3 == (int )id3 [L215] COND TRUE (int )mode3 == 0 [L216] COND TRUE (int )id1 != (int )id2 [L217] COND TRUE (int )id1 != (int )id3 [L218] COND TRUE (int )id2 != (int )id3 [L219] tmp = 1 [L271] return (tmp); [L317] i2 = init() [L319] p1_old = nomsg [L320] p1_new = nomsg [L321] p2_old = nomsg [L322] p2_new = nomsg [L323] p3_old = nomsg [L324] p3_new = nomsg [L325] i2 = 0 VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=0, send1=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=0, send1=1, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=1, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=1, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L120] COND FALSE !(\read(alive1)) [L123] mode1 = (_Bool)1 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND FALSE !(\read(mode2)) [L151] COND FALSE !(\read(alive2)) [L154] COND FALSE !((int )send2 != (int )id2) [L157] mode2 = (_Bool)1 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND FALSE !(\read(mode3)) [L185] COND TRUE \read(alive3) [L186] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L186] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L191] mode3 = (_Bool)1 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND TRUE (int )r1 < 3 [L281] tmp = 1 [L291] return (tmp); [L337] c1 = check() [L350] COND FALSE !(! arg) VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=2, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L339] i2 ++ VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, mode1=1, mode2=1, mode3=1, 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=0, r1=2, send1=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L326] COND TRUE i2 < 6 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] r1 = (char )((int )r1 + 1) [L104] m1 = p3_old [L105] p3_old = nomsg [L106] COND TRUE (int )m1 != (int )nomsg [L107] COND FALSE !(\read(alive1)) [L115] send1 = m1 [L118] mode1 = (_Bool)0 [L130] msg_t m2 ; [L133] m2 = nomsg [L134] COND TRUE \read(mode2) [L135] m2 = p1_old [L136] p1_old = nomsg [L137] COND FALSE !((int )m2 != (int )nomsg) [L149] mode2 = (_Bool)0 [L164] msg_t m3 ; [L167] m3 = nomsg [L168] COND TRUE \read(mode3) [L169] m3 = p2_old [L170] p2_old = nomsg [L171] COND FALSE !((int )m3 != (int )nomsg) [L183] mode3 = (_Bool)0 [L331] p1_old = p1_new [L332] p1_new = nomsg [L333] p2_old = p2_new [L334] p2_new = nomsg [L335] p3_old = p3_new [L336] p3_new = nomsg [L276] int tmp ; [L279] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L280] COND FALSE !((int )r1 < 3) [L283] COND FALSE !(((int )st1 + (int )st2) + (int )st3 == 1) [L286] tmp = 0 [L291] return (tmp); [L337] c1 = check() [L350] COND TRUE ! arg VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] [L352] __VERIFIER_error() VAL [alive1=0, alive2=0, alive3=1, id1=1, id2=2, id3=0, 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=0, send2=2, send3=0, st1=0, st2=0, st3=0] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11 ms. Allocated memory is still 1.0 GB. Free memory is still 982.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 268.47 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 133.7 MB). Free memory was 962.3 MB in the beginning and 1.1 GB in the end (delta: -168.4 MB). Peak memory consumption was 31.3 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 27.03 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 19.74 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 905.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 970.4 MB in the end (delta: 157.6 MB). Peak memory consumption was 157.6 MB. Max. memory is 11.5 GB. * CodeCheck took 40826.14 ms. Allocated memory was 1.2 GB in the beginning and 1.5 GB in the end (delta: 342.4 MB). Free memory was 970.4 MB in the beginning and 1.0 GB in the end (delta: -72.0 MB). Peak memory consumption was 270.4 MB. Max. memory is 11.5 GB. * Witness Printer took 1416.31 ms. Allocated memory is still 1.5 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 25.3 MB). Peak memory consumption was 25.3 MB. Max. memory is 11.5 GB. RESULT: Ultimate proved your program to be incorrect! Received shutdown request...