./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.1.ufo.UNBOUNDED.pals.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.1.ufo.UNBOUNDED.pals.c -s /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/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 60c504c9f40ccadb4975411e53cf63a02a16daf7 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 03:24:16,631 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 03:24:16,633 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 03:24:16,640 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 03:24:16,640 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 03:24:16,641 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 03:24:16,642 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 03:24:16,643 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 03:24:16,644 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 03:24:16,645 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 03:24:16,645 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 03:24:16,645 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 03:24:16,646 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 03:24:16,647 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 03:24:16,647 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 03:24:16,648 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 03:24:16,648 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 03:24:16,649 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 03:24:16,650 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 03:24:16,651 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 03:24:16,651 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 03:24:16,652 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 03:24:16,653 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 03:24:16,653 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 03:24:16,653 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 03:24:16,654 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 03:24:16,654 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 03:24:16,655 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 03:24:16,655 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 03:24:16,656 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 03:24:16,656 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 03:24:16,657 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 03:24:16,657 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 03:24:16,657 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 03:24:16,658 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 03:24:16,658 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 03:24:16,659 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 03:24:16,667 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 03:24:16,667 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 03:24:16,668 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 03:24:16,668 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 03:24:16,668 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 03:24:16,668 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 03:24:16,669 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 03:24:16,669 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 03:24:16,669 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 03:24:16,669 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 03:24:16,669 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 03:24:16,669 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 03:24:16,669 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 03:24:16,670 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 03:24:16,670 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 03:24:16,670 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 03:24:16,670 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 03:24:16,670 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 03:24:16,670 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 03:24:16,670 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 03:24:16,671 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 03:24:16,671 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 03:24:16,671 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 03:24:16,671 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 03:24:16,671 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 03:24:16,671 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 03:24:16,671 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 03:24:16,671 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 03:24:16,672 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 03:24:16,672 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_0c73fb86-007a-4ae5-9571-7c129a6d189c/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 -> 60c504c9f40ccadb4975411e53cf63a02a16daf7 [2018-11-23 03:24:16,701 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 03:24:16,711 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 03:24:16,713 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 03:24:16,714 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 03:24:16,715 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 03:24:16,715 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/../../sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.1.ufo.UNBOUNDED.pals.c [2018-11-23 03:24:16,764 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/data/39a73de12/645e706636c14c27aeedec43850b73e7/FLAG236657083 [2018-11-23 03:24:17,125 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 03:24:17,125 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/sv-benchmarks/c/seq-mthreaded/pals_lcr-var-start-time.3_false-unreach-call.1.ufo.UNBOUNDED.pals.c [2018-11-23 03:24:17,132 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/data/39a73de12/645e706636c14c27aeedec43850b73e7/FLAG236657083 [2018-11-23 03:24:17,523 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/data/39a73de12/645e706636c14c27aeedec43850b73e7 [2018-11-23 03:24:17,526 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 03:24:17,527 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 03:24:17,528 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 03:24:17,528 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 03:24:17,531 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 03:24:17,532 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,534 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f2f989b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17, skipping insertion in model container [2018-11-23 03:24:17,534 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,539 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 03:24:17,563 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 03:24:17,699 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 03:24:17,703 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 03:24:17,727 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 03:24:17,736 INFO L195 MainTranslator]: Completed translation [2018-11-23 03:24:17,736 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17 WrapperNode [2018-11-23 03:24:17,736 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 03:24:17,737 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 03:24:17,737 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 03:24:17,737 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 03:24:17,782 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,787 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,804 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 03:24:17,805 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 03:24:17,805 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 03:24:17,805 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 03:24:17,810 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,810 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,812 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,812 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,815 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,821 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,823 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... [2018-11-23 03:24:17,825 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 03:24:17,825 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 03:24:17,826 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 03:24:17,826 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 03:24:17,826 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:24:17" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 03:24:17,865 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 03:24:17,866 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 03:24:18,877 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 03:24:18,877 INFO L280 CfgBuilder]: Removed 17 assue(true) statements. [2018-11-23 03:24:18,877 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:24:18 BoogieIcfgContainer [2018-11-23 03:24:18,878 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 03:24:18,878 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 03:24:18,878 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 03:24:18,888 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 03:24:18,889 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:24:18" (1/1) ... [2018-11-23 03:24:18,902 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 03:24:18,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:24:18,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 6 states and 7 transitions. [2018-11-23 03:24:18,936 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 7 transitions. [2018-11-23 03:24:18,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-11-23 03:24:18,938 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:24:19,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:24:19,312 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 03:24:19,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:24:19,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 7 states and 10 transitions. [2018-11-23 03:24:19,405 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 10 transitions. [2018-11-23 03:24:19,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-11-23 03:24:19,405 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:24:19,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:24:19,775 WARN L180 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 54 [2018-11-23 03:24:19,999 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 03:24:20,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:24:20,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 10 states and 18 transitions. [2018-11-23 03:24:20,591 INFO L276 IsEmpty]: Start isEmpty. Operand 10 states and 18 transitions. [2018-11-23 03:24:20,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 03:24:20,593 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:24:20,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:24:21,180 WARN L180 SmtUtils]: Spent 190.00 ms on a formula simplification. DAG size of input: 98 DAG size of output: 36 [2018-11-23 03:24:21,317 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 03:24:22,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:24:22,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 14 states and 31 transitions. [2018-11-23 03:24:22,485 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 31 transitions. [2018-11-23 03:24:22,486 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 03:24:22,486 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:24:22,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:24:23,642 WARN L180 SmtUtils]: Spent 337.00 ms on a formula simplification. DAG size of input: 164 DAG size of output: 76 [2018-11-23 03:24:24,892 WARN L180 SmtUtils]: Spent 997.00 ms on a formula simplification. DAG size of input: 372 DAG size of output: 163 [2018-11-23 03:24:26,057 WARN L180 SmtUtils]: Spent 982.00 ms on a formula simplification. DAG size of input: 369 DAG size of output: 155 [2018-11-23 03:24:27,195 WARN L180 SmtUtils]: Spent 953.00 ms on a formula simplification. DAG size of input: 351 DAG size of output: 176 [2018-11-23 03:24:28,321 WARN L180 SmtUtils]: Spent 942.00 ms on a formula simplification. DAG size of input: 348 DAG size of output: 171 [2018-11-23 03:24:29,327 WARN L180 SmtUtils]: Spent 811.00 ms on a formula simplification. DAG size of input: 325 DAG size of output: 141 [2018-11-23 03:24:30,277 WARN L180 SmtUtils]: Spent 742.00 ms on a formula simplification. DAG size of input: 328 DAG size of output: 139 [2018-11-23 03:24:30,283 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 03:24:30,528 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 76 [2018-11-23 03:24:31,043 WARN L180 SmtUtils]: Spent 380.00 ms on a formula simplification. DAG size of input: 177 DAG size of output: 155 [2018-11-23 03:24:31,457 WARN L180 SmtUtils]: Spent 326.00 ms on a formula simplification. DAG size of input: 156 DAG size of output: 155 [2018-11-23 03:24:31,863 WARN L180 SmtUtils]: Spent 380.00 ms on a formula simplification. DAG size of input: 178 DAG size of output: 165 [2018-11-23 03:24:32,105 WARN L180 SmtUtils]: Spent 164.00 ms on a formula simplification that was a NOOP. DAG size: 153 [2018-11-23 03:24:32,364 WARN L180 SmtUtils]: Spent 174.00 ms on a formula simplification that was a NOOP. DAG size: 163 [2018-11-23 03:24:32,816 WARN L180 SmtUtils]: Spent 355.00 ms on a formula simplification. DAG size of input: 168 DAG size of output: 148 [2018-11-23 03:24:33,292 WARN L180 SmtUtils]: Spent 358.00 ms on a formula simplification. DAG size of input: 150 DAG size of output: 149 [2018-11-23 03:24:33,739 WARN L180 SmtUtils]: Spent 411.00 ms on a formula simplification. DAG size of input: 169 DAG size of output: 158 [2018-11-23 03:24:34,001 WARN L180 SmtUtils]: Spent 167.00 ms on a formula simplification that was a NOOP. DAG size: 147 [2018-11-23 03:24:34,246 WARN L180 SmtUtils]: Spent 154.00 ms on a formula simplification that was a NOOP. DAG size: 157 [2018-11-23 03:24:34,641 WARN L180 SmtUtils]: Spent 338.00 ms on a formula simplification. DAG size of input: 180 DAG size of output: 168 [2018-11-23 03:24:35,065 WARN L180 SmtUtils]: Spent 326.00 ms on a formula simplification. DAG size of input: 170 DAG size of output: 168 [2018-11-23 03:24:35,502 WARN L180 SmtUtils]: Spent 404.00 ms on a formula simplification. DAG size of input: 180 DAG size of output: 176 [2018-11-23 03:24:35,962 WARN L180 SmtUtils]: Spent 358.00 ms on a formula simplification. DAG size of input: 169 DAG size of output: 167 [2018-11-23 03:24:36,273 WARN L180 SmtUtils]: Spent 204.00 ms on a formula simplification that was a NOOP. DAG size: 176 [2018-11-23 03:24:36,601 WARN L180 SmtUtils]: Spent 169.00 ms on a formula simplification that was a NOOP. DAG size: 167 [2018-11-23 03:24:36,904 WARN L180 SmtUtils]: Spent 255.00 ms on a formula simplification. DAG size of input: 166 DAG size of output: 132 [2018-11-23 03:24:37,132 WARN L180 SmtUtils]: Spent 115.00 ms on a formula simplification that was a NOOP. DAG size: 135 [2018-11-23 03:24:37,538 WARN L180 SmtUtils]: Spent 354.00 ms on a formula simplification. DAG size of input: 167 DAG size of output: 165 [2018-11-23 03:24:37,741 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 133 [2018-11-23 03:24:38,038 WARN L180 SmtUtils]: Spent 168.00 ms on a formula simplification that was a NOOP. DAG size: 166 [2018-11-23 03:24:38,296 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 135 [2018-11-23 03:24:38,537 WARN L180 SmtUtils]: Spent 190.00 ms on a formula simplification that was a NOOP. DAG size: 174 [2018-11-23 03:24:38,861 WARN L180 SmtUtils]: Spent 206.00 ms on a formula simplification that was a NOOP. DAG size: 175 [2018-11-23 03:24:38,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:24:38,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 20 states and 52 transitions. [2018-11-23 03:24:38,955 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 52 transitions. [2018-11-23 03:24:38,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 03:24:38,955 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:24:39,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:24:39,498 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 03:24:40,120 WARN L180 SmtUtils]: Spent 498.00 ms on a formula simplification. DAG size of input: 185 DAG size of output: 184 [2018-11-23 03:24:40,658 WARN L180 SmtUtils]: Spent 420.00 ms on a formula simplification. DAG size of input: 184 DAG size of output: 183 [2018-11-23 03:24:40,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:24:40,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 21 states and 55 transitions. [2018-11-23 03:24:40,771 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 55 transitions. [2018-11-23 03:24:40,771 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 03:24:40,772 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:24:40,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:24:41,888 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 03:24:42,392 WARN L180 SmtUtils]: Spent 233.00 ms on a formula simplification. DAG size of input: 140 DAG size of output: 137 [2018-11-23 03:24:42,747 WARN L180 SmtUtils]: Spent 249.00 ms on a formula simplification. DAG size of input: 142 DAG size of output: 139 [2018-11-23 03:24:42,976 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification that was a NOOP. DAG size: 138 [2018-11-23 03:24:43,219 WARN L180 SmtUtils]: Spent 127.00 ms on a formula simplification that was a NOOP. DAG size: 140 [2018-11-23 03:24:43,557 WARN L180 SmtUtils]: Spent 251.00 ms on a formula simplification. DAG size of input: 136 DAG size of output: 136 [2018-11-23 03:24:43,864 WARN L180 SmtUtils]: Spent 254.00 ms on a formula simplification. DAG size of input: 138 DAG size of output: 138 [2018-11-23 03:24:44,107 WARN L180 SmtUtils]: Spent 125.00 ms on a formula simplification that was a NOOP. DAG size: 137 [2018-11-23 03:24:44,354 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification that was a NOOP. DAG size: 139 [2018-11-23 03:24:45,016 WARN L180 SmtUtils]: Spent 347.00 ms on a formula simplification. DAG size of input: 173 DAG size of output: 166 [2018-11-23 03:24:45,414 WARN L180 SmtUtils]: Spent 157.00 ms on a formula simplification that was a NOOP. DAG size: 166 [2018-11-23 03:24:46,155 WARN L180 SmtUtils]: Spent 385.00 ms on a formula simplification. DAG size of input: 179 DAG size of output: 174 [2018-11-23 03:24:46,548 WARN L180 SmtUtils]: Spent 186.00 ms on a formula simplification that was a NOOP. DAG size: 175 [2018-11-23 03:24:46,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:24:46,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 24 states and 60 transitions. [2018-11-23 03:24:46,617 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 60 transitions. [2018-11-23 03:24:46,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 03:24:46,617 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:24:46,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:24:47,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:24:47,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:24:50,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:24:50,930 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 7 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~r1~0 := 0;~p1_old~0 := 0;~p1_new~0 := 0;~id1~0 := 0;~st1~0 := 0;~mode1~0 := 0;~alive1~0 := 0;~p2_old~0 := 0;~p2_new~0 := 0;~id2~0 := 0;~st2~0 := 0;~mode2~0 := 0;~alive2~0 := 0;~p3_old~0 := 0;~p3_new~0 := 0;~id3~0 := 0;~st3~0 := 0;~mode3~0 := 0;~alive3~0 := 0;~nomsg~0 := -1;~p1~0 := 0;~send1~0 := 0;~p2~0 := 0;~send2~0 := 0;~p3~0 := 0;~send3~0 := 0;~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset];havoc main_#res;havoc main_#t~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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0;havoc main_~c1~0;havoc main_~i2~0;main_~c1~0 := 0;~r1~0 := main_#t~nondet6;havoc main_#t~nondet6;assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127;~id1~0 := main_#t~nondet7;havoc main_#t~nondet7;assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127;~st1~0 := main_#t~nondet8;havoc main_#t~nondet8;assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127;~send1~0 := main_#t~nondet9;havoc main_#t~nondet9;~mode1~0 := main_#t~nondet10;havoc main_#t~nondet10;~alive1~0 := main_#t~nondet11;havoc main_#t~nondet11;assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127;~id2~0 := main_#t~nondet12;havoc main_#t~nondet12;assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127;~st2~0 := main_#t~nondet13;havoc main_#t~nondet13;assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127;~send2~0 := main_#t~nondet14;havoc main_#t~nondet14;~mode2~0 := main_#t~nondet15;havoc main_#t~nondet15;~alive2~0 := main_#t~nondet16;havoc main_#t~nondet16;assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127;~id3~0 := main_#t~nondet17;havoc main_#t~nondet17;assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127;~st3~0 := main_#t~nondet18;havoc main_#t~nondet18;assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127;~send3~0 := main_#t~nondet19;havoc main_#t~nondet19;~mode3~0 := main_#t~nondet20;havoc main_#t~nondet20;~alive3~0 := main_#t~nondet21;havoc main_#t~nondet21;havoc init_#res;havoc init_~tmp~0;havoc init_~tmp~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~r1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~r1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 == ~id1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send1~0 == ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id2~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id2~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 == ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send2~0 == ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode2~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id3~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id3~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 == ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send3~0 == ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode3~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~id2~0 != ~id3~0;init_~tmp~0 := 1;ParallelCodeBlock1: assume !(~id2~0 != ~id3~0);init_~tmp~0 := 0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelCompositioninit_#res := init_~tmp~0;main_#t~ret22 := init_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~i2~0 := main_#t~ret22;havoc main_#t~ret22;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=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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|=0, |ULTIMATE.start_node1_#t~ite1|=20, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=19, |ULTIMATE.start_node3_#t~ite4|=14, |ULTIMATE.start_node3_#t~ite5|=13, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=4, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~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|=0, |ULTIMATE.start_node1_#t~ite1|=20, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=19, |ULTIMATE.start_node3_#t~ite4|=14, |ULTIMATE.start_node3_#t~ite5|=13, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=4, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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=7, ULTIMATE.start_node3_~m3~0=4, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node1_#t~ite1|=34, |ULTIMATE.start_node2_#t~ite2|=29, |ULTIMATE.start_node2_#t~ite3|=28, |ULTIMATE.start_node3_#t~ite4|=26, |ULTIMATE.start_node3_#t~ite5|=24, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~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=7, ULTIMATE.start_node3_~m3~0=4, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node1_#t~ite1|=34, |ULTIMATE.start_node2_#t~ite2|=29, |ULTIMATE.start_node2_#t~ite3|=28, |ULTIMATE.start_node3_#t~ite4|=26, |ULTIMATE.start_node3_#t~ite5|=24, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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|=0, |ULTIMATE.start_node1_#t~ite1|=43, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=42, |ULTIMATE.start_node3_#t~ite4|=39, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~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|=0, |ULTIMATE.start_node1_#t~ite1|=43, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=42, |ULTIMATE.start_node3_#t~ite4|=39, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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=4, ULTIMATE.start_node2_~m2~0=7, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=54, |ULTIMATE.start_node1_#t~ite1|=56, |ULTIMATE.start_node2_#t~ite2|=53, |ULTIMATE.start_node2_#t~ite3|=52, |ULTIMATE.start_node3_#t~ite4|=49, |ULTIMATE.start_node3_#t~ite5|=47, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~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=4, ULTIMATE.start_node2_~m2~0=7, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=54, |ULTIMATE.start_node1_#t~ite1|=56, |ULTIMATE.start_node2_#t~ite2|=53, |ULTIMATE.start_node2_#t~ite3|=52, |ULTIMATE.start_node3_#t~ite4|=49, |ULTIMATE.start_node3_#t~ite5|=47, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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|=0, |ULTIMATE.start_node1_#t~ite1|=66, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=64, |ULTIMATE.start_node3_#t~ite4|=61, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=4, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~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|=0, |ULTIMATE.start_node1_#t~ite1|=66, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=64, |ULTIMATE.start_node3_#t~ite4|=61, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=4, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=7, ULTIMATE.start_node2_~m2~0=4, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=79, |ULTIMATE.start_node1_#t~ite1|=81, |ULTIMATE.start_node2_#t~ite2|=78, |ULTIMATE.start_node2_#t~ite3|=77, |ULTIMATE.start_node3_#t~ite4|=74, |ULTIMATE.start_node3_#t~ite5|=72, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [?] assume 0 == assert_~arg % 256; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=7, ULTIMATE.start_node2_~m2~0=4, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=79, |ULTIMATE.start_node1_#t~ite1|=81, |ULTIMATE.start_node2_#t~ite2|=78, |ULTIMATE.start_node2_#t~ite3|=77, |ULTIMATE.start_node3_#t~ite4|=74, |ULTIMATE.start_node3_#t~ite5|=72, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [?] assume !false; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=7, ULTIMATE.start_node2_~m2~0=4, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=79, |ULTIMATE.start_node1_#t~ite1|=81, |ULTIMATE.start_node2_#t~ite2|=78, |ULTIMATE.start_node2_#t~ite3|=77, |ULTIMATE.start_node3_#t~ite4|=74, |ULTIMATE.start_node3_#t~ite5|=72, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L204] ~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~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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210-L278] assume 0 == ~r1~0 % 256; [L211-L275] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L212-L272] assume ~id1~0 >= 0; [L213-L269] assume 0 == ~st1~0; [L214-L266] assume ~send1~0 == ~id1~0; [L215-L263] assume 0 == ~mode1~0 % 256; [L216-L260] assume ~id2~0 >= 0; [L217-L257] assume 0 == ~st2~0; [L218-L254] assume ~send2~0 == ~id2~0; [L219-L251] assume 0 == ~mode2~0 % 256; [L220-L248] assume ~id3~0 >= 0; [L221-L245] assume 0 == ~st3~0; [L222-L242] assume ~send3~0 == ~id3~0; [L223-L239] assume 0 == ~mode3~0 % 256; [L224-L236] assume ~id1~0 != ~id2~0; [L225-L233] assume ~id1~0 != ~id3~0; [L226-L230] assume ~id2~0 != ~id3~0; [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume !(~send3~0 != ~id3~0); [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume !(node1_~m1~0 != ~nomsg~0); [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume !(node1_~m1~0 == ~id1~0); [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume node1_~m1~0 == ~id1~0; [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume !(node2_~m2~0 > ~id2~0); [L150-L152] assume node2_~m2~0 == ~id2~0; [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1); [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357-L361] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L204] ~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~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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210-L278] assume 0 == ~r1~0 % 256; [L211-L275] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L212-L272] assume ~id1~0 >= 0; [L213-L269] assume 0 == ~st1~0; [L214-L266] assume ~send1~0 == ~id1~0; [L215-L263] assume 0 == ~mode1~0 % 256; [L216-L260] assume ~id2~0 >= 0; [L217-L257] assume 0 == ~st2~0; [L218-L254] assume ~send2~0 == ~id2~0; [L219-L251] assume 0 == ~mode2~0 % 256; [L220-L248] assume ~id3~0 >= 0; [L221-L245] assume 0 == ~st3~0; [L222-L242] assume ~send3~0 == ~id3~0; [L223-L239] assume 0 == ~mode3~0 % 256; [L224-L236] assume ~id1~0 != ~id2~0; [L225-L233] assume ~id1~0 != ~id3~0; [L226-L230] assume ~id2~0 != ~id3~0; [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume !(~send3~0 != ~id3~0); [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume !(node1_~m1~0 != ~nomsg~0); [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume !(node1_~m1~0 == ~id1~0); [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume node1_~m1~0 == ~id1~0; [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume !(node2_~m2~0 > ~id2~0); [L150-L152] assume node2_~m2~0 == ~id2~0; [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1); [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357-L361] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc 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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(node1_~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND FALSE !(node1_~m1~0 == ~id1~0) [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND TRUE node1_~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(node2_~m2~0 > ~id2~0) [L150] COND TRUE node2_~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc 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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(node1_~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND FALSE !(node1_~m1~0 == ~id1~0) [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND TRUE node1_~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(node2_~m2~0 > ~id2~0) [L150] COND TRUE node2_~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [L304] havoc ~c1~0; [L305] havoc ~i2~0; [L308] ~c1~0 := 0; [L309] ~r1~0 := #t~nondet6; [L309] havoc #t~nondet6; [L310] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L310] ~id1~0 := #t~nondet7; [L310] havoc #t~nondet7; [L311] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L311] ~st1~0 := #t~nondet8; [L311] havoc #t~nondet8; [L312] assume -128 <= #t~nondet9 && #t~nondet9 <= 127; [L312] ~send1~0 := #t~nondet9; [L312] havoc #t~nondet9; [L313] ~mode1~0 := #t~nondet10; [L313] havoc #t~nondet10; [L314] ~alive1~0 := #t~nondet11; [L314] havoc #t~nondet11; [L315] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L315] ~id2~0 := #t~nondet12; [L315] havoc #t~nondet12; [L316] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L316] ~st2~0 := #t~nondet13; [L316] havoc #t~nondet13; [L317] assume -128 <= #t~nondet14 && #t~nondet14 <= 127; [L317] ~send2~0 := #t~nondet14; [L317] havoc #t~nondet14; [L318] ~mode2~0 := #t~nondet15; [L318] havoc #t~nondet15; [L319] ~alive2~0 := #t~nondet16; [L319] havoc #t~nondet16; [L320] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L320] ~id3~0 := #t~nondet17; [L320] havoc #t~nondet17; [L321] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L321] ~st3~0 := #t~nondet18; [L321] havoc #t~nondet18; [L322] assume -128 <= #t~nondet19 && #t~nondet19 <= 127; [L322] ~send3~0 := #t~nondet19; [L322] havoc #t~nondet19; [L323] ~mode3~0 := #t~nondet20; [L323] havoc #t~nondet20; [L324] ~alive3~0 := #t~nondet21; [L324] havoc #t~nondet21; [L207] havoc ~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] ~tmp~0 := 1; [L279] #res := ~tmp~0; [L325] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L325] ~i2~0 := #t~ret22; [L325] havoc #t~ret22; [L326] assume 0 != ~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] ~i2~0 := 0; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND FALSE !(~m1~0 == ~id1~0) [L117] ~send1~0 := ~m1~0; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND TRUE ~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(~m2~0 > ~id2~0) [L150] COND TRUE ~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] ~tmp~1 := 0; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [L304] havoc ~c1~0; [L305] havoc ~i2~0; [L308] ~c1~0 := 0; [L309] ~r1~0 := #t~nondet6; [L309] havoc #t~nondet6; [L310] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L310] ~id1~0 := #t~nondet7; [L310] havoc #t~nondet7; [L311] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L311] ~st1~0 := #t~nondet8; [L311] havoc #t~nondet8; [L312] assume -128 <= #t~nondet9 && #t~nondet9 <= 127; [L312] ~send1~0 := #t~nondet9; [L312] havoc #t~nondet9; [L313] ~mode1~0 := #t~nondet10; [L313] havoc #t~nondet10; [L314] ~alive1~0 := #t~nondet11; [L314] havoc #t~nondet11; [L315] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L315] ~id2~0 := #t~nondet12; [L315] havoc #t~nondet12; [L316] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L316] ~st2~0 := #t~nondet13; [L316] havoc #t~nondet13; [L317] assume -128 <= #t~nondet14 && #t~nondet14 <= 127; [L317] ~send2~0 := #t~nondet14; [L317] havoc #t~nondet14; [L318] ~mode2~0 := #t~nondet15; [L318] havoc #t~nondet15; [L319] ~alive2~0 := #t~nondet16; [L319] havoc #t~nondet16; [L320] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L320] ~id3~0 := #t~nondet17; [L320] havoc #t~nondet17; [L321] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L321] ~st3~0 := #t~nondet18; [L321] havoc #t~nondet18; [L322] assume -128 <= #t~nondet19 && #t~nondet19 <= 127; [L322] ~send3~0 := #t~nondet19; [L322] havoc #t~nondet19; [L323] ~mode3~0 := #t~nondet20; [L323] havoc #t~nondet20; [L324] ~alive3~0 := #t~nondet21; [L324] havoc #t~nondet21; [L207] havoc ~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] ~tmp~0 := 1; [L279] #res := ~tmp~0; [L325] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L325] ~i2~0 := #t~ret22; [L325] havoc #t~ret22; [L326] assume 0 != ~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] ~i2~0 := 0; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND FALSE !(~m1~0 == ~id1~0) [L117] ~send1~0 := ~m1~0; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND TRUE ~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(~m2~0 > ~id2~0) [L150] COND TRUE ~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] ~tmp~1 := 0; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L71] unsigned char r1 ; [L73] char p1_old ; [L74] char p1_new ; [L75] char id1 ; [L76] char st1 ; [L78] _Bool mode1 ; [L79] _Bool alive1 ; [L81] char p2_old ; [L82] char p2_new ; [L83] char id2 ; [L84] char st2 ; [L86] _Bool mode2 ; [L87] _Bool alive2 ; [L89] char p3_old ; [L90] char p3_new ; [L91] char id3 ; [L92] char st3 ; [L94] _Bool mode3 ; [L95] _Bool alive3 ; [L70] msg_t nomsg = (msg_t )-1; [L72] port_t p1 ; [L77] msg_t send1 ; [L80] port_t p2 ; [L85] msg_t send2 ; [L88] port_t p3 ; [L93] msg_t send3 ; [L204] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L304] int c1 ; [L305] int i2 ; [L308] c1 = 0 [L309] r1 = __VERIFIER_nondet_uchar() [L310] id1 = __VERIFIER_nondet_char() [L311] st1 = __VERIFIER_nondet_char() [L312] send1 = __VERIFIER_nondet_char() [L313] mode1 = __VERIFIER_nondet_bool() [L314] alive1 = __VERIFIER_nondet_bool() [L315] id2 = __VERIFIER_nondet_char() [L316] st2 = __VERIFIER_nondet_char() [L317] send2 = __VERIFIER_nondet_char() [L318] mode2 = __VERIFIER_nondet_bool() [L319] alive2 = __VERIFIER_nondet_bool() [L320] id3 = __VERIFIER_nondet_char() [L321] st3 = __VERIFIER_nondet_char() [L322] send3 = __VERIFIER_nondet_char() [L323] mode3 = __VERIFIER_nondet_bool() [L324] alive3 = __VERIFIER_nondet_bool() [L207] int tmp ; [L210] COND TRUE (int )r1 == 0 [L211] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L212] COND TRUE (int )id1 >= 0 [L213] COND TRUE (int )st1 == 0 [L214] COND TRUE (int )send1 == (int )id1 [L215] COND TRUE (int )mode1 == 0 [L216] COND TRUE (int )id2 >= 0 [L217] COND TRUE (int )st2 == 0 [L218] COND TRUE (int )send2 == (int )id2 [L219] COND TRUE (int )mode2 == 0 [L220] COND TRUE (int )id3 >= 0 [L221] COND TRUE (int )st3 == 0 [L222] COND TRUE (int )send3 == (int )id3 [L223] COND TRUE (int )mode3 == 0 [L224] COND TRUE (int )id1 != (int )id2 [L225] COND TRUE (int )id1 != (int )id3 [L226] COND TRUE (int )id2 != (int )id3 [L227] tmp = 1 [L279] return (tmp); [L325] i2 = init() [L327] p1_old = nomsg [L328] p1_new = nomsg [L329] p2_old = nomsg [L330] p2_new = nomsg [L331] p3_old = nomsg [L332] p3_new = nomsg [L333] i2 = 0 VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=7, send2=4, send3=6, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND FALSE !((int )send3 != (int )id3) [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=7, p2=0, p2_new=-1, p2_old=4, p3=0, p3_new=-1, p3_old=-1, r1=0, send1=7, send2=4, send3=6, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND FALSE !((int )m1 != (int )nomsg) [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND TRUE (int )m2 > (int )id2 [L148] send2 = m2 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=7, send2=7, send3=4, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND TRUE (int )send3 != (int )id3 [L197] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L197] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=7, p2=0, p2_new=-1, p2_old=7, p3=0, p3_new=-1, p3_old=4, r1=1, send1=7, send2=7, send3=4, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND TRUE \read(alive1) [L111] COND FALSE !((int )m1 > (int )id1) [L114] COND FALSE !((int )m1 == (int )id1) [L117] send1 = m1 [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND TRUE (int )m2 > (int )id2 [L148] send2 = m2 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND TRUE (int )send3 != (int )id3 [L197] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L197] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=4, p2=0, p2_new=-1, p2_old=7, p3=0, p3_new=-1, p3_old=7, r1=2, send1=4, send2=7, send3=7, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND TRUE \read(alive1) [L111] COND FALSE !((int )m1 > (int )id1) [L114] COND TRUE (int )m1 == (int )id1 [L115] st1 = (char)1 [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND FALSE !((int )m2 > (int )id2) [L150] COND TRUE (int )m2 == (int )id2 [L151] st2 = (char)1 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND FALSE !(((int )st1 + (int )st2) + (int )st3 <= 1) [L297] tmp = 0 [L299] return (tmp); [L345] c1 = check() [L357] COND TRUE ! arg VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=1, st2=1, st3=0] [L359] __VERIFIER_error() VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=1, st2=1, st3=0] ----- [2018-11-23 03:24:51,309 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 03:24:51 ImpRootNode [2018-11-23 03:24:51,309 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 03:24:51,310 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 03:24:51,310 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 03:24:51,310 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 03:24:51,310 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:24:18" (3/4) ... [2018-11-23 03:24:51,312 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~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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0;havoc main_~c1~0;havoc main_~i2~0;main_~c1~0 := 0;~r1~0 := main_#t~nondet6;havoc main_#t~nondet6;assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127;~id1~0 := main_#t~nondet7;havoc main_#t~nondet7;assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127;~st1~0 := main_#t~nondet8;havoc main_#t~nondet8;assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127;~send1~0 := main_#t~nondet9;havoc main_#t~nondet9;~mode1~0 := main_#t~nondet10;havoc main_#t~nondet10;~alive1~0 := main_#t~nondet11;havoc main_#t~nondet11;assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127;~id2~0 := main_#t~nondet12;havoc main_#t~nondet12;assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127;~st2~0 := main_#t~nondet13;havoc main_#t~nondet13;assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127;~send2~0 := main_#t~nondet14;havoc main_#t~nondet14;~mode2~0 := main_#t~nondet15;havoc main_#t~nondet15;~alive2~0 := main_#t~nondet16;havoc main_#t~nondet16;assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127;~id3~0 := main_#t~nondet17;havoc main_#t~nondet17;assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127;~st3~0 := main_#t~nondet18;havoc main_#t~nondet18;assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127;~send3~0 := main_#t~nondet19;havoc main_#t~nondet19;~mode3~0 := main_#t~nondet20;havoc main_#t~nondet20;~alive3~0 := main_#t~nondet21;havoc main_#t~nondet21;havoc init_#res;havoc init_~tmp~0;havoc init_~tmp~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~r1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~r1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 == ~id1~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send1~0 == ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode1~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id2~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id2~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 == ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send2~0 == ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode2~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id3~0 >= 0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id3~0 >= 0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~st3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~st3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~send3~0 == ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~send3~0 == ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 == ~mode3~0 % 256);init_~tmp~0 := 0;ParallelCodeBlock1: assume 0 == ~mode3~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id2~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume !(~id1~0 != ~id3~0);init_~tmp~0 := 0;ParallelCodeBlock1: assume ~id1~0 != ~id3~0;BeginParallelComposition{ParallelCodeBlock0: assume ~id2~0 != ~id3~0;init_~tmp~0 := 1;ParallelCodeBlock1: assume !(~id2~0 != ~id3~0);init_~tmp~0 := 0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelCompositioninit_#res := init_~tmp~0;main_#t~ret22 := init_#res;assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647;main_~i2~0 := main_#t~ret22;havoc main_#t~ret22;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=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=(- 1), ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=(- 1), ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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|=0, |ULTIMATE.start_node1_#t~ite1|=20, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=19, |ULTIMATE.start_node3_#t~ite4|=14, |ULTIMATE.start_node3_#t~ite5|=13, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=4, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~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|=0, |ULTIMATE.start_node1_#t~ite1|=20, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=19, |ULTIMATE.start_node3_#t~ite4|=14, |ULTIMATE.start_node3_#t~ite5|=13, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=4, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=(- 1), ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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=7, ULTIMATE.start_node3_~m3~0=4, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node1_#t~ite1|=34, |ULTIMATE.start_node2_#t~ite2|=29, |ULTIMATE.start_node2_#t~ite3|=28, |ULTIMATE.start_node3_#t~ite4|=26, |ULTIMATE.start_node3_#t~ite5|=24, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~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=7, ULTIMATE.start_node3_~m3~0=4, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=30, |ULTIMATE.start_node1_#t~ite1|=34, |ULTIMATE.start_node2_#t~ite2|=29, |ULTIMATE.start_node2_#t~ite3|=28, |ULTIMATE.start_node3_#t~ite4|=26, |ULTIMATE.start_node3_#t~ite5|=24, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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|=0, |ULTIMATE.start_node1_#t~ite1|=43, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=42, |ULTIMATE.start_node3_#t~ite4|=39, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~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|=0, |ULTIMATE.start_node1_#t~ite1|=43, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=42, |ULTIMATE.start_node3_#t~ite4|=39, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=7, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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=4, ULTIMATE.start_node2_~m2~0=7, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=54, |ULTIMATE.start_node1_#t~ite1|=56, |ULTIMATE.start_node2_#t~ite2|=53, |ULTIMATE.start_node2_#t~ite3|=52, |ULTIMATE.start_node3_#t~ite4|=49, |ULTIMATE.start_node3_#t~ite5|=47, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~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=4, ULTIMATE.start_node2_~m2~0=7, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=1, |ULTIMATE.start_check_#res|=1, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=54, |ULTIMATE.start_node1_#t~ite1|=56, |ULTIMATE.start_node2_#t~ite2|=53, |ULTIMATE.start_node2_#t~ite3|=52, |ULTIMATE.start_node3_#t~ite4|=49, |ULTIMATE.start_node3_#t~ite5|=47, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;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|=0, |ULTIMATE.start_node1_#t~ite1|=66, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=64, |ULTIMATE.start_node3_#t~ite4|=61, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=4, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~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|=0, |ULTIMATE.start_node1_#t~ite1|=66, |ULTIMATE.start_node2_#t~ite2|=0, |ULTIMATE.start_node2_#t~ite3|=64, |ULTIMATE.start_node3_#t~ite4|=61, |ULTIMATE.start_node3_#t~ite5|=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=(- 1), ~p1_new~0=(- 1), ~p1_old~0=4, ~p1~0=0, ~p2_new~0=(- 1), ~p2_old~0=7, ~p2~0=0, ~p3_new~0=(- 1), ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [?] assume !false;havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0;havoc node1_~m1~0;node1_~m1~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~mode1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive1~0 % 256;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;ParallelCodeBlock1: assume !(0 != ~alive1~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send1~0 != ~id1~0);ParallelCodeBlock1: assume ~send1~0 != ~id1~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite1 := ~send1~0;ParallelCodeBlock1: assume !(~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0);node1_#t~ite1 := ~p1_new~0;}EndParallelComposition~p1_new~0 := (if node1_#t~ite1 % 256 <= 127 then node1_#t~ite1 % 256 else node1_#t~ite1 % 256 - 256);havoc node1_#t~ite1;}EndParallelComposition}EndParallelComposition~mode1~0 := 1;ParallelCodeBlock1: assume 0 != ~mode1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume 255 == ~r1~0 % 256;~r1~0 := 2;ParallelCodeBlock1: assume !(255 == ~r1~0 % 256);}EndParallelComposition~r1~0 := 1 + ~r1~0 % 256;node1_~m1~0 := ~p3_old~0;~p3_old~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(node1_~m1~0 != ~nomsg~0);ParallelCodeBlock1: assume node1_~m1~0 != ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: assume !(0 != ~alive1~0 % 256);~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume 0 != ~alive1~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 > ~id1~0;~send1~0 := node1_~m1~0;ParallelCodeBlock1: assume !(node1_~m1~0 > ~id1~0);BeginParallelComposition{ParallelCodeBlock0: assume node1_~m1~0 == ~id1~0;~st1~0 := 1;ParallelCodeBlock1: assume !(node1_~m1~0 == ~id1~0);~send1~0 := node1_~m1~0;}EndParallelComposition}EndParallelComposition}EndParallelComposition}EndParallelComposition~mode1~0 := 0;}EndParallelCompositionhavoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0;havoc node2_~m2~0;node2_~m2~0 := ~nomsg~0;BeginParallelComposition{ParallelCodeBlock0: 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;ParallelCodeBlock1: assume !(0 != ~mode2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume 0 != ~alive2~0 % 256;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~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;ParallelCodeBlock1: assume !(0 != ~alive2~0 % 256);BeginParallelComposition{ParallelCodeBlock0: assume !(~send2~0 != ~id2~0);ParallelCodeBlock1: assume ~send2~0 != ~id2~0;BeginParallelComposition{ParallelCodeBlock0: assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0;node2_#t~ite3 := ~send2~0;ParallelCodeBlock1: assume !(~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0);node2_#t~ite3 := ~p2_new~0;}EndParallelComposition~p2_new~0 := (if node2_#t~ite3 % 256 <= 127 then node2_#t~ite3 % 256 else node2_#t~ite3 % 256 - 256);havoc node2_#t~ite3;}EndParallelComposition}EndParallelComposition~mode2~0 := 1;}EndParallelCompositionhavoc node3_#t~ite4, node3_#t~ite5, 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~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;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~ite5 := ~send3~0;ParallelCodeBlock1: assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite5 := ~p3_new~0;}EndParallelComposition~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256);havoc node3_#t~ite5;}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 % 256 < 3;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(~r1~0 % 256 < 3);BeginParallelComposition{ParallelCodeBlock0: assume 1 == ~st1~0 + ~st2~0 + ~st3~0;check_~tmp~1 := 1;ParallelCodeBlock1: assume !(1 == ~st1~0 + ~st2~0 + ~st3~0);check_~tmp~1 := 0;}EndParallelComposition}EndParallelComposition}EndParallelCompositioncheck_#res := check_~tmp~1;main_#t~ret23 := check_#res;assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647;main_~c1~0 := main_#t~ret23;havoc main_#t~ret23;assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1);havoc assert_~arg;assert_~arg := assert_#in~arg; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=7, ULTIMATE.start_node2_~m2~0=4, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=79, |ULTIMATE.start_node1_#t~ite1|=81, |ULTIMATE.start_node2_#t~ite2|=78, |ULTIMATE.start_node2_#t~ite3|=77, |ULTIMATE.start_node3_#t~ite4|=74, |ULTIMATE.start_node3_#t~ite5|=72, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [?] assume 0 == assert_~arg % 256; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=7, ULTIMATE.start_node2_~m2~0=4, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=79, |ULTIMATE.start_node1_#t~ite1|=81, |ULTIMATE.start_node2_#t~ite2|=78, |ULTIMATE.start_node2_#t~ite3|=77, |ULTIMATE.start_node3_#t~ite4|=74, |ULTIMATE.start_node3_#t~ite5|=72, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [?] assume !false; VAL [ULTIMATE.start_assert_~arg=0, ULTIMATE.start_check_~tmp~1=0, ULTIMATE.start_init_~tmp~0=1, ULTIMATE.start_main_~c1~0=0, ULTIMATE.start_main_~i2~0=0, ULTIMATE.start_node1_~m1~0=7, ULTIMATE.start_node2_~m2~0=4, ULTIMATE.start_node3_~m3~0=7, |ULTIMATE.start_assert_#in~arg|=0, |ULTIMATE.start_check_#res|=0, |ULTIMATE.start_init_#res|=1, |ULTIMATE.start_node1_#t~ite0|=79, |ULTIMATE.start_node1_#t~ite1|=81, |ULTIMATE.start_node2_#t~ite2|=78, |ULTIMATE.start_node2_#t~ite3|=77, |ULTIMATE.start_node3_#t~ite4|=74, |ULTIMATE.start_node3_#t~ite5|=72, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L204] ~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~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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210-L278] assume 0 == ~r1~0 % 256; [L211-L275] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L212-L272] assume ~id1~0 >= 0; [L213-L269] assume 0 == ~st1~0; [L214-L266] assume ~send1~0 == ~id1~0; [L215-L263] assume 0 == ~mode1~0 % 256; [L216-L260] assume ~id2~0 >= 0; [L217-L257] assume 0 == ~st2~0; [L218-L254] assume ~send2~0 == ~id2~0; [L219-L251] assume 0 == ~mode2~0 % 256; [L220-L248] assume ~id3~0 >= 0; [L221-L245] assume 0 == ~st3~0; [L222-L242] assume ~send3~0 == ~id3~0; [L223-L239] assume 0 == ~mode3~0 % 256; [L224-L236] assume ~id1~0 != ~id2~0; [L225-L233] assume ~id1~0 != ~id3~0; [L226-L230] assume ~id2~0 != ~id3~0; [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume !(~send3~0 != ~id3~0); [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume !(node1_~m1~0 != ~nomsg~0); [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume !(node1_~m1~0 == ~id1~0); [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume node1_~m1~0 == ~id1~0; [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume !(node2_~m2~0 > ~id2~0); [L150-L152] assume node2_~m2~0 == ~id2~0; [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1); [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357-L361] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset]; [L204] ~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset]; [L204] ~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~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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210-L278] assume 0 == ~r1~0 % 256; [L211-L275] assume ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1; [L212-L272] assume ~id1~0 >= 0; [L213-L269] assume 0 == ~st1~0; [L214-L266] assume ~send1~0 == ~id1~0; [L215-L263] assume 0 == ~mode1~0 % 256; [L216-L260] assume ~id2~0 >= 0; [L217-L257] assume 0 == ~st2~0; [L218-L254] assume ~send2~0 == ~id2~0; [L219-L251] assume 0 == ~mode2~0 % 256; [L220-L248] assume ~id3~0 >= 0; [L221-L245] assume 0 == ~st3~0; [L222-L242] assume ~send3~0 == ~id3~0; [L223-L239] assume 0 == ~mode3~0 % 256; [L224-L236] assume ~id1~0 != ~id2~0; [L225-L233] assume ~id1~0 != ~id3~0; [L226-L230] assume ~id2~0 != ~id3~0; [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume !(~send3~0 != ~id3~0); [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume !(node1_~m1~0 != ~nomsg~0); [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] assume !(0 == assert_~arg % 256); VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume !(node1_~m1~0 == ~id1~0); [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume node2_~m2~0 > ~id2~0; [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume !(0 != ~mode1~0 % 256); [L125-L130] assume 0 != ~alive1~0 % 256; [L126] assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0; [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume !(0 != ~mode2~0 % 256); [L159-L164] assume 0 != ~alive2~0 % 256; [L160] assume ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0; [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume !(0 != ~mode3~0 % 256); [L193-L198] assume !(0 != ~alive3~0 % 256); [L196-L198] assume ~send3~0 != ~id3~0; [L197] assume ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0; [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume ~st1~0 + ~st2~0 + ~st3~0 <= 1; [L288-L295] assume ~r1~0 % 256 < 3; [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357-L361] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] assume !false; [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] assume 0 != ~mode1~0 % 256; [L103-L105] assume !(255 == ~r1~0 % 256); [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109-L122] assume node1_~m1~0 != ~nomsg~0; [L110-L121] assume 0 != ~alive1~0 % 256; [L111-L118] assume !(node1_~m1~0 > ~id1~0); [L114-L118] assume node1_~m1~0 == ~id1~0; [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] assume 0 != ~mode2~0 % 256; [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145-L156] assume node2_~m2~0 != ~nomsg~0; [L146-L155] assume 0 != ~alive2~0 % 256; [L147-L152] assume !(node2_~m2~0 > ~id2~0); [L150-L152] assume node2_~m2~0 == ~id2~0; [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] assume 0 != ~mode3~0 % 256; [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179-L190] assume node3_~m3~0 != ~nomsg~0; [L180-L189] assume !(0 != ~alive3~0 % 256); [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287-L298] assume !(~st1~0 + ~st2~0 + ~st3~0 <= 1); [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357-L361] assume 0 == assert_~arg % 256; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc 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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(node1_~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND FALSE !(node1_~m1~0 == ~id1~0) [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND TRUE node1_~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(node2_~m2~0 > ~id2~0) [L150] COND TRUE node2_~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [?] havoc main_#res; [?] havoc 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~nondet21, main_#t~ret22, main_#t~ret23, main_~c1~0, main_~i2~0; [L304] havoc main_~c1~0; [L305] havoc main_~i2~0; [L308] main_~c1~0 := 0; [L309] ~r1~0 := main_#t~nondet6; [L309] havoc main_#t~nondet6; [L310] assume -128 <= main_#t~nondet7 && main_#t~nondet7 <= 127; [L310] ~id1~0 := main_#t~nondet7; [L310] havoc main_#t~nondet7; [L311] assume -128 <= main_#t~nondet8 && main_#t~nondet8 <= 127; [L311] ~st1~0 := main_#t~nondet8; [L311] havoc main_#t~nondet8; [L312] assume -128 <= main_#t~nondet9 && main_#t~nondet9 <= 127; [L312] ~send1~0 := main_#t~nondet9; [L312] havoc main_#t~nondet9; [L313] ~mode1~0 := main_#t~nondet10; [L313] havoc main_#t~nondet10; [L314] ~alive1~0 := main_#t~nondet11; [L314] havoc main_#t~nondet11; [L315] assume -128 <= main_#t~nondet12 && main_#t~nondet12 <= 127; [L315] ~id2~0 := main_#t~nondet12; [L315] havoc main_#t~nondet12; [L316] assume -128 <= main_#t~nondet13 && main_#t~nondet13 <= 127; [L316] ~st2~0 := main_#t~nondet13; [L316] havoc main_#t~nondet13; [L317] assume -128 <= main_#t~nondet14 && main_#t~nondet14 <= 127; [L317] ~send2~0 := main_#t~nondet14; [L317] havoc main_#t~nondet14; [L318] ~mode2~0 := main_#t~nondet15; [L318] havoc main_#t~nondet15; [L319] ~alive2~0 := main_#t~nondet16; [L319] havoc main_#t~nondet16; [L320] assume -128 <= main_#t~nondet17 && main_#t~nondet17 <= 127; [L320] ~id3~0 := main_#t~nondet17; [L320] havoc main_#t~nondet17; [L321] assume -128 <= main_#t~nondet18 && main_#t~nondet18 <= 127; [L321] ~st3~0 := main_#t~nondet18; [L321] havoc main_#t~nondet18; [L322] assume -128 <= main_#t~nondet19 && main_#t~nondet19 <= 127; [L322] ~send3~0 := main_#t~nondet19; [L322] havoc main_#t~nondet19; [L323] ~mode3~0 := main_#t~nondet20; [L323] havoc main_#t~nondet20; [L324] ~alive3~0 := main_#t~nondet21; [L324] havoc main_#t~nondet21; [L325] havoc init_#res; [L325] havoc init_~tmp~0; [L207] havoc init_~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] init_~tmp~0 := 1; [L279] init_#res := init_~tmp~0; [L325] main_#t~ret22 := init_#res; [L325] assume -2147483648 <= main_#t~ret22 && main_#t~ret22 <= 2147483647; [L325] main_~i2~0 := main_#t~ret22; [L325] havoc main_#t~ret22; [L326] assume 0 != main_~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] main_~i2~0 := 0; VAL [init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=20, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=19, node2_~m2~0=-1, node3_#t~ite4=14, node3_#t~ite5=13, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(node1_~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == assert_~arg % 256) VAL [assert_#in~arg=1, assert_~arg=1, check_#res=1, check_~tmp~1=1, init_#res=1, init_~tmp~0=1, main_~c1~0=1, main_~i2~0=0, node1_#t~ite0=30, node1_#t~ite1=34, node1_~m1~0=-1, node2_#t~ite2=29, node2_#t~ite3=28, node2_~m2~0=7, node3_#t~ite4=26, node3_#t~ite5=24, node3_~m3~0=4, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=43, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=42, node2_~m2~0=-1, node3_#t~ite4=39, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND FALSE !(node1_~m1~0 == ~id1~0) [L117] ~send1~0 := node1_~m1~0; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE node2_~m2~0 > ~id2~0 [L148] ~send2~0 := node2_~m2~0; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=54, node1_#t~ite1=56, node1_~m1~0=4, node2_#t~ite2=53, node2_#t~ite3=52, node2_~m2~0=7, node3_#t~ite4=49, node3_#t~ite5=47, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] node1_#t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if node1_#t~ite0 % 256 <= 127 then node1_#t~ite0 % 256 else node1_#t~ite0 % 256 - 256); [L126] havoc node1_#t~ite0; [L131] ~mode1~0 := 1; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] node2_#t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if node2_#t~ite2 % 256 <= 127 then node2_#t~ite2 % 256 else node2_#t~ite2 % 256 - 256); [L160] havoc node2_#t~ite2; [L165] ~mode2~0 := 1; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] node3_#t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if node3_#t~ite5 % 256 <= 127 then node3_#t~ite5 % 256 else node3_#t~ite5 % 256 - 256); [L197] havoc node3_#t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] check_~tmp~1 := 1; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] 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=0, node1_#t~ite1=66, node1_~m1~0=-1, node2_#t~ite2=0, node2_#t~ite3=64, node2_~m2~0=-1, node3_#t~ite4=61, node3_#t~ite5=0, node3_~m3~0=-1, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L336] havoc node1_#t~ite0, node1_#t~ite1, node1_~m1~0; [L98] havoc node1_~m1~0; [L101] node1_~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] node1_~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE node1_~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(node1_~m1~0 > ~id1~0) [L114] COND TRUE node1_~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L337] havoc node2_#t~ite2, node2_#t~ite3, node2_~m2~0; [L138] havoc node2_~m2~0; [L141] node2_~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] node2_~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE node2_~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(node2_~m2~0 > ~id2~0) [L150] COND TRUE node2_~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L338] havoc node3_#t~ite4, node3_#t~ite5, node3_~m3~0; [L172] havoc node3_~m3~0; [L175] node3_~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] node3_~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE node3_~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := node3_~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L345] havoc check_#res; [L345] havoc check_~tmp~1; [L284] havoc check_~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] check_~tmp~1 := 0; [L299] check_#res := check_~tmp~1; [L345] main_#t~ret23 := check_#res; [L345] assume -2147483648 <= main_#t~ret23 && main_#t~ret23 <= 2147483647; [L345] main_~c1~0 := main_#t~ret23; [L345] havoc main_#t~ret23; [L346] assert_#in~arg := (if 0 == main_~c1~0 then 0 else 1); [L346] havoc assert_~arg; [L352-L363] assert_~arg := assert_#in~arg; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == assert_~arg % 256 VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [assert_#in~arg=0, assert_~arg=0, check_#res=0, check_~tmp~1=0, init_#res=1, init_~tmp~0=1, main_~c1~0=0, main_~i2~0=0, node1_#t~ite0=79, node1_#t~ite1=81, node1_~m1~0=7, node2_#t~ite2=78, node2_#t~ite3=77, node2_~m2~0=4, node3_#t~ite4=74, node3_#t~ite5=72, node3_~m3~0=7, ~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [L304] havoc ~c1~0; [L305] havoc ~i2~0; [L308] ~c1~0 := 0; [L309] ~r1~0 := #t~nondet6; [L309] havoc #t~nondet6; [L310] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L310] ~id1~0 := #t~nondet7; [L310] havoc #t~nondet7; [L311] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L311] ~st1~0 := #t~nondet8; [L311] havoc #t~nondet8; [L312] assume -128 <= #t~nondet9 && #t~nondet9 <= 127; [L312] ~send1~0 := #t~nondet9; [L312] havoc #t~nondet9; [L313] ~mode1~0 := #t~nondet10; [L313] havoc #t~nondet10; [L314] ~alive1~0 := #t~nondet11; [L314] havoc #t~nondet11; [L315] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L315] ~id2~0 := #t~nondet12; [L315] havoc #t~nondet12; [L316] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L316] ~st2~0 := #t~nondet13; [L316] havoc #t~nondet13; [L317] assume -128 <= #t~nondet14 && #t~nondet14 <= 127; [L317] ~send2~0 := #t~nondet14; [L317] havoc #t~nondet14; [L318] ~mode2~0 := #t~nondet15; [L318] havoc #t~nondet15; [L319] ~alive2~0 := #t~nondet16; [L319] havoc #t~nondet16; [L320] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L320] ~id3~0 := #t~nondet17; [L320] havoc #t~nondet17; [L321] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L321] ~st3~0 := #t~nondet18; [L321] havoc #t~nondet18; [L322] assume -128 <= #t~nondet19 && #t~nondet19 <= 127; [L322] ~send3~0 := #t~nondet19; [L322] havoc #t~nondet19; [L323] ~mode3~0 := #t~nondet20; [L323] havoc #t~nondet20; [L324] ~alive3~0 := #t~nondet21; [L324] havoc #t~nondet21; [L207] havoc ~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] ~tmp~0 := 1; [L279] #res := ~tmp~0; [L325] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L325] ~i2~0 := #t~ret22; [L325] havoc #t~ret22; [L326] assume 0 != ~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] ~i2~0 := 0; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND FALSE !(~m1~0 == ~id1~0) [L117] ~send1~0 := ~m1~0; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND TRUE ~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(~m2~0 > ~id2~0) [L150] COND TRUE ~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] ~tmp~1 := 0; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~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; [L204] ~nodes~0[0] := #funAddr~node1; [L204] ~nodes~0[1] := #funAddr~node2; [L204] ~nodes~0[2] := #funAddr~node3; [L304] havoc ~c1~0; [L305] havoc ~i2~0; [L308] ~c1~0 := 0; [L309] ~r1~0 := #t~nondet6; [L309] havoc #t~nondet6; [L310] assume -128 <= #t~nondet7 && #t~nondet7 <= 127; [L310] ~id1~0 := #t~nondet7; [L310] havoc #t~nondet7; [L311] assume -128 <= #t~nondet8 && #t~nondet8 <= 127; [L311] ~st1~0 := #t~nondet8; [L311] havoc #t~nondet8; [L312] assume -128 <= #t~nondet9 && #t~nondet9 <= 127; [L312] ~send1~0 := #t~nondet9; [L312] havoc #t~nondet9; [L313] ~mode1~0 := #t~nondet10; [L313] havoc #t~nondet10; [L314] ~alive1~0 := #t~nondet11; [L314] havoc #t~nondet11; [L315] assume -128 <= #t~nondet12 && #t~nondet12 <= 127; [L315] ~id2~0 := #t~nondet12; [L315] havoc #t~nondet12; [L316] assume -128 <= #t~nondet13 && #t~nondet13 <= 127; [L316] ~st2~0 := #t~nondet13; [L316] havoc #t~nondet13; [L317] assume -128 <= #t~nondet14 && #t~nondet14 <= 127; [L317] ~send2~0 := #t~nondet14; [L317] havoc #t~nondet14; [L318] ~mode2~0 := #t~nondet15; [L318] havoc #t~nondet15; [L319] ~alive2~0 := #t~nondet16; [L319] havoc #t~nondet16; [L320] assume -128 <= #t~nondet17 && #t~nondet17 <= 127; [L320] ~id3~0 := #t~nondet17; [L320] havoc #t~nondet17; [L321] assume -128 <= #t~nondet18 && #t~nondet18 <= 127; [L321] ~st3~0 := #t~nondet18; [L321] havoc #t~nondet18; [L322] assume -128 <= #t~nondet19 && #t~nondet19 <= 127; [L322] ~send3~0 := #t~nondet19; [L322] havoc #t~nondet19; [L323] ~mode3~0 := #t~nondet20; [L323] havoc #t~nondet20; [L324] ~alive3~0 := #t~nondet21; [L324] havoc #t~nondet21; [L207] havoc ~tmp~0; [L210] COND TRUE 0 == ~r1~0 % 256 [L211] COND TRUE ~alive1~0 % 256 + ~alive2~0 % 256 + ~alive3~0 % 256 >= 1 [L212] COND TRUE ~id1~0 >= 0 [L213] COND TRUE 0 == ~st1~0 [L214] COND TRUE ~send1~0 == ~id1~0 [L215] COND TRUE 0 == ~mode1~0 % 256 [L216] COND TRUE ~id2~0 >= 0 [L217] COND TRUE 0 == ~st2~0 [L218] COND TRUE ~send2~0 == ~id2~0 [L219] COND TRUE 0 == ~mode2~0 % 256 [L220] COND TRUE ~id3~0 >= 0 [L221] COND TRUE 0 == ~st3~0 [L222] COND TRUE ~send3~0 == ~id3~0 [L223] COND TRUE 0 == ~mode3~0 % 256 [L224] COND TRUE ~id1~0 != ~id2~0 [L225] COND TRUE ~id1~0 != ~id3~0 [L226] COND TRUE ~id2~0 != ~id3~0 [L227] ~tmp~0 := 1; [L279] #res := ~tmp~0; [L325] assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; [L325] ~i2~0 := #t~ret22; [L325] havoc #t~ret22; [L326] assume 0 != ~i2~0; [L327] ~p1_old~0 := ~nomsg~0; [L328] ~p1_new~0 := ~nomsg~0; [L329] ~p2_old~0 := ~nomsg~0; [L330] ~p2_new~0 := ~nomsg~0; [L331] ~p3_old~0 := ~nomsg~0; [L332] ~p3_new~0 := ~nomsg~0; [L333] ~i2~0 := 0; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=0, ~mode2~0=0, ~mode3~0=0, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=-1, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=-1, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND FALSE !(~send3~0 != ~id3~0) [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=4, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=-1, ~p3~0=0, ~r1~0=256, ~send1~0=7, ~send2~0=4, ~send3~0=6, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND FALSE !(~m1~0 != ~nomsg~0) [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=7, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=4, ~p3~0=0, ~r1~0=1, ~send1~0=7, ~send2~0=7, ~send3~0=4, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND FALSE !(~m1~0 == ~id1~0) [L117] ~send1~0 := ~m1~0; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND TRUE ~m2~0 > ~id2~0 [L148] ~send2~0 := ~m2~0; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND FALSE !(0 != ~mode1~0 % 256) [L125-L130] COND TRUE 0 != ~alive1~0 % 256 [L126] COND TRUE ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0 [L126] #t~ite0 := ~send1~0; [L126] ~p1_new~0 := (if #t~ite0 % 256 <= 127 then #t~ite0 % 256 else #t~ite0 % 256 - 256); [L126] havoc #t~ite0; [L131] ~mode1~0 := 1; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND FALSE !(0 != ~mode2~0 % 256) [L159-L164] COND TRUE 0 != ~alive2~0 % 256 [L160] COND TRUE ~send2~0 != ~nomsg~0 && ~p2_new~0 == ~nomsg~0 [L160] #t~ite2 := ~send2~0; [L160] ~p2_new~0 := (if #t~ite2 % 256 <= 127 then #t~ite2 % 256 else #t~ite2 % 256 - 256); [L160] havoc #t~ite2; [L165] ~mode2~0 := 1; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND FALSE !(0 != ~mode3~0 % 256) [L193-L198] COND FALSE !(0 != ~alive3~0 % 256) [L196] COND TRUE ~send3~0 != ~id3~0 [L197] COND TRUE ~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0 [L197] #t~ite5 := ~send3~0; [L197] ~p3_new~0 := (if #t~ite5 % 256 <= 127 then #t~ite5 % 256 else #t~ite5 % 256 - 256); [L197] havoc #t~ite5; [L199] ~mode3~0 := 1; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND TRUE ~st1~0 + ~st2~0 + ~st3~0 <= 1 [L288] COND TRUE ~r1~0 % 256 < 3 [L289] ~tmp~1 := 1; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L357] COND FALSE !(0 == ~arg % 256) VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~mode1~0=1, ~mode2~0=1, ~mode3~0=1, ~nomsg~0=-1, ~p1_new~0=-1, ~p1_old~0=4, ~p1~0=0, ~p2_new~0=-1, ~p2_old~0=7, ~p2~0=0, ~p3_new~0=-1, ~p3_old~0=7, ~p3~0=0, ~r1~0=2, ~send1~0=4, ~send2~0=7, ~send3~0=7, ~st1~0=0, ~st2~0=0, ~st3~0=0] [L334-L348] COND FALSE !(false) [L98] havoc ~m1~0; [L101] ~m1~0 := ~nomsg~0; [L102-L132] COND TRUE 0 != ~mode1~0 % 256 [L103] COND FALSE !(255 == ~r1~0 % 256) [L106] ~r1~0 := 1 + ~r1~0 % 256; [L107] ~m1~0 := ~p3_old~0; [L108] ~p3_old~0 := ~nomsg~0; [L109] COND TRUE ~m1~0 != ~nomsg~0 [L110-L121] COND TRUE 0 != ~alive1~0 % 256 [L111] COND FALSE !(~m1~0 > ~id1~0) [L114] COND TRUE ~m1~0 == ~id1~0 [L115] ~st1~0 := 1; [L123] ~mode1~0 := 0; [L138] havoc ~m2~0; [L141] ~m2~0 := ~nomsg~0; [L142-L166] COND TRUE 0 != ~mode2~0 % 256 [L143] ~m2~0 := ~p1_old~0; [L144] ~p1_old~0 := ~nomsg~0; [L145] COND TRUE ~m2~0 != ~nomsg~0 [L146-L155] COND TRUE 0 != ~alive2~0 % 256 [L147] COND FALSE !(~m2~0 > ~id2~0) [L150] COND TRUE ~m2~0 == ~id2~0 [L151] ~st2~0 := 1; [L157] ~mode2~0 := 0; [L172] havoc ~m3~0; [L175] ~m3~0 := ~nomsg~0; [L176-L200] COND TRUE 0 != ~mode3~0 % 256 [L177] ~m3~0 := ~p2_old~0; [L178] ~p2_old~0 := ~nomsg~0; [L179] COND TRUE ~m3~0 != ~nomsg~0 [L180-L189] COND FALSE !(0 != ~alive3~0 % 256) [L188] ~send3~0 := ~m3~0; [L191] ~mode3~0 := 0; [L339] ~p1_old~0 := ~p1_new~0; [L340] ~p1_new~0 := ~nomsg~0; [L341] ~p2_old~0 := ~p2_new~0; [L342] ~p2_new~0 := ~nomsg~0; [L343] ~p3_old~0 := ~p3_new~0; [L344] ~p3_new~0 := ~nomsg~0; [L284] havoc ~tmp~1; [L287] COND FALSE !(~st1~0 + ~st2~0 + ~st3~0 <= 1) [L297] ~tmp~1 := 0; [L299] #res := ~tmp~1; [L345] assume -2147483648 <= #t~ret23 && #t~ret23 <= 2147483647; [L345] ~c1~0 := #t~ret23; [L345] havoc #t~ret23; [L352-L363] ~arg := #in~arg; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L357] COND TRUE 0 == ~arg % 256 VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L359] assert false; VAL [~alive1~0=1, ~alive2~0=1, ~alive3~0=0, ~id1~0=7, ~id2~0=4, ~id3~0=6, ~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=4, ~send2~0=7, ~send3~0=7, ~st1~0=1, ~st2~0=1, ~st3~0=0] [L71] unsigned char r1 ; [L73] char p1_old ; [L74] char p1_new ; [L75] char id1 ; [L76] char st1 ; [L78] _Bool mode1 ; [L79] _Bool alive1 ; [L81] char p2_old ; [L82] char p2_new ; [L83] char id2 ; [L84] char st2 ; [L86] _Bool mode2 ; [L87] _Bool alive2 ; [L89] char p3_old ; [L90] char p3_new ; [L91] char id3 ; [L92] char st3 ; [L94] _Bool mode3 ; [L95] _Bool alive3 ; [L70] msg_t nomsg = (msg_t )-1; [L72] port_t p1 ; [L77] msg_t send1 ; [L80] port_t p2 ; [L85] msg_t send2 ; [L88] port_t p3 ; [L93] msg_t send3 ; [L204] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L304] int c1 ; [L305] int i2 ; [L308] c1 = 0 [L309] r1 = __VERIFIER_nondet_uchar() [L310] id1 = __VERIFIER_nondet_char() [L311] st1 = __VERIFIER_nondet_char() [L312] send1 = __VERIFIER_nondet_char() [L313] mode1 = __VERIFIER_nondet_bool() [L314] alive1 = __VERIFIER_nondet_bool() [L315] id2 = __VERIFIER_nondet_char() [L316] st2 = __VERIFIER_nondet_char() [L317] send2 = __VERIFIER_nondet_char() [L318] mode2 = __VERIFIER_nondet_bool() [L319] alive2 = __VERIFIER_nondet_bool() [L320] id3 = __VERIFIER_nondet_char() [L321] st3 = __VERIFIER_nondet_char() [L322] send3 = __VERIFIER_nondet_char() [L323] mode3 = __VERIFIER_nondet_bool() [L324] alive3 = __VERIFIER_nondet_bool() [L207] int tmp ; [L210] COND TRUE (int )r1 == 0 [L211] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L212] COND TRUE (int )id1 >= 0 [L213] COND TRUE (int )st1 == 0 [L214] COND TRUE (int )send1 == (int )id1 [L215] COND TRUE (int )mode1 == 0 [L216] COND TRUE (int )id2 >= 0 [L217] COND TRUE (int )st2 == 0 [L218] COND TRUE (int )send2 == (int )id2 [L219] COND TRUE (int )mode2 == 0 [L220] COND TRUE (int )id3 >= 0 [L221] COND TRUE (int )st3 == 0 [L222] COND TRUE (int )send3 == (int )id3 [L223] COND TRUE (int )mode3 == 0 [L224] COND TRUE (int )id1 != (int )id2 [L225] COND TRUE (int )id1 != (int )id3 [L226] COND TRUE (int )id2 != (int )id3 [L227] tmp = 1 [L279] return (tmp); [L325] i2 = init() [L327] p1_old = nomsg [L328] p1_new = nomsg [L329] p2_old = nomsg [L330] p2_new = nomsg [L331] p3_old = nomsg [L332] p3_new = nomsg [L333] i2 = 0 VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=7, send2=4, send3=6, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND FALSE !((int )send3 != (int )id3) [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=7, p2=0, p2_new=-1, p2_old=4, p3=0, p3_new=-1, p3_old=-1, r1=0, send1=7, send2=4, send3=6, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND FALSE !((int )m1 != (int )nomsg) [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND TRUE (int )m2 > (int )id2 [L148] send2 = m2 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=7, send2=7, send3=4, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND TRUE (int )send3 != (int )id3 [L197] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L197] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=7, p2=0, p2_new=-1, p2_old=7, p3=0, p3_new=-1, p3_old=4, r1=1, send1=7, send2=7, send3=4, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND TRUE \read(alive1) [L111] COND FALSE !((int )m1 > (int )id1) [L114] COND FALSE !((int )m1 == (int )id1) [L117] send1 = m1 [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND TRUE (int )m2 > (int )id2 [L148] send2 = m2 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND TRUE (int )send3 != (int )id3 [L197] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L197] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=4, p2=0, p2_new=-1, p2_old=7, p3=0, p3_new=-1, p3_old=7, r1=2, send1=4, send2=7, send3=7, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND TRUE \read(alive1) [L111] COND FALSE !((int )m1 > (int )id1) [L114] COND TRUE (int )m1 == (int )id1 [L115] st1 = (char)1 [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND FALSE !((int )m2 > (int )id2) [L150] COND TRUE (int )m2 == (int )id2 [L151] st2 = (char)1 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND FALSE !(((int )st1 + (int )st2) + (int )st3 <= 1) [L297] tmp = 0 [L299] return (tmp); [L345] c1 = check() [L357] COND TRUE ! arg VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=1, st2=1, st3=0] [L359] __VERIFIER_error() VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=1, st2=1, st3=0] ----- [2018-11-23 03:24:52,482 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_0c73fb86-007a-4ae5-9571-7c129a6d189c/bin-2019/ukojak/witness.graphml [2018-11-23 03:24:52,482 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 03:24:52,483 INFO L168 Benchmark]: Toolchain (without parser) took 34956.45 ms. Allocated memory was 1.0 GB in the beginning and 1.6 GB in the end (delta: 551.6 MB). Free memory was 961.9 MB in the beginning and 1.4 GB in the end (delta: -483.4 MB). Peak memory consumption was 68.2 MB. Max. memory is 11.5 GB. [2018-11-23 03:24:52,483 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 03:24:52,484 INFO L168 Benchmark]: CACSL2BoogieTranslator took 208.94 ms. Allocated memory is still 1.0 GB. Free memory was 956.6 MB in the beginning and 945.8 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2018-11-23 03:24:52,484 INFO L168 Benchmark]: Boogie Procedure Inliner took 67.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.1 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -180.1 MB). Peak memory consumption was 14.2 MB. Max. memory is 11.5 GB. [2018-11-23 03:24:52,484 INFO L168 Benchmark]: Boogie Preprocessor took 20.67 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-23 03:24:52,484 INFO L168 Benchmark]: RCFGBuilder took 1052.23 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 960.2 MB in the end (delta: 165.7 MB). Peak memory consumption was 165.7 MB. Max. memory is 11.5 GB. [2018-11-23 03:24:52,485 INFO L168 Benchmark]: CodeCheck took 32431.49 ms. Allocated memory was 1.2 GB in the beginning and 1.6 GB in the end (delta: 419.4 MB). Free memory was 960.2 MB in the beginning and 1.5 GB in the end (delta: -513.3 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 03:24:52,485 INFO L168 Benchmark]: Witness Printer took 1172.35 ms. Allocated memory is still 1.6 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 28.2 MB). Peak memory consumption was 28.2 MB. Max. memory is 11.5 GB. [2018-11-23 03:24:52,486 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, 78 locations, 1 error locations. UNSAFE Result, 32.0s OverallTime, 7 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 32 SDtfs, 272 SDslu, 64 SDs, 0 SdLazy, 2330 SolverSat, 470 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 2.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 666 GetRequests, 540 SyntacticMatches, 18 SemanticMatches, 108 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5597 ImplicationChecksByTransitivity, 24.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 1.1s SatisfiabilityAnalysisTime, 10.0s InterpolantComputationTime, 64 NumberOfCodeBlocks, 64 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 44 ConstructedInterpolants, 0 QuantifiedInterpolants, 54678 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 6 InterpolantComputations, 1 PerfectInterpolantSequences, 4/52 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - CounterExampleResult [Line: 359]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L71] unsigned char r1 ; [L73] char p1_old ; [L74] char p1_new ; [L75] char id1 ; [L76] char st1 ; [L78] _Bool mode1 ; [L79] _Bool alive1 ; [L81] char p2_old ; [L82] char p2_new ; [L83] char id2 ; [L84] char st2 ; [L86] _Bool mode2 ; [L87] _Bool alive2 ; [L89] char p3_old ; [L90] char p3_new ; [L91] char id3 ; [L92] char st3 ; [L94] _Bool mode3 ; [L95] _Bool alive3 ; [L70] msg_t nomsg = (msg_t )-1; [L72] port_t p1 ; [L77] msg_t send1 ; [L80] port_t p2 ; [L85] msg_t send2 ; [L88] port_t p3 ; [L93] msg_t send3 ; [L204] void (*nodes[3])(void) = { & node1, & node2, & node3}; [L304] int c1 ; [L305] int i2 ; [L308] c1 = 0 [L309] r1 = __VERIFIER_nondet_uchar() [L310] id1 = __VERIFIER_nondet_char() [L311] st1 = __VERIFIER_nondet_char() [L312] send1 = __VERIFIER_nondet_char() [L313] mode1 = __VERIFIER_nondet_bool() [L314] alive1 = __VERIFIER_nondet_bool() [L315] id2 = __VERIFIER_nondet_char() [L316] st2 = __VERIFIER_nondet_char() [L317] send2 = __VERIFIER_nondet_char() [L318] mode2 = __VERIFIER_nondet_bool() [L319] alive2 = __VERIFIER_nondet_bool() [L320] id3 = __VERIFIER_nondet_char() [L321] st3 = __VERIFIER_nondet_char() [L322] send3 = __VERIFIER_nondet_char() [L323] mode3 = __VERIFIER_nondet_bool() [L324] alive3 = __VERIFIER_nondet_bool() [L207] int tmp ; [L210] COND TRUE (int )r1 == 0 [L211] COND TRUE ((int )alive1 + (int )alive2) + (int )alive3 >= 1 [L212] COND TRUE (int )id1 >= 0 [L213] COND TRUE (int )st1 == 0 [L214] COND TRUE (int )send1 == (int )id1 [L215] COND TRUE (int )mode1 == 0 [L216] COND TRUE (int )id2 >= 0 [L217] COND TRUE (int )st2 == 0 [L218] COND TRUE (int )send2 == (int )id2 [L219] COND TRUE (int )mode2 == 0 [L220] COND TRUE (int )id3 >= 0 [L221] COND TRUE (int )st3 == 0 [L222] COND TRUE (int )send3 == (int )id3 [L223] COND TRUE (int )mode3 == 0 [L224] COND TRUE (int )id1 != (int )id2 [L225] COND TRUE (int )id1 != (int )id3 [L226] COND TRUE (int )id2 != (int )id3 [L227] tmp = 1 [L279] return (tmp); [L325] i2 = init() [L327] p1_old = nomsg [L328] p1_new = nomsg [L329] p2_old = nomsg [L330] p2_new = nomsg [L331] p3_old = nomsg [L332] p3_new = nomsg [L333] i2 = 0 VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=7, send2=4, send3=6, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND FALSE !((int )send3 != (int )id3) [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=7, p2=0, p2_new=-1, p2_old=4, p3=0, p3_new=-1, p3_old=-1, r1=0, send1=7, send2=4, send3=6, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND FALSE !((int )m1 != (int )nomsg) [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND TRUE (int )m2 > (int )id2 [L148] send2 = m2 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=7, send2=7, send3=4, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND TRUE (int )send3 != (int )id3 [L197] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L197] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=7, p2=0, p2_new=-1, p2_old=7, p3=0, p3_new=-1, p3_old=4, r1=1, send1=7, send2=7, send3=4, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND TRUE \read(alive1) [L111] COND FALSE !((int )m1 > (int )id1) [L114] COND FALSE !((int )m1 == (int )id1) [L117] send1 = m1 [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND TRUE (int )m2 > (int )id2 [L148] send2 = m2 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND FALSE !(\read(mode1)) [L125] COND TRUE \read(alive1) [L126] EXPR send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L126] p1_new = send1 != nomsg && p1_new == nomsg ? send1 : p1_new [L131] mode1 = (_Bool)1 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND FALSE !(\read(mode2)) [L159] COND TRUE \read(alive2) [L160] EXPR send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L160] p2_new = send2 != nomsg && p2_new == nomsg ? send2 : p2_new [L165] mode2 = (_Bool)1 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND FALSE !(\read(mode3)) [L193] COND FALSE !(\read(alive3)) [L196] COND TRUE (int )send3 != (int )id3 [L197] EXPR send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L197] p3_new = send3 != nomsg && p3_new == nomsg ? send3 : p3_new [L199] mode3 = (_Bool)1 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND TRUE ((int )st1 + (int )st2) + (int )st3 <= 1 [L288] COND TRUE (int )r1 < 3 [L289] tmp = 1 [L299] return (tmp); [L345] c1 = check() [L357] COND FALSE !(! arg) VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, mode1=1, mode2=1, mode3=1, nomsg=-1, p1=0, p1_new=-1, p1_old=4, p2=0, p2_new=-1, p2_old=7, p3=0, p3_new=-1, p3_old=7, r1=2, send1=4, send2=7, send3=7, st1=0, st2=0, st3=0] [L334] COND TRUE 1 [L98] msg_t m1 ; [L101] m1 = nomsg [L102] COND TRUE \read(mode1) [L103] COND FALSE !(r1 == 255) [L106] r1 = r1 + 1 [L107] m1 = p3_old [L108] p3_old = nomsg [L109] COND TRUE (int )m1 != (int )nomsg [L110] COND TRUE \read(alive1) [L111] COND FALSE !((int )m1 > (int )id1) [L114] COND TRUE (int )m1 == (int )id1 [L115] st1 = (char)1 [L123] mode1 = (_Bool)0 [L138] msg_t m2 ; [L141] m2 = nomsg [L142] COND TRUE \read(mode2) [L143] m2 = p1_old [L144] p1_old = nomsg [L145] COND TRUE (int )m2 != (int )nomsg [L146] COND TRUE \read(alive2) [L147] COND FALSE !((int )m2 > (int )id2) [L150] COND TRUE (int )m2 == (int )id2 [L151] st2 = (char)1 [L157] mode2 = (_Bool)0 [L172] msg_t m3 ; [L175] m3 = nomsg [L176] COND TRUE \read(mode3) [L177] m3 = p2_old [L178] p2_old = nomsg [L179] COND TRUE (int )m3 != (int )nomsg [L180] COND FALSE !(\read(alive3)) [L188] send3 = m3 [L191] mode3 = (_Bool)0 [L339] p1_old = p1_new [L340] p1_new = nomsg [L341] p2_old = p2_new [L342] p2_new = nomsg [L343] p3_old = p3_new [L344] p3_new = nomsg [L284] int tmp ; [L287] COND FALSE !(((int )st1 + (int )st2) + (int )st3 <= 1) [L297] tmp = 0 [L299] return (tmp); [L345] c1 = check() [L357] COND TRUE ! arg VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=1, st2=1, st3=0] [L359] __VERIFIER_error() VAL [alive1=1, alive2=1, alive3=0, id1=7, id2=4, id3=6, 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=4, send2=7, send3=7, st1=1, st2=1, st3=0] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 208.94 ms. Allocated memory is still 1.0 GB. Free memory was 956.6 MB in the beginning and 945.8 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 67.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.1 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -180.1 MB). Peak memory consumption was 14.2 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 20.67 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. * RCFGBuilder took 1052.23 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 960.2 MB in the end (delta: 165.7 MB). Peak memory consumption was 165.7 MB. Max. memory is 11.5 GB. * CodeCheck took 32431.49 ms. Allocated memory was 1.2 GB in the beginning and 1.6 GB in the end (delta: 419.4 MB). Free memory was 960.2 MB in the beginning and 1.5 GB in the end (delta: -513.3 MB). There was no memory consumed. Max. memory is 11.5 GB. * Witness Printer took 1172.35 ms. Allocated memory is still 1.6 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 28.2 MB). Peak memory consumption was 28.2 MB. Max. memory is 11.5 GB. RESULT: Ultimate proved your program to be incorrect! Received shutdown request...